@import"https://fonts.googleapis.com/css2?family=Lora:wght@700&family=Inter:wght@400;600;700;800&display=swap";.header{background-color:#1f2937;color:#f9fafb;padding:10px 0;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;overflow:hidden;position:relative}.header-container{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;position:relative;height:100px}.header-logo{display:flex;align-items:center;text-decoration:none;margin-top:-30px;margin-bottom:-30px}.header-logo img{height:160px;width:auto}.header-logo span{font-size:1.5rem;font-weight:700;color:#f9fafb;font-family:Inter,sans-serif}.mobile-menu-btn{display:none;background:#1f2937cc;border:1px solid rgba(255,255,255,.3);color:#f9fafb;font-size:1.25rem;cursor:pointer;padding:12px;border-radius:8px;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1001;position:relative;box-shadow:0 4px 12px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:44px;min-height:44px;align-items:center;justify-content:center}.mobile-menu-btn:hover{background:#37415180;border-color:#10b981;transform:translateY(-1px);box-shadow:0 4px 12px #10b98133}.mobile-menu-btn:active{transform:translateY(0)}.mobile-menu-btn.sidebar-page{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#ffffffe6;box-shadow:0 1px 3px #0000001a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:fixed;top:20px;right:20px;z-index:9999;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px}.mobile-menu-btn.sidebar-page:hover{background:#ffffff26;border-color:#ffffff40;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.mobile-menu-btn.sidebar-page:active{transform:translateY(0);background:#fff3}.desktop-nav{display:flex;align-items:center;gap:8px}.header-nav a,.header-nav a:visited{font-size:1rem;color:#f9fafb;font-weight:600;text-decoration:none;padding:12px 20px;border-radius:8px;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;min-height:44px}.header-nav a:hover{color:#10b981;background-color:#10b98114;transform:translateY(-1px)}.landing-theme .header-nav a,.landing-theme .header-nav a:visited,.auth-page .header-nav a,.auth-page .header-nav a:visited,body[data-theme=dark] .landing-theme .header-nav a,body[data-theme=dark] .landing-theme .header-nav a:visited,body[data-theme=dark] .auth-page .header-nav a,body[data-theme=dark] .auth-page .header-nav a:visited{color:#f9fafb!important}.landing-theme .header-nav a:hover,.auth-page .header-nav a:hover,body[data-theme=dark] .landing-theme .header-nav a:hover,body[data-theme=dark] .auth-page .header-nav a:hover{color:#f9fafb!important;background-color:#ffffff1a}.nav-button{font-size:1rem;font-weight:600;text-decoration:none;padding:12px 20px;border-radius:8px;cursor:pointer;transition:all .2s ease;background-color:#3b82f6;color:#fff;border:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:80px}.nav-button:hover{background-color:#2563eb;box-shadow:0 2px 5px #0000001a;transform:translateY(-1px)}.login-button{background-color:#10b981;padding:12px 20px;min-width:80px}.login-button:hover{background-color:#059669;box-shadow:0 2px 5px #10b98133;transform:translateY(-1px)}.mobile-nav-header{position:absolute;top:0;left:0;right:0;padding:20px 24px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-nav-title{color:#f9fafb;font-size:1.25rem;font-weight:700;margin:0;background:linear-gradient(135deg,#f9fafb,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mobile-nav{display:block;position:fixed;top:0;right:-100%;width:320px;height:100vh;background:linear-gradient(180deg,#1f2937,#111827);z-index:1000;transition:right .4s cubic-bezier(.4,0,.2,1);box-shadow:-8px 0 32px #0006;border-left:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow-y:auto}.mobile-nav.open{right:0}.mobile-nav-content{display:flex;flex-direction:column;padding:100px 24px 32px;gap:12px;min-height:100%;overflow-y:visible}.mobile-nav a,.mobile-nav-button{font-size:1rem;color:#f9fafb;font-weight:600;text-decoration:none;padding:16px 20px;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:left;background:#ffffff08;border:1px solid rgba(255,255,255,.05);position:relative;overflow:hidden;min-height:56px;display:flex;align-items:center}.mobile-nav a:before,.mobile-nav-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(16,185,129,.1),transparent);transition:left .5s ease}.mobile-nav a:hover:before,.mobile-nav-button:hover:before{left:100%}.mobile-nav a:hover,.mobile-nav-button:hover{background:#10b9811a;border-color:#10b9814d;color:#10b981;transform:translate(8px);box-shadow:0 4px 20px #10b98133}.mobile-nav-button{font-size:1rem;font-weight:600;cursor:pointer;width:100%;text-align:left}.mobile-nav .login-button,.mobile-nav a.login-button{background:linear-gradient(135deg,#10b981,#059669)!important;border:none!important;color:#fff!important;text-align:center!important;font-weight:700!important;padding:16px 20px!important;margin-top:8px!important;border-radius:12px!important;box-shadow:0 6px 20px #10b9814d!important;position:relative!important;overflow:hidden!important;transform:none!important;font-size:1rem!important;justify-content:center!important;min-height:56px!important}.mobile-nav .login-button:before,.mobile-nav a.login-button:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)!important}.mobile-nav .login-button:hover,.mobile-nav a.login-button:hover{background:linear-gradient(135deg,#059669,#047857)!important;transform:translateY(-2px)!important;box-shadow:0 8px 25px #10b98166!important;color:#fff!important;border-color:transparent!important}.mobile-nav .login-button:active,.mobile-nav a.login-button:active{transform:translateY(0)!important}.landing-theme .mobile-nav a,.landing-theme .mobile-nav-button,.auth-page .mobile-nav a,.auth-page .mobile-nav-button,body[data-theme=dark] .landing-theme .mobile-nav a,body[data-theme=dark] .landing-theme .mobile-nav-button,body[data-theme=dark] .auth-page .mobile-nav a,body[data-theme=dark] .auth-page .mobile-nav-button,.landing-theme .mobile-nav a:hover,.landing-theme .mobile-nav-button:hover,.auth-page .mobile-nav a:hover,.auth-page .mobile-nav-button:hover,body[data-theme=dark] .landing-theme .mobile-nav a:hover,body[data-theme=dark] .landing-theme .mobile-nav-button:hover,body[data-theme=dark] .auth-page .mobile-nav a:hover,body[data-theme=dark] .auth-page .mobile-nav-button:hover{color:#f9fafb!important}@media (max-width: 1024px){.desktop-nav{display:none}.mobile-menu-btn{display:flex}.header-logo img{height:120px}.header-container{padding:0 16px;height:100px}.header{padding:8px 0}}@media (max-width: 480px){.header-container{padding:0 12px}.header-logo img{height:100px}.mobile-nav{width:100%;right:-100%}.mobile-nav-content{padding:100px 20px 32px}.mobile-menu-btn{padding:10px;min-width:40px;min-height:40px}}@media (min-width: 1025px){.mobile-nav,.mobile-menu-btn{display:none!important}}.footer{background-color:#1f2937;color:#f8fafc;padding:48px 0 24px;margin-top:60px;position:relative;overflow:hidden}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,#10b981 50%,transparent 100%)}.footer-container{max-width:1000px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;align-items:start}.footer-section{display:flex;flex-direction:column}.footer-brand{margin-bottom:0}.footer-logo{height:60px;width:auto;margin-bottom:16px;filter:brightness(1.1)}.footer-description{font-size:.95rem;line-height:1.6;color:#cbd5e1;margin:0;font-weight:400;max-width:280px}.footer-heading{font-size:1.05rem;font-weight:700;color:#fff;margin-bottom:18px;font-family:Inter,sans-serif;letter-spacing:.5px;position:relative}.footer-heading:after{content:"";position:absolute;bottom:-6px;left:0;width:24px;height:2px;background:linear-gradient(90deg,#10b981,#34d399);border-radius:1px}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:10px}.footer .footer-links a{color:#fff;text-decoration:none;font-size:.9rem;font-weight:500;transition:all .2s ease;display:inline-block;position:relative}.footer .footer-links a:hover{color:#38bdf8;transform:translate(4px)}.footer .footer-links a:focus,.footer .footer-links a:active{color:#fff;outline:none}.footer .footer-links a:before{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:#10b981;transition:width .2s ease}.footer .footer-links a:hover:before{width:100%}.footer-bottom{border-top:1px solid rgba(203,213,225,.1);margin-top:32px;padding-top:24px;position:relative}.footer-bottom:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60px;height:1px;background:linear-gradient(90deg,transparent 0%,#10b981 50%,transparent 100%)}.footer-bottom-container{max-width:1000px;margin:0 auto;padding:0 24px;display:flex;justify-content:center;align-items:center}.footer-copyright{font-size:.85rem;color:#94a3b8;margin:0;font-weight:500;text-align:center}@media (max-width: 768px){.footer{padding:40px 0 20px}.footer-container{grid-template-columns:1fr;gap:32px;text-align:center}.footer-description{max-width:none;margin:0 auto}.footer-heading:after{left:50%;transform:translate(-50%)}.footer-links a:hover{transform:translateY(-2px)}}@media (max-width: 480px){.footer{padding:32px 0 16px}.footer-container{padding:0 20px;gap:24px}.footer-bottom-container{padding:0 20px}.footer-logo{height:50px}}.lp-page{background-color:#f8fafc;min-height:100vh;display:flex;flex-direction:column;color:#1e293b}.lp-page .header{background-color:#1f2937;color:#f9fafb}.lp-page .header-nav a{color:#f9fafb}.lp-page .nav-button{background-color:#3b82f6;color:#fff}.lp-page .nav-button.login-button{background-color:#10b981}.lp-page .mobile-menu-btn{background:#1f2937cc;color:#f9fafb}.lp-page .mobile-nav{background:linear-gradient(180deg,#1f2937,#111827)}.lp-page .mobile-nav a,.lp-page .mobile-nav-button{color:#f9fafb}.lp-page .mobile-nav .login-button{color:#fff!important}.lp-highlight{color:#3b82f6}.lp-hero{padding:4rem 2rem}.lp-container{display:flex;align-items:center;justify-content:center;gap:3rem;max-width:1300px;margin:0 auto}.lp-text{flex:1;max-width:600px}.lp-heading{font-size:54px;font-weight:800;color:#1e293b;line-height:1.2;margin-bottom:1.5rem}.lp-description{font-size:18px;color:#475569;line-height:1.6;margin-bottom:2.5rem}.lp-buttons{display:flex;gap:1rem;flex-wrap:wrap}.landing-theme .lp-button-primary,.landing-theme .lp-button-secondary,.landing-theme .lp-cta-button,.landing-theme .nav-button,.landing-theme .lp-button-primary:hover,.landing-theme .lp-button-secondary:hover,.landing-theme .lp-cta-button:hover,.landing-theme .nav-button:hover{color:#fff}.landing-theme .footer-heading,.landing-theme .footer-description,.landing-theme .footer-links a,.landing-theme .footer-links a:hover,.landing-theme .footer-links a:focus,.landing-theme .footer-links a:active,.landing-theme .footer-copyright{color:#fff}.lp-visual{flex:1;display:flex;justify-content:center;align-items:center;gap:2rem}.lp-hero-image-container{position:relative;max-width:400px;width:100%;aspect-ratio:1;border-radius:16px;overflow:hidden;margin:0 auto}.lp-hero-image{width:100%;height:100%;object-fit:cover;border-radius:16px}.lp-logo-pin{position:absolute;top:20%;left:35%;transform:translate(-50%,-50%);z-index:10;animation:lp-bounce 2s infinite}@media (max-width: 768px){.lp-logo-pin{top:20%;left:35%}}.lp-pin-container{width:50px;height:50px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;border:3px solid #3b82f6;padding:4px}.lp-pin-logo{width:100%;height:100%;object-fit:contain}@keyframes lp-bounce{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-10px)}}.lp-features{padding:6rem 2rem;background-color:#fff;text-align:center;display:flex;flex-direction:column;align-items:center}.lp-section-title{font-size:2.5rem!important;font-weight:900!important;color:#3b82f6!important;margin-bottom:1rem!important;text-align:center!important;line-height:1.3!important;letter-spacing:-.025em!important;padding:.5rem 0!important;min-height:auto!important;overflow:visible!important}.lp-section-subtitle{font-size:1.1rem;color:#475569;margin-bottom:4rem;max-width:700px;margin-left:auto;margin-right:auto;line-height:1.7;font-weight:500;text-align:center;font-style:italic;background:linear-gradient(135deg,#475569,#64748b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.02em;text-shadow:0 1px 2px rgba(0,0,0,.05)}.lp-features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:1400px;margin:0 auto;width:100%;padding:0 2rem}@media (max-width: 900px){.lp-features-grid{grid-template-columns:1fr!important;padding:0 1rem;max-width:600px}}.lp-feature-card{text-align:left;padding:3rem 2.5rem;background-color:#fff;border-radius:16px;border:1px solid #e2e8f0;margin:0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .3s ease;position:relative;overflow:hidden;width:100%}.lp-feature-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border-color:#3b82f6}.lp-feature-icon{font-size:2.5rem;color:#3b82f6;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;width:60px;height:60px;margin-left:auto;margin-right:auto}.lp-feature-title{font-size:1.5rem;font-weight:800;color:#1e293b;margin-bottom:1.25rem;line-height:1.2;letter-spacing:-.025em;text-align:center}.lp-feature-description{font-size:1.1rem;color:#475569;line-height:1.6;font-weight:500;text-align:center;max-width:280px;margin:0 auto}.lp-how-it-works{padding:6rem 2rem;background-color:#1e293b;color:#fff;text-align:center}.lp-how-it-works .lp-section-title{color:#fff!important}.lp-how-it-works .lp-section-subtitle{color:#cbd5e1;-webkit-text-fill-color:#cbd5e1;background:none}.lp-steps-container{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;max-width:1400px;margin:4rem auto 0;padding:0 1rem}.lp-step-card{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2.5rem 2rem;text-align:left;transition:all .3s ease;position:relative;overflow:hidden}.lp-step-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#60a5fa);transform:scaleX(0);transition:transform .3s ease}.lp-step-card:hover{transform:translateY(-4px);background:#ffffff14;border-color:#3b82f64d;box-shadow:0 20px 40px #0003}.lp-step-card:hover:before{transform:scaleX(1)}.lp-step-number{font-size:3rem;font-weight:800;color:#3b82f6;line-height:1;margin-bottom:1.5rem;opacity:.3;font-family:system-ui,-apple-system,sans-serif}.lp-step-title{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:1rem;line-height:1.3}.lp-step-description{font-size:1rem;color:#cbd5e1;line-height:1.6;margin:0}.lp-cta{padding:6rem 2rem;text-align:center;background-color:#f8fafc}.lp-cta-title{font-size:2.5rem;font-weight:800;color:#1e293b;margin-bottom:1rem}.lp-cta-subtitle{font-size:1.2rem;color:#475569;margin-bottom:2.5rem;max-width:500px;margin-left:auto;margin-right:auto}.lp-cta-button{padding:16px 32px;font-size:1.1rem;font-weight:600;border-radius:10px;background-color:#3b82f6;color:#fff;border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #3b82f633;display:flex;align-items:center;justify-content:center;text-decoration:none;min-width:200px;max-width:300px;margin:0 auto}.lp-cta-button:hover{background-color:#2563eb;transform:translateY(-2px);box-shadow:0 6px 20px #3b82f64d}.lp-button-primary,.lp-button-secondary{padding:14px 28px;border-radius:8px;font-size:1rem;font-weight:600;border:none;cursor:pointer;transition:all .2s ease;text-align:center;display:flex;align-items:center;justify-content:center;white-space:nowrap;min-width:140px}.lp-button-primary{background-color:#3b82f6;color:#fff}.lp-button-primary:hover{background-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 10px #3b82f633}.lp-button-secondary{background-color:#10b981;color:#fff}.lp-button-secondary:hover{background-color:#059669;transform:translateY(-2px);box-shadow:0 4px 10px #10b98133}@media (max-width: 1024px){.lp-container{flex-direction:column;text-align:center;gap:2rem}.lp-text{max-width:100%}.lp-buttons{justify-content:flex-start;flex-wrap:wrap}.lp-visual{margin-top:2rem;width:100%}.lp-hero-image-container{max-width:500px;width:100%}.lp-hero{padding:3rem 1.5rem}.lp-features{padding:4rem 1.5rem}.lp-features-grid{grid-template-columns:1fr!important;gap:1.5rem;padding:0 1rem;max-width:600px;margin:0 auto;width:100%}.lp-feature-card{margin:0;width:100%;max-width:100%}.lp-feature-icon{font-size:2.25rem}.lp-how-it-works{padding:4rem 1.5rem}.lp-steps-container{grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:3rem}.lp-cta{padding:4rem 1.5rem}}@media (max-width: 768px){.lp-heading{font-size:2rem;line-height:1.2;margin-bottom:1rem}.lp-description{font-size:1rem;margin-bottom:2rem}.lp-buttons{flex-direction:column;gap:1rem;width:100%;justify-content:center;align-items:center;max-width:400px;margin:0 auto}.lp-button-primary,.lp-button-secondary{width:100%;padding:14px 24px;font-size:1rem}.lp-visual{flex-direction:column;width:100%;margin-top:2rem}.lp-hero-image-container{max-width:100%;width:100%;aspect-ratio:1}.lp-hero-image{width:100%;height:100%;object-fit:cover}.lp-section-title,.lp-cta-title{font-size:1.75rem;line-height:1.2}.lp-section-subtitle{font-size:1rem;max-width:500px;line-height:1.6}.lp-step-number{font-size:2.5rem}.lp-step-title{font-size:1.25rem}.lp-features-grid{grid-template-columns:1fr!important;gap:1.5rem;max-width:600px;padding:0 1rem;margin:0 auto}.lp-feature-card{padding:1.5rem;margin:0;width:100%;max-width:100%}.lp-feature-icon{font-size:2rem}.lp-hero{padding:2rem 1rem}.lp-features,.lp-how-it-works{padding:3rem 1rem}.lp-steps-container{grid-template-columns:1fr;gap:1.5rem;margin-top:2.5rem}.lp-step-card{padding:2rem 1.5rem}.lp-cta{padding:3rem 1rem}}@media (max-width: 480px){.lp-heading{font-size:2rem;line-height:1.2}.lp-description{font-size:.95rem}.lp-section-title,.lp-cta-title{font-size:1.75rem;line-height:1.2}.lp-section-subtitle{font-size:.9rem;max-width:400px;line-height:1.6}.lp-step-number{font-size:2rem;margin-bottom:1rem}.lp-step-title{font-size:1.1rem;margin-bottom:.75rem}.lp-step-description{font-size:.95rem}.lp-feature-card{padding:1.25rem;margin:0}.lp-feature-icon{font-size:1.75rem}.lp-features-grid{grid-template-columns:1fr!important;gap:1rem;max-width:600px;padding:0 1rem;margin:0 auto}.lp-feature-title{font-size:1.1rem}.lp-feature-description{font-size:.9rem;line-height:1.5}.lp-hero{padding:1.5rem .75rem}.lp-features,.lp-testimonial,.lp-cta{padding:2rem .75rem}.lp-container{gap:1.5rem}.lp-buttons{width:100%;max-width:400px;margin:0 auto;justify-content:center;align-items:center}.lp-hero-image-container{max-width:100%}}@media (max-width: 360px){.lp-heading{font-size:1.75rem}.lp-description{font-size:.9rem}.lp-section-title,.lp-cta-title{font-size:1.5rem;line-height:1.2}.lp-section-subtitle{font-size:.85rem;max-width:350px;line-height:1.6}.lp-button-primary,.lp-button-secondary{padding:14px 20px;font-size:1rem}.lp-hero{padding:1rem .5rem}.lp-features{padding:1.5rem .5rem}.lp-feature-card{padding:1rem;margin:0}.lp-feature-icon{font-size:1.5rem}.lp-features-grid{grid-template-columns:1fr!important;gap:.75rem;max-width:600px;padding:0 1rem;margin:0 auto}.lp-how-it-works{padding:1.5rem .5rem}.lp-steps-container{gap:1rem;margin-top:2rem}.lp-step-card{padding:1.5rem 1.25rem}.lp-cta{padding:1.5rem .5rem}}.auth-page{display:flex;flex-direction:column;min-height:100vh;background-color:#f8fafc}.auth-page.landing-theme{color-scheme:only light;background-color:#f8fafc;color:#1f2937}.auth-page.landing-theme .auth-content,.auth-page.landing-theme .auth-input{background-color:#fff;color:#1f2937}.auth-page.landing-theme .auth-input::placeholder{color:#94a3b8}body[data-theme=dark] .auth-page.landing-theme{background-color:#f8fafc;color:#1f2937}body[data-theme=dark] .auth-page.landing-theme .auth-content{background-color:#fff;color:#1f2937}body[data-theme=dark] .auth-page.landing-theme .auth-input{background-color:#fff;border-color:#e5e7eb;color:#1f2937}body[data-theme=dark] .auth-page.landing-theme .auth-input::placeholder{color:#94a3b8}.auth-container{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px}.auth-content{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 25px #0000001a;width:100%;max-width:400px}.auth-header{display:flex;justify-content:center;align-items:center;margin-bottom:30px}.auth-logo{height:60px;width:auto;display:block;margin:0 auto}.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease;margin-bottom:20px}.google-btn:hover{background-color:#f9fafb}.google-btn:disabled{opacity:.6;cursor:not-allowed}.google-icon{width:20px;height:20px}.divider{text-align:center;margin:20px 0;position:relative}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background-color:#e5e7eb;z-index:1}.divider span{background:#fff;padding:0 16px;color:#6b7280;font-size:14px;position:relative;z-index:2}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-input{padding:12px 16px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;transition:border-color .2s ease;color:#000}.auth-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.password-input-container{position:relative;width:100%}.password-input-container .auth-input{width:100%;box-sizing:border-box}.password-input-wrapper{position:relative;width:100%;display:flex;align-items:center}.password-input-wrapper .auth-input{padding-right:45px;width:100%;box-sizing:border-box}.password-toggle-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#6b7280;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease;z-index:1}.password-toggle-btn:hover{color:#374151}.password-toggle-btn:focus{outline:none;color:#2563eb}.password-toggle-btn svg{width:18px;height:18px}.input-container,.password-input-container{position:relative;width:100%;margin-bottom:16px}.input-container .auth-input,.password-input-container .auth-input{width:100%;box-sizing:border-box;padding:12px 16px;font-size:14px;border:1px solid #e5e7eb;border-radius:8px;background-color:#fff;transition:border-color .2s ease,box-shadow .2s ease}.input-container .auth-input:focus,.password-input-container .auth-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.role-selection{display:flex;flex-direction:column;gap:16px}.role-label{font-size:15px;font-weight:600;color:#1f2937;text-align:left;margin-bottom:8px;letter-spacing:-.01em}.role-options{display:flex;flex-direction:column;gap:12px;width:100%}.role-card{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:16px 20px;border:2px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:left;gap:16px;min-height:auto;overflow:hidden;box-shadow:0 1px 3px #0000000d;width:100%}.role-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:linear-gradient(180deg,#2563eb,#3b82f6);transform:scaleY(0);transform-origin:top;transition:transform .3s cubic-bezier(.4,0,.2,1)}.role-card:hover{border-color:#3b82f6;background:#f8fafc;transform:translate(2px);box-shadow:0 4px 12px #2563eb1a}.role-card:hover:before{transform:scaleY(1)}.role-card.active{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 3px #2563eb1a,0 4px 12px #2563eb26;transform:translate(2px)}.role-card.active:before{transform:scaleY(1)}.role-card.active .role-icon{color:#2563eb;transform:scale(1.1);filter:drop-shadow(0 2px 4px rgba(37,99,235,.3))}.role-card.active .role-title{color:#1e40af;font-weight:700}.role-card.active .role-subtitle{color:#3b82f6;font-weight:500}.role-card.active .radio-dot{background-color:#2563eb;transform:scale(1);box-shadow:0 0 0 4px #2563eb33}.role-icon{font-size:32px;color:#9ca3af;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;flex-shrink:0}.role-card:hover .role-icon{color:#3b82f6;transform:scale(1.05)}.role-content{display:flex;flex-direction:column;gap:4px;flex:1}.role-title{font-size:17px;font-weight:600;color:#1f2937;transition:all .3s ease;letter-spacing:-.02em}.role-subtitle{font-size:13px;color:#6b7280;transition:all .3s ease;font-weight:400}.role-card:hover .role-title{color:#1e40af}.role-card:hover .role-subtitle{color:#3b82f6}.role-radio-indicator{position:relative;width:24px;height:24px;border:2.5px solid #d1d5db;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);background-color:#fff;box-shadow:0 2px 4px #0000000d;flex-shrink:0}.role-card:hover .role-radio-indicator{border-color:#3b82f6}.role-card.active .role-radio-indicator{border-color:#2563eb;background-color:#fff;box-shadow:0 0 0 4px #2563eb1a}.radio-dot{width:12px;height:12px;border-radius:50%;background-color:transparent;transform:scale(0);transition:all .3s cubic-bezier(.4,0,.2,1)}.role-card.active .radio-dot{background:linear-gradient(135deg,#2563eb,#3b82f6);transform:scale(1)}@media (max-width: 480px){.role-card{padding:14px 16px}.role-icon{font-size:28px}.role-title{font-size:16px}}.auth-error{color:#ef4444;font-size:14px;margin:0;text-align:center}.auth-success{color:#10b981;font-size:14px;margin:0;text-align:center}.auth-submit-btn{width:100%;padding:12px 16px;background-color:#2563eb;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.auth-submit-btn:hover:not(:disabled){background-color:#1d4ed8}.auth-submit-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.auth-switch{text-align:center;margin-top:20px;font-size:14px;color:#6b7280}.switch-btn{background:none;border:none;color:#2563eb;cursor:pointer;font-size:14px;text-decoration:underline}.switch-btn:hover{color:#1d4ed8}.email-verification-message{text-align:center}.email-verification-message h2{margin-bottom:16px;color:#374151}.email-verification-message p{margin-bottom:12px;color:#6b7280;line-height:1.5}.verification-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}.auth-secondary-btn{width:100%;padding:12px 16px;background-color:transparent;color:#6b7280;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.auth-secondary-btn:hover{background-color:#f9fafb;border-color:#d1d5db}.input-container{position:relative;width:100%}.auth-input.invalid{border-color:#ef4444;box-shadow:0 0 0 1px #ef4444}.auth-input.invalid:focus{border-color:#ef4444;box-shadow:0 0 0 2px #ef444433}.validation-error{color:#ef4444;font-size:12px;margin:4px 0 0;text-align:left;font-weight:500}.forgot-password-link{text-align:right;margin-top:-8px;margin-bottom:8px}.forgot-password-btn{background:none;border:none;color:#2563eb;cursor:pointer;font-size:13px;text-decoration:none;padding:0;transition:color .2s ease}.forgot-password-btn:hover{color:#1d4ed8;text-decoration:underline}@media (max-width: 480px){.auth-content{padding:30px 20px}.auth-container{padding:20px 16px}}.pricing-page{min-height:100vh;background-color:#f8fafc!important;padding-top:0;position:relative;z-index:1;overflow-x:hidden;width:100%}.pricing-container{max-width:1200px;margin:0 auto;padding:2rem 2rem 3rem;position:relative;z-index:2;width:100%;box-sizing:border-box}.pricing-header{text-align:center;margin-bottom:3rem;padding-top:2rem;position:relative;z-index:3}.pricing-title{font-size:3rem;font-weight:800;color:#1e293b!important;margin-bottom:1rem;letter-spacing:-.025em;position:relative;z-index:3}.pricing-subtitle{font-size:1.25rem;color:#64748b!important;max-width:600px;margin:0 auto;line-height:1.6;position:relative;z-index:3}.pricing-toggle{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:3rem;background:#fff;padding:.75rem;border-radius:16px;box-shadow:0 4px 20px #00000014;max-width:350px;margin-left:auto;margin-right:auto;position:relative;z-index:3}.toggle-option{font-size:1rem;font-weight:600;color:#64748b!important;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px}.toggle-option.active{color:#1e293b!important;background:#f1f5f9}.save-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700;letter-spacing:.025em}.toggle-switch{position:relative;width:56px;height:28px;background:#e2e8f0;border-radius:14px;border:none;cursor:pointer;transition:all .3s ease}.toggle-switch:hover{background:#cbd5e1}.toggle-slider{position:absolute;top:2px;left:2px;width:24px;height:24px;background:#fff;border-radius:50%;transition:transform .3s ease;box-shadow:0 2px 8px #00000026}.toggle-slider.annual{transform:translate(28px)}.pricing-plans{display:flex;gap:2rem;justify-content:center;margin-bottom:3rem;max-width:800px;margin-left:auto;margin-right:auto}.pricing-plans .pricing-card{max-width:400px}.pricing-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:2rem;position:relative;transition:all .3s ease;flex:1;max-width:350px}.plan-features{list-style:none;padding:0;margin:0 0 2rem}.plan-features li{padding:.5rem 0;color:#374151;font-weight:500}.subscribe-btn{width:100%;padding:1rem 2rem;border:none;border-radius:12px;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .3s ease}.subscribe-btn.monthly:hover{background:#4b5563;transform:translateY(-1px)}.subscribe-btn.annual:hover{background:#1d4ed8;transform:translateY(-1px)}.trial-guarantee-banner{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #bbf7d0;border-radius:16px;padding:1.5rem 2rem;margin:2rem auto;max-width:600px;text-align:center;box-shadow:0 4px 12px #22c55e1a}.trial-guarantee-text{color:#166534;font-weight:600;margin:0;font-size:1.1rem;line-height:1.5}.plan-header{text-align:center;margin-bottom:2rem}.annual-price{display:flex;align-items:baseline;justify-content:center;gap:.5rem;margin-bottom:1.5rem}.annual-amount{font-size:1.75rem;font-weight:700;color:#059669!important}.annual-period{font-size:1.1rem;color:#64748b!important;font-weight:600}.plan-description{font-size:1.1rem;color:#64748b!important;max-width:500px;margin:0 auto;line-height:1.6}.plan-features{margin-bottom:3rem}.features-title{font-size:1.5rem;font-weight:700;color:#1e293b!important;margin-bottom:2rem;text-align:center;letter-spacing:-.025em}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;max-width:600px;margin:0 auto;width:100%}.feature-item{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;border-radius:12px;background:#f8fafc!important;border:1px solid #e2e8f0;transition:all .2s ease;min-height:70px;width:100%;box-sizing:border-box;overflow:hidden}.feature-item:hover{background:#fff!important;border-color:#3b82f6;box-shadow:0 4px 16px #3b82f61a;transform:translateY(-1px)}.feature-icon{font-size:1.5rem;min-width:40px;text-align:center;padding-top:.125rem;flex-shrink:0}.feature-content{flex:1;min-width:0}.feature-title{font-size:1.1rem;font-weight:600;color:#1e293b!important;margin:0 0 .5rem;line-height:1.3;word-wrap:break-word}.feature-description{font-size:.9rem;color:#64748b!important;line-height:1.5;margin:0;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.plan-actions{display:flex;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap;justify-content:center}.btn-start-trial,.btn-subscribe{padding:1rem 2.5rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:180px;letter-spacing:.025em}.btn-start-trial{background:#f8fafc!important;color:#475569!important;border:2px solid #e2e8f0}.btn-start-trial:hover{background:#f1f5f9!important;border-color:#cbd5e1;transform:translateY(-1px)}.btn-subscribe{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;color:#fff!important;box-shadow:0 4px 16px #3b82f64d}.btn-subscribe:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;transform:translateY(-1px);box-shadow:0 6px 20px #3b82f666}.pricing-faq{background:#fff!important;border-radius:24px;padding:3rem;box-shadow:0 8px 40px #00000014;border:1px solid rgba(0,0,0,.05);max-width:1000px;margin:0 auto;position:relative;z-index:3}.faq-title{font-size:2rem;font-weight:700;color:#1e293b!important;margin-bottom:2.5rem;text-align:center;letter-spacing:-.025em}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.faq-item{padding:1.5rem;border-radius:12px;background:#f8fafc!important;border:1px solid #e2e8f0;transition:all .2s ease}.faq-item:hover{background:#fff!important;border-color:#3b82f6;box-shadow:0 4px 16px #3b82f61a}.faq-item h4{font-size:1.1rem;font-weight:600;color:#1e293b!important;margin:0 0 .75rem}.faq-item p{font-size:.95rem;color:#64748b!important;line-height:1.5;margin:0}@media (max-width: 1024px){.pricing-container{padding:2rem 1.5rem 3rem}.pricing-card,.pricing-faq{padding:2.5rem}.features-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}}@media (max-width: 768px){.pricing-container{padding:1.5rem 1rem}.pricing-title{font-size:2.5rem}.pricing-card{padding:2rem;margin:0 1rem 3rem}.price-amount{font-size:3rem}.features-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.feature-item{padding:1.25rem;min-height:90px}.plan-actions{flex-direction:column;align-items:center}.btn-start-trial,.btn-subscribe{min-width:200px}.faq-grid{grid-template-columns:1fr}.pricing-faq{margin:0 1rem;padding:2rem}}@media (max-width: 480px){.pricing-title{font-size:2rem}.pricing-subtitle{font-size:1.1rem}.pricing-card{padding:1.5rem;margin:0 .5rem 2rem}.price-amount{font-size:2.5rem}.features-grid{grid-template-columns:1fr;gap:1rem}.feature-item{flex-direction:row;text-align:left;padding:1rem;min-height:80px}.feature-icon{min-width:40px;font-size:1.5rem}.feature-title{font-size:1rem}.feature-description{font-size:.9rem}.pricing-faq{margin:0 .5rem;padding:1.5rem}.pricing-plans{flex-direction:column;align-items:center}.pricing-card{max-width:100%}.trial-guarantee-banner{margin:1.5rem 1rem;padding:1rem 1.5rem}.trial-guarantee-text{font-size:1rem}}.athlete-landing-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.athlete-landing-container{max-width:1200px;margin:0 auto;padding:0 2rem}.athlete-landing-hero-section{background:linear-gradient(135deg,#fff,#f8fafc);color:#1e293b;padding:4rem 0 6rem;position:relative;overflow:hidden;border-bottom:1px solid #e2e8f0}.athlete-landing-hero-section:before{content:"";position:absolute;top:0;right:0;width:300px;height:300px;background:linear-gradient(135deg,#10b9810d,#0596690d);border-radius:50%;transform:translate(50%,-50%)}.athlete-landing-hero-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:1}.athlete-landing-hero-content{max-width:600px}.athlete-landing-hero-title{font-size:3.5rem;font-weight:800;line-height:1.1;margin-bottom:1.5rem;letter-spacing:-.02em;color:#1e293b}.athlete-landing-hero-subtitle{font-size:1.25rem;line-height:1.6;margin-bottom:2rem;color:#64748b}.athlete-landing-hero-stats{display:flex;gap:2rem;margin-bottom:2.5rem}.athlete-landing-stat{display:flex;flex-direction:column;align-items:center;padding:1rem 1.5rem;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000f}.athlete-landing-stat-number{font-size:1.5rem;font-weight:700;margin-bottom:.25rem;color:#10b981}.athlete-landing-stat-label{font-size:.9rem;color:#64748b;text-align:center;font-weight:500}.athlete-landing-hero-actions{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.athlete-landing-btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 20px #10b98133}.athlete-landing-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #10b9814d}.athlete-landing-btn-secondary{background:#fff;color:#64748b;border:2px solid #e2e8f0;padding:1rem 2rem;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.athlete-landing-btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-2px)}.athlete-landing-hero-note{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#64748b}.athlete-landing-hero-image{display:flex;justify-content:center;align-items:center}.athlete-landing-hero-image-placeholder{width:400px;height:300px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:20px;position:relative;border:1px solid #e2e8f0;box-shadow:0 8px 32px #00000014}.athlete-landing-image-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.athlete-landing-floating-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 20px 40px #00000026;display:flex;align-items:center;gap:1rem;min-width:280px;border:1px solid #e2e8f0}.athlete-landing-card-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center}.athlete-landing-card-content h4{color:#1e293b;margin:0 0 .25rem;font-size:1.1rem}.athlete-landing-card-content p{color:#64748b;margin:0 0 .5rem;font-size:.9rem}.athlete-landing-card-rating{display:flex;align-items:center;gap:.25rem;font-size:.85rem;color:#64748b}.athlete-landing-section-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:3rem;color:#1e293b}.athlete-landing-value-props-section{padding:6rem 0;background:#fff}.athlete-landing-value-props-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.athlete-landing-value-prop-card{text-align:center;padding:2rem;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0;transition:all .3s ease}.athlete-landing-value-prop-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001a;border-color:#10b981}.athlete-landing-prop-icon{font-size:3rem;margin-bottom:1rem}.athlete-landing-value-prop-card h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:1rem}.athlete-landing-value-prop-card p{color:#64748b;line-height:1.6}.athlete-landing-how-it-works-section{padding:6rem 0;background:#f8fafc}.landing-theme .athlete-landing-bottom-cta-section h2,.landing-theme .athlete-landing-bottom-cta-section p{color:#fff}.athlete-landing-steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.athlete-landing-step-card{text-align:center;padding:2rem;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;transition:all .3s ease}.athlete-landing-step-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001f}.athlete-landing-step-number{width:60px;height:60px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto 1.5rem}.athlete-landing-step-card h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:1rem}.athlete-landing-step-card p{color:#64748b;line-height:1.6}.athlete-landing-featured-coaches-section{padding:6rem 0;background:#fff}.athlete-landing-coaches-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:3rem}.athlete-landing-coach-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;transition:all .3s ease}.athlete-landing-coach-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001f}.athlete-landing-coach-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.athlete-landing-coach-avatar{width:60px;height:60px;border-radius:50%;object-fit:cover;object-position:center;border:2px solid #e5e7eb}.athlete-landing-coach-info{flex:1}.athlete-landing-coach-info h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 .25rem}.athlete-landing-coach-sport{color:#10b981;font-weight:500;margin:0 0 .5rem}.athlete-landing-coach-location{display:flex;align-items:center;gap:.25rem;color:#64748b;font-size:.9rem}.athlete-landing-coach-rating{display:flex;align-items:center;gap:.25rem;font-size:.9rem;color:#64748b}.athlete-landing-star{color:#d1d5db;font-size:.9rem}.athlete-landing-star.filled{color:#fbbf24}.athlete-landing-coach-bio{color:#64748b;line-height:1.6;margin-bottom:1.5rem}.athlete-landing-coach-details{display:flex;justify-content:space-between;margin-bottom:1.5rem}.athlete-landing-detail{display:flex;flex-direction:column;gap:.25rem}.athlete-landing-label{font-size:.85rem;color:#64748b}.athlete-landing-value{font-weight:600;color:#1e293b}.athlete-landing-coach-actions{display:flex;gap:1rem}.athlete-landing-btn-outline{background:transparent;color:#10b981;border:2px solid #10b981;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;flex:1}.athlete-landing-btn-outline:hover{background:#10b981;color:#fff}.athlete-landing-section-cta{text-align:center;margin-top:3rem;padding:2rem 0}.athlete-landing-sports-section{padding:6rem 0;background:#f8fafc}.athlete-landing-sports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.athlete-landing-sport-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease}.athlete-landing-sport-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001a}.athlete-landing-sport-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1rem}.athlete-landing-sport-card h3{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0}.athlete-landing-testimonials-section{padding:6rem 0;background:#fff}.athlete-landing-testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.athlete-landing-testimonial-card{background:#f8fafc;border-radius:16px;padding:2rem;border:1px solid #e2e8f0;transition:all .3s ease}.athlete-landing-testimonial-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001a}.athlete-landing-testimonial-content p{font-size:1.1rem;color:#1e293b;line-height:1.6;margin-bottom:1.5rem;font-style:italic}.athlete-landing-testimonial-author{display:flex;align-items:center;gap:1rem}.athlete-landing-author-avatar{width:50px;height:50px;border-radius:50%;object-fit:cover}.athlete-landing-author-info h4{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 .25rem}.athlete-landing-author-info p{color:#64748b;margin:0 0 .5rem;font-size:.9rem}.athlete-landing-author-rating{display:flex;gap:.1rem}.athlete-landing-bottom-cta-section{padding:6rem 0;background:linear-gradient(135deg,#1e293b,#334155);color:#fff;text-align:center}.athlete-landing-bottom-cta-section h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.athlete-landing-bottom-cta-section p{font-size:1.25rem;margin-bottom:2.5rem;opacity:.9}.athlete-landing-cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}@media (max-width: 768px){.athlete-landing-hero-container{grid-template-columns:1fr;gap:3rem;text-align:center}.athlete-landing-hero-title{font-size:2.5rem}.athlete-landing-hero-stats,.athlete-landing-hero-actions{justify-content:center}.athlete-landing-hero-image-placeholder{width:320px;height:240px}.athlete-landing-floating-card{min-width:240px}.athlete-landing-section-title{font-size:2rem}.athlete-landing-value-props-grid,.athlete-landing-steps-grid,.athlete-landing-coaches-grid{grid-template-columns:1fr;gap:2rem}.athlete-landing-coach-header{flex-direction:column;text-align:center}.athlete-landing-coach-actions{flex-direction:column}.athlete-landing-cta-actions{flex-direction:column;align-items:center}.athlete-landing-btn-primary,.athlete-landing-btn-secondary{width:100%;max-width:300px}.athlete-landing-section-cta .athlete-landing-btn-primary{padding:1rem 2rem;font-size:1.1rem}}@media (max-width: 480px){.athlete-landing-container{padding:0 1rem}.athlete-landing-hero-title{font-size:2rem}.athlete-landing-hero-subtitle{font-size:1.1rem}.athlete-landing-hero-stats{flex-direction:column;gap:1rem}.athlete-landing-section-title{font-size:1.75rem}.athlete-landing-bottom-cta-section h2{font-size:2rem}}.athlete-landing-section-cta .athlete-landing-btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:1.25rem 3rem;border-radius:16px;font-size:1.25rem;font-weight:700;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:.75rem;box-shadow:0 8px 32px #10b9814d;position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:.05em}.athlete-landing-section-cta .athlete-landing-btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.athlete-landing-section-cta .athlete-landing-btn-primary:hover:before{left:100%}.athlete-landing-section-cta .athlete-landing-btn-primary:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 16px 48px #10b98166;background:linear-gradient(135deg,#059669,#047857)}.athlete-landing-section-cta .athlete-landing-btn-primary:active{transform:translateY(-2px) scale(1.01)}.trainer-landing-page{min-height:100vh;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.trainer-landing-hero-section{padding:4rem 0 6rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:#1f2937;position:relative;overflow:hidden}.trainer-landing-hero-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><defs><radialGradient id="a" cx="50%" cy="50%"><stop offset="0%" stop-color="%233b82f6" stop-opacity="0.05"/><stop offset="100%" stop-color="%233b82f6" stop-opacity="0"/></radialGradient></defs><circle cx="200" cy="200" r="80" fill="url(%23a)"/><circle cx="800" cy="300" r="120" fill="url(%23a)"/><circle cx="400" cy="700" r="100" fill="url(%23a)"/></svg>');opacity:.3}.trainer-landing-hero-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:1}.trainer-landing-hero-content{max-width:600px}.trainer-landing-hero-title{font-size:3.5rem;font-weight:800;line-height:1.1;margin-bottom:1.5rem;color:#1f2937;letter-spacing:-.02em}.trainer-landing-highlight{color:#3b82f6;position:relative}.trainer-landing-highlight:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:1px;opacity:.4}.trainer-landing-hero-subtitle{font-size:1.25rem;line-height:1.6;margin-bottom:2rem;color:#6b7280;font-weight:400;max-width:540px}.trainer-landing-hero-actions{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.trainer-landing-btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 20px #3b82f64d}.trainer-landing-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #3b82f666}.trainer-landing-hero-note{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#6b7280;font-weight:500}.trainer-landing-hero-note svg{color:#10b981;flex-shrink:0}.trainer-landing-hero-image{display:flex;justify-content:center;align-items:center;position:relative}.trainer-landing-hero-image-placeholder{width:400px;height:300px;background:#fff;border-radius:20px;position:relative;box-shadow:0 8px 32px #00000014;border:1px solid #e5e7eb;overflow:hidden}.trainer-landing-hero-image-placeholder:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#3b82f608,#60a5fa08);z-index:1}.trainer-landing-image-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:2}.trainer-landing-floating-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 20px 40px #00000026;max-width:320px;animation:trainer-landing-float 6s ease-in-out infinite;border:1px solid #f3f4f6}@keyframes trainer-landing-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(.5deg)}}.trainer-landing-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #f3f4f6}.trainer-landing-card-header h4{color:#1f2937;font-weight:700;margin:0;font-size:1.125rem}.trainer-landing-card-time{font-size:.75rem;color:#6b7280;font-weight:500;background:#f3f4f6;padding:.25rem .5rem;border-radius:6px}.trainer-landing-card-content{display:flex;align-items:center;gap:1rem}.trainer-landing-card-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center}.trainer-landing-card-info h5{color:#1f2937;font-weight:600;margin:0 0 .25rem;font-size:1rem}.trainer-landing-card-info p{color:#6b7280;margin:0 0 .25rem;font-size:.875rem;line-height:1.4}.trainer-landing-card-price{color:#059669;font-weight:700;font-size:1rem;background:#ecfdf5;padding:.25rem .5rem;border-radius:6px;display:inline-block}.trainer-landing-container{max-width:1200px;margin:0 auto;padding:0 2rem;position:relative;z-index:1;overflow:visible}.trainer-landing-section-title{font-size:2.5rem;font-weight:800;text-align:center;margin-bottom:1.25rem;color:#1f2937;letter-spacing:-.02em}.trainer-landing-section-subtitle{font-size:1.25rem;text-align:center;color:#6b7280;margin-bottom:4rem;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6}.trainer-landing-value-props-section{padding:6rem 0;background:#fff;position:relative}.trainer-landing-value-props-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#e5e7eb,transparent)}.trainer-landing-value-props-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:3rem}.trainer-landing-value-prop-card{background:#fff;padding:3rem;border-radius:20px;box-shadow:0 4px 25px #00000014;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid #f3f4f6;position:relative;overflow:hidden}.trainer-landing-value-prop-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#60a5fa);transform:scaleX(0);transition:transform .3s ease}.trainer-landing-value-prop-card:hover:before{transform:scaleX(1)}.trainer-landing-value-prop-card:hover{transform:translateY(-12px);box-shadow:0 25px 50px #00000026}.trainer-landing-prop-icon{width:72px;height:72px;border-radius:20px;display:flex;align-items:center;justify-content:center;margin-bottom:2rem;font-size:1.75rem;transition:all .3s ease}.trainer-landing-value-prop-card:hover .trainer-landing-prop-icon{transform:scale(1.1) rotate(5deg)}.trainer-landing-value-prop-card h3{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:1rem;letter-spacing:-.01em}.trainer-landing-value-prop-card p{color:#6b7280;line-height:1.7;margin-bottom:1.5rem;font-size:1.125rem}.trainer-landing-benefit{display:flex;align-items:center;gap:.5rem;color:#059669;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.trainer-landing-benefit svg{color:#10b981}.trainer-landing-testimonials-section{padding:6rem 0;background:linear-gradient(135deg,#f8fafc,#e2e8f0);position:relative;overflow:visible}.trainer-landing-testimonials-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><defs><radialGradient id="a" cx="50%" cy="50%"><stop offset="0%" stop-color="%233b82f6" stop-opacity="0.03"/><stop offset="100%" stop-color="%233b82f6" stop-opacity="0"/></radialGradient></defs><circle cx="200" cy="200" r="80" fill="url(%23a)"/><circle cx="800" cy="300" r="120" fill="url(%23a)"/><circle cx="400" cy="700" r="100" fill="url(%23a)"/></svg>');opacity:.4}.trainer-landing-testimonials-section:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#e5e7eb,transparent)}.trainer-landing-testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2.5rem;align-items:stretch;position:relative;z-index:1;max-width:100%;overflow:visible}.trainer-landing-testimonial-card{background:#fff;padding:2.5rem 2rem;border-radius:24px;box-shadow:0 4px 20px #0000000f;border:1px solid rgba(59,130,246,.08);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:visible;height:auto;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:550px}.trainer-landing-testimonial-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#60a5fa);transform:scaleX(0);transition:transform .3s ease}.trainer-landing-testimonial-card:hover:before{transform:scaleX(1)}.trainer-landing-testimonial-card:after{content:'"';position:absolute;top:-8px;right:2rem;font-size:6rem;color:#3b82f6;opacity:.08;font-family:serif;font-weight:300;line-height:1}.trainer-landing-testimonial-card:hover{transform:translateY(-12px);box-shadow:0 20px 40px #0000001f;border-color:#3b82f626}.trainer-landing-testimonial-header{display:flex;align-items:flex-start;gap:1.25rem;margin-bottom:1.5rem;flex-shrink:0}.trainer-landing-testimonial-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;border:4px solid #f8fafc;box-shadow:0 8px 25px #0000001a;flex-shrink:0;transition:all .3s ease}.trainer-landing-testimonial-card:hover .trainer-landing-testimonial-avatar{transform:scale(1.05);border-color:#3b82f6;box-shadow:0 12px 30px #3b82f633}.trainer-landing-testimonial-info{flex:1;min-width:0;overflow:hidden}.trainer-landing-testimonial-info h4{color:#1f2937;font-weight:700;margin:0 0 .375rem;font-size:1.25rem;line-height:1.2;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trainer-landing-testimonial-info p{color:#6b7280;margin:0 0 .5rem;font-size:.875rem;font-weight:600;line-height:1.3;text-transform:uppercase;letter-spacing:.05em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trainer-landing-testimonial-location{display:flex;align-items:center;gap:.375rem;color:#9ca3af;font-size:.75rem;font-weight:500;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trainer-landing-testimonial-location svg{color:#3b82f6;font-size:.625rem;flex-shrink:0}.trainer-landing-testimonial-rating{margin-left:auto;display:flex;gap:1px;flex-shrink:0;background:#f8fafc;padding:.375rem .5rem;border-radius:8px;border:1px solid #e5e7eb}.trainer-landing-star{color:#d1d5db;font-size:.75rem;transition:all .3s ease}.trainer-landing-star.filled{color:#fbbf24;filter:drop-shadow(0 1px 2px rgba(251,191,36,.3))}.trainer-landing-testimonial-text{color:#374151;line-height:1.7;margin-bottom:1.5rem;font-style:italic;font-size:1rem;position:relative;z-index:1;flex:1;word-wrap:break-word;overflow-wrap:break-word;font-weight:400;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;min-height:80px}.trainer-landing-testimonial-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;padding:.5rem;border-top:1px solid #f3f4f6;flex-shrink:0;background:#f8fafc;border-radius:0 0 24px 24px;margin-top:auto;min-height:50px;box-sizing:border-box}.trainer-landing-testimonial-stat{text-align:center;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:40px;padding:0;box-sizing:border-box}.trainer-landing-testimonial-stat:not(:last-child):after{content:"";position:absolute;top:50%;right:-.5rem;transform:translateY(-50%);width:1px;height:1.5rem;background:linear-gradient(to bottom,transparent,#e5e7eb,transparent)}.trainer-landing-testimonial-stat-number{display:block;font-size:1.25rem;font-weight:800;color:#3b82f6;margin-bottom:.125rem;letter-spacing:-.02em;line-height:1.2;white-space:normal;text-align:center;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;padding:0}.trainer-landing-testimonial-stat-label{font-size:.5rem;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.1em;line-height:1.2;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;text-align:center;max-width:100%;padding:0}.trainer-landing-cta-section{padding:6rem 0;background:linear-gradient(135deg,#1f2937,#374151);color:#fff;text-align:center;position:relative;overflow:hidden}.trainer-landing-cta-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><defs><radialGradient id="a" cx="50%" cy="50%"><stop offset="0%" stop-color="%23ffffff" stop-opacity="0.03"/><stop offset="100%" stop-color="%23ffffff" stop-opacity="0"/></radialGradient></defs><circle cx="200" cy="200" r="80" fill="url(%23a)"/><circle cx="800" cy="300" r="120" fill="url(%23a)"/><circle cx="400" cy="700" r="100" fill="url(%23a)"/></svg>');opacity:.2}.trainer-landing-cta-title{font-size:2.5rem;font-weight:800;margin-bottom:1.25rem;letter-spacing:-.02em;position:relative;z-index:1}.trainer-landing-cta-subtitle{font-size:1.25rem;color:#fffc;margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6;position:relative;z-index:1}.landing-theme .trainer-landing-cta-title,.landing-theme .trainer-landing-cta-subtitle{color:#fff}.trainer-landing-cta-actions{display:flex;flex-direction:column;align-items:center;gap:1.25rem;position:relative;z-index:1}.trainer-landing-cta-btn{padding:1.5rem 3rem;font-size:1.25rem;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:16px;color:#fff;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 30px #3b82f666;display:flex;align-items:center;gap:.75rem}.trainer-landing-cta-btn:hover{transform:translateY(-4px);box-shadow:0 16px 40px #3b82f680}.trainer-landing-cta-note{font-size:.875rem;color:#fffc;font-weight:500}.trainer-landing-problem-section{padding:6rem 0;background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:#1f2937}.trainer-landing-problem-content{text-align:center;max-width:1200px;margin:0 auto}.trainer-landing-problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin:3rem 0;align-items:start}.trainer-landing-problem-column{text-align:left}.trainer-landing-problem-title{font-size:1.75rem;font-weight:700;margin-bottom:2rem;text-align:center;position:relative;padding-bottom:1rem}.trainer-landing-problem-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:3px;border-radius:2px}.trainer-landing-problem-column:first-child .trainer-landing-problem-title:after{background:linear-gradient(90deg,#dc2626,#ef4444)}.trainer-landing-problem-column:last-child .trainer-landing-problem-title:after{background:linear-gradient(90deg,#10b981,#34d399)}.trainer-landing-problem-items{display:flex;flex-direction:column;gap:2rem}.trainer-landing-problem-item{display:flex;align-items:flex-start;gap:1.5rem;padding:1.5rem;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid #f3f4f6;transition:all .3s ease}.trainer-landing-problem-item:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000001f}.trainer-landing-problem-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.trainer-landing-problem-text h4{font-size:1.125rem;font-weight:700;color:#1f2937;margin-bottom:.5rem;line-height:1.3}.trainer-landing-problem-text p{color:#6b7280;line-height:1.6;font-size:.95rem;margin:0}.trainer-landing-problem-cta{margin-top:4rem;text-align:center}.trainer-landing-problem-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:3rem}.trainer-landing-problem-stat{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid #f3f4f6;text-align:center}.trainer-landing-problem-stat-number{display:block;font-size:2.5rem;font-weight:800;color:#3b82f6;margin-bottom:.5rem;line-height:1}.trainer-landing-problem-stat-label{font-size:.95rem;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.trainer-landing-problem-btn{padding:1.25rem 2.5rem;font-size:1.125rem;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:12px;color:#fff;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 30px #3b82f666;display:inline-flex;align-items:center;gap:.75rem}.trainer-landing-problem-btn:hover{transform:translateY(-2px);box-shadow:0 12px 40px #3b82f680}.trainer-landing-problem-note{margin-top:1rem;color:#6b7280;font-size:.95rem;font-weight:500}@media (max-width: 1024px){.trainer-landing-hero-container{gap:3rem}.trainer-landing-value-props-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.trainer-landing-testimonials-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.trainer-landing-testimonial-card{padding:2rem 1.75rem;min-height:520px}.trainer-landing-testimonial-stats{padding:1.25rem 1.5rem;min-height:80px}.trainer-landing-testimonial-stat{min-height:60px}}@media (max-width: 768px){.trainer-landing-hero-section{padding:3rem 0 4rem}.trainer-landing-hero-container{grid-template-columns:1fr;gap:3rem;text-align:center}.trainer-landing-hero-title{font-size:2.5rem}.trainer-landing-hero-actions{justify-content:center}.trainer-landing-value-props-grid,.trainer-landing-testimonials-grid{grid-template-columns:1fr;gap:2rem}.trainer-landing-testimonial-card{padding:2rem 1.75rem;min-height:auto}.trainer-landing-testimonial-header{flex-direction:column;align-items:center;text-align:center;gap:1.25rem}.trainer-landing-testimonial-info h4,.trainer-landing-testimonial-info p,.trainer-landing-testimonial-location{white-space:normal;text-overflow:initial;overflow:visible}.trainer-landing-testimonial-rating{margin-left:0;margin-top:.5rem}.trainer-landing-testimonial-text{-webkit-line-clamp:unset;line-clamp:unset;display:block;overflow:visible;min-height:auto}.trainer-landing-testimonial-stats{padding:.5rem;grid-template-columns:repeat(3,1fr);min-height:50px}.trainer-landing-testimonial-stat:not(:last-child):after{display:none}.trainer-landing-testimonial-stat-number,.trainer-landing-testimonial-stat-label{white-space:normal;text-overflow:initial;overflow:visible}.trainer-landing-testimonial-stat{min-height:40px}.trainer-landing-section-title,.trainer-landing-cta-title{font-size:2rem}.trainer-landing-hero-image-placeholder{width:320px;height:240px}.trainer-landing-floating-card{max-width:280px}.trainer-landing-value-props-section,.trainer-landing-testimonials-section,.trainer-landing-cta-section{padding:4rem 0}}@media (max-width: 480px){.trainer-landing-hero-container,.trainer-landing-container{padding:0 1rem}.trainer-landing-value-prop-card,.trainer-landing-testimonial-card{padding:1.75rem 1.5rem}.trainer-landing-testimonial-card{border-radius:20px;min-height:auto}.trainer-landing-testimonial-avatar{width:64px;height:64px}.trainer-landing-testimonial-stats{padding:1.25rem 1rem;border-radius:0 0 20px 20px;grid-template-columns:1fr;gap:1rem;min-height:auto}.trainer-landing-testimonial-stat:not(:last-child):after{display:none}.trainer-landing-testimonial-stat{min-height:40px}.trainer-landing-testimonial-stat-number{font-size:1.375rem}.trainer-landing-testimonial-stat-label{font-size:.75rem}.trainer-landing-hero-title{font-size:2rem}.trainer-landing-section-title,.trainer-landing-cta-title{font-size:1.75rem}}@media (max-width: 768px){.trainer-landing-problem-grid{grid-template-columns:1fr;gap:3rem}.trainer-landing-problem-stats{grid-template-columns:1fr;gap:1.5rem}}@media (max-width: 480px){.trainer-landing-problem-section{padding:4rem 0}.trainer-landing-problem-item{padding:1rem;flex-direction:column;text-align:center}.trainer-landing-problem-icon{align-self:center}.trainer-landing-problem-stat{padding:1.5rem}.trainer-landing-problem-stat-number{font-size:2rem}}.legal-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:0;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.legal-container{max-width:1200px;margin:0 auto;background:#fff;box-shadow:0 10px 40px #0000001a;border-radius:12px;overflow:hidden;margin-top:2rem;margin-bottom:2rem}.legal-header{background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;padding:3rem 2rem;text-align:center}.legal-header-content h1{font-size:2.5rem;font-weight:700;margin:0 0 1rem;letter-spacing:-.025em}.legal-subtitle{font-size:1.1rem;opacity:.9;margin:0 0 1.5rem;font-weight:500}.legal-intro{font-size:1.125rem;line-height:1.7;max-width:800px;margin:0 auto;opacity:.95}.legal-nav{background:#f8fafc;padding:1.5rem 2rem;border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.legal-nav a{color:#475569;text-decoration:none;padding:.5rem 1rem;border-radius:6px;font-weight:500;transition:all .2s ease;font-size:.9rem}.legal-nav a:hover{background:#e2e8f0;color:#1e293b}.legal-content{padding:3rem 2rem;max-width:900px;margin:0 auto}.legal-section{margin-bottom:3rem;scroll-margin-top:100px}.legal-section:last-child{margin-bottom:0}.legal-section h2{font-size:1.875rem;font-weight:700;color:#1e293b;margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:2px solid #e2e8f0}.legal-section h3{font-size:1.25rem;font-weight:600;color:#374151;margin:2rem 0 1rem}.legal-section p{font-size:1rem;line-height:1.7;color:#4b5563;margin:0 0 1rem}.legal-section ul{margin:1rem 0;padding-left:1.5rem}.legal-section li{font-size:1rem;line-height:1.7;color:#4b5563;margin-bottom:.5rem}.legal-section strong{color:#1e293b;font-weight:600}.legal-contact-info{background:#f8fafc;padding:1.5rem;border-radius:8px;margin:1.5rem 0;border-left:4px solid #3b82f6}.legal-contact-item{margin-bottom:.75rem;font-size:1rem;line-height:1.6}.legal-contact-item:last-child{margin-bottom:0}.legal-contact-item strong{color:#1e293b;font-weight:600}[data-theme=dark] .legal-page,[data-theme=light] .legal-page{background:linear-gradient(135deg,#f8fafc,#e2e8f0)}[data-theme=dark] .legal-page .legal-container,[data-theme=light] .legal-page .legal-container{background:#fff;box-shadow:0 10px 40px #0000001a}[data-theme=dark] .legal-page .legal-header,[data-theme=light] .legal-page .legal-header{background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff}[data-theme=dark] .legal-page .legal-nav,[data-theme=light] .legal-page .legal-nav{background:#f8fafc;border-bottom:1px solid #e2e8f0}[data-theme=dark] .legal-page .legal-nav a,[data-theme=light] .legal-page .legal-nav a{color:#475569}[data-theme=dark] .legal-page .legal-nav a:hover,[data-theme=light] .legal-page .legal-nav a:hover{background:#e2e8f0;color:#1e293b}[data-theme=dark] .legal-page .legal-section h2,[data-theme=light] .legal-page .legal-section h2{color:#1e293b;border-bottom:2px solid #e2e8f0}[data-theme=dark] .legal-page .legal-section h3,[data-theme=dark] .legal-page .legal-section p,[data-theme=dark] .legal-page .legal-section li,[data-theme=light] .legal-page .legal-section h3,[data-theme=light] .legal-page .legal-section p,[data-theme=light] .legal-page .legal-section li{color:#4b5563}[data-theme=dark] .legal-page .legal-section strong,[data-theme=light] .legal-page .legal-section strong{color:#1e293b}[data-theme=dark] .legal-page .legal-contact-info,[data-theme=light] .legal-page .legal-contact-info{background:#f8fafc;border-left:4px solid #3b82f6}[data-theme=dark] .legal-page .legal-contact-item strong,[data-theme=light] .legal-page .legal-contact-item strong{color:#1e293b}[data-theme=dark] .legal-page .legal-footer,[data-theme=light] .legal-page .legal-footer{background:#f8fafc;border-top:1px solid #e2e8f0}[data-theme=dark] .legal-page .back-home-btn,[data-theme=light] .legal-page .back-home-btn{background:#3b82f6;color:#fff}[data-theme=dark] .legal-page .back-home-btn:hover,[data-theme=light] .legal-page .back-home-btn:hover{background:#2563eb}.legal-footer{background:#f8fafc;padding:2rem;text-align:center;border-top:1px solid #e2e8f0}.back-home-btn{display:inline-flex;align-items:center;padding:.75rem 1.5rem;background:#3b82f6;color:#fff;text-decoration:none;border-radius:8px;font-weight:500;transition:all .2s ease;font-size:1rem}.back-home-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}@media (max-width: 768px){.legal-container{margin:1rem;border-radius:8px}.legal-header{padding:2rem 1.5rem}.legal-header-content h1{font-size:2rem}.legal-nav{padding:1rem;flex-direction:column;align-items:center}.legal-nav a{width:100%;text-align:center}.legal-content{padding:2rem 1.5rem}.legal-section h2{font-size:1.5rem}.legal-section h3{font-size:1.125rem}}@media (max-width: 480px){.legal-header{padding:1.5rem 1rem}.legal-header-content h1{font-size:1.75rem}.legal-content{padding:1.5rem 1rem}.contact-info{padding:1rem}}.coach-mobile-menu-btn{display:none;position:fixed;top:20px;left:20px;z-index:1001;background:#1f2937;border:none;color:#f9fafb;font-size:1.5rem;cursor:pointer;padding:12px;border-radius:8px;box-shadow:0 2px 10px #0000004d;transition:all .2s ease}.coach-mobile-menu-btn:hover{background:#374151;transform:scale(1.05)}.coach-mobile-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:999;opacity:0;visibility:hidden;transition:all .3s ease}.coach-mobile-overlay.open{opacity:1;visibility:visible}.coach-sidebar{width:220px;min-height:100vh;background:var(--tf-sidebar-background);display:flex;flex-direction:column;align-items:center;padding:1.25rem 1rem 1rem;box-shadow:2px 0 8px #0f172a0a;border-right:1px solid var(--tf-sidebar-border);position:sticky;top:0;left:0;height:100vh;z-index:100;overflow-y:auto;-webkit-overflow-scrolling:touch}.coach-sidebar-logo-container{width:100%;display:flex;justify-content:center;align-items:center;margin-bottom:1.5rem}.coach-sidebar-logo{max-width:120px;height:auto;display:block}.coach-sidebar-nav{display:flex;flex-direction:column;gap:.85rem;width:100%}.coach-sidebar-link{color:var(--tf-sidebar-text);text-decoration:none;font-size:.98rem;padding:.45rem .9rem;border-radius:6px;transition:background .2s ease,color .2s ease,box-shadow .2s ease;display:block}.coach-sidebar-link.active{background:#2e7dff;color:#fff;font-weight:600;box-shadow:inset 0 0 0 1px #2e7dff33}.coach-sidebar-link:hover{background:#2e7dff1f;color:#1d4ed8}.subscription-link{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff!important;font-weight:600;position:relative;overflow:hidden}.subscription-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.subscription-link:hover:before{left:100%}.subscription-link:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 4px 8px #f59e0b4d}.subscription-link.active{background:linear-gradient(135deg,#d97706,#b45309)}.coach-sidebar-link{position:relative}.unreadCount-badge{position:absolute;top:-8px;right:-8px;background:#ef4444;color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;line-height:1}.mobile-sidebar .coach-sidebar-logo-container{margin-bottom:1.25rem}.mobile-sidebar .coach-sidebar-logo{max-width:90px}.mobile-sidebar .coach-sidebar-nav{gap:.75rem}.mobile-sidebar .coach-sidebar-link{font-size:1rem;padding:.75rem 1rem;border-radius:8px;background:#2e7dff0f;border:1px solid rgba(46,125,255,.18)}.mobile-sidebar .coach-sidebar-link:hover{background:#2e7dff2e;border-color:#2e7dff}.mobile-sidebar .coach-sidebar-link.active{background:#2e7dff;border-color:#2e7dff;color:#fff}.mobile-sidebar{display:flex;flex-direction:column}.mobile-sidebar .coach-sidebar-nav{width:100%;flex:1;overflow-y:auto;padding-bottom:1.5rem;-webkit-overflow-scrolling:touch}body[data-theme=dark] .coach-sidebar{box-shadow:2px 0 12px #080f1ecc}body[data-theme=dark] .coach-sidebar-link{color:var(--tf-sidebar-text)}body[data-theme=dark] .coach-sidebar-link:hover{background:#2e7dff3d;color:#f8fafc}body[data-theme=dark] .coach-sidebar-link.active{box-shadow:inset 0 0 0 1px #2e7dff66}body[data-theme=dark] .mobile-sidebar .coach-sidebar-link{background:#94a3b81f;border-color:#94a3b833;color:var(--tf-text-primary)}body[data-theme=dark] .mobile-sidebar .coach-sidebar-link:hover{background:#2e7dff47;border-color:#2e7dff73;color:#fff}body[data-theme=dark] .mobile-sidebar .coach-sidebar-link.active{border-color:#2e7dff8c}@media (max-width: 768px){.desktop-sidebar{display:none}.coach-mobile-menu-btn,.coach-mobile-overlay{display:block}}@media (min-width: 769px){.mobile-sidebar,.coach-mobile-overlay{display:none!important}}@media (max-width: 900px){.desktop-sidebar{width:100vw;min-height:unset;height:auto;flex-direction:row;align-items:flex-start;position:static;box-shadow:none;padding:1rem}.desktop-sidebar .coach-sidebar-logo-container{margin-bottom:0;margin-right:2rem}.desktop-sidebar .coach-sidebar-nav{flex-direction:row;gap:1rem;width:auto}}.coach-layout{display:flex;min-height:100vh;background:var(--tf-background)}.coach-layout .messages-container{height:calc(100vh - 5rem);margin:0;border-radius:0;box-shadow:none}.coach-main-content{flex:1;padding:2.5rem 2rem;background:var(--tf-background);min-height:100vh;color:var(--tf-text-primary)}.dashboard-preview-page{background-color:#f8fafc;min-height:100vh;display:flex;flex-direction:column}.preview-page-main{padding:4rem 2rem;text-align:center;flex-grow:1}.preview-title{font-size:2.25rem;font-weight:700;color:#1e293b;margin-bottom:1.5rem;line-height:1.2;letter-spacing:-.025em}.preview-subtitle{font-size:1.1rem;color:#64748b;margin-bottom:3rem;max-width:700px;margin-left:auto;margin-right:auto;line-height:1.6;font-weight:400;text-align:center}.subtitle-line-1,.subtitle-line-2{display:block}.subtitle-line-1{margin-bottom:.5rem}.dashboard-preview-window{border-radius:16px;box-shadow:0 20px 40px -15px #0003;overflow:hidden;max-width:1200px;margin:0 auto 3rem;border:1px solid rgba(0,0,0,.08);text-align:left}.join-now-btn{padding:1rem 2.5rem;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 16px #3b82f64d}.join-now-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.dashboard-container-desktop{display:flex;background-color:#f8fafc;gap:2rem;padding:2rem}.dashboard-sidebar{width:240px;flex-shrink:0;background-color:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 10px #0000000d;height:fit-content}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem}.sidebar-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1.25rem;border-radius:8px;text-decoration:none;font-weight:500;color:#334155;transition:all .2s ease}.sidebar-item:hover{background-color:#f1f5f9;color:#1e293b}.sidebar-item.active{background-color:#3b82f6;color:#fff;font-weight:600;box-shadow:0 4px 8px #3b82f633}.sidebar-icon{font-size:1.25rem}.dashboard-main{flex-grow:1}.profile-header{display:flex;align-items:center;gap:2rem;margin-bottom:2.5rem;background-color:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 10px #0000000d}.profile-image-desktop{width:100px;height:100px;border-radius:50%;object-fit:cover;border:4px solid #e0e7ff}.profile-name-desktop{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.profile-specialty-desktop{font-size:1.1rem;font-weight:500;color:#64748b;margin:0}.stats-grid-desktop{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.stat-card-desktop{background-color:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 10px #0000000d;transition:all .2s ease}.stat-card-desktop:hover{transform:translateY(-4px);box-shadow:0 8px 15px #00000012}.stat-label-desktop{font-size:1rem;font-weight:500;color:#475569;margin:0 0 .75rem}.stat-value-desktop{font-size:2.25rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.stat-sublabel-desktop{font-size:.9rem;color:#64748b;margin:0}.stat-card-desktop.earnings .stat-value-desktop{color:#16a34a}.stat-card-desktop.earnings .stat-sublabel-desktop{color:#16a34a;font-weight:500}.stat-card-desktop.sessions .stat-value-desktop{color:#2563eb}.stat-card-desktop.clients .stat-value-desktop{color:#c026d3}.stat-card-desktop.reports .stat-value-desktop{color:#d97706}@media (max-width: 1024px){.dashboard-container-desktop{flex-direction:column}.dashboard-sidebar{width:100%;height:auto}.sidebar-nav{flex-direction:row;justify-content:center;flex-wrap:wrap}}@media (max-width: 768px){.preview-title{font-size:1.875rem;margin-bottom:1.25rem}.preview-subtitle{font-size:1rem;margin-bottom:2.5rem;max-width:100%;padding:0 1rem}.preview-page-main{padding:2rem 1rem}.profile-header{flex-direction:column;text-align:center;gap:1rem;padding:1.5rem}.stats-grid-desktop{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.preview-title{font-size:1.625rem;margin-bottom:1rem}.preview-subtitle{font-size:.95rem;line-height:1.5}.stats-grid-desktop{grid-template-columns:1fr}}.coach-dashboard-page{max-width:1400px;margin:0 auto;padding:2.5rem 2rem;background:var(--tf-background);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--tf-text-primary)}.pending-bookings-notification{margin-bottom:2rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.notification-content{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:16px;padding:1.5rem 2rem;box-shadow:0 10px 30px #f59e0b40;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:1.5rem;position:relative;overflow:hidden}.notification-content:before{content:"";position:absolute;top:0;right:0;width:100px;height:100px;background:#ffffff1a;border-radius:50%;transform:translate(30%,-30%)}.notification-icon{font-size:2rem;color:#fff;flex-shrink:0;position:relative;z-index:1;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.notification-text{flex:1;position:relative;z-index:1}.notification-text h3{font-size:1.25rem;font-weight:700;color:#fff;margin:0 0 .5rem;letter-spacing:-.01em}.notification-text p{font-size:1rem;color:#fffffff2;margin:0;line-height:1.5;font-weight:400}.notification-actions{display:flex;align-items:center;gap:1rem;position:relative;z-index:1}.notification-view-btn{background:#fff;color:#d97706;border:none;padding:.75rem 1.5rem;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #00000026;white-space:nowrap}.notification-view-btn:hover{background:#fef3c7;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.notification-dismiss-btn{background:#fff3;color:#fff;border:none;padding:.5rem;border-radius:8px;font-size:1.25rem;cursor:pointer;transition:all .2s ease;width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.notification-dismiss-btn:hover{background:#ffffff4d;transform:scale(1.1)}.dashboard-header,.dashboard-welcome{background:#2e7dff;color:#fff;border-radius:16px;padding:3rem;margin-bottom:3rem;box-shadow:0 10px 30px #1f29371a;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.05)}.dashboard-welcome:before{content:"";position:absolute;top:0;right:0;width:150px;height:150px;background:#ffffff14;border-radius:50%;transform:translate(30%,-30%)}.welcome-content{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.welcome-actions{display:flex;gap:1rem;align-items:center}.refresh-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #3b82f633;display:flex;align-items:center;gap:.5rem}.refresh-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.refresh-btn:disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed;transform:none;box-shadow:none}.welcome-text h1{font-size:2.25rem;font-weight:700;margin-bottom:1rem;letter-spacing:-.01em;line-height:1.3;color:#fff}.dashboard-welcome-msg{font-size:1.1rem;margin-bottom:0;color:#ffffffd9;line-height:1.6;max-width:600px;font-weight:400}.welcome-illustration{display:flex;align-items:center;justify-content:center}.welcome-icon{font-size:3.5rem;opacity:.9;animation:bounce 3s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.profile-completion-reminder{background:#ffffff1f;border-radius:12px;padding:1.75rem;margin-top:2rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15)}.completion-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.completion-title{font-size:1.1rem;font-weight:600;color:#fff}.completion-percentage{background:#fff3;padding:.25rem .75rem;border-radius:20px;font-size:.9rem;font-weight:600}.profile-progress-bar{width:100%;height:8px;background:#fff3;border-radius:4px;margin-bottom:1rem;overflow:hidden}.profile-progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:4px;transition:width .6s ease}.completion-details{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.completion-message{font-size:.95rem;color:#ffffffe6}.profile-missing-fields{display:flex;align-items:center;gap:.5rem}.missing-label{font-size:.9rem;color:#fbbf24;font-weight:500}.missing-items{font-size:.9rem;color:#fbbf24;font-weight:600}.complete-profile-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.complete-profile-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.dashboard-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem}.dashboard-card{background:var(--tf-surface);border-radius:12px;box-shadow:0 2px 8px #0000000a,0 1px 3px #0000000f;padding:2.25rem;transition:all .2s ease;border:1px solid var(--tf-border);margin-bottom:2.5rem}.dashboard-card:last-child{margin-bottom:0}.dashboard-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014,0 2px 4px #0000001f;border-color:#e2e8f0}.dashboard-coaching-impact{margin-bottom:3rem}.coaching-impact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.5rem;margin-top:2rem}.impact-stat{background:var(--tf-surface);border-radius:10px;padding:2rem;border:1px solid var(--tf-border);transition:all .2s ease;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000a}.impact-stat:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#3b82f6,#2e7dff)}.impact-stat:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000000f,0 1px 3px #0000001a;border-color:#e2e8f0}.impact-stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.impact-stat-label{font-size:.875rem;font-weight:600;color:var(--tf-text-secondary);text-transform:uppercase;letter-spacing:.025em}.impact-stat-icon{font-size:1.5rem;opacity:.7}.impact-stat-value{font-size:2.25rem;font-weight:700;color:var(--tf-text-primary);margin-bottom:.75rem;line-height:1.1}.impact-stat-trend{font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.25rem;color:var(--tf-text-secondary)}.impact-stat-trend.positive{color:#059669}.impact-stat-trend.positive:before{content:"↗";font-weight:700}.impact-stat-trend.negative{color:#dc2626}.impact-stat-trend.negative:before{content:"↘";font-weight:700}.impact-stat-trend.neutral{color:#6b7280}.impact-stat-trend.neutral:before{content:"→";font-weight:700}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.card-header h2{font-size:1.375rem;font-weight:600;color:#1e293b;margin:0;letter-spacing:-.01em}.card-subtitle{font-size:.875rem;color:var(--tf-text-secondary);font-weight:500;background:var(--tf-surface-muted);padding:.375rem .875rem;border-radius:8px;border:1px solid var(--tf-border)}.sessions-container{margin-top:1rem}.today-sessions-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.today-session-item{display:flex;justify-content:space-between;align-items:flex-start;background:var(--tf-surface);border-radius:10px;padding:1.5rem;border:1px solid var(--tf-border);transition:all .2s ease;box-shadow:0 1px 2px #0000000a;gap:1.5rem}.today-session-item:hover{background:var(--tf-surface-muted);border-color:var(--tf-border);box-shadow:0 2px 4px #0000000f}.session-info{flex:1;min-width:0}.session-header{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.session-athlete{font-weight:600;color:var(--tf-link);font-size:1rem}.session-time{font-size:1rem;color:var(--tf-text-primary);font-weight:500}.session-details{display:flex;align-items:center;gap:1rem;margin-bottom:0}.session-type{font-size:.9rem;color:var(--tf-text-secondary)}.session-duration{font-size:.85rem;color:var(--tf-text-secondary);background:var(--tf-surface-muted);padding:.2rem .5rem;border-radius:6px}.dashboard-today-schedule .session-actions{display:flex;gap:.75rem;flex-direction:column;align-items:flex-end;margin:0;padding:0;flex-shrink:0}.session-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem;padding-top:1.5rem;margin-bottom:1rem}.dashboard-today-schedule .session-actions button{background:#3b82f6;color:#fff;border:none;border-radius:8px;padding:.55rem 1.1rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #3b82f633;min-width:110px;width:auto;text-align:center;white-space:normal;line-height:1.2;display:inline-flex;align-items:center;justify-content:center}.session-actions button{background:#3b82f6;color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #3b82f633;width:100px;min-width:100px;flex:0 1 auto;text-align:center}.dashboard-today-schedule .session-actions button:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 2px 6px #3b82f64d}.dashboard-today-schedule .session-actions .reschedule-btn{background:#f3f4f6;color:#374151;border:none;width:110px;min-width:110px}.dashboard-today-schedule .session-actions .reschedule-btn:hover{background:#e5e7eb;color:#1f2937}.dashboard-today-schedule .session-actions .cancel-btn{background:#fee2e2;color:#dc2626;border-color:#fca5a5;width:110px;min-width:110px}.dashboard-today-schedule .session-actions .cancel-btn:hover{background:#fecaca;color:#b91c1c}.dashboard-today-schedule .session-actions .start-btn{width:110px;min-width:110px}.dashboard-today-schedule .session-actions .confirm-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:1px solid #10b981;width:120px;min-width:120px}.dashboard-today-schedule .session-actions .confirm-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 2px 6px #10b9814d}.dashboard-today-schedule .session-actions .complete-btn{min-width:130px;width:auto}.dashboard-today-schedule .session-actions .complete-btn{background:#10b981;color:#fff}.dashboard-today-schedule .session-actions .complete-btn:hover{background:#059669;transform:translateY(-1px);box-shadow:0 2px 6px #10b9814d}.dashboard-today-schedule .session-actions .complete-btn.disabled{background:#9ca3af;color:#6b7280;cursor:not-allowed;opacity:.6}.dashboard-today-schedule .session-actions .complete-btn.disabled:hover{background:#9ca3af;transform:none;box-shadow:none}.session-actions button:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 2px 6px #3b82f64d}.session-actions .reschedule-btn{background:#fef3c7;color:#d97706;border-color:#fbbf24;width:110px;min-width:110px;flex:0 1 auto}.session-actions .reschedule-btn:hover{background:#fde68a;color:#b45309}.session-actions .cancel-btn{background:#fee2e2;color:#dc2626;border-color:#fca5a5;width:100px;min-width:100px;flex:0 1 auto}.session-actions .cancel-btn:hover{background:#fecaca;color:#b91c1c}.session-actions .start-btn{width:100px;min-width:100px;flex:0 1 auto}.session-actions .complete-btn{width:110px;min-width:110px;flex:0 1 auto}.session-actions .complete-btn{background:#10b981;color:#fff}.session-actions .complete-btn:hover{background:#059669;transform:translateY(-1px);box-shadow:0 2px 6px #10b9814d}.session-actions .complete-btn.disabled{background:#9ca3af;color:#6b7280;cursor:not-allowed;opacity:.6}.session-actions .complete-btn.disabled:hover{background:#9ca3af;transform:none;box-shadow:none}.dashboard-today-schedule .session-status{padding:.5rem 1rem;border-radius:8px;font-size:.8rem;font-weight:600;width:110px;min-width:110px;text-align:center;white-space:nowrap;display:inline-block}.session-status{padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:600;display:inline-block;text-align:center}.status-completed{background:#dcfce7;color:#166534}.status-pending{background:#fef3c7;color:#92400e}.status-cancelled{background:#fee2e2;color:#991b1b}.dashboard-stats-section{margin-bottom:2rem}.stats-header{margin-bottom:1.5rem}.stats-header h2{font-size:1.4rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.stats-subtitle{font-size:.95rem;color:#64748b}.dashboard-stats-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.stat-card{background:var(--tf-surface);border:1px solid var(--tf-border);border-radius:12px;padding:1.5rem 1.25rem;display:flex;align-items:center;gap:1.25rem;box-shadow:0 1px 3px #0000000a;transition:box-shadow .2s,transform .2s}.stat-card:hover{box-shadow:0 4px 16px #3b82f614;transform:translateY(-2px);background:var(--tf-surface)}.stat-content{display:flex;align-items:center;gap:1rem}.sessions-icon,.sessions-icon:hover{background:#3b82f6;color:#fff}.earnings-icon,.earnings-icon:hover{background:#10b981;color:#fff}.athletes-icon,.athletes-icon:hover{background:#0ea5e9;color:#fff}.payouts-icon,.payouts-icon:hover{background:#f59e0b;color:#fff}.stat-details{flex:1}.stat-trend.positive{color:#10b981;font-weight:500}.quick-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.quick-action-btn{background:var(--tf-surface);border:1px solid var(--tf-border);border-radius:10px;padding:1.5rem;cursor:pointer;transition:all .2s ease;text-align:left;display:flex;align-items:center;gap:1.25rem;box-shadow:0 1px 2px #0000000a}.quick-action-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000000f,0 1px 3px #0000001a;border-color:#e2e8f0}.primary-action{border-color:#3b82f6;background:var(--tf-surface-muted)}.secondary-action{border-color:#10b981;background:var(--tf-surface-muted)}.tertiary-action{border-color:#0ea5e9;background:var(--tf-surface-muted)}.quaternary-action{border-color:#f59e0b;background:var(--tf-surface-muted)}.action-icon-wrapper{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:#fff;box-shadow:0 1px 2px #0000000f}.primary-action .action-icon-wrapper{background:#3b82f6;color:#fff}.secondary-action .action-icon-wrapper{background:#10b981;color:#fff}.tertiary-action .action-icon-wrapper{background:#0ea5e9;color:#fff}.quaternary-action .action-icon-wrapper{background:#f59e0b;color:#fff}.action-content{flex:1}.action-title{display:block;font-weight:600;color:var(--tf-text-primary);margin-bottom:.375rem;font-size:.95rem;letter-spacing:-.01em}.action-description{display:block;font-size:.875rem;color:var(--tf-text-secondary);line-height:1.5}.reports-container{margin-top:1rem}.recent-reports-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.recent-report-item{background:var(--tf-surface);border-radius:10px;padding:1.5rem;border:1px solid var(--tf-border);transition:all .2s ease;box-shadow:0 1px 2px #0000000a}.recent-report-item:hover{background:var(--tf-surface-muted);border-color:var(--tf-border);box-shadow:0 2px 4px #0000000f}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.report-info{display:flex;align-items:center;gap:1rem}.report-athlete{font-weight:600;color:var(--tf-link);font-size:.95rem}.report-date{font-size:.85rem;color:var(--tf-text-secondary)}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500}.status-badge.completed{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.report-preview{font-size:.9rem;color:var(--tf-text-secondary);line-height:1.5;margin-bottom:1rem}.view-report-btn{background:none;border:none;color:#2e7dff;font-weight:600;font-size:.875rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:color .2s ease;padding:.5rem 0}.view-report-btn:hover{color:#1d4ed8}.btn-arrow{font-size:.8rem;transition:transform .2s ease}.view-report-btn:hover .btn-arrow{transform:translate(2px)}.earnings-container{margin-top:1rem}.earnings-totals{display:flex;gap:2rem;margin-bottom:1.5rem}.earnings-period{flex:1;text-align:center;padding:1.5rem;background:var(--tf-surface-muted);border-radius:10px;border:1px solid var(--tf-border)}.earnings-label{display:block;font-size:.875rem;color:var(--tf-text-secondary);font-weight:500;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.025em}.earnings-value{display:block;font-size:1.75rem;font-weight:700;color:#059669;margin-bottom:.5rem;line-height:1.2}.earnings-trend{font-size:.875rem;color:var(--tf-text-secondary);font-weight:500}.earnings-trend.positive{color:#059669;font-weight:500}.earnings-trend.negative{color:#ef4444;font-weight:500}.earnings-trend.neutral{color:#64748b;font-weight:500}.earnings-actions{margin-bottom:1.5rem}.view-payments-btn{background:#3b82f6;color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease;box-shadow:0 1px 3px #3b82f633}.view-payments-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 2px 6px #3b82f64d}.stripe-connect-prompt{background:#fefce8;border:1px solid #fef3c7;border-radius:10px;padding:1.5rem;display:flex;justify-content:space-between;align-items:center}.stripe-content{display:flex;align-items:center;gap:1rem}.stripe-icon{font-size:1.5rem}.stripe-text{display:flex;flex-direction:column}.stripe-title{font-weight:600;color:#a16207;font-size:.95rem;margin-bottom:.375rem}.stripe-description{font-size:.85rem;color:#a16207;line-height:1.4}.connect-stripe-btn{background:#f59e0b;color:#fff;border:none;border-radius:8px;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #f59e0b33}.connect-stripe-btn:hover{background:#d97706;transform:translateY(-1px);box-shadow:0 2px 6px #f59e0b4d}.empty-schedule,.empty-reports{text-align:center;padding:3rem 2rem;background:var(--tf-surface-muted);border-radius:12px;border:2px dashed var(--tf-border);margin-top:1rem}.empty-illustration{position:relative;margin-bottom:1.5rem}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.7}.empty-decoration{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;background:#3b82f61a;border-radius:50%;z-index:-1}.empty-content h3{margin:0 0 .75rem;color:var(--tf-text-primary);font-size:1.3rem;font-weight:600}.empty-content p{margin:0 0 2rem;color:var(--tf-text-secondary);font-size:1rem;line-height:1.6;max-width:400px;margin-left:auto;margin-right:auto}.empty-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.primary-action-btn,.secondary-action-btn{padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.primary-action-btn{background:#3b82f6;color:#fff;box-shadow:0 1px 3px #3b82f633}.primary-action-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 2px 6px #3b82f64d}.secondary-action-btn{background:#22c55e;color:#fff;border:1px solid #16a34a;box-shadow:0 4px 12px #22c55e47}.secondary-action-btn:hover{background:#16a34a;border-color:#15803d;transform:translateY(-1px);box-shadow:0 6px 16px #15803d52}@media (max-width: 1200px){.dashboard-main-grid{grid-template-columns:1fr;gap:1.5rem}.dashboard-stats-cards,.quick-actions-grid,.coaching-impact-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.coach-dashboard-page{padding:1rem}.pending-bookings-notification{margin-bottom:1.5rem}.notification-content{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem}.notification-actions{width:100%;justify-content:space-between}.notification-view-btn{flex:1}.dashboard-welcome{padding:1.5rem}.welcome-content{flex-direction:column;text-align:center;gap:1rem}.welcome-text h1{font-size:2rem}.dashboard-welcome-msg{font-size:1rem}.completion-details{flex-direction:column;align-items:flex-start;gap:.5rem}.dashboard-card{padding:1.5rem}.card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.dashboard-stats-cards,.quick-actions-grid,.coaching-impact-grid{grid-template-columns:1fr}.impact-stat-value{font-size:2rem}.impact-stat-label{font-size:.8rem}.earnings-totals{flex-direction:column;gap:1rem}.stripe-connect-prompt{flex-direction:column;gap:1rem;text-align:center}.empty-actions{flex-direction:column;align-items:center}}@media (max-width: 480px){.notification-content{padding:1rem 1.25rem}.notification-text h3{font-size:1.1rem}.notification-text p{font-size:.9rem}.notification-icon,.welcome-text h1{font-size:1.75rem}.dashboard-card{padding:1rem}.stat-content,.quick-action-btn{flex-direction:column;text-align:center;gap:.75rem}.coaching-impact-grid{gap:1rem}.impact-stat{padding:1rem}.impact-stat-value{font-size:1.75rem}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:1.5rem}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem 1.25rem;display:flex;align-items:center;gap:1.25rem;box-shadow:0 1px 3px #0000000a;transition:box-shadow .2s,transform .2s}.stat-card:hover{box-shadow:0 4px 16px #3b82f614;transform:translateY(-2px);background:#fff}.stat-icon-wrapper{flex-shrink:0;width:44px;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--icon-bg, #f1f5f9)}.stat-label{font-size:.95rem;color:var(--tf-text-secondary);font-weight:600;margin-bottom:.25rem}.stat-value{font-size:1.5rem;font-weight:700;color:var(--tf-text-primary);margin-bottom:.15rem}.stat-trend{font-size:.85rem;color:#10b981;font-weight:500}.stat-icon{width:1.5em;height:1.5em;display:block;color:#fff}.athlete-dashboard-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease-out}.athlete-dashboard-modal-content{background:#fff;border-radius:20px;max-width:520px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out;display:flex;flex-direction:column}.athlete-dashboard-modal-header{background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;padding:1.25rem 1.75rem;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.athlete-dashboard-modal-header h3{margin:0;font-size:1.25rem;font-weight:600}.athlete-dashboard-modal-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.athlete-dashboard-modal-close:hover{background:#ffffff1a}.athlete-dashboard-modal-body{padding:1.75rem;overflow-y:auto;flex:1}.athlete-dashboard-booking-details-section{display:flex;flex-direction:column;gap:1.5rem}.athlete-dashboard-trainer-info-modal{display:flex;align-items:center;gap:1.25rem;padding:1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;border:1px solid #e2e8f0;margin-bottom:1.5rem}.athlete-dashboard-trainer-avatar-modal{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid #ffffff;box-shadow:0 2px 8px #0000001a}.athlete-dashboard-trainer-details-modal h4{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:#111827}.athlete-dashboard-trainer-details-modal p{margin:.25rem 0;font-size:.875rem;color:#6b7280}.athlete-dashboard-notes-section{margin-top:1.5rem;padding:1.25rem;background:#fef3c7;border-radius:8px;border-left:4px solid #f59e0b}.athlete-dashboard-notes-section h4{margin:0 0 .75rem;font-size:.9375rem;font-weight:600;color:#92400e}.athlete-dashboard-notes-section p{margin:0;font-size:.875rem;color:#78350f;line-height:1.5}.athlete-dashboard-session-details-modal{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.athlete-dashboard-session-details-modal h4{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--tf-text-primary)}.athlete-dashboard-detail-row{display:flex;justify-content:space-between;align-items:center;padding:.875rem 0;border-bottom:1px solid #f1f5f9}.athlete-dashboard-detail-row:last-child{border-bottom:none;padding-bottom:0}.athlete-dashboard-detail-row span:first-child{font-weight:500;color:var(--tf-text-secondary)}.athlete-dashboard-detail-row span:last-child{font-weight:600;color:var(--tf-text-primary)}.athlete-dashboard-form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--tf-text-primary);font-size:.875rem}.athlete-dashboard-form-input{width:100%;padding:.75rem;border:1px solid var(--tf-border);border-radius:8px;font-size:.875rem;transition:all .2s ease;background:var(--tf-surface);color:var(--tf-text-primary)}.athlete-dashboard-form-input::placeholder{color:var(--tf-text-secondary)}.athlete-dashboard-loading-slots{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--tf-surface-muted);border:1px solid var(--tf-border);border-radius:8px;color:var(--tf-text-secondary);font-size:.875rem}.athlete-dashboard-no-slots{padding:.75rem;background:#fef2f2e6;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem;text-align:center}.athlete-dashboard-modal-footer{padding:1.25rem 1.75rem;border-top:1px solid #e2e8f0;display:flex;gap:.75rem;justify-content:flex-end;background:#fafbfc;flex-shrink:0}.athlete-dashboard-modal-btn{padding:.75rem 1.5rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.athlete-dashboard-modal-btn.primary{background:#3b82f6;color:#fff;border-color:#3b82f6}.athlete-dashboard-modal-btn.primary:hover{background:#2563eb;border-color:#2563eb}.athlete-dashboard-modal-btn.secondary{background:var(--tf-surface-muted);color:var(--tf-text-secondary);border-color:var(--tf-border)}.athlete-dashboard-modal-btn.secondary:hover{background:#e2e8f0;color:#475569}.complete-btn.disabled{background-color:#9ca3af;color:#6b7280;cursor:not-allowed;opacity:.6}.complete-btn.disabled:hover{background-color:#9ca3af;transform:none;box-shadow:none}.dashboard-recent-reviews{background:var(--tf-surface);border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;transition:all .3s ease}.dashboard-recent-reviews.clickable{cursor:pointer;transition:all .3s ease}.dashboard-recent-reviews.clickable:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.dashboard-recent-reviews.clickable:active{transform:translateY(0);box-shadow:0 2px 8px #0000001a}.empty-reviews{padding:2rem;text-align:center}.empty-reviews .empty-content h3{font-size:1.25rem;font-weight:600;color:var(--tf-text-primary);margin-bottom:.5rem}.empty-reviews .empty-content p{color:var(--tf-text-secondary);font-size:.875rem;line-height:1.5;margin-bottom:1.5rem}.reviews-container{padding:1.5rem}.reviews-summary{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.rating-stars .star{font-size:1.25rem;color:#d1d5db;transition:color .2s ease}.rating-value{font-size:1.5rem;font-weight:700;color:var(--tf-text-primary)}.rating-count{font-size:.875rem;color:var(--tf-text-secondary)}.recent-reviews-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.recent-review-item{padding:1rem;background:var(--tf-surface-muted);border-radius:8px;border:1px solid var(--tf-border);transition:all .2s ease}.recent-review-item:hover{background:var(--tf-surface);border-color:var(--tf-border)}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.avatar-image{width:40px;height:40px;border-radius:50%;object-fit:cover}.avatar-placeholder{width:40px;height:40px;background:#3b82f6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.reviewer-name{font-size:.875rem;font-weight:600;color:var(--tf-text-primary);margin:0}.review-rating .star{font-size:.75rem;color:#d1d5db}.review-date{font-size:.75rem;color:var(--tf-text-secondary);font-weight:500}.review-content p{font-size:.875rem;color:var(--tf-text-secondary);line-height:1.5;margin:0;font-style:italic}.view-all-reviews-btn{width:100%;margin-top:1rem;padding:.75rem 1rem;background:var(--tf-surface-muted);color:var(--tf-text-secondary);border:1px solid var(--tf-border);border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.view-all-reviews-btn:hover{background:var(--tf-surface);border-color:var(--tf-border);color:var(--tf-text-primary)}@media (max-width: 768px){.reviews-container{padding:1rem}.overall-rating{flex-direction:column;align-items:flex-start;gap:.75rem}.review-header{flex-direction:column;gap:.5rem}.review-date{align-self:flex-end}}@media (max-width: 480px){.recent-review-item{padding:.75rem}.reviewer-info{gap:.5rem}.avatar-placeholder{width:32px;height:32px;font-size:.75rem}}body[data-theme=dark] .coach-dashboard-page{background:var(--tf-background);color:var(--tf-text-primary)}body[data-theme=dark] .dashboard-welcome{background:linear-gradient(135deg,#1d4ed8,#0f172a);border:1px solid rgba(148,163,184,.25);box-shadow:0 18px 45px #080f1e8c}body[data-theme=dark] .dashboard-welcome:before{background:#94a3b826}body[data-theme=dark] .welcome-text h1{color:#f8fafc}body[data-theme=dark] .dashboard-welcome-msg{color:#e2e8f0c7}body[data-theme=dark] .welcome-icon{color:#93c5fd}body[data-theme=dark] .notification-content{background:linear-gradient(135deg,#f59e0b40,#d9770633);border:1px solid rgba(250,204,21,.28);box-shadow:0 20px 50px #080f1e99}body[data-theme=dark] .notification-icon{color:#fcd34d}body[data-theme=dark] .notification-text h3{color:#fde68a}body[data-theme=dark] .notification-text p{color:#fde68ae6}body[data-theme=dark] .notification-view-btn{background:#facc1533;color:#fde68a;border:1px solid rgba(250,204,21,.35);box-shadow:0 10px 24px #080f1e8c}body[data-theme=dark] .notification-view-btn:hover{background:#facc1547;color:#fef3c7}body[data-theme=dark] .notification-dismiss-btn{background:#0f172a66;color:#f8fafcd9}body[data-theme=dark] .notification-dismiss-btn:hover{background:#1e293bb3}body[data-theme=dark] .dashboard-card,body[data-theme=dark] .impact-stat,body[data-theme=dark] .today-session-item,body[data-theme=dark] .recent-report-item,body[data-theme=dark] .quick-action-btn,body[data-theme=dark] .earnings-period,body[data-theme=dark] .recent-review-item,body[data-theme=dark] .empty-schedule,body[data-theme=dark] .empty-reports,body[data-theme=dark] .reviews-container,body[data-theme=dark] .stat-card,body[data-theme=dark] .athlete-dashboard-session-details-modal,body[data-theme=dark] .athlete-dashboard-modal-content{background:#0f172af5;border:1px solid rgba(148,163,184,.18);box-shadow:0 16px 40px #080f1e99}body[data-theme=dark] .impact-stat:before{background:linear-gradient(90deg,#60a5fa73,#2563eb59)}body[data-theme=dark] .card-header h2,body[data-theme=dark] .impact-stat-value,body[data-theme=dark] .stat-value,body[data-theme=dark] .rating-value,body[data-theme=dark] .empty-content h3,body[data-theme=dark] .reviewer-name,body[data-theme=dark] .report-athlete,body[data-theme=dark] .session-time{color:#f8fafc}body[data-theme=dark] .card-subtitle,body[data-theme=dark] .impact-stat-label,body[data-theme=dark] .impact-stat-trend,body[data-theme=dark] .stat-label,body[data-theme=dark] .stat-trend,body[data-theme=dark] .action-description,body[data-theme=dark] .report-date,body[data-theme=dark] .report-preview,body[data-theme=dark] .rating-count,body[data-theme=dark] .review-date,body[data-theme=dark] .review-content p,body[data-theme=dark] .empty-content p,body[data-theme=dark] .athlete-dashboard-form-group label,body[data-theme=dark] .athlete-dashboard-detail-row span:first-child{color:#cbd5e1bf}body[data-theme=dark] .card-subtitle{background:#0f172abf;border:1px solid rgba(148,163,184,.24)}body[data-theme=dark] .session-duration{background:#94a3b82e;color:#f8fafcd9}body[data-theme=dark] .stat-icon-wrapper{background:#2563eb33}body[data-theme=dark] .impact-stat-icon{color:#60a5fa;opacity:1}body[data-theme=dark] .primary-action,body[data-theme=dark] .secondary-action,body[data-theme=dark] .tertiary-action,body[data-theme=dark] .quaternary-action{background:#0f172aeb}body[data-theme=dark] .primary-action{border-color:#2563eb73}body[data-theme=dark] .secondary-action{border-color:#10b98166}body[data-theme=dark] .tertiary-action{border-color:#0ea5e973}body[data-theme=dark] .quaternary-action{border-color:#f59e0b73}body[data-theme=dark] .action-icon-wrapper{background:#0f172ad9;box-shadow:none}body[data-theme=dark] .primary-action .action-icon-wrapper{background:#2563eb40;color:#bfdbfe}body[data-theme=dark] .secondary-action .action-icon-wrapper{background:#10b98140;color:#bbf7d0}body[data-theme=dark] .tertiary-action .action-icon-wrapper{background:#0ea5e940;color:#bae6fd}body[data-theme=dark] .quaternary-action .action-icon-wrapper{background:#f59e0b40;color:#fde68a}body[data-theme=dark] .view-report-btn{color:#93c5fd}body[data-theme=dark] .view-report-btn:hover{color:#bfdbfe}body[data-theme=dark] .empty-decoration{background:#60a5fa40}body[data-theme=dark] .empty-icon{color:#94a3b8e6}body[data-theme=dark] .recent-review-item:hover{background:#152037f2}body[data-theme=dark] .rating-stars .star,body[data-theme=dark] .review-rating .star{color:#94a3b866}body[data-theme=dark] .rating-stars .star.filled,body[data-theme=dark] .review-rating .star.filled{color:#fbbf24}body[data-theme=dark] .view-all-reviews-btn{background:#152037d9;color:#e2e8f0cc;border:1px solid rgba(148,163,184,.25)}body[data-theme=dark] .view-all-reviews-btn:hover{background:#1e293bd9;border-color:#94a3b859;color:#f8fafc}body[data-theme=dark] .athlete-dashboard-modal-header{background:linear-gradient(135deg,#1d4ed8,#0f172a)}body[data-theme=dark] .athlete-dashboard-modal-close{color:#e2e8f0d9}body[data-theme=dark] .athlete-dashboard-modal-close:hover{background:#2563eb4d}body[data-theme=dark] .athlete-dashboard-form-input{background:#090e1cf5;border:1px solid rgba(148,163,184,.28);color:#f8fafc}body[data-theme=dark] .athlete-dashboard-form-input:focus{border-color:#3b82f699;box-shadow:0 0 0 3px #2563eb40}body[data-theme=dark] .athlete-dashboard-loading-slots{background:#152037db;border:1px solid rgba(148,163,184,.25);color:#e2e8f0bf}body[data-theme=dark] .athlete-dashboard-no-slots{background:#991b1b40;border:1px solid rgba(248,113,113,.45);color:#fca5a5}body[data-theme=dark] .athlete-dashboard-modal-footer{border-top:1px solid rgba(148,163,184,.2)}body[data-theme=dark] .athlete-dashboard-modal-btn.secondary{background:#94a3b829;color:#e2e8f0;border-color:#94a3b847}body[data-theme=dark] .athlete-dashboard-modal-btn.secondary:hover{background:#94a3b83d;color:#f8fafc}body[data-theme=dark] .reviews-container{border:1px solid rgba(148,163,184,.18)}body[data-theme=dark] .rating-stars .star,body[data-theme=dark] .review-rating .star{text-shadow:none}body[data-theme=dark] .future-indicator{color:#fcd34d}.location-search,.location-search-input-container{position:relative;width:100%}.location-search-input{width:100%;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;font-family:inherit;background-color:#fff;transition:all .2s ease;box-sizing:border-box}.location-search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.location-search-input.error{border-color:#dc3545}.location-search-input.error:focus{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.location-search-input:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.location-search-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none}.spinner{width:20px;height:20px;border:2px solid #e1e5e9;border-top:2px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}.location-search-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid #e1e5e9;border-top:none;border-radius:0 0 8px 8px;box-shadow:0 4px 12px #0000001a;z-index:1000;max-height:300px;overflow-y:auto}.location-search-suggestion{padding:12px 16px;cursor:pointer;border-bottom:1px solid #f1f3f4;transition:background-color .2s ease}.location-search-suggestion:last-child{border-bottom:none}.location-search-suggestion:hover,.location-search-suggestion.selected{background-color:#f8f9fa}.suggestion-main{display:flex;align-items:center;gap:8px;margin-bottom:4px}.suggestion-name{font-weight:600;color:#212529;font-size:14px}.suggestion-state{background-color:#e9ecef;color:#495057;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.suggestion-details{display:flex;align-items:center;gap:8px;font-size:12px;color:#6c757d}.location-search-error{margin-top:4px;font-size:12px;color:#dc3545;display:flex;align-items:center;gap:4px}.location-search-error:before{content:"⚠";font-size:14px}@media (max-width: 768px){.location-search-input{font-size:16px}.location-search-suggestions{max-height:250px}.location-search-suggestion{padding:10px 12px}.suggestion-name{font-size:13px}.suggestion-details{font-size:11px}}[data-theme=dark] .location-search-input{background-color:#111e34eb;border-color:#94a3b859;color:var(--tf-text-primary)}[data-theme=dark] .location-search-input:focus{border-color:var(--tf-link);box-shadow:0 0 0 3px #60a5fa40}[data-theme=dark] .location-search-input:disabled{background-color:#1e293b99;color:#94a3b8a6}[data-theme=dark] .location-search-suggestions{background:#0f172af2;border-color:#94a3b859;box-shadow:0 18px 36px #080f238c}[data-theme=dark] .location-search-suggestion{border-bottom-color:#94a3b833;color:var(--tf-text-secondary)}[data-theme=dark] .location-search-suggestion:hover,[data-theme=dark] .location-search-suggestion.selected{background-color:#1e293bd9}[data-theme=dark] .suggestion-name{color:var(--tf-text-primary)}[data-theme=dark] .suggestion-state{background-color:#2563eb2e;color:#bfdbfee6}[data-theme=dark] .suggestion-details{color:var(--tf-text-secondary)}[data-theme=dark] .spinner{border-color:#94a3b859;border-top-color:var(--tf-link)}.profile-page-container{max-width:1000px;margin:0 auto;padding:2rem 1rem}.profile-tabs{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;border-bottom:1px solid #e2e8f0;padding-bottom:1rem}.tab-btn{background:transparent;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s ease;position:relative}.tab-btn:hover{background:#f1f5f9;color:#334155}.tab-btn.active{background:#2563eb;color:#fff;box-shadow:0 2px 8px #2563eb4d}.profile-tab-content{background:var(--tf-surface);border-radius:16px;box-shadow:0 4px 24px #0f172a0f;padding:2.5rem;border:1px solid var(--tf-border);color:var(--tf-text-primary)}.profile-section{display:flex;flex-direction:column;gap:3rem}.profile-header-section{background:var(--tf-surface);border-radius:16px;padding:2.5rem;color:var(--tf-text-primary);margin-bottom:1rem;border:1px solid var(--tf-border);box-shadow:0 12px 40px #0f172a14}.profile-header-content{display:flex;justify-content:center;align-items:center;width:100%}.profile-header-main{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;max-width:800px;width:100%}.profile-action-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem;text-decoration:none;min-width:120px;width:auto;height:44px;justify-content:center;white-space:nowrap;box-sizing:border-box;background:var(--tf-surface-muted);color:var(--tf-text-primary);border:1px solid var(--tf-border);box-shadow:0 2px 6px #0f172a14}.profile-action-btn:hover{background:#3b82f614;border-color:#3b82f633;transform:translateY(-1px);box-shadow:0 6px 16px #0f172a1f}.profile-action-btn.share-btn{color:#1f2937}.profile-action-btn.copy-btn,.profile-action-btn.qr-btn,.profile-action-btn.view-btn{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe;box-shadow:0 2px 10px #1d4ed81f}.profile-action-btn.copy-btn:hover,.profile-action-btn.qr-btn:hover,.profile-action-btn.view-btn:hover{background:#dbeafe;border-color:#93c5fd;box-shadow:0 8px 20px #1d4ed82e}.profile-action-btn.edit-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b9814d;border:1px solid rgba(255,255,255,.2);min-width:120px;width:auto;padding:.75rem 1.25rem;height:44px;border-radius:8px;font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.5rem;justify-content:center;white-space:nowrap;box-sizing:border-box}.profile-action-btn.edit-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.profile-header-text{display:flex;flex-direction:column;align-items:center;gap:.75rem}.profile-title{font-size:1.75rem;font-weight:700;margin:0;line-height:1.2;color:var(--tf-text-primary)}.profile-subtitle{font-size:1rem;margin:0;opacity:.9;line-height:1.5;color:var(--tf-text-secondary);max-width:600px}.profile-link-card{background:var(--tf-surface);border-radius:12px;padding:1.5rem;border:1px solid var(--tf-border);box-shadow:0 2px 8px #0f172a14;margin-bottom:2rem}.profile-link-content{margin-bottom:1rem}.profile-link-label{font-size:.875rem;font-weight:600;color:#64748b;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.profile-link-value{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;background:var(--tf-surface-muted);padding:.75rem 1rem;border-radius:8px;word-break:break-all;color:#1e40af;border:1px solid var(--tf-border)}.profile-link-actions{display:flex;gap:.5rem}body[data-theme=dark] .profile-tab-content,body[data-theme=dark] .profile-header-section{box-shadow:0 24px 60px #080f1eb3}body[data-theme=dark] .theme-preference-card{box-shadow:0 18px 50px #080f1e99}body[data-theme=dark] .theme-preference-copy p{color:var(--tf-text-secondary)}body[data-theme=dark] .toggle-slider{background-color:#94a3b84d}body[data-theme=dark] .toggle-slider:before{background-color:#0b1120}body[data-theme=dark] .change-password-btn{background:#94a3b81a;color:var(--tf-text-primary);border-color:#94a3b84d}body[data-theme=dark] .danger-zone{background:#7f1d1d59;border-color:#ef444473}body[data-theme=dark] .danger-zone h3{color:#fca5a5}body[data-theme=dark] .profile-link-card{box-shadow:0 18px 50px #080f1e8c}body[data-theme=dark] .profile-link-value{color:#bfdbfe;border-color:#94a3b859;background:#1e293b80}.copy-link-button{background:#2563eb;color:#fff;border:none;border-radius:8px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;width:100%;justify-content:center}.copy-link-button:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.copy-link-button:disabled{opacity:.6;cursor:not-allowed;background:#94a3b8}.copy-icon{font-size:1rem}.qr-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.profile-url-preview{display:block;margin-top:.5rem;color:#2563eb;font-weight:500;font-size:.875rem}.profile-photo-section{background:#f8fafc;border-radius:16px;padding:2rem;border:1px solid #e2e8f0}.profile-photo-container{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.profile-photo-wrapper{position:relative;display:inline-block;transition:transform .2s ease}.profile-photo{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 8px 32px #0000001a;transition:all .3s ease}.profile-photo-wrapper.editing .profile-photo{box-shadow:0 0 0 3px #2563eb33,0 12px 40px #2563eb40}.profile-photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;pointer-events:none;text-align:center}.profile-photo-wrapper.editing .profile-photo-overlay{opacity:1;pointer-events:auto}.change-photo-btn{background:#2563eb;color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.change-photo-btn:hover{background:#1d4ed8;transform:scale(1.05)}.camera-icon{font-size:1rem}.profile-photo-info h3{margin:0 0 .5rem;color:#1e293b;font-size:1.25rem;font-weight:600}.profile-photo-info p{margin:0;color:#64748b;font-size:.95rem;line-height:1.5}.profile-form-section{display:flex;flex-direction:column;gap:2.5rem}.form-section-header{border-bottom:2px solid #f1f5f9;padding-bottom:1rem;margin-bottom:1.5rem}.form-section-header h2{margin:0 0 .5rem;color:#1e293b;font-size:1.5rem;font-weight:700}.form-section-header p{margin:0;color:#64748b;font-size:1rem;line-height:1.5}.profile-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.form-label{font-size:.95rem;font-weight:600;color:#374151;display:flex;align-items:center;gap:.25rem}.required{color:#dc2626;font-weight:700}.form-input,.form-select,.form-textarea{padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;background:#fff;transition:all .2s ease;font-family:inherit;width:100%;min-height:48px;max-width:100%;box-sizing:border-box}.form-input[type=datetime-local],.form-input[type=time]{min-width:0;max-width:100%;font-size:.9rem;cursor:pointer}.form-input[type=time]{padding-right:1rem}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.time-select-wrapper{position:relative}.time-select[size]{position:absolute;z-index:1000;background:var(--tf-surface, #fff);box-shadow:0 4px 12px #00000026;border:1px solid var(--tf-border, #e2e8f0);border-radius:6px;max-height:200px;overflow-y:auto;width:100%}.form-select option{padding:.5rem;font-size:1rem;color:#1e293b;background:#fff}.form-select option:first-child{color:#9ca3af;font-style:italic}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-input.disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.form-display-value{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.75rem 1rem;font-size:.95rem;color:#1e293b;font-weight:500;min-height:44px;display:flex;align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-color:#cbd5e1}.form-textarea{resize:vertical;min-height:120px}.field-note{font-size:.85rem;color:#6b7280;line-height:1.4}.social-media-icon{font-size:1rem;margin-right:.5rem}.bio-group{grid-column:1 / -1}.bio-validation-container{display:flex;justify-content:space-between;align-items:flex-start;margin-top:.75rem;gap:1rem;flex-wrap:wrap}.word-count{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500}.word-count-number{font-weight:700;font-size:1.1rem;padding:.25rem .5rem;border-radius:4px;min-width:2rem;text-align:center}.word-count-number.success{background:#dcfce7;color:#166534}.word-count-number.warning{background:#fef3c7;color:#d97706}.word-count-number.error{background:#fee2e2;color:#dc2626}.word-count-label{color:#6b7280}.bio-validation-messages{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:200px}.validation-message{font-size:.85rem;font-weight:500;padding:.25rem .5rem;border-radius:4px;display:flex;align-items:center;gap:.5rem}.validation-message.success{background:#dcfce7;color:#166534}.validation-message.warning{background:#fef3c7;color:#d97706}.validation-message.error{background:#fee2e2;color:#dc2626}.form-textarea.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.form-textarea.error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.display-name-section{margin-top:1rem}.display-name-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.display-name-option{display:flex;align-items:center;gap:1rem;cursor:pointer;padding:1.25rem;border:2px solid #e2e8f0;border-radius:12px;background:#fff;transition:all .2s ease;position:relative}.display-name-option:hover{border-color:#cbd5e1;background:#f8fafc;transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.display-name-option.selected{border-color:#2563eb;background:linear-gradient(135deg,#eff6ff,#dbeafe);box-shadow:0 8px 25px #2563eb26}.option-icon{font-size:1.5rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:10px;flex-shrink:0;transition:all .2s ease}.display-name-option.selected .option-icon{background:#2563eb;color:#fff}.option-content{flex:1;min-width:0}.option-title{font-size:1.1rem;font-weight:600;color:#1e293b;margin-bottom:.25rem}.option-description{font-size:.9rem;color:#64748b;line-height:1.4}.option-radio{flex-shrink:0}.display-name-radio{width:20px;height:20px;accent-color:#2563eb;cursor:pointer}.form-actions{display:flex;justify-content:flex-end;padding-top:2rem;border-top:1px solid #e2e8f0;margin-top:1rem}.save-profile-btn{background:#10b981;color:#fff;border:none;border-radius:8px;padding:.875rem 2rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.save-profile-btn:hover{background:#059669;transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.save-icon{font-size:1rem;font-weight:700}.services-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.services-header h2{margin:0;color:#1e293b;font-size:1.5rem;font-weight:600}.services-header p{margin:.5rem 0 0;color:#64748b;font-size:.95rem}.add-btn{background:#2563eb;color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s}.add-btn:hover{background:#1d4ed8}.empty-state{text-align:center;padding:3rem 2rem;background:#f8fafc;border-radius:12px;border:2px dashed #cbd5e1}.empty-state-icon{font-size:3rem;margin-bottom:1rem}.empty-state h3{margin:0 0 .5rem;color:#1e293b;font-size:1.25rem;font-weight:600}.empty-state p{margin:0 0 1.5rem;color:#64748b;font-size:1rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.service-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s}.service-card:hover{box-shadow:0 4px 12px #0000001a}.service-meta h3{margin:0 0 .5rem;color:#1e293b;font-size:1.1rem;font-weight:600}.service-meta p{margin:0 0 1rem;color:#64748b;font-size:.9rem;line-height:1.5}.service-details{display:flex;gap:1rem;margin-bottom:1rem}.service-details span{background:#f1f5f9;color:#374151;padding:.25rem .75rem;border-radius:6px;font-size:.85rem;font-weight:500}.service-actions{display:flex;gap:.5rem}.edit-btn{background:#fff;color:#3b82f6;border:1.5px solid #3b82f6;border-radius:12px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:none;display:flex;align-items:center;gap:.5rem;position:relative;overflow:hidden;letter-spacing:.025em}.edit-btn:hover{background:#3b82f6;transform:translateY(-2px);box-shadow:0 2px 8px #3b82f64d;color:#fff}.edit-btn:active{transform:translateY(0);box-shadow:none}.edit-btn svg{font-size:1rem;transition:transform .2s ease}.edit-btn:hover svg{transform:rotate(15deg)}.edit-profile-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;padding:.7rem 1.2rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #10b9814d;display:flex;align-items:center;gap:.6rem;position:relative;overflow:hidden;letter-spacing:.025em;text-shadow:0 1px 2px rgba(0,0,0,.1)}.edit-profile-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.edit-profile-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 10px 25px #10b98166;color:#fff}.edit-profile-btn:hover:before{left:100%}.edit-profile-btn:active{transform:translateY(0);box-shadow:0 6px 20px #10b9814d}.edit-profile-btn .edit-icon{font-size:1.1rem;transition:transform .2s ease}.edit-profile-btn:hover .edit-icon{transform:rotate(15deg)}.cancel-profile-btn{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#374151;border:1px solid #d1d5db;border-radius:12px;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0000001a;display:flex;align-items:center;gap:.75rem;position:relative;overflow:hidden;letter-spacing:.025em}.cancel-profile-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.cancel-profile-btn:hover{background:linear-gradient(135deg,#e5e7eb,#d1d5db);transform:translateY(-2px);box-shadow:0 6px 16px #00000026;color:#1f2937;border-color:#9ca3af}.cancel-profile-btn:hover:before{left:100%}.cancel-profile-btn:active{transform:translateY(0);box-shadow:0 4px 12px #0000001a}.delete-btn{background:#fff;color:#ef4444;border:1.5px solid #ef4444;border-radius:12px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:none;display:flex;align-items:center;gap:.5rem;position:relative;overflow:hidden;letter-spacing:.025em}.delete-btn:hover{background:#ef4444;transform:translateY(-2px);box-shadow:0 2px 8px #ef44444d;color:#fff}.delete-btn:active{transform:translateY(0);box-shadow:none}.delete-btn svg{font-size:1rem;transition:transform .2s ease}.delete-btn:hover svg{transform:scale(1.1)}.media-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.media-header h2{margin:0;color:#fff;font-size:1.5rem;font-weight:600}.media-header p{margin:.5rem 0 0;color:#fff;font-size:.95rem}.media-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.media-thumb{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:1;background:#f1f5f9}.media-thumb img{width:100%;height:100%;object-fit:cover}.media-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.media-thumb:hover .media-overlay{opacity:1}.manage-btn{background:#fff;color:#1e293b;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;cursor:pointer}.account-settings{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.theme-preference-card{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:var(--tf-surface);border:1px solid var(--tf-border);border-radius:12px;padding:1.5rem 1.75rem;box-shadow:0 4px 18px #0f172a14}.theme-preference-copy h3{margin:0 0 .25rem;font-size:1.1rem;color:var(--tf-text-primary)}.theme-preference-copy p{margin:0;font-size:.9rem;color:var(--tf-text-secondary);max-width:420px}.toggle-switch{position:relative;display:inline-block;width:52px;height:28px;flex-shrink:0}.toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background-color:#d1d5db;transition:.3s;border-radius:28px}.toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0f172a33}.toggle-switch input:checked+.toggle-slider{background-color:#2563eb}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.change-password-btn{background:var(--tf-surface-muted);color:var(--tf-text-primary);border:1px solid var(--tf-border);border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s}.change-password-btn:hover{background:#3b82f61a}.profile-support-card{margin:1.5rem 0}.danger-zone{border:1px solid rgba(248,113,113,.4);border-radius:8px;padding:1.5rem;background:#fee2e299;margin-bottom:2rem}.danger-zone h3{margin:0 0 1rem;color:#dc2626;font-size:1.1rem;font-weight:600}.delete-account-btn{background:#dc2626;color:#fff;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s}.delete-account-btn:hover{background:#b91c1c}.profile-logout-row{display:flex;justify-content:center;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--tf-border)}.logout-btn{background:linear-gradient(135deg,#2e7dff,#2563eb)!important;color:#fff!important;border:2px solid #2e7dff!important;border-radius:12px;padding:1rem 2.5rem;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #2e7dff66!important;display:flex;align-items:center;gap:.75rem;min-width:160px;justify-content:center;position:relative;overflow:hidden;text-decoration:none;letter-spacing:.025em;text-shadow:0 1px 2px rgba(0,0,0,.2)}.logout-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.logout-btn:hover:before{left:100%}.logout-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;border-color:#2563eb!important;transform:translateY(-3px);box-shadow:0 10px 30px #2e7dff80,0 6px 12px #00000026!important}.logout-btn:active{transform:translateY(-1px);box-shadow:0 4px 12px #2e7dff66!important}.logout-btn:focus{outline:none;box-shadow:0 0 0 4px #2e7dff66,0 6px 20px #2e7dff66!important}.service-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:1rem}.service-modal-container{background:#fff;border-radius:16px;max-width:500px;width:100%;max-height:85vh;box-shadow:0 25px 50px -12px #00000040;border:1px solid #e5e7eb;display:flex;flex-direction:column}.service-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem;border-bottom:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0}.service-modal-header h2{margin:0;color:#1e293b;font-size:1.25rem;font-weight:700}.modal-close-btn{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{background:#e5e7eb;color:#374151}.modal-close-btn:disabled{opacity:.5;cursor:not-allowed}.service-modal-body{padding:1.5rem;overflow-y:auto;flex:1;min-height:0}.service-modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding:1.25rem 2rem;border-top:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0}.service-modal-body .form-group{margin-bottom:1.25rem}.service-modal-body .form-group:last-of-type{margin-bottom:0}.service-modal-body .form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#374151;font-size:.875rem;text-transform:none;letter-spacing:0}.service-modal-body .form-group input,.service-modal-body .form-group textarea{width:100%;padding:.625rem .875rem;border:1.5px solid #e5e7eb;border-radius:6px;font-size:.9375rem;transition:border-color .2s ease;background:#fff;box-sizing:border-box;min-height:auto}.service-modal-body .form-group input:focus,.service-modal-body .form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.service-modal-body .form-group input.error,.service-modal-body .form-group textarea.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.service-modal-body .form-group input.error:focus,.service-modal-body .form-group textarea.error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc262633}.service-modal-body .form-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:1rem!important;margin-bottom:1.25rem}.service-modal-body .form-row:last-of-type{margin-bottom:0}.service-modal-body .form-row .form-group{margin-bottom:0!important;display:flex;flex-direction:column;gap:.5rem}@media (max-width: 768px){.service-modal-overlay{padding:.5rem}.service-modal-container{max-width:100%;max-height:95vh}.service-modal-header{padding:1rem 1.5rem}.service-modal-body{padding:1.5rem}.service-modal-footer{padding:1rem 1.5rem;flex-direction:column}.service-modal-footer .cancel-btn,.service-modal-footer .save-btn{width:100%}.service-modal-footer .save-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:8px;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #2563eb33}.service-modal-footer .save-btn:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 4px 8px #2563eb4d}.service-modal-footer .save-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.service-modal-footer .cancel-btn{background:#f1f5f9;color:#374151;border:1px solid #d1d5db;border-radius:8px;padding:.875rem 1.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.service-modal-footer .cancel-btn:hover:not(:disabled){background:#e2e8f0}.service-modal-footer .cancel-btn:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.service-modal-body .form-row{grid-template-columns:1fr!important;gap:0!important}.service-modal-body .form-row .form-group{margin-bottom:1.5rem!important}}.service-modal,.delete-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:16px;padding:2.5rem;max-width:550px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid #e5e7eb}.modal-content h3{margin:0 0 2rem;color:#1e293b;font-size:1.5rem;font-weight:700;text-align:center}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.cancel-btn{background:#f1f5f9;color:#374151;border:1px solid #d1d5db;border-radius:6px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s}.cancel-btn:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.save-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #2563eb33}.save-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 4px 8px #2563eb4d}.save-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.service-modal .form-group{margin-bottom:1.5rem}.service-modal .form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#374151;font-size:.95rem}.service-modal .form-group input,.service-modal .form-group textarea{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .2s ease;background:#fff}.service-modal .form-group input:focus,.service-modal .form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.service-modal .form-group input.error,.service-modal .form-group textarea.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.service-modal .form-group input.error:focus,.service-modal .form-group textarea.error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc262633}.service-modal .form-group input::placeholder,.service-modal .form-group textarea::placeholder{color:#9ca3af}.service-error{background:#fef2f2;color:#dc2626;padding:.75rem;border-radius:8px;margin-bottom:1rem;border:1px solid #fecaca;font-size:.9rem;font-weight:500}.service-success{background:#f0fdf4;color:#16a34a;padding:.75rem;border-radius:8px;margin-bottom:1rem;border:1px solid #bbf7d0;font-size:.9rem;font-weight:500}.delete-account-warning{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.delete-account-warning h3{color:#dc2626;margin:0 0 1rem;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.delete-account-warning p{color:#374151;margin:0 0 1rem;line-height:1.5}.delete-account-warning ul{margin:1rem 0;padding-left:1.5rem}.delete-account-warning li{color:#4b5563;margin-bottom:.5rem;line-height:1.4}.delete-account-warning strong{color:#dc2626;font-weight:600}.service-modal-footer .delete-btn{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:2px solid #dc2626;border-radius:8px;padding:.875rem 2.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:160px;position:relative;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 4px 12px #dc262640;letter-spacing:.025em;white-space:nowrap}.service-modal-footer .delete-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.service-modal-footer .delete-btn:hover:not(:disabled){background:linear-gradient(135deg,#b91c1c,#991b1b);border-color:#b91c1c;transform:translateY(-2px);box-shadow:0 8px 25px #dc262666}.service-modal-footer .delete-btn:hover:not(:disabled):before{left:100%}.service-modal-footer .delete-btn:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);border-color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none;text-shadow:none}.service-modal-footer .delete-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #dc26264d}.service-modal-footer .delete-btn:focus{outline:none;box-shadow:0 0 0 3px #dc26264d,0 4px 12px #dc262640}.city-input-container{position:relative}.city-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;z-index:1000;max-height:200px;overflow-y:auto;margin-top:2px}.city-option{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:background-color .15s ease;font-size:.95rem;color:#374151}.city-option:last-child{border-bottom:none}.city-option:hover{background-color:#f9fafb}.city-option:active{background-color:#e5e7eb}.loading-message,.error-message{text-align:center;padding:3rem 2rem;color:#64748b;font-size:1.1rem}.error-message{color:#dc2626}@media (max-width: 768px){.profile-page-container{padding:1rem .5rem}.profile-tab-content{padding:1.5rem 1rem;border-radius:12px}.profile-header-section{padding:1.5rem;margin-bottom:.5rem}.profile-header-content{flex-direction:column;gap:1.5rem}.profile-actions{width:100%;justify-content:center}.profile-action-btn{min-width:100px;flex:1;max-width:140px}.profile-header-text{min-width:auto;text-align:center}.profile-title{font-size:1.75rem}.profile-subtitle{font-size:1rem}.profile-link-card{min-width:auto;width:100%}.profile-photo-section{padding:1.5rem}.profile-photo-container{flex-direction:column;text-align:center;gap:1.5rem}.profile-form-grid{grid-template-columns:1fr;gap:1.25rem}.display-name-options{grid-template-columns:1fr}.form-actions{justify-content:center}.save-profile-btn{width:100%;max-width:300px}.bio-validation-container{flex-direction:column;align-items:stretch}.word-count{justify-content:center}.bio-validation-messages{min-width:auto}.modal-content{padding:1.5rem;margin:1rem;width:calc(100% - 2rem)}}@media (max-width: 500px){.profile-page-container{padding:.5rem}.profile-tab-content{padding:1rem .75rem}.profile-header-section{padding:1.25rem}.profile-title{font-size:1.5rem}.profile-photo{width:100px;height:100px}.profile-form-section{gap:2rem}.form-section-header h2{font-size:1.25rem}.display-name-option{padding:1rem}.option-icon{width:40px;height:40px;font-size:1.25rem}.option-title{font-size:1rem}.option-description{font-size:.85rem}.profile-actions{flex-direction:column;gap:.5rem}.profile-action-btn{width:100%;max-width:none;min-width:auto}}.display-mode-segmented{display:flex;gap:.5rem;margin-top:1.1rem;margin-bottom:.5rem;background:#f1f5f9;border-radius:999px;padding:4px;width:fit-content}.segmented-btn{background:none;border:none;padding:.5rem 1.4rem;border-radius:999px;font-size:1rem;font-weight:600;color:#64748b;cursor:pointer;transition:background .18s,color .18s;outline:none}.segmented-btn.active{background:#2563eb;color:#fff;font-weight:700;box-shadow:0 2px 8px #2563eb14}.segmented-btn:focus{box-shadow:0 0 0 2px #2563eb44;background:#e0e7ff}.description-bullet{margin-bottom:.75rem;color:#475569;font-size:.95rem;line-height:1.6;padding-left:1.5rem;position:relative;font-weight:400}.description-bullet:last-child{margin-bottom:0}.description-bullet:before{content:"•";color:#3b82f6;font-weight:700;font-size:1.2rem;position:absolute;left:0;top:0;line-height:1.4}.service-details-list{margin:1rem 0 0;padding-left:0;list-style:none}.service-details-list li{color:#475569;line-height:1.6;margin-bottom:.75rem;font-size:.95rem;font-weight:400;position:relative;padding-left:1.5rem}.service-details-list li:before{content:"•";position:absolute;left:0;top:0;color:#3b82f6;font-weight:700;font-size:1.2rem;line-height:1.4}.service-list-details{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;min-width:120px}.service-list-price{background:#f8fafc;color:#1e293b;padding:.5rem 1rem;border-radius:8px;font-size:1rem;font-weight:700;border:1px solid #e2e8f0;min-width:80px;text-align:center;white-space:nowrap;display:flex;flex-direction:column;align-items:center;gap:.25rem}.service-list-capacity{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:700;border:2px solid #f59e0b;box-shadow:0 2px 4px #f59e0b33;text-align:center;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.service-list-actions .edit-btn,.service-list-actions .delete-btn{padding:.75rem 1rem;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;width:100%;text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative;overflow:hidden;letter-spacing:.025em;text-shadow:0 1px 2px rgba(0,0,0,.1)}.service-list-actions .edit-btn{background:#fff;color:#3b82f6;border:1.5px solid #3b82f6;box-shadow:none}.service-list-actions .edit-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.service-list-actions .edit-btn:hover{background:#3b82f6;transform:translateY(-2px);box-shadow:0 2px 8px #3b82f64d;color:#fff}.service-list-actions .edit-btn:hover:before{left:100%}.service-list-actions .edit-btn:active{transform:translateY(0);box-shadow:0 4px 12px #3b82f64d}.service-list-actions .delete-btn{background:#fff;color:#ef4444;border:1.5px solid #ef4444;box-shadow:none}.service-list-actions .delete-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.service-list-actions .delete-btn:hover{background:#ef4444;transform:translateY(-2px);box-shadow:0 2px 8px #ef44444d;color:#fff}.service-list-actions .delete-btn:hover:before{left:100%}.service-list-actions .delete-btn:active{transform:translateY(0);box-shadow:0 4px 12px #ef44444d}.services-section-header{font-size:1.5rem;font-weight:700;color:var(--tf-text-primary);margin:0 0 1.5rem;padding:1rem 0;border-bottom:2px solid var(--tf-border);text-align:center;position:relative}.services-section-header:before{content:"";position:absolute;left:50%;bottom:-2px;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:2px}.services-section .services-section-header.group-training:before{background:linear-gradient(135deg,#10b981,#059669)}.services-section .services-section-header.packages-header:before{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.package-details{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.package-sessions,.package-dates,.package-frequency{background:#f8fafc;color:#374151;padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;display:inline-flex;align-items:center;gap:.375rem;width:fit-content}.package-sessions svg,.package-dates svg,.package-frequency svg{font-size:.875rem;color:#3b82f6}.packages-add-section{margin-top:2rem;padding-top:2rem;border-top:1px solid #e5e7eb;text-align:center}.packages-add-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #8b5cf64d}.packages-add-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-2px);box-shadow:0 6px 16px #8b5cf666}.checkbox-group{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem;margin-top:.75rem;padding:.75rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;box-sizing:border-box;overflow:hidden}.checkbox-label{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.625rem;padding:.625rem .75rem;border:1.5px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .2s ease;background:#fff;font-weight:500;height:auto;min-height:auto;text-align:left;position:relative;min-width:0;box-sizing:border-box}.checkbox-label:hover{border-color:#3b82f6;background:#f8fafc;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f626}.checkbox-label input[type=checkbox]{margin:0;width:18px;height:18px;accent-color:#3b82f6;cursor:pointer;flex-shrink:0}.checkbox-label input[type=checkbox]:checked+span{color:#3b82f6;font-weight:600}.checkbox-label:has(input[type=checkbox]:checked){border-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#dbeafe);box-shadow:0 4px 12px #3b82f633}.checkbox-label span{font-size:.875rem;font-weight:500;transition:all .2s ease;line-height:1.4;flex:1}.package-type-section{margin-bottom:1.5rem}.package-type-toggle{display:flex;gap:.75rem;margin-top:.5rem}.package-type-option{display:flex;align-items:center;gap:.625rem;padding:.625rem 1rem;border:1.5px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .2s ease;background:#fff;flex:1;justify-content:center;position:relative;box-shadow:0 1px 2px #0000000d}.package-type-option:hover{border-color:#3b82f6;background:#f8fafc;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f626}.package-type-option input[type=radio]{margin:0;width:20px;height:20px;accent-color:#3b82f6;cursor:pointer}.package-type-option input[type=radio]:checked+span{color:#3b82f6;font-weight:700}.package-type-option:has(input[type=radio]:checked){border-color:#3b82f6;background:#eff6ff;box-shadow:0 4px 12px #3b82f633}.package-type-option span{font-size:.875rem;font-weight:600;text-transform:none;letter-spacing:0}.package-type{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:600;display:inline-block;width:fit-content}.package-type:before{content:"📦 ";font-size:.875rem}.package-form-section{margin-top:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;border:1px solid #e2e8f0}.form-section-header{margin-bottom:1.5rem;text-align:center}.form-section-header h3{margin:0 0 .375rem;color:#1e293b;font-size:1.25rem;font-weight:700}.form-section-header p{margin:0;color:#64748b;font-size:.875rem}.package-form-section .form-group{margin-bottom:1.25rem;display:flex;flex-direction:column;height:100%}.package-form-section .form-row .form-group{margin-bottom:0}.package-form-section .form-group label{display:block;margin-bottom:.5rem;color:#374151;font-weight:600;font-size:.875rem;text-transform:none;letter-spacing:0;min-height:auto;line-height:1.4}.package-form-section .form-group input,.package-form-section .form-group select{width:100%;padding:.625rem .875rem;border:1.5px solid #e2e8f0;border-radius:6px;font-size:.9375rem;transition:all .2s ease;background:#fff;box-shadow:0 1px 2px #0000000d;min-height:auto;box-sizing:border-box}.package-form-section .form-group input:focus,.package-form-section .form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a,0 4px 12px #0000001a;transform:translateY(-1px)}.package-form-section .form-group input.error,.package-form-section .form-group select.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a,0 4px 12px #ef44441a}.package-form-section .form-group input.readonly,.package-form-section .form-group input[readonly]{background:#f8fafc;border-color:#cbd5e1;color:#475569;cursor:not-allowed}.package-form-section .form-group input.readonly:focus,.package-form-section .form-group input[readonly]:focus{border-color:#cbd5e1;box-shadow:none;transform:none}.package-form-section .form-group:not(:has(.form-help)):after{content:"";display:block;height:0;margin-top:0}.package-form-section .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem;align-items:start}.form-help{display:block;margin-top:.5rem;color:#6b7280;font-size:.8125rem;font-style:italic;line-height:1.4;padding:0;min-height:auto}@media (max-width: 768px){.package-form-section{padding:1.5rem;margin-top:1.5rem}.package-form-section .form-row{grid-template-columns:1fr;gap:1.5rem}.package-type-toggle{flex-direction:column;gap:1rem}.package-type-option,.package-form-section .form-group input,.package-form-section .form-group select{padding:.625rem .875rem}.checkbox-group{grid-template-columns:repeat(2,1fr);gap:.5rem;padding:.625rem;margin:.5rem 0}.checkbox-label{padding:.5rem .625rem;min-height:auto}.checkbox-label span{font-size:.8125rem;line-height:1.3}}@media (max-width: 600px){.checkbox-group{grid-template-columns:repeat(3,1fr);gap:.3rem;padding:.5rem}.checkbox-label{height:55px;padding:.4rem .1rem}.checkbox-label span{font-size:.7rem}}@media (max-width: 480px){.checkbox-group{grid-template-columns:repeat(2,1fr);gap:.3rem;padding:.5rem}.checkbox-label{height:50px;padding:.3rem .1rem}.checkbox-label span{font-size:.65rem}}@media (max-width: 360px){.checkbox-group{grid-template-columns:repeat(2,1fr);gap:.2rem;padding:.4rem}.checkbox-label{height:45px;padding:.2rem .05rem}.checkbox-label span{font-size:.6rem;line-height:1}}@media (max-width: 768px){.service-list-content{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem}.service-list-details{flex-direction:row;justify-content:center;gap:1rem}.service-list-actions{flex-direction:row;justify-content:center}.service-list-actions .edit-btn,.service-list-actions .delete-btn{width:auto;min-width:80px}}@media (max-width: 480px){.service-list-content{padding:1rem}.service-list-title{font-size:1.1rem}.service-list-description,.description-bullet{font-size:.9rem}}.reviews-header{margin-bottom:2rem}.reviews-header h2{font-size:1.5rem;font-weight:600;color:#111827;margin-bottom:.5rem}.reviews-subtitle{color:#6b7280;font-size:.875rem;line-height:1.5}.loading-reviews{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.loading-reviews .loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-reviews p{color:#6b7280;font-size:.875rem}.empty-reviews{padding:3rem 1rem;text-align:center}.empty-reviews .empty-illustration{margin-bottom:1.5rem;position:relative}.empty-reviews .empty-icon{font-size:3rem;color:#fbbf24;display:inline-block;margin-bottom:.5rem}.empty-reviews .empty-decoration{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border:2px dashed #e5e7eb;border-radius:50%;opacity:.3}.empty-reviews .empty-content h3{font-size:1.25rem;font-weight:600;color:#374151;margin-bottom:.5rem}.empty-reviews .empty-content p{color:#6b7280;font-size:.875rem;line-height:1.5}.reviews-container{display:flex;flex-direction:column;gap:1.5rem}.reviews-summary{padding:1.5rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px}.overall-rating{display:flex;align-items:center;gap:1rem}.rating-stars{display:flex;gap:.25rem}.rating-stars .star{font-size:1.5rem;color:#d1d5db;transition:color .2s ease}.rating-stars .star.filled{color:#fbbf24}.rating-details{display:flex;flex-direction:column;gap:.25rem}.rating-value{font-size:2rem;font-weight:700;color:#111827}.rating-count{font-size:.875rem;color:#6b7280}.reviews-list{display:flex;flex-direction:column;gap:1rem}.review-item{padding:1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px;transition:all .2s ease}.review-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000001a}.reviewer-avatar{flex-shrink:0}.avatar-image{width:48px;height:48px;border-radius:50%;object-fit:cover}.avatar-placeholder{width:48px;height:48px;background:#3b82f6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem}.reviewer-name{font-size:1rem;font-weight:600;color:#111827;margin:0}.review-rating .star{font-size:.875rem;color:#d1d5db}.review-date{font-size:.75rem;color:#6b7280;font-weight:500}.review-content{margin-top:1rem;padding-top:1rem;border-top:1px solid #f3f4f6}.review-content p{font-size:.875rem;color:#374151;line-height:1.6;margin:0;font-style:italic}@media (max-width: 768px){.reviews-summary{padding:1rem}.overall-rating{flex-direction:column;align-items:flex-start;gap:.75rem}.review-header{flex-direction:column;gap:.75rem}.review-date{align-self:flex-end}.review-item{padding:1rem}}@media (max-width: 480px){.reviewer-info{gap:.5rem}.avatar-placeholder{width:40px;height:40px;font-size:.875rem}.rating-value{font-size:1.5rem}}.packages-section{margin-top:2rem;padding-top:2rem;border-top:1px solid #e5e7eb}.packages-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.packages-header h3{color:#1f2937;margin:0;font-size:1.25rem;font-weight:600}.packages-header p{color:#6b7280;margin:.25rem 0 0;font-size:.875rem}.packages-list-container{margin-top:1rem}.packages-bullet-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.package-list-item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem;transition:all .2s ease}.package-list-item:hover{background:#f1f5f9;border-color:#3b82f6}.package-list-content{display:flex;justify-content:space-between;align-items:center;gap:1rem}.package-list-main{flex:1}.package-list-title{color:#1f2937;margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.package-list-description{margin:0}.package-list-description p{color:#6b7280;margin:0;font-size:.875rem;line-height:1.4}.package-list-details{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;margin-right:1rem}.package-list-price{color:#059669;font-weight:700;font-size:1.25rem}.package-list-service{color:#6b7280;font-size:.75rem;font-weight:500}.package-list-actions{display:flex;gap:.5rem}.package-list-actions .edit-btn,.package-list-actions .delete-btn{padding:.5rem 1rem;font-size:.75rem;border-radius:6px;border:none;cursor:pointer;font-weight:500;transition:all .2s ease}.package-list-actions .edit-btn{background-color:#3b82f6;color:#fff}.package-list-actions .edit-btn:hover{background-color:#2563eb}.package-list-actions .delete-btn{background-color:#ef4444;color:#fff}.package-list-actions .delete-btn:hover{background-color:#dc2626}@media (max-width: 768px){.packages-header,.package-list-content{flex-direction:column;align-items:flex-start;gap:1rem}.package-list-details{align-items:flex-start;margin-right:0;width:100%}.package-list-actions{width:100%;justify-content:flex-end}}.form-help{display:block;margin-top:.25rem;font-size:.75rem;color:#6b7280;font-style:italic}.subscription-header{margin-bottom:2rem}.subscription-header-content{display:flex;align-items:center;justify-content:space-between}.subscription-title-section{flex:1}.subscription-title{display:flex;align-items:center;gap:.75rem;font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.subscription-crown-icon{color:#f59e0b;font-size:1.5rem}.subscription-subtitle{color:#64748b;font-size:1.1rem;margin:0}.loading-subscription{display:flex;justify-content:center;align-items:center;padding:3rem}.subscription-error{text-align:center;padding:3rem 2rem;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-bottom:2rem}.subscription-error .error-icon{font-size:3rem;margin-bottom:1rem}.subscription-error h3{color:#dc2626;margin:0 0 .5rem}.subscription-error p{color:#7f1d1d;margin:0 0 1.5rem}.retry-btn{background:#dc2626;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:background-color .2s}.retry-btn:hover{background:#b91c1c}.subscription-content{display:flex;flex-direction:column;gap:2rem}.subscription-plan-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:2.5rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000000a}.plan-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid #f1f5f9}.plan-card-title-section{display:flex;flex-direction:column;gap:.75rem}.plan-card-title{margin:0;color:#1e293b;font-size:1.5rem;font-weight:700}.plan-status-badge{display:inline-block;padding:.5rem 1rem;border-radius:20px;color:#fff;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;width:fit-content}.plan-pricing{text-align:right}.plan-price-large{font-size:2.5rem;font-weight:800;color:#059669;line-height:1;margin-bottom:.5rem;display:flex;align-items:baseline;justify-content:flex-end;gap:.25rem}.price-period-large{font-size:1.25rem;font-weight:500;color:#64748b}.plan-type-label{font-size:1rem;font-weight:500;color:#64748b;text-align:right}.trial-info-card{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2px solid #fbbf24;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.trial-badge-large{display:flex;align-items:center;gap:.5rem;background:#f59e0b;color:#fff;padding:.625rem 1rem;border-radius:8px;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;width:fit-content}.trial-crown-icon{font-size:1rem}.trial-text-card{margin:0;color:#92400e;font-weight:500;font-size:.9375rem;line-height:1.6}.trial-end-date{font-weight:600}.plan-card-actions{display:flex;gap:1rem}.manage-billing-btn-primary{background:#2563eb;color:#fff;border:none;padding:.875rem 2rem;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #2563eb33}.manage-billing-btn-primary:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.manage-billing-btn-primary:active:not(:disabled){transform:translateY(0)}.manage-billing-btn-primary:disabled{background:#94a3b8;cursor:not-allowed;box-shadow:none}.canceled-subscription-info{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fca5a5;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.canceled-subscription-text{margin:0 0 .75rem;color:#991b1b;font-weight:500;font-size:.9375rem;line-height:1.6}.no-trial-note{margin:0;color:#7f1d1d;font-weight:600;font-size:.875rem;line-height:1.5}.resubscribe-actions{display:flex;flex-direction:column;gap:.75rem;width:100%}.resubscribe-btn-primary{background:#2563eb;color:#fff;border:none;padding:.875rem 2rem;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #2563eb33;width:100%}.resubscribe-btn-primary:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.resubscribe-btn-primary:active:not(:disabled){transform:translateY(0)}.resubscribe-btn-primary:disabled{background:#94a3b8;cursor:not-allowed;box-shadow:none}.resubscribe-btn-secondary{background:#fff;color:#2563eb;border:2px solid #2563eb;padding:.875rem 2rem;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;width:100%}.resubscribe-btn-secondary:hover:not(:disabled){background:#eff6ff;transform:translateY(-1px);box-shadow:0 2px 8px #2563eb26}.resubscribe-btn-secondary:active:not(:disabled){transform:translateY(0)}.resubscribe-btn-secondary:disabled{background:#f1f5f9;color:#94a3b8;border-color:#cbd5e1;cursor:not-allowed;box-shadow:none}.subscription-details-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:0;box-shadow:0 4px 16px #0000000f;overflow:hidden}.details-card-header{padding:2.5rem 2.5rem 2rem;background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:1px solid #e2e8f0}.details-card-title{margin:0 0 .5rem;color:#1e293b;font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.details-card-subtitle{margin:0;color:#64748b;font-size:1rem;font-weight:400;line-height:1.5}.details-grid-modern{display:grid;grid-template-columns:repeat(2,1fr);gap:0;background:#fff}.detail-item-modern{display:flex;align-items:flex-start;gap:1.25rem;padding:2rem 2.5rem;background:#fff;border-right:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;transition:all .2s ease;position:relative}.detail-item-modern:nth-child(2n){border-right:none}.detail-item-modern:nth-child(3),.detail-item-modern:nth-child(4){border-bottom:none}.detail-item-modern:hover{background:linear-gradient(135deg,#f8fafc,#fff);z-index:1}.detail-item-modern:hover .detail-icon-wrapper{transform:scale(1.05);box-shadow:0 4px 12px #2563eb26}.detail-icon-wrapper{flex-shrink:0;width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#eff6ff;transition:all .2s ease;border:2px solid #e0f2fe}.detail-icon{font-size:1.375rem;color:#2563eb}.detail-icon-plan{background:#eff6ff;border-color:#dbeafe}.detail-icon-plan .detail-icon{color:#2563eb}.detail-icon-status{border-color:transparent}.detail-icon-period{background:#f0f9ff;border-color:#e0f2fe}.detail-icon-period .detail-icon{color:#0284c7}.detail-icon-billing{background:#f0fdf4;border-color:#dcfce7}.detail-icon-billing .detail-icon{color:#16a34a}.detail-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.625rem;padding-top:.25rem}.detail-label{font-size:.8125rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0}.detail-value{font-size:1.25rem;font-weight:600;color:#1e293b;line-height:1.4;word-break:break-word;letter-spacing:-.01em}.detail-status{font-weight:700}.detail-period{font-size:1.125rem;line-height:1.5}.no-subscription{text-align:center;padding:1rem 2rem}.no-subscription-content{max-width:800px;margin:0 auto;margin-top:-1rem}.no-subscription-icon{font-size:4rem;margin-bottom:1.5rem}.no-subscription h3{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 1rem}.no-subscription p{font-size:1.125rem;color:#64748b;margin:0 0 2.5rem;line-height:1.6}.pricing-plans{display:flex;gap:2rem;justify-content:center;margin-bottom:2rem;max-width:800px;margin-left:auto;margin-right:auto;align-items:stretch}.pricing-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:2rem;position:relative;transition:all .3s ease;flex:1;max-width:320px;display:flex;flex-direction:column;box-shadow:0 2px 8px #00000014}.pricing-card:hover{border-color:#2563eb;box-shadow:0 8px 32px #2563eb26;transform:translateY(-2px)}.pricing-card.popular{border-color:#2563eb;background:linear-gradient(135deg,#f8fafc,#eff6ff)}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#2563eb;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600}.plan-header{text-align:center;margin-bottom:2rem;display:flex;flex-direction:column;justify-content:flex-start;position:relative}.plan-header h4{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.plan-price{font-size:2.5rem;font-weight:800;color:#059669;margin-bottom:.5rem;display:flex;align-items:baseline;justify-content:center;gap:.25rem}.plan-price span{font-size:1rem;font-weight:400;color:#64748b}.savings{background:#dcfce7;color:#166534;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600;display:inline-block;margin-top:.5rem}.plan-features{list-style:none;padding:0;margin:0 0 2rem;flex-grow:1}.plan-features li{padding:.5rem 0;color:#374151;font-weight:500;display:flex;align-items:center;gap:.5rem}.plan-features li svg{color:#10b981;flex-shrink:0}.subscribe-btn{width:100%;padding:1rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:auto}.subscribe-btn.monthly{background:#6b7280;color:#fff}.subscribe-btn.monthly:hover:not(:disabled){background:#4b5563;transform:translateY(-1px)}.subscribe-btn.annual{background:#2563eb;color:#fff}.subscribe-btn.annual:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.subscribe-btn:disabled{background:#d1d5db;cursor:not-allowed;transform:none}.trial-info-footer{margin-top:2rem;padding-top:2rem;border-top:1px solid #e2e8f0}.trial-guarantee{color:#059669;font-weight:500;margin:0;font-size:1rem}@media (max-width: 768px){.subscription-title{font-size:1.5rem}.status-header{flex-direction:column;gap:1rem;align-items:stretch}.plan-details{text-align:left}.pricing-plans{flex-direction:column;align-items:center}.pricing-card{max-width:100%}.details-grid{grid-template-columns:1fr}.subscription-actions{flex-direction:column}.subscription-status-display{flex-direction:column;text-align:center;gap:1.5rem}.status-icon-wrapper{align-self:center}.status-icon{width:64px;height:64px;font-size:2rem}.status-icon svg{width:40px;height:40px;display:block;flex-shrink:0}.status-title{font-size:1.5rem}.status-subtitle{font-size:1rem}.subscription-summary{padding:2rem 1.5rem}.plan-card-header{flex-direction:column;gap:1.5rem;align-items:stretch}.plan-pricing{text-align:left}.plan-price-large{justify-content:flex-start}.plan-type-label{text-align:left}.subscription-plan-card{padding:1.5rem}.subscription-details-card{border-radius:16px}.details-card-header{padding:2rem 1.5rem 1.5rem}.details-card-title{font-size:1.5rem}.details-card-subtitle{font-size:.9375rem}.details-grid-modern{grid-template-columns:1fr;gap:0}.detail-item-modern{padding:1.5rem;gap:1rem;border-right:none!important;border-bottom:1px solid #f1f5f9!important}.detail-item-modern:last-child{border-bottom:none!important}.detail-icon-wrapper{width:48px;height:48px}.detail-icon{font-size:1.25rem}.detail-value{font-size:1.125rem}.detail-period{font-size:1rem}}.subscription-summary{border-radius:16px;padding:2.5rem;margin-bottom:2rem;box-shadow:0 4px 20px #00000014}.subscription-summary-active{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #3b82f6}.subscription-summary-trialing{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2px solid #f59e0b}.subscription-status-display{display:flex;align-items:flex-start;gap:2rem}.status-icon-wrapper{flex-shrink:0}.status-icon{font-size:2.5rem;display:flex;align-items:center;justify-content:center;width:72px;height:72px;background:#fff;border-radius:50%;box-shadow:0 4px 16px #0000001f;color:#10b981}.status-icon svg{width:56px;height:56px;display:block;flex-shrink:0}.subscription-summary-trialing .status-icon{color:#f59e0b}.status-info{flex:1;min-width:0}.status-title{font-size:1.75rem;font-weight:700;color:#1e293b;margin:0 0 .75rem;line-height:1.3}.status-subtitle{font-size:1.125rem;color:#475569;margin:0 0 .5rem;font-weight:500;line-height:1.6}.status-note{font-size:.9375rem;color:#64748b;margin:.75rem 0 0;line-height:1.5}.location-search-field .location-search-input{width:100%;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;font-family:inherit;background-color:#fff;transition:all .2s ease;box-sizing:border-box}.location-search-field .location-search-input:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}[data-theme=dark] .profile-page-container{background:var(--tf-background);color:var(--tf-text-primary)}[data-theme=dark] .profile-tabs{border-bottom-color:var(--tf-border);background:#080f2399;padding:1rem;border-radius:18px}[data-theme=dark] .tab-btn{color:var(--tf-text-secondary);background:#0c1424e6;border:1px solid rgba(148,163,184,.25);box-shadow:0 10px 24px #070c1973}[data-theme=dark] .tab-btn:hover{background:#1e293bdb;color:var(--tf-text-primary);border-color:#60a5fa66;box-shadow:0 12px 26px #09102180}[data-theme=dark] .tab-btn.active{background:var(--tf-link);color:#0b1120;box-shadow:0 10px 28px #2563eb59}[data-theme=dark] .profile-tab-content,[data-theme=dark] .profile-header-section,[data-theme=dark] .profile-link-card,[data-theme=dark] .profile-form-section,[data-theme=dark] .profile-photo-section,[data-theme=dark] .theme-preference-card,[data-theme=dark] .profile-page-container [class*=card]{background:#0f172aeb;border-color:var(--tf-border);box-shadow:0 22px 48px #080f238c;color:var(--tf-text-primary)}[data-theme=dark] .profile-page-container p,[data-theme=dark] .profile-page-container span,[data-theme=dark] .profile-page-container li{color:var(--tf-text-secondary)}[data-theme=dark] .profile-title,[data-theme=dark] .profile-section h2,[data-theme=dark] .profile-section h3{color:var(--tf-text-primary)}[data-theme=dark] .profile-action-btn{background:#0f172ae6;border-color:var(--tf-border);color:var(--tf-text-secondary);box-shadow:0 10px 24px #080f2380}[data-theme=dark] .profile-action-btn:hover{background:#1e293be6;border-color:var(--tf-link);color:var(--tf-text-primary)}[data-theme=dark] .profile-action-btn.edit-btn{background:linear-gradient(135deg,#2dd4bfd9,#16a34ad9);border-color:#2dd4bfa6;color:#03261f;box-shadow:0 16px 36px #10b98173}[data-theme=dark] .profile-action-btn.edit-btn:hover{background:linear-gradient(135deg,#16a34af2,#15803df2)}[data-theme=dark] .profile-link-value{background:#111e34d9;border-color:#94a3b859;color:var(--tf-text-secondary)}[data-theme=dark] .profile-page-container input,[data-theme=dark] .profile-page-container select,[data-theme=dark] .profile-page-container textarea{background:#111e34e6;border:1px solid rgba(148,163,184,.35);color:var(--tf-text-primary);box-shadow:none}[data-theme=dark] .profile-page-container input:focus,[data-theme=dark] .profile-page-container select:focus,[data-theme=dark] .profile-page-container textarea:focus{border-color:var(--tf-link);box-shadow:0 0 0 3px #60a5fa40}[data-theme=dark] .profile-page-container input::placeholder,[data-theme=dark] .profile-page-container textarea::placeholder{color:var(--tf-text-secondary)}[data-theme=dark] .form-group .form-label,[data-theme=dark] .field-note{color:var(--tf-text-secondary)}[data-theme=dark] .form-input,[data-theme=dark] .form-select,[data-theme=dark] .form-textarea{background:#111e34eb;border:1px solid rgba(148,163,184,.35);color:var(--tf-text-primary);box-shadow:none}[data-theme=dark] .form-select option{background:#0c1424f2;color:var(--tf-text-primary)}[data-theme=dark] .form-select option:first-child{color:#94a3b8b3}[data-theme=dark] .form-input:focus,[data-theme=dark] .form-select:focus,[data-theme=dark] .form-textarea:focus{border-color:var(--tf-link);box-shadow:0 0 0 3px #60a5fa40}[data-theme=dark] .time-select[size]{background:var(--tf-surface, rgba(17, 30, 52, .92));border-color:var(--tf-border, rgba(148, 163, 184, .35));box-shadow:0 4px 12px #0000004d}[data-theme=dark] .form-input.disabled{background:#1e293bb3;color:#94a3b8b3;border-color:#94a3b833}[data-theme=dark] .form-display-value{background:linear-gradient(135deg,#111e34eb,#0c1424eb);border-color:#94a3b833;color:var(--tf-text-secondary)}[data-theme=dark] .service-card,[data-theme=dark] .services-list-container,[data-theme=dark] .service-list-item,[data-theme=dark] .package-form-section,[data-theme=dark] .package-type-option,[data-theme=dark] .checkbox-label{background:#0f172af0;border-color:var(--tf-border);box-shadow:0 14px 32px #080f238c}[data-theme=dark] .service-list-title{color:var(--tf-text-primary)}[data-theme=dark] .service-list-description,[data-theme=dark] .service-details-list li,[data-theme=dark] .description-bullet{color:var(--tf-text-secondary)}[data-theme=dark] .service-list-price,[data-theme=dark] .service-list-duration,[data-theme=dark] .package-sessions,[data-theme=dark] .package-dates,[data-theme=dark] .package-frequency{background:#1e293be6;border-color:var(--tf-border);color:var(--tf-text-primary);box-shadow:none}[data-theme=dark] .service-list-capacity{background:linear-gradient(135deg,#facc1559,#d9770673);color:#fde68a;border-color:#facc158c;box-shadow:none}[data-theme=dark] .service-list-actions .edit-btn{background:#111e34e6;color:var(--tf-link);border-color:#60a5fa73}[data-theme=dark] .service-list-actions .delete-btn{background:#2d1d21e6;color:#fca5a5;border-color:#f8717180}[data-theme=dark] .service-list-actions .edit-btn:hover{background:#3b82f6d9;color:#0b1120}[data-theme=dark] .service-list-actions .delete-btn:hover{background:#ef4444d9;color:#0b1120}[data-theme=dark] .packages-add-section{border-top-color:var(--tf-border)}[data-theme=dark] .package-type{background:linear-gradient(135deg,#818cf8bf,#6366f1d9)}[data-theme=dark] .package-form-section .form-group label,[data-theme=dark] .package-form-section .form-help,[data-theme=dark] .package-type-option span,[data-theme=dark] .checkbox-label span{color:var(--tf-text-secondary)}[data-theme=dark] .checkbox-label:hover,[data-theme=dark] .package-type-option:hover{border-color:var(--tf-link);background:#2563eb2e}[data-theme=dark] .checkbox-label:has(input[type=checkbox]:checked),[data-theme=dark] .package-type-option:has(input[type=radio]:checked){background:#2563eb33;border-color:var(--tf-link);box-shadow:0 12px 26px #2563eb59}[data-theme=dark] .validation-message.success{background:#22c55e2e;color:#bbf7d0}[data-theme=dark] .validation-message.warning{background:#eab3082e;color:#fef3c7}[data-theme=dark] .validation-message.error{background:#f8717133;color:#fecaca}[data-theme=dark] .display-name-option{background:#0f172aeb;border-color:#94a3b84d;box-shadow:0 14px 32px #080f238c}[data-theme=dark] .display-name-option:hover{background:#1e293beb;border-color:#60a5fa66;box-shadow:0 16px 36px #0910218c}[data-theme=dark] .display-name-option.selected{background:linear-gradient(135deg,#2563eb59,#3b82f633);border-color:#60a5fa99;box-shadow:0 18px 40px #2563eb73}[data-theme=dark] .option-icon{background:#1e293bd1;color:var(--tf-text-secondary)}[data-theme=dark] .display-name-option.selected .option-icon{background:#3b82f6d9;color:#0b1120}[data-theme=dark] .option-title{color:var(--tf-text-primary)}[data-theme=dark] .option-description{color:var(--tf-text-secondary)}[data-theme=dark] .display-name-radio{accent-color:var(--tf-link)}[data-theme=dark] .media-header h2,[data-theme=dark] .media-header p{color:var(--tf-text-primary)}[data-theme=dark] .media-thumb{background:#111e34e6;border:1px solid var(--tf-border)}[data-theme=dark] .manage-btn{background:#111e34e6;color:var(--tf-text-secondary)}[data-theme=dark] .subscription-plan-card,[data-theme=dark] .subscription-details-card,[data-theme=dark] .subscription-summary,[data-theme=dark] .subscription-content{background:#0f172aeb;border-color:var(--tf-border);box-shadow:0 18px 44px #080f238c}[data-theme=dark] .subscription-title,[data-theme=dark] .subscription-subtitle,[data-theme=dark] .subscription-summary p,[data-theme=dark] .subscription-status-display,[data-theme=dark] .subscription-details-card li{color:var(--tf-text-secondary)}[data-theme=dark] .subscription-summary-active{background:linear-gradient(135deg,#10b98126,#2dd4bf1f)}[data-theme=dark] .subscription-summary-trialing{background:linear-gradient(135deg,#3b82f62e,#0ea5e929)}[data-theme=dark] .plan-card-header{border-bottom:1px solid rgba(148,163,184,.16)}[data-theme=dark] .plan-card-title,[data-theme=dark] .status-title,[data-theme=dark] .details-card-title{color:var(--tf-text-primary)}[data-theme=dark] .plan-type-label,[data-theme=dark] .price-period-large,[data-theme=dark] .details-card-subtitle,[data-theme=dark] .status-subtitle,[data-theme=dark] .status-note,[data-theme=dark] .detail-label{color:var(--tf-text-secondary)}[data-theme=dark] .plan-price-large{color:#34d399}[data-theme=dark] .status-icon{background:#0b1120d9;box-shadow:0 12px 30px #080f238c}[data-theme=dark] .status-icon svg{width:56px;height:56px;display:block;flex-shrink:0}[data-theme=dark] .subscription-summary-trialing .status-icon{color:#fcd34d}[data-theme=dark] .subscription-summary-active .status-icon{color:#34d399}[data-theme=dark] .manage-billing-btn-primary{background:linear-gradient(135deg,#2563ebd9,#3b82f6d9);box-shadow:0 10px 30px #2563eb66}[data-theme=dark] .manage-billing-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#60a5faf2,#2563ebf2);box-shadow:0 14px 36px #2563eb73}[data-theme=dark] .details-card-header{background:linear-gradient(135deg,#0f172af2,#1e293bd9);border-bottom:1px solid rgba(148,163,184,.14)}[data-theme=dark] .details-grid-modern{background:transparent}[data-theme=dark] .detail-item-modern{background:#111e34e6;border-right:1px solid rgba(148,163,184,.08);border-bottom:1px solid rgba(148,163,184,.08)}[data-theme=dark] .detail-item-modern:hover{background:linear-gradient(135deg,#1e293bf2,#111827eb);box-shadow:0 16px 32px #080f238c}[data-theme=dark] .detail-icon-wrapper{background:#2563eb29;border-color:#60a5fa40;box-shadow:0 10px 24px #080f2366}[data-theme=dark] .detail-icon-plan{background:#2563eb38;border-color:#60a5fa52}[data-theme=dark] .detail-icon-period{background:#0ea5e938;border-color:#7dd3fc52}[data-theme=dark] .detail-icon-billing{background:#10b98138;border-color:#86efac52}[data-theme=dark] .detail-icon{color:#bfdbfef2}[data-theme=dark] .detail-icon-plan .detail-icon{color:#93c5fd}[data-theme=dark] .detail-icon-period .detail-icon{color:#38bdf8}[data-theme=dark] .detail-icon-billing .detail-icon{color:#6ee7b7}[data-theme=dark] .detail-content{color:var(--tf-text-secondary)}[data-theme=dark] .detail-value{color:var(--tf-text-primary)}[data-theme=dark] .trial-info-card{background:linear-gradient(135deg,#9653024d,#b4530942);border-color:#fbbf2473}[data-theme=dark] .trial-badge-large{background:linear-gradient(135deg,#fbbf24f2,#f59e0be6);color:#0b1120}[data-theme=dark] .trial-text-card{color:#fef3c7eb}[data-theme=dark] .trial-end-date{color:#fcd34d}[data-theme=dark] .canceled-subscription-info{background:linear-gradient(135deg,#7f1d1d4d,#991b1b42);border-color:#f8717173}[data-theme=dark] .canceled-subscription-text{color:#fee2e2eb}[data-theme=dark] .no-trial-note{color:#fca5a5}[data-theme=dark] .resubscribe-btn-primary{background:linear-gradient(135deg,#2563ebd9,#3b82f6d9);box-shadow:0 10px 30px #2563eb66}[data-theme=dark] .resubscribe-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#60a5faf2,#2563ebf2);box-shadow:0 14px 36px #2563eb73}[data-theme=dark] .resubscribe-btn-secondary{background:#0f172ae6;color:#60a5fa;border-color:#60a5fa80}[data-theme=dark] .resubscribe-btn-secondary:hover:not(:disabled){background:#1e293bf2;border-color:#60a5fab3;box-shadow:0 2px 8px #2563eb40}[data-theme=dark] .resubscribe-btn-secondary:disabled{background:#1e293b80;color:#94a3b880;border-color:#94a3b84d}[data-theme=dark] .reviews-header h2{color:var(--tf-text-primary)}[data-theme=dark] .reviews-subtitle,[data-theme=dark] .rating-count,[data-theme=dark] .review-content p,[data-theme=dark] .loading-reviews p,[data-theme=dark] .empty-reviews .empty-content p{color:var(--tf-text-secondary)}[data-theme=dark] .loading-reviews .loading-spinner{border-color:#94a3b833;border-top-color:var(--tf-link)}[data-theme=dark] .empty-reviews{background:#0f172ae6;border-radius:16px;border:1px dashed rgba(148,163,184,.22);box-shadow:0 18px 44px #080f2380}[data-theme=dark] .empty-reviews .empty-decoration{border-color:#94a3b859}[data-theme=dark] .empty-reviews .empty-content h3{color:var(--tf-text-primary)}[data-theme=dark] .reviews-summary{background:#0f172af5;border:1px solid rgba(148,163,184,.18);box-shadow:0 18px 44px #080f2380}[data-theme=dark] .overall-rating{background:linear-gradient(135deg,#0f172aeb,#0b1120d9);border-radius:18px;padding:1.5rem 2rem;box-shadow:inset 0 1px #94a3b80f}[data-theme=dark] .rating-stars .star,[data-theme=dark] .review-rating .star{color:#64748b80}[data-theme=dark] .rating-stars .star.filled,[data-theme=dark] .review-rating .star.filled{color:#facc15}[data-theme=dark] .rating-value{color:var(--tf-text-primary)}[data-theme=dark] .review-item{background:#0b162bf2;border-color:#94a3b82e;box-shadow:0 18px 44px #080f238c}[data-theme=dark] .review-item:hover{border-color:#60a5fa59;box-shadow:0 22px 48px #080f2399}[data-theme=dark] .reviewer-name,[data-theme=dark] .reviews-header h2,[data-theme=dark] .reviews-summary h3{color:var(--tf-text-primary)}[data-theme=dark] .review-content{border-top:1px solid rgba(148,163,184,.16)}[data-theme=dark] .review-date{color:#94a3b8bf}[data-theme=dark] .avatar-placeholder{background:#3b82f64d;color:#cbd5f5;border:1px solid rgba(125,211,252,.35)}[data-theme=dark] .services-section-header{color:var(--tf-text-primary);border-bottom:1px solid var(--tf-border)}[data-theme=dark] .services-section-header:before{background:linear-gradient(135deg,#3b82f6e6,#2563ebd9)}[data-theme=dark] .services-section .services-section-header.group-training:before{background:linear-gradient(135deg,#10b981e6,#059669d9)}[data-theme=dark] .services-section .services-section-header.packages-header:before{background:linear-gradient(135deg,#60a5fae6,#2563ebd9)}[data-theme=dark] .package-sessions,[data-theme=dark] .package-dates,[data-theme=dark] .package-frequency{background:#0f172ad9;color:var(--tf-text-secondary);border:1px solid rgba(148,163,184,.24)}[data-theme=dark] .package-sessions svg,[data-theme=dark] .package-dates svg,[data-theme=dark] .package-frequency svg{color:#60a5fad9}[data-theme=dark] .services-header h2{color:#fff}[data-theme=dark] .services-header p{color:var(--tf-text-secondary)}[data-theme=dark] .account-settings .change-password-btn,[data-theme=dark] .account-settings .delete-btn{background:#111e34eb;border-color:var(--tf-border);color:var(--tf-text-secondary)}[data-theme=dark] .account-settings .change-password-btn:hover{background:#2563eb40;border-color:var(--tf-link);color:var(--tf-text-primary)}[data-theme=dark] .danger-zone{background:#581c1c66;border-color:#f8717166}[data-theme=dark] .danger-zone h3{color:#fecaca}[data-theme=dark] .toggle-slider{background-color:#94a3b866}[data-theme=dark] .toggle-slider:before{background-color:#0b1120;box-shadow:0 6px 12px #080f2399}[data-theme=dark] .toggle-switch input:checked+.toggle-slider{background:var(--tf-link)}[data-theme=dark] .qr-content,[data-theme=dark] .service-modal-container,[data-theme=dark] .service-modal-footer{background:#0f172af5;border-color:var(--tf-border);box-shadow:0 24px 60px #080f2399;color:var(--tf-text-primary)}[data-theme=dark] .qr-url,[data-theme=dark] .qr-code{background:#111e34eb;border-color:var(--tf-border);color:var(--tf-text-secondary)}[data-theme=dark] .service-modal-body .form-group label,[data-theme=dark] .service-modal-body .form-help,[data-theme=dark] .service-modal-body .form-group small{color:var(--tf-text-secondary)}[data-theme=dark] .service-modal-footer .save-btn{background:linear-gradient(135deg,#2563ebd9,#3b82f6d9);color:#e2e8f0;border:none;box-shadow:0 18px 40px #2563eb73}[data-theme=dark] .service-modal-footer .save-btn:hover:not(:disabled){background:linear-gradient(135deg,#60a5faf2,#2563ebf2);color:#0b1120}[data-theme=dark] .service-modal-footer .cancel-btn{background:#1e293be6;color:var(--tf-text-secondary);border-color:var(--tf-border)}[data-theme=dark] .service-modal-footer .cancel-btn:hover:not(:disabled){background:#2d3748e6;border-color:var(--tf-link);color:var(--tf-text-primary)}[data-theme=dark] .service-modal-footer .delete-btn{background:#581c1cbf;border-color:#f871718c;color:#fecaca;box-shadow:none}[data-theme=dark] .service-modal-footer .delete-btn:hover:not(:disabled){background:#ef4444e6;color:#0b1120}[data-theme=dark] .service-modal-header{background:#0b1120f2;border-bottom-color:#45557773;color:var(--tf-text-primary);box-shadow:inset 0 -1px #0f172aa6}[data-theme=dark] .service-modal-header h2{color:var(--tf-text-primary)}[data-theme=dark] .modal-close-btn{color:#94a3b8d9;background:transparent}[data-theme=dark] .modal-close-btn:hover:not(:disabled){background:#2563eb1f;color:#bfdbfe}[data-theme=dark] .service-modal-body{background:#080f1ed9;color:var(--tf-text-secondary)}[data-theme=dark] .checkbox-group{background:#0f172ae6;border-color:var(--tf-border);box-shadow:0 16px 36px #080f2373}[data-theme=dark] .checkbox-label{background:#111e34eb;border-color:#94a3b866;color:var(--tf-text-secondary);box-shadow:none}[data-theme=dark] .checkbox-label:hover{background:#1e293beb;border-color:#60a5fa99;box-shadow:0 14px 28px #080f238c}[data-theme=dark] .checkbox-label:has(input[type=checkbox]:checked){background:linear-gradient(135deg,#2563eb59,#3b82f647);border-color:#93c5fdcc;box-shadow:0 18px 40px #2563eb73;color:var(--tf-text-primary)}[data-theme=dark] .checkbox-label span{color:inherit}[data-theme=dark] .checkbox-label input[type=checkbox]{accent-color:rgba(96,165,250,.85)}[data-theme=dark] .checkbox-label input[type=checkbox]:checked+span{color:var(--tf-text-primary)}[data-theme=dark] .service-modal-body .form-group input,[data-theme=dark] .service-modal-body .form-group textarea,[data-theme=dark] .service-modal-body .form-group select{background:#111e34eb;border-color:#94a3b859;color:var(--tf-text-primary);box-shadow:none}[data-theme=dark] .service-modal-body .form-group input::placeholder,[data-theme=dark] .service-modal-body .form-group textarea::placeholder{color:#94a3b8b3}[data-theme=dark] .service-modal-body .form-group input:focus,[data-theme=dark] .service-modal-body .form-group textarea:focus,[data-theme=dark] .service-modal-body .form-group select:focus{border-color:var(--tf-link);box-shadow:0 0 0 3px #60a5fa40}[data-theme=dark] .service-modal-body .form-group input.error,[data-theme=dark] .service-modal-body .form-group textarea.error{border-color:#f87171cc;box-shadow:0 0 0 3px #f8717140;background:#2e1010d9;color:#fecaca}[data-theme=dark] .service-modal-body .form-group input.error:focus,[data-theme=dark] .service-modal-body .form-group textarea.error:focus{border-color:#f87171f2;box-shadow:0 0 0 3px #f8717159}[data-theme=dark] .service-error{background:#7f1d1d66;border-color:#ef444473;color:#fecaca}[data-theme=dark] .service-success{background:#14532d66;border-color:#22c55e73;color:#bbf7d0}[data-theme=dark] .loading-state,[data-theme=dark] .empty-state,[data-theme=dark] .empty-services-card,[data-theme=dark] .empty-gallery-card,[data-theme=dark] .empty-subscription-card{background:#0f172ae0;border-color:var(--tf-border);color:var(--tf-text-secondary);box-shadow:0 16px 36px #080f238c}[data-theme=dark] .location-search-field .location-search-input{background:#111e34eb;border-color:#94a3b859;color:var(--tf-text-primary)}[data-theme=dark] .location-search-field .location-search-input::placeholder{color:var(--tf-text-secondary)}[data-theme=dark] .location-search-field .location-search-input:focus{border-color:var(--tf-link);box-shadow:0 0 0 3px #60a5fa40}[data-theme=dark] .location-search-field .location-search-input:disabled{background:#1e293b99;color:#94a3b8a6;border-color:#94a3b840}.profile-progress{background:linear-gradient(135deg,var(--tf-profile-progress-start) 0%,var(--tf-profile-progress-end) 100%);border-radius:12px;padding:24px;margin-bottom:32px;color:#fff;box-shadow:0 4px 20px var(--tf-profile-progress-shadow)}.progress-header{margin-bottom:20px}.progress-title{font-size:20px;font-weight:600;margin:0 0 8px;color:#fff}.progress-subtitle{font-size:14px;margin:0;opacity:.9;line-height:1.4}.progress-bar-container{margin-bottom:16px}.progress-bar{width:100%;height:8px;background-color:#fff3;border-radius:4px;overflow:hidden;margin-bottom:12px}.progress-fill{height:100%;border-radius:4px;transition:width .6s ease,background-color .3s ease;position:relative}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-stats{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:500}.progress-percentage{font-size:16px;font-weight:600}.progress-fields{opacity:.9}.progress-tip{display:flex;align-items:center;gap:8px;background-color:#ffffff1a;border-radius:8px;padding:12px;font-size:13px;line-height:1.4}.tip-icon{font-size:16px;flex-shrink:0}.tip-text{opacity:.95}.missing-fields-section{background-color:#ffffff26;border-radius:8px;padding:16px;margin-bottom:12px}.missing-fields-title{font-size:14px;font-weight:600;margin:0 0 12px;opacity:.95}.missing-fields-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.missing-field-item{display:flex;align-items:center;gap:8px;font-size:13px;opacity:.9}.missing-field-icon{font-size:14px;flex-shrink:0}.missing-field-text{opacity:.95}@media (max-width: 768px){.profile-progress{padding:20px;margin-bottom:24px}.progress-title{font-size:18px}.progress-stats{flex-direction:column;gap:4px;align-items:flex-start}}.terms-acceptance-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media (max-width: 640px){.terms-acceptance-modal-overlay{padding:10px;align-items:center}}.terms-acceptance-modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;width:100%;max-width:560px;max-height:85vh;display:flex;flex-direction:column;animation:modalSlideIn .3s ease-out;position:relative;overflow:hidden;border:1px solid #e5e7eb}.terms-acceptance-modal-header{padding:20px 24px;border-bottom:1px solid #f3f4f6;margin-bottom:0;background:linear-gradient(to bottom,#fff,#fafbfc)}.terms-acceptance-modal-header-content{display:flex;align-items:center;gap:10px;margin-bottom:0}.terms-acceptance-icon{color:#3b82f6;font-size:1.25rem}.terms-acceptance-modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#111827;letter-spacing:-.01em}.terms-acceptance-modal-content{padding:20px 24px;display:flex;flex-direction:column;flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.terms-acceptance-intro{margin-bottom:16px;padding:12px 16px;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px}.terms-acceptance-intro p{margin:0;color:#0369a1;font-size:.875rem;line-height:1.5}.terms-acceptance-tabs{display:flex;gap:0;margin-bottom:16px;border-bottom:1px solid #e5e7eb;background-color:#fafbfc;border-radius:8px 8px 0 0;padding:4px}.terms-acceptance-tab{flex:1;padding:10px 16px;background:transparent;border:none;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border-radius:6px;position:relative}.terms-acceptance-tab:hover{color:#3b82f6;background-color:#f3f4f6}.terms-acceptance-tab.active{color:#3b82f6;background-color:#fff;box-shadow:0 1px 3px #0000001a}.terms-acceptance-scrollable-content{flex:0 0 auto;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;padding:20px;margin-bottom:16px;background-color:#fff;max-height:300px;min-height:200px}.terms-acceptance-scrollable-content::-webkit-scrollbar{width:6px}.terms-acceptance-scrollable-content::-webkit-scrollbar-track{background:#f9fafb;border-radius:3px}.terms-acceptance-scrollable-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.terms-acceptance-scrollable-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.terms-acceptance-content-text{color:#374151;line-height:1.6;font-size:.875rem}.terms-acceptance-content-text h3{color:#111827;font-size:1.125rem;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb;font-weight:600;letter-spacing:-.01em}.terms-acceptance-content-text h4{color:#111827;font-size:.9375rem;margin:20px 0 10px;font-weight:600;letter-spacing:-.01em}.terms-acceptance-content-text p{margin:0 0 14px;color:#4b5563;line-height:1.6}.terms-acceptance-content-text ul{margin:12px 0;padding-left:20px}.terms-acceptance-content-text li{margin:6px 0;color:#4b5563;line-height:1.6}.terms-acceptance-content-text strong{color:#111827;font-weight:600}.terms-acceptance-loading{text-align:center;padding:40px;color:#6b7280}.terms-acceptance-sections{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;flex-shrink:0}.terms-acceptance-section{padding:14px 16px;background-color:#fafbfc;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s}.terms-acceptance-section:hover{border-color:#cbd5e1;background-color:#f9fafb}.terms-acceptance-checkbox-container{margin-bottom:8px}.terms-acceptance-checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.terms-acceptance-checkbox{width:20px;height:20px;margin-top:2px;cursor:pointer;accent-color:#3b82f6;flex-shrink:0}.terms-acceptance-checkbox:disabled{cursor:not-allowed;opacity:.6}.terms-acceptance-checkbox-text{font-size:.875rem;color:#374151;line-height:1.5;flex:1}.terms-acceptance-link{color:#3b82f6;text-decoration:underline;font-weight:500;transition:color .2s}.terms-acceptance-link:hover{color:#2563eb}.terms-acceptance-updated{margin:8px 0 0 32px;font-size:.85rem;color:#6b7280;font-style:italic}.terms-acceptance-error{display:flex;align-items:center;gap:8px;padding:12px;background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:8px;font-size:.9rem;margin-bottom:16px;flex-shrink:0}.terms-acceptance-note{padding:12px 16px;background-color:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-bottom:0;flex-shrink:0}.terms-acceptance-note p{margin:0;font-size:.9rem;color:#92400e;line-height:1.5}.terms-acceptance-modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:16px 24px;border-top:1px solid #f3f4f6;background-color:#fafbfc;border-bottom-left-radius:16px;border-bottom-right-radius:16px;flex-shrink:0;margin-top:auto}.terms-acceptance-decline-btn{padding:9px 18px;background-color:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s}.terms-acceptance-decline-btn:hover:not(:disabled){background-color:#e5e7eb;border-color:#9ca3af}.terms-acceptance-decline-btn:disabled{opacity:.5;cursor:not-allowed}.terms-acceptance-accept-btn{padding:9px 20px;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px #0000000d}.terms-acceptance-accept-btn:hover:not(:disabled){background-color:#2563eb;box-shadow:0 2px 4px #0000001a}.terms-acceptance-accept-btn:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 640px){.terms-acceptance-modal{margin:0;max-width:100%;max-height:90vh;border-radius:16px;display:flex;flex-direction:column}.terms-acceptance-modal-header{padding:14px 16px;flex-shrink:0}.terms-acceptance-modal-header-content{gap:8px}.terms-acceptance-icon{font-size:1rem}.terms-acceptance-modal-header h2{font-size:1rem;line-height:1.3}.terms-acceptance-modal-content{padding:12px 14px;flex:1;overflow-y:auto;min-height:0;max-height:calc(90vh - 180px)}.terms-acceptance-intro{padding:8px 10px;margin-bottom:10px}.terms-acceptance-intro p{font-size:.75rem;line-height:1.4}.terms-acceptance-tabs{margin-bottom:10px;padding:2px}.terms-acceptance-tab{padding:6px 10px;font-size:.75rem}.terms-acceptance-scrollable-content{max-height:150px;min-height:100px;padding:12px;margin-bottom:10px}.terms-acceptance-content-text{font-size:.75rem;line-height:1.4}.terms-acceptance-content-text h3{font-size:.875rem;margin:0 0 8px;padding-bottom:6px}.terms-acceptance-content-text h4{font-size:.8125rem;margin:12px 0 6px}.terms-acceptance-content-text p{margin:0 0 8px}.terms-acceptance-content-text ul{margin:6px 0;padding-left:16px}.terms-acceptance-content-text li{margin:3px 0}.terms-acceptance-sections{gap:8px;margin-bottom:10px}.terms-acceptance-section{padding:10px}.terms-acceptance-checkbox{width:16px;height:16px;margin-top:2px}.terms-acceptance-checkbox-text{font-size:.75rem;line-height:1.3}.terms-acceptance-error{padding:8px;font-size:.75rem;margin-bottom:10px}.terms-acceptance-note{padding:8px 10px;margin-bottom:10px}.terms-acceptance-note p{font-size:.75rem;line-height:1.3}.terms-acceptance-modal-footer{flex-direction:column;padding:10px 14px;gap:6px;flex-shrink:0;border-top:1px solid #e5e7eb}.terms-acceptance-decline-btn,.terms-acceptance-accept-btn{width:100%;padding:10px 14px;font-size:.8125rem}}.toast{position:fixed;top:20px;right:20px;z-index:10000;min-width:300px;max-width:400px;padding:16px;border-radius:8px;box-shadow:0 4px 12px #00000026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.4;transform:translate(100%);opacity:0;transition:all .3s ease}.toast.visible{transform:translate(0);opacity:1}.toast.hidden{transform:translate(100%);opacity:0}.toast-content{display:flex;align-items:flex-start;gap:12px}.toast-icon{font-size:16px;flex-shrink:0;margin-top:1px}.toast-message{flex:1;color:#1f2937;font-weight:500}.toast-close{background:none;border:none;color:#6b7280;font-size:18px;font-weight:700;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;flex-shrink:0}.toast-close:hover{background-color:#0000001a;color:#374151}.toast.success{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.toast.error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626}.toast.warning{background-color:#fffbeb;border:1px solid #fed7aa;color:#d97706}.toast.info{background-color:#eff6ff;border:1px solid #bfdbfe;color:#2563eb}@media (max-width: 768px){.toast{top:10px;right:10px;left:10px;min-width:auto;max-width:none}}.support-contact-trigger{border:1px solid #e5e7eb;border-radius:14px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff}.support-trigger-content{display:flex;gap:14px;align-items:center;flex:1}.support-trigger-content h3{margin:0;font-size:1.05rem;color:#0f172a}.support-trigger-content p{margin:4px 0 0;font-size:.9rem;color:#64748b}.support-trigger-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.support-trigger-btn{border:none;border-radius:999px;padding:12px 20px;font-size:.95rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 12px 24px #2563eb40;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.support-trigger-btn:hover{transform:translateY(-2px);box-shadow:0 16px 32px #2563eb59}.support-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000}.support-modal{max-width:560px;width:100%;background:#fff;border-radius:18px;box-shadow:0 30px 80px #0f172a59;padding:28px;animation:supportModalIn .25s ease;max-height:90vh;overflow-y:auto}@keyframes supportModalIn{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.support-modal-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:18px}.support-modal-title{display:flex;gap:14px;align-items:center}.support-modal-title h3{margin:0;font-size:1.25rem;color:#0f172a}.support-modal-title p{margin:4px 0 0;color:#64748b;font-size:.95rem}.support-modal-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem}.support-modal-close{border:none;background:#f1f5f9;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#475569;font-size:1rem;cursor:pointer;transition:background .2s ease,color .2s ease}.support-modal-close:hover{background:#e2e8f0;color:#0f172a}.support-form{display:flex;flex-direction:column;gap:12px}.support-label{font-weight:600;color:#334155;font-size:.95rem}.support-input,.support-textarea{width:100%;border:1px solid #d7dde6;border-radius:10px;padding:12px 14px;font-size:.95rem;transition:border-color .2s,box-shadow .2s;font-family:inherit;box-sizing:border-box;background:#fff}.support-input:focus,.support-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.support-textarea{resize:vertical;min-height:160px}.support-textarea-footer{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#64748b}.support-alert{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:10px;font-size:.9rem}.support-alert.error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.support-alert.success{background:#ecfdf5;border:1px solid #bbf7d0;color:#15803d}.support-modal-actions{margin-top:8px;display:flex;justify-content:flex-end;gap:12px}.support-cancel-btn{border:1px solid #cbd5f5;border-radius:999px;padding:11px 18px;background:#fff;color:#475569;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}.support-cancel-btn:hover{background:#f1f5f9;color:#0f172a}.support-submit-btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;border:none;border-radius:999px;padding:12px 20px;font-size:.95rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s}.support-submit-btn:disabled{opacity:.6;cursor:not-allowed}.support-submit-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 20px #2563eb40}@media (max-width: 640px){.support-contact-trigger{flex-direction:column;align-items:flex-start}.support-modal{padding:22px}.support-textarea-footer{flex-direction:column;align-items:flex-start;gap:8px}.support-modal-actions{flex-direction:column-reverse}.support-cancel-btn,.support-submit-btn{width:100%}}body[data-theme=dark] .support-contact-trigger{background:#0f172a;border-color:#1e293b;box-shadow:0 12px 28px #0000008c}body[data-theme=dark] .support-trigger-content h3{color:#f8fafc}body[data-theme=dark] .support-trigger-content p{color:#94a3b8}body[data-theme=dark] .support-trigger-icon{background:linear-gradient(135deg,#38bdf8,#2563eb)}body[data-theme=dark] .support-trigger-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 18px 40px #3b82f659}body[data-theme=dark] .support-modal{background:#0f172a;border:1px solid #1f2a44;box-shadow:0 35px 80px #000000a6}body[data-theme=dark] .support-modal-title h3{color:#f8fafc}body[data-theme=dark] .support-modal-title p{color:#94a3b8}body[data-theme=dark] .support-modal-icon{background:linear-gradient(135deg,#38bdf8,#2563eb)}body[data-theme=dark] .support-modal-close{background:#1e293b;color:#cbd5f5}body[data-theme=dark] .support-modal-close:hover{background:#334155;color:#fff}body[data-theme=dark] .support-label{color:#e2e8f0}body[data-theme=dark] .support-input,body[data-theme=dark] .support-textarea{background:#0b1525;border-color:#24304a;color:#e2e8f0}body[data-theme=dark] .support-input::placeholder,body[data-theme=dark] .support-textarea::placeholder{color:#64748b}body[data-theme=dark] .support-textarea-footer{color:#94a3b8}body[data-theme=dark] .support-alert.error{background:#ef44441f;border-color:#ef444466;color:#fecaca}body[data-theme=dark] .support-alert.success{background:#22c55e1f;border-color:#22c55e66;color:#bbf7d0}body[data-theme=dark] .support-cancel-btn{background:#0f172a;border-color:#334155;color:#e2e8f0}body[data-theme=dark] .support-cancel-btn:hover{background:#1e293b}body[data-theme=dark] .support-submit-btn:not(:disabled){box-shadow:0 16px 32px #2563eb80}.ld-page{background-color:#f8fafc;min-height:100vh;display:flex;flex-direction:column}.ld-main{padding:4rem 2rem;text-align:center;flex-grow:1}.ld-title{font-size:2.25rem;font-weight:700;color:#1e293b;margin-bottom:1.5rem;line-height:1.2;letter-spacing:-.025em}.ld-subtitle{font-size:1.1rem;color:#64748b;margin-bottom:3rem;max-width:700px;margin-left:auto;margin-right:auto;line-height:1.6;font-weight:400;text-align:center}.ld-subtitle-line1,.ld-subtitle-line2{display:block}.ld-subtitle-line1{margin-bottom:.5rem}.ld-preview-window{border-radius:16px;box-shadow:0 20px 40px -15px #0003;overflow:hidden;max-width:1200px;margin:0 auto 3rem;border:1px solid rgba(0,0,0,.08);text-align:left}.ld-cta-button{padding:1rem 2.5rem;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 16px #3b82f64d}.ld-cta-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.ld-container{display:flex;background-color:#f8fafc;gap:2rem;padding:2rem}.ld-sidebar{width:240px;flex-shrink:0;background-color:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 10px #0000000d;height:fit-content}.ld-sidebar-nav{display:flex;flex-direction:column;gap:.5rem}.ld-sidebar-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1.25rem;border-radius:8px;text-decoration:none;font-weight:500;color:#334155;transition:all .2s ease}.ld-sidebar-item:hover{background-color:#f1f5f9;color:#1e293b}.ld-sidebar-item--active{background-color:#3b82f6;color:#fff;font-weight:600;box-shadow:0 4px 8px #3b82f633}.ld-sidebar-icon{font-size:1.25rem}.ld-sidebar-name{font-size:.95rem}.ld-main-panel{flex-grow:1}.ld-profile-header{display:flex;align-items:center;gap:2rem;margin-bottom:2.5rem;background-color:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 10px #0000000d}.ld-profile-image{width:100px;height:100px;border-radius:50%;object-fit:cover;border:4px solid #e0e7ff}.ld-profile-name{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.ld-profile-specialty{font-size:1.1rem;font-weight:500;color:#64748b;margin:0}.ld-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.ld-stat-card{background-color:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 10px #0000000d;transition:all .2s ease}.ld-stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 15px #00000012}.ld-stat-label{font-size:1rem;font-weight:500;color:#475569;margin:0 0 .75rem}.ld-stat-value{font-size:2.25rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.ld-stat-sublabel{font-size:.9rem;color:#64748b;margin:0}.ld-stat-card--earnings .ld-stat-value{color:#16a34a}.ld-stat-card--reports .ld-stat-value{color:#3b82f6}@media (max-width: 1024px){.ld-container{flex-direction:column}.ld-sidebar{width:100%}.ld-profile-header{flex-direction:column;text-align:center}}@media (max-width: 768px){.ld-main{padding:3rem 1rem}.ld-title{font-size:2rem}.ld-preview-window{margin-bottom:2.5rem}}@media (max-width: 480px){.ld-title{font-size:1.75rem}.ld-cta-button{width:100%}.ld-container,.ld-profile-header{padding:1.5rem}}.clients-page-container{max-width:1200px;margin:0 auto;padding:2rem 1.5rem;background:#f8fafc;min-height:100vh}.clients-header{background:#2e7dff;color:#fff;border-radius:16px;padding:3rem;margin-bottom:3rem;box-shadow:0 10px 30px #1f29371a;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.05)}.add-client-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:12px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:.5rem}.add-client-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.add-icon{font-size:1rem}.clients-stats-overview{margin-bottom:2rem}.stat-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #00000014;border:1px solid rgba(0,0,0,.05);display:flex;align-items:center;gap:1rem;transition:all .3s ease}.stat-card .stat-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;flex-shrink:0;color:#2e7dff}.stat-value{font-size:1.8rem;font-weight:800;color:#1e293b;line-height:1;margin-bottom:.25rem}.stat-label{font-size:.9rem;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.clients-controls{background:#fff;border-radius:16px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 20px #00000014;border:1px solid rgba(0,0,0,.05);display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.search-section{flex:1;min-width:300px}.search-container{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:1rem;font-size:1.1rem;color:#64748b;z-index:1}.clients-search-input{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;background:#f8fafc;transition:all .2s ease}.clients-search-input:focus{outline:none;border-color:#10b981;background:#fff;box-shadow:0 0 0 3px #10b9811a}.filters-section{flex-shrink:0}.clients-status-filter{padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;background:#f8fafc;color:#374151;cursor:pointer;transition:all .2s ease;min-width:150px}.clients-status-filter:focus{outline:none;border-color:#10b981;background:#fff;box-shadow:0 0 0 3px #10b9811a}.clients-content{background:#fff;border-radius:20px;box-shadow:0 8px 32px #00000014;border:1px solid rgba(0,0,0,.05);overflow:hidden}.empty-clients{text-align:center;padding:4rem 2rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.empty-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.7}.empty-clients h3{margin:0 0 .75rem;color:#1e293b;font-size:1.4rem;font-weight:600}.empty-clients p{margin:0 0 2rem;color:#64748b;font-size:1rem;line-height:1.6;max-width:400px;margin-left:auto;margin-right:auto}.find-clients-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;padding:.875rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #10b9814d}.find-clients-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #10b98166}.clients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;padding:2rem}.client-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #00000014;border:1px solid rgba(0,0,0,.05);transition:all .3s ease;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center}.client-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000026}.client-header{display:flex;flex-direction:column;align-items:center;width:100%;margin-bottom:1rem;position:relative}.client-avatar-section{position:relative}.client-avatar-circle{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#2e7dff,#1d4ed8);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #2e7dff33;transition:all .3s ease;overflow:hidden;position:relative}.client-avatar-image{width:100%;height:100%;object-fit:cover;border-radius:50%}.client-initials{font-size:1.5rem;font-weight:700;color:#fff;text-align:center;line-height:1}.client-card:hover .client-avatar-circle{transform:scale(1.05);box-shadow:0 6px 16px #2e7dff4d}.status-indicator{position:absolute;bottom:5px;right:5px;width:16px;height:16px;border-radius:50%;border:2px solid #fff}.status-indicator.active{background:#10b981}.status-indicator.inactive{background:#64748b}.client-status-badge{position:absolute;top:0;right:0}.status-text{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-text.active{background:#dcfce7;color:#166534}.status-text.inactive{background:#f1f5f9;color:#64748b}.client-info{margin-bottom:1rem;margin-top:.5rem;width:100%;text-align:center}.client-name{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0;text-align:center}.client-email{color:#64748b;font-size:.95rem;margin:0 0 1rem}.client-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-item .stat-label{font-size:.75rem;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.stat-item .stat-value{font-size:1rem;font-weight:600;color:#1e293b}.client-actions{display:flex;gap:.75rem;margin-top:1rem;width:100%}.message-client-btn{flex:1;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#2e7dff,#1d4ed8);color:#fff}.message-client-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2e7dff4d}.message-icon{font-size:.9rem}.view-client-btn{flex:1;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff}.view-client-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#1e293b8c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;transition:background .3s}.profile-modal{background:#fff;border-radius:22px;max-width:410px;width:100%;box-shadow:0 16px 48px #1e293b2e;animation:modalFadeIn .28s cubic-bezier(.4,1.4,.6,1);overflow:hidden;position:relative;display:flex;flex-direction:column}.profile-modal:before{content:"";display:block;height:7px;width:100%;background:linear-gradient(90deg,#2563eb,#38bdf8)}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(32px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 2rem .7rem;background:transparent;border-bottom:none}.modal-header h2{font-size:1.18rem;font-weight:700;color:#2563eb;margin:0;letter-spacing:.01em}.modal-close{background:none;border:none;font-size:1.7rem;color:#64748b;cursor:pointer;border-radius:6px;padding:.25rem .5rem;transition:background .2s,color .2s,box-shadow .2s;box-shadow:none;margin-left:1rem}.modal-close:hover{background:#e0e7ef;color:#ef4444;box-shadow:0 2px 8px #3b82f61a}.modal-content{padding:2.2rem 2rem 2rem;display:flex;flex-direction:column;align-items:center}.profile-avatar-section{margin-bottom:1.2rem;position:relative;display:flex;align-items:center;justify-content:center}.profile-avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;border:5px solid #38bdf8;box-shadow:0 6px 24px #3b82f621;background:#f8fafc;transition:box-shadow .2s}.profile-avatar-section .status-dot{position:absolute;bottom:12px;right:18px;width:20px;height:20px;border-radius:50%;border:3px solid #fff;background:#22c55e;box-shadow:0 2px 8px #22c55e2e}.profile-avatar-section .status-dot.inactive{background:#cbd5e1;box-shadow:none}.profile-name{font-size:1.35rem;font-weight:800;color:#1e293b;margin:.5rem 0 .15rem;text-align:center;letter-spacing:-.01em}.profile-email{color:#64748b;font-size:.98rem;margin-bottom:1.2rem;text-align:center;font-weight:500}.profile-divider{width:100%;height:1px;background:#e2e8f0;margin:1.2rem 0 1.5rem;border-radius:2px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;width:100%;margin-top:.5rem}.stat-item{display:flex;flex-direction:column;align-items:center;background:#f8fafc;border-radius:12px;padding:1.1rem .5rem 1rem;min-width:0;box-shadow:0 2px 8px #3b82f612;transition:box-shadow .2s}.stat-item:hover{box-shadow:0 4px 16px #3b82f621}.stat-icon{font-size:1.3rem;color:#2563eb;margin-bottom:.3rem}.stat-label{font-size:.82rem;color:#64748b;font-weight:600;margin-bottom:.18rem;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.18rem;font-weight:800;color:#2563eb;letter-spacing:-.01em}@media (max-width: 600px){.profile-modal{max-width:98vw;padding:0}.modal-header,.modal-content{padding-left:1rem;padding-right:1rem}.profile-stats{grid-template-columns:1fr;gap:1rem;width:100%}.stat-item{width:100%;min-width:0;padding:1rem}}@media (max-width: 768px){.clients-page-container{padding:1rem}.clients-header{padding:1.5rem}.header-content{flex-direction:column;gap:1rem;text-align:center}.header-text h1{font-size:1.8rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.stat-card{padding:1rem}.stat-icon{width:50px;height:50px;font-size:1.5rem}.stat-value{font-size:1.4rem}.clients-controls{flex-direction:column;gap:1rem}.search-section{min-width:auto}.clients-grid{grid-template-columns:1fr;padding:1rem;gap:1rem}.client-card{padding:1rem}.client-stats{grid-template-columns:1fr;gap:.5rem}.client-actions{flex-direction:column}}@media (max-width: 480px){.header-text h1{font-size:1.6rem}.stats-grid{grid-template-columns:1fr}.client-avatar-circle{width:60px;height:60px}.client-initials{font-size:1.25rem}.client-name{font-size:1.1rem}}body[data-theme=dark] .clients-page-container{background:#0b1120;color:#e2e8f0}body[data-theme=dark] .clients-header{background:linear-gradient(135deg,#1d4ed8,#0f172a);color:#f8fafc;border:1px solid rgba(148,163,184,.2);box-shadow:0 18px 45px #080f1e8c}body[data-theme=dark] .header-text p{color:#e2e8f0cc}body[data-theme=dark] .add-client-btn{background:#94a3b829;border-color:#94a3b847;color:#e2e8f0;box-shadow:0 8px 24px #0f172a73}body[data-theme=dark] .add-client-btn:hover{background:#94a3b83d}body[data-theme=dark] .clients-stats-overview .stat-card,body[data-theme=dark] .clients-controls,body[data-theme=dark] .clients-content,body[data-theme=dark] .client-card,body[data-theme=dark] .profile-modal{background:#0f172aeb;border:1px solid rgba(148,163,184,.18);box-shadow:0 16px 40px #080f1ea6}body[data-theme=dark] .stat-card:hover,body[data-theme=dark] .client-card:hover{box-shadow:0 20px 50px #080f1ecc}body[data-theme=dark] .stat-card .stat-icon{background:#2563eb2e;color:#60a5fa}body[data-theme=dark] .stat-value,body[data-theme=dark] .client-name,body[data-theme=dark] .profile-name{color:#f8fafc}body[data-theme=dark] .stat-label,body[data-theme=dark] .client-email,body[data-theme=dark] .profile-email{color:#cbd5e1b3}body[data-theme=dark] .search-icon{color:#e2e8f0a6}body[data-theme=dark] .clients-search-input,body[data-theme=dark] .clients-status-filter{background:#090e1cf0;background-color:#090e1cf0!important;border-color:#94a3b847;color:#e2e8f0;box-shadow:none}body[data-theme=dark] .clients-search-input:focus,body[data-theme=dark] .clients-status-filter:focus{border-color:#3b82f699;box-shadow:0 0 0 3px #2563eb40;background:#0c1326fa;background-color:#0c1326fa!important}body[data-theme=dark] .clients-search-input::placeholder{color:#94a3b88c}body[data-theme=dark] .empty-clients{background:linear-gradient(135deg,#0f172af2,#0b1223d9);color:#f8fafc}body[data-theme=dark] .empty-clients p{color:#cbd5e1b8}body[data-theme=dark] .empty-icon{color:#60a5fad9}body[data-theme=dark] .client-avatar-circle{background:linear-gradient(135deg,#1d4ed8,#1e293b);box-shadow:0 6px 18px #2563eb59}body[data-theme=dark] .client-card:hover .client-avatar-circle{box-shadow:0 10px 24px #2563eb73}body[data-theme=dark] .status-text.active{background:#22c55e2e;color:#34d399}body[data-theme=dark] .status-text.inactive{background:#64748b2e;color:#e2e8f0b3}body[data-theme=dark] .stat-item{background:#0b1120e6;box-shadow:0 10px 24px #080f1ea6}body[data-theme=dark] .stat-item .stat-value{color:#60a5fa}body[data-theme=dark] .stat-item .stat-label{color:#cbd5e1b3}body[data-theme=dark] .message-client-btn{box-shadow:0 10px 30px #2563eb73}body[data-theme=dark] .view-client-btn{box-shadow:0 10px 30px #10b98159}body[data-theme=dark] .athlete-dashboard-modal-content{background:#0f172af5!important;border:1px solid rgba(148,163,184,.2);color:#e2e8f0}body[data-theme=dark] .athlete-dashboard-session-details-modal{background:#0b1120e6;border:1px solid rgba(148,163,184,.25);color:#e2e8f0;box-shadow:inset 0 0 0 1px #2563eb14}body[data-theme=dark] .athlete-dashboard-session-details-modal h4{color:#f8fafc}body[data-theme=dark] .athlete-dashboard-form-group label{color:#e2e8f0e6}body[data-theme=dark] .athlete-dashboard-modal-body p{color:#cbd5e1cc}body[data-theme=dark] .athlete-dashboard-form-input{background:#090e1cf0;border:1px solid rgba(148,163,184,.32);color:#f8fafc!important}body[data-theme=dark] .athlete-dashboard-form-input:focus{border-color:#3b82f699;box-shadow:0 0 0 3px #2563eb38}body[data-theme=dark] .athlete-dashboard-modal-btn.secondary{background:#94a3b829;color:#e2e8f0;border:1px solid rgba(148,163,184,.25)}body[data-theme=dark] .profile-divider{background:#94a3b847}body[data-theme=dark] .modal-close{color:#e2e8f0cc}body[data-theme=dark] .modal-close:hover{background:#2563eb2e;color:#f87171;box-shadow:0 10px 24px #080f1e8c}body[data-theme=dark] .athlete-dashboard-modal-footer{background:#080f1ed9;border-top:1px solid rgba(148,163,184,.25)}body[data-theme=dark] .athlete-dashboard-modal-btn.primary{box-shadow:0 12px 28px #10b98159}body[data-theme=dark] .clients-controls{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}body[data-theme=dark] .clients-content{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}body[data-theme=dark] .clients-grid{background:transparent}body[data-theme=dark] .clients-controls label,body[data-theme=dark] .clients-controls select,body[data-theme=dark] .clients-controls input{color:inherit}body[data-theme=dark] .search-container{background:#0f172aa6;border-radius:12px}body[data-theme=dark] .search-container:focus-within{background:#11182ed9}body[data-theme=dark] .clients-search-input:-webkit-autofill,body[data-theme=dark] .clients-search-input:-webkit-autofill:hover,body[data-theme=dark] .clients-search-input:-webkit-autofill:focus{-webkit-text-fill-color:#e2e8f0;-webkit-box-shadow:0 0 0px 1000px rgba(9,14,28,.94) inset;transition:background-color 5000s ease-in-out 0s}body[data-theme=dark] .clients-search-input{color-scheme:dark}.loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top:3px solid #10b981;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem;flex-shrink:0;display:flex;align-items:center;justify-content:center}.media-page-container{max-width:1200px;margin:0 auto;padding:2rem 1.5rem;background:var(--tf-background);min-height:100vh}.media-header{background:#2e7dff;color:#fff;border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 20px 40px #10b98126;position:relative;overflow:hidden}.media-header:before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:#ffffff1a;border-radius:50%;transform:translate(50%,-50%)}.header-content{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1;width:100%}.media-header .header-content{display:flex;align-items:center;justify-content:space-between;gap:2rem;width:100%}.upload-media-btn{margin-left:auto;flex-shrink:0}.header-text h1{font-size:2.2rem;font-weight:800;margin-bottom:.5rem;letter-spacing:-.02em}.header-text p{font-size:1.1rem;color:#ffffffe6;margin:0}.upload-media-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:12px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:.5rem}.upload-media-btn:hover:not(.disabled){background:#ffffff4d;transform:translateY(-1px)}.upload-media-btn.disabled{opacity:.5;cursor:not-allowed;transform:none}.upload-media-btn.uploading{background:#ffffff1a;cursor:not-allowed}.upload-icon{font-size:1rem}.media-stats-overview{margin-bottom:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.stat-card{background:var(--tf-surface);border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #0f172a14;border:1px solid var(--tf-border);display:flex;align-items:center;gap:1rem;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0000001f}.stat-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#fff!important;border-radius:12px;flex-shrink:0;box-shadow:none!important;filter:none!important;transition:none!important}.stat-card:hover .stat-icon{background:#fff!important;box-shadow:none!important;filter:none!important}.stat-value{font-size:1.8rem;font-weight:800;color:var(--tf-text-primary);line-height:1;margin-bottom:.25rem}.stat-label{font-size:.9rem;color:var(--tf-text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.stat-limit{font-size:.75rem;color:var(--tf-text-secondary);font-weight:400;opacity:.85}.media-error{background:linear-gradient(135deg,#fee2e2f2,#fecacaf2);border:1px solid rgba(239,68,68,.4);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.error-content{display:flex;align-items:flex-start;gap:1rem}.error-icon{font-size:1.5rem;flex-shrink:0;margin-top:.25rem}.error-text{flex:1}.error-text p{margin:0 0 1rem;color:#dc2626;font-weight:500}.error-dismiss{background:#dc2626;color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.error-dismiss:hover{background:#b91c1c;transform:translateY(-1px)}.media-limits-warning{background:linear-gradient(135deg,#fef3c7f2,#fde68af2);border:1px solid rgba(245,158,11,.4);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.warning-content{display:flex;align-items:flex-start;gap:1rem}.warning-icon{font-size:1.5rem;flex-shrink:0;margin-top:.25rem}.warning-text h3{margin:0 0 .5rem;color:#92400e;font-size:1.1rem;font-weight:600}.warning-text p{margin:0;color:#92400e;font-size:.95rem;line-height:1.5}.media-controls{background:var(--tf-surface);border-radius:16px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 20px #0f172a14;border:1px solid var(--tf-border);display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.filter-section,.sort-section{flex-shrink:0}.media-type-filter,.media-sort-filter{padding:.875rem 1rem;border:2px solid var(--tf-border);border-radius:12px;font-size:1rem;background:var(--tf-surface-muted);color:var(--tf-text-primary);cursor:pointer;transition:all .2s ease;min-width:150px}.media-type-filter:focus,.media-sort-filter:focus{outline:none;border-color:var(--tf-link);background:var(--tf-surface);box-shadow:0 0 0 3px #2563eb1f}.media-content{background:var(--tf-surface);border-radius:20px;box-shadow:0 8px 32px #0f172a14;border:1px solid var(--tf-border);overflow:hidden}.empty-media{text-align:center;padding:4rem 2rem;background:linear-gradient(135deg,var(--tf-surface-muted) 0%,var(--tf-surface) 100%)}.empty-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.7;color:#2563eb99}.empty-media h3{margin:0 0 .75rem;color:var(--tf-text-primary);font-size:1.4rem;font-weight:600}.empty-media p{margin:0 0 2rem;color:var(--tf-text-secondary);font-size:1rem;line-height:1.6;max-width:400px;margin-left:auto;margin-right:auto}.upload-first-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;padding:.875rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #10b9814d}.upload-first-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #10b98166}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;padding:2rem}.media-card{background:var(--tf-surface);border-radius:16px;padding:1rem;box-shadow:0 4px 20px #0f172a14;border:1px solid var(--tf-border);transition:all .3s ease;position:relative;overflow:hidden}.media-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000026}.media-preview{position:relative;margin-bottom:1rem;border-radius:12px;overflow:hidden;background:var(--tf-surface-muted)}.media-thumb{width:100%;height:200px;object-fit:cover;border-radius:12px;transition:all .3s ease}.media-card:hover .media-thumb{transform:scale(1.02)}.video-container{position:relative;width:100%;height:200px;border-radius:12px;overflow:hidden}.video-container video{width:100%;height:100%;object-fit:cover}.video-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0000004d;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.video-container:hover .video-overlay{opacity:1}.play-icon{font-size:2rem;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.media-type-badge{position:absolute;top:.75rem;right:.75rem;background:#000000b3;color:#fff;padding:.25rem .5rem;border-radius:20px;font-size:.75rem;font-weight:500;display:flex;align-items:center;gap:.25rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.type-icon{font-size:.8rem}.media-info{margin-bottom:1rem}.media-description{margin-bottom:.5rem}.media-description p{margin:0;font-size:.95rem;color:var(--tf-text-primary);line-height:1.4}.media-meta{display:flex;justify-content:space-between;align-items:center}.upload-date{font-size:.8rem;color:var(--tf-text-secondary);font-weight:500}.media-actions{display:flex;gap:.75rem}.edit-media-btn,.delete-media-btn{flex:1;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;display:flex;align-items:center;justify-content:center;gap:.5rem}.edit-media-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.edit-media-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.delete-media-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.delete-media-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #ef444466}.btn-icon{font-size:.9rem}@media (max-width: 768px){.media-page-container{padding:1rem}.media-header{padding:1.5rem}.header-content{flex-direction:column;gap:1rem;text-align:center}.header-text h1{font-size:1.8rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.stat-card{padding:1rem}.stat-icon{width:50px;height:50px;font-size:1.5rem}.stat-value{font-size:1.4rem}.media-error,.media-limits-warning{padding:1rem}.error-content,.warning-content{flex-direction:column;text-align:center;gap:.5rem}.media-controls{flex-direction:column;gap:1rem}.media-grid{grid-template-columns:1fr;padding:1rem;gap:1rem}.media-card{padding:.75rem}.media-thumb,.video-container{height:150px}.media-actions{flex-direction:column}}@media (max-width: 480px){.header-text h1{font-size:1.6rem}.stats-grid{grid-template-columns:1fr}.media-thumb,.video-container{height:120px}.media-type-badge{top:.5rem;right:.5rem;font-size:.7rem}}.lightbox-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#1e293beb;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .25s}.lightbox-content{position:relative;max-width:92vw;max-height:92vh;display:flex;flex-direction:column;align-items:center;background:#fff;border-radius:18px;box-shadow:0 12px 48px #00000040;padding:2rem 2rem 1.5rem;animation:popIn .2s}@keyframes popIn{0%{transform:scale(.96);opacity:.7}to{transform:scale(1);opacity:1}}.lightbox-img{max-width:80vw;max-height:70vh;border-radius:12px;box-shadow:0 8px 32px #0000002e;background:#f8fafc;object-fit:contain;margin-bottom:1.5rem}.lightbox-close{position:absolute;top:1.2rem;right:1.2rem;background:#1e293bd9;border:none;color:#fff;font-size:2.2rem;font-weight:700;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:background .2s,color .2s,transform .1s;box-shadow:0 2px 8px #0000001f}.lightbox-close:hover{background:#38bdf8;color:#fff;transform:scale(1.08)}@media (max-width: 600px){.lightbox-content{padding:1rem .5rem;max-width:98vw;max-height:98vh}.lightbox-img{max-width:95vw;max-height:60vh}.lightbox-close{top:.5rem;right:.5rem;width:36px;height:36px;font-size:1.5rem}}[data-theme=dark] .loading-container{background:transparent}[data-theme=dark] .loading-spinner{border:3px solid rgba(148,163,184,.25);border-top-color:#60a5fad9}[data-theme=dark] .loading-message{color:#e2e8f0c7}[data-theme=dark] .media-page-container{background:linear-gradient(160deg,#0a1221fa,#0e172af5 60%,#103460bf);color:var(--tf-text-primary)}[data-theme=dark] .media-header{background:linear-gradient(135deg,#2563ebeb,#1e40aff2);box-shadow:0 30px 70px #0f172ab3}[data-theme=dark] .media-header:before{background:#ffffff29}[data-theme=dark] .header-text h1{color:#fff}[data-theme=dark] .header-text p{color:#e2e8f0d1}[data-theme=dark] .upload-media-btn{background:#0f172a40;color:#e8f1ff;border:1px solid rgba(148,163,184,.32);box-shadow:0 10px 30px #0f172a73}[data-theme=dark] .upload-media-btn:hover:not(.disabled){background:#3b82f659;color:#fff}[data-theme=dark] .upload-media-btn.disabled,[data-theme=dark] .upload-media-btn.uploading{background:#0f172a33;color:#e2e8f08c;border-color:#94a3b833}[data-theme=dark] .stat-card,[data-theme=dark] .media-controls,[data-theme=dark] .media-card{background:#0f172aeb;border:1px solid rgba(148,163,184,.22);box-shadow:0 22px 48px #080f2399}[data-theme=dark] .stat-card:hover,[data-theme=dark] .media-card:hover{box-shadow:0 28px 60px #080f23b3}[data-theme=dark] .stat-icon{background:#3b82f62e!important;color:#bfdbfe}[data-theme=dark] .stat-value,[data-theme=dark] .media-description p,[data-theme=dark] .empty-media h3,[data-theme=dark] .type-text{color:var(--tf-text-primary)}[data-theme=dark] .stat-label,[data-theme=dark] .stat-limit,[data-theme=dark] .empty-media p,[data-theme=dark] .upload-date{color:#e2e8f0b3}[data-theme=dark] .media-limits-warning{background:#facc151f;border-color:#facc1559}[data-theme=dark] .warning-text h3,[data-theme=dark] .warning-text p{color:#facc15}[data-theme=dark] .media-error{background:#f8717129;border-color:#f8717173}[data-theme=dark] .error-text p{color:#fca5a5}[data-theme=dark] .error-dismiss{background:#f87171e6;color:#0f172a}[data-theme=dark] .error-dismiss:hover{background:#ef4444f2;color:#fff}[data-theme=dark] .media-type-filter,[data-theme=dark] .media-sort-filter{background:#0f172ae6;border-color:#94a3b83d;color:var(--tf-text-primary);box-shadow:none}[data-theme=dark] .media-type-filter:focus,[data-theme=dark] .media-sort-filter:focus{border-color:#60a5fabf;box-shadow:0 0 0 3px #2563eb47}[data-theme=dark] .media-grid{background:transparent}[data-theme=dark] .media-preview{background:#0f172ad1}[data-theme=dark] .media-type-badge{background:#0f172abf;color:#bfdbfe}[data-theme=dark] .video-overlay{background:#0f172a8c}[data-theme=dark] .empty-media{background:#0f172ae6;border:1px dashed rgba(96,165,250,.4)}[data-theme=dark] .empty-icon{color:#94a3b899}[data-theme=dark] .upload-first-btn{box-shadow:0 16px 36px #10b98159}[data-theme=dark] .lightbox-content{background:#0f172af5;box-shadow:0 28px 70px #080f23bf;color:var(--tf-text-primary)}[data-theme=dark] .lightbox-img{background:#0f172acc;box-shadow:0 20px 40px #080f2399}[data-theme=dark] .lightbox-close{background:#0f172aeb;color:#bfdbfe;box-shadow:0 16px 32px #080f2399}[data-theme=dark] .lightbox-close:hover{background:#3b82f666;color:#fff}.sessions-page-container{max-width:1400px;margin:0 auto;padding:2.5rem 2rem 4rem;background:#fafbfc;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.loading-message{font-size:1.125rem;color:#64748b;font-weight:500;letter-spacing:.025em}.sessions-header{background:#2e7dff;color:#fff;border-radius:16px;padding:3rem;margin-bottom:3rem;box-shadow:0 10px 30px #1f29371a;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.05)}.sessions-header:before{content:"";position:absolute;top:0;right:0;width:150px;height:150px;background:#ffffff14;border-radius:50%;transform:translate(30%,-30%)}.header-content{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1;gap:2rem}.header-text h1{font-size:2.25rem;font-weight:700;color:#fff;margin:0 0 1rem;line-height:1.3;letter-spacing:-.01em;text-align:left}.header-text p{font-size:1.1rem;color:#fff!important;margin:0;font-weight:400;line-height:1.6;text-align:left}.header-actions{display:flex;gap:1rem}.schedule-session-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.025em}.schedule-session-btn:hover{background:#fff3;transform:translateY(-1px)}.schedule-icon{font-size:1rem}.sessions-stats-overview{margin-bottom:3rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.5rem}.stat-card{background:#e0f2fe;border-radius:10px;padding:2rem;display:flex;align-items:center;gap:1.25rem;box-shadow:0 1px 3px #0000000a;border:1px solid #f1f5f9;transition:all .2s ease;position:relative}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#3b82f6,#2e7dff);opacity:0;transition:opacity .2s ease}.stat-card:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000000f,0 1px 3px #0000001a;border-color:#e2e8f0}.stat-card:hover:before{opacity:1}.stat-icon{font-size:1.5rem;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:10px;color:#64748b;border:1px solid #f1f5f9;transition:all .2s ease;box-shadow:0 1px 2px #0000000f}.stat-card:hover .stat-icon{background:#f8fafc;color:#475569;border-color:#e2e8f0}.stat-icon--upcoming{background:#eef2ff;color:#1d4ed8;border-color:#3b82f640}.stat-icon--completed{background:#dcfce7;color:#0f9d58;border-color:#22c55e40}.stat-icon--today{background:#e0f2ff;color:#2563eb;border-color:#2563eb40}.stat-icon--cancelled{background:#fee2e2;color:#dc2626;border-color:#dc262647}.stat-content{flex:1}.stat-value{font-size:2.25rem;font-weight:700;color:#1e293b;line-height:1.1;margin-bottom:.75rem;letter-spacing:-.01em}.stat-label{font-size:.875rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.sessions-controls{display:flex;gap:2rem;margin-bottom:2.5rem;flex-wrap:wrap;align-items:center;padding-bottom:2rem;border-bottom:1px solid #e2e8f0}.search-section{flex:1;min-width:320px}.search-container{position:relative;display:flex;align-items:center;background:#fff;border:1px solid #f1f5f9;border-radius:8px;box-shadow:0 1px 2px #0000000a}.search-icon{position:absolute;left:12px;color:#666;font-size:16px;z-index:1}.sessions-search-input{width:100%;padding:.875rem .875rem .875rem 2.75rem;border:none;border-radius:8px;font-size:.875rem;background:transparent;color:#1e293b;transition:all .2s ease;box-shadow:none}.sessions-search-input:focus{outline:none;background:transparent;box-shadow:none}.sessions-search-input::placeholder{color:#999}.filters-section{min-width:200px}.sessions-status-filter{width:100%;padding:.875rem 1.25rem;border:1px solid #f1f5f9;border-radius:8px;font-size:.875rem;background:#fff!important;color:#1e293b;cursor:pointer;transition:all .2s ease;font-weight:500;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:0 1px 2px #0000000a}.sessions-status-filter:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background:#fff!important}.sessions-content{background:#fff;border-radius:12px;padding:2.25rem;box-shadow:0 2px 8px #0000000a,0 1px 3px #0000000f;border:1px solid #f1f5f9}.sessions-section{margin-bottom:3rem}.sessions-section:last-child{margin-bottom:0}.sessions-section-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e2e8f0}.sessions-section-title{font-size:1.875rem;font-weight:700;color:#1e293b;margin:0 0 .5rem;line-height:1.3;letter-spacing:-.02em}.sessions-section-subtitle{font-size:1rem;color:#64748b;margin:0;line-height:1.6;font-weight:400}.sessions-content .sessions-controls{margin-bottom:0;padding-bottom:2rem;border-bottom:1px solid #e2e8f0}.empty-sessions{text-align:center;padding:4rem 2rem;color:#64748b}.empty-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.6}.empty-sessions h3{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 1rem;letter-spacing:-.025em}.empty-sessions p{font-size:1rem;margin:0 0 2rem;max-width:500px;margin-left:auto;margin-right:auto;line-height:1.6;color:#64748b}.schedule-first-btn{padding:.875rem 1.75rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #3b82f633;letter-spacing:.025em}.schedule-first-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 2px 6px #3b82f64d}.sessions-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.sessions-view-more{display:flex;justify-content:center;margin-top:1.5rem}.sessions-view-more-btn{padding:.75rem 1.5rem;border:none;border-radius:999px;background:#1d4ed8;color:#fff;font-weight:600;font-size:.875rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;box-shadow:0 4px 10px #1d4ed833}.sessions-view-more-btn:hover{background:#1e40af;transform:translateY(-1px);box-shadow:0 6px 14px #1e40af40}.session-card{background:#fff;border-radius:10px;padding:2rem;border:1px solid #f1f5f9;transition:all .2s ease;box-shadow:0 1px 3px #0000000a;position:relative}.session-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:#3b82f6;transition:all .2s ease}.session-card.pending:before{background:#f59e0b}.session-card.confirmed:before{background:#10b981}.session-card.completed:before{background:#3b82f6}.session-card.cancelled:before{background:#ef4444}.session-card:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000000f,0 1px 3px #0000001a;border-color:#e2e8f0}.session-actions{display:flex;gap:.75rem;margin-top:1.75rem;padding-top:1.75rem;border-top:1px solid #e2e8f0}.session-actions button{padding:.625rem 1rem;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;flex:0 0 auto;min-width:120px;text-align:center;position:relative;overflow:hidden;letter-spacing:.025em;text-transform:uppercase;box-shadow:0 1px 3px #0000001a}.session-actions .confirm-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 1px 3px #10b98133}.session-actions .confirm-btn:hover{transform:translateY(-1px);box-shadow:0 2px 6px #10b9814d}.session-actions .confirm-btn:active{transform:translateY(0);box-shadow:0 1px 3px #10b98133}.session-actions .cancel-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 1px 3px #ef444433}.session-actions .cancel-btn:hover{transform:translateY(-1px);box-shadow:0 2px 6px #ef44444d}.session-actions .cancel-btn:active{transform:translateY(0);box-shadow:0 1px 3px #ef444433}.session-actions .complete-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 1px 3px #3b82f633}.session-actions .complete-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 6px #3b82f64d}.session-actions .complete-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 3px #3b82f633}.session-actions .complete-btn:disabled{background:linear-gradient(135deg,#94a3b8,#64748b);color:#fff;opacity:.6;cursor:not-allowed;box-shadow:none}.session-actions .complete-btn:disabled:hover{transform:none;box-shadow:none}.session-actions .reschedule-btn,.session-actions .view-details-btn{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;color:#fff!important;box-shadow:0 1px 3px #3b82f633;text-transform:none;white-space:nowrap;min-width:140px}.session-actions .reschedule-btn:hover,.session-actions .view-details-btn:hover{transform:translateY(-1px);box-shadow:0 2px 6px #3b82f64d}.session-actions .reschedule-btn:active,.session-actions .view-details-btn:active{transform:translateY(0);box-shadow:0 1px 3px #3b82f633}.session-actions .completed-text,.session-actions .cancelled-text{padding:.625rem 1rem;border-radius:8px;font-size:.8125rem;font-weight:600;text-align:center;flex:0 0 auto;min-width:120px;letter-spacing:.025em;text-transform:uppercase;box-shadow:0 1px 3px #00000014;border:2px solid transparent}.session-actions .completed-text{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border-color:#34d399;box-shadow:0 4px 16px #10b98126}.session-actions .cancelled-text{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border-color:#fca5a5;box-shadow:0 4px 16px #ef444426}.session-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1.5rem}.session-client-info{display:flex;align-items:center;gap:1rem;flex:1}.session-client-avatar-circle{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#2e7dff,#1d4ed8);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #2e7dff33;transition:all .2s ease;overflow:hidden;position:relative}.session-client-avatar-image{width:100%;height:100%;object-fit:cover;border-radius:50%}.session-client-initials{font-size:1.125rem;font-weight:700;color:#fff;text-align:center;line-height:1}.session-card:hover .session-client-avatar-circle{transform:translateY(-1px);box-shadow:0 6px 16px #2e7dff4d}.client-details{flex:1;min-width:0}.session-client-name{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0 0 .375rem;line-height:1.3;letter-spacing:-.01em}.session-type{font-size:.75rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;padding:.375rem .75rem;border-radius:6px;display:inline-block;border:1px solid #e2e8f0}.session-status-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:capitalize;white-space:nowrap;letter-spacing:.025em}.session-status-badge.pending{background:#fef3c7;color:#92400e;border:1px solid #fbbf24}.session-status-badge.confirmed,.session-status-badge.completed{background:#d1fae5;color:#065f46;border:1px solid #34d399}.session-status-badge.cancelled{background:#fee2e2;color:#991b1b;border:1px solid #f87171}.status-icon{font-size:1rem}.session-details{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem;gap:2rem;padding:1.25rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.session-time{display:flex;flex-direction:column;gap:.25rem}.time-primary{display:flex;align-items:center;gap:.5rem}.time-icon{font-size:1.125rem;color:#64748b}.time-text{font-size:1.125rem;font-weight:700;color:#1e293b;letter-spacing:-.025em}.time-secondary{font-size:.875rem;color:#64748b;font-weight:500;margin-left:1.625rem}.session-meta{display:flex;gap:2rem}.meta-item{display:flex;flex-direction:column;gap:.25rem;text-align:center}.meta-label{font-size:.625rem;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.meta-value{font-size:.875rem;color:#1e293b;font-weight:600}.session-actions{display:flex;gap:.75rem;flex-wrap:wrap}.action-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:capitalize;min-width:120px;justify-content:center;letter-spacing:.025em}.action-btn.primary{background:#3b82f6;color:#fff}.action-btn.primary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 2px 6px #3b82f64d}.action-btn.success{background:#10b981;color:#fff}.action-btn.success:hover{background:#059669;transform:translateY(-1px);box-shadow:0 2px 6px #10b9814d}.action-btn.danger{background:#ef4444;color:#fff}.action-btn.danger:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 2px 6px #ef44444d}.action-btn.secondary{background:#6b7280;color:#fff}.action-btn.secondary:hover{background:#4b5563;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.action-btn.warning{background:#fef3c7;color:#d97706;border-color:#fbbf24;min-width:125px}.action-btn.warning:hover{background:#fde68a;color:#b45309;transform:translateY(-1px)}.btn-icon{font-size:1rem}.action-btn.disabled{background-color:#9ca3af;color:#6b7280;cursor:not-allowed;opacity:.6}.action-btn.disabled:hover{background-color:#9ca3af;transform:none;box-shadow:none}@media (max-width: 768px){.sessions-page-container{padding:1rem}.header-content{flex-direction:column;align-items:flex-start;gap:1.5rem}.header-text h1{font-size:2rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.stat-card{padding:1.25rem}.stat-icon{width:48px;height:48px;font-size:1.5rem}.stat-value{font-size:1.5rem}.sessions-controls{flex-direction:column;gap:1rem;padding:1.25rem}.search-section,.filters-section{width:100%;min-width:auto}.session-header{flex-direction:column;align-items:flex-start;gap:1rem}.session-status-badge{align-self:flex-start}.session-details{flex-direction:column;align-items:flex-start;gap:1rem}.session-meta{gap:1.5rem}.session-actions{justify-content:flex-start}.sessions-section{margin-bottom:2rem}.sessions-section-header{margin-bottom:1.5rem;padding-bottom:1rem}.sessions-section-title{font-size:1.5rem}.sessions-section-subtitle{font-size:.9rem}.action-btn{min-width:100px;padding:.625rem .875rem;font-size:.75rem}.action-btn.success{min-width:110px}.action-btn.warning{min-width:115px}}@media (max-width: 480px){.sessions-header{padding:1.5rem}.header-text h1{font-size:1.75rem}.stats-grid{grid-template-columns:1fr}.sessions-content,.session-card{padding:1.25rem}.session-client-info{flex-direction:column;align-items:flex-start;gap:.75rem}.session-client-avatar-circle{width:48px;height:48px}.session-client-initials{font-size:1rem}.sessions-section{margin-bottom:1.5rem}.sessions-section-header{margin-bottom:1rem;padding-bottom:.75rem}.sessions-section-title{font-size:1.25rem}.sessions-section-subtitle{font-size:.85rem}.session-actions{flex-direction:column;width:100%}.action-btn{width:100%;min-width:auto}}.session-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease-out}.session-modal{background:#fff;border-radius:24px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 80px #00000040;animation:slideUp .3s ease-out;position:relative}.modal-header{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:2rem 2.5rem 1.5rem;border-radius:24px 24px 0 0;position:relative}.modal-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent)}.modal-header-content{display:flex;justify-content:space-between;align-items:flex-start}.modal-title-section{display:flex;align-items:center;gap:1.5rem;flex:1}.modal-title-section h2{font-size:1.8rem;font-weight:700;margin:0;letter-spacing:-.025em}.status-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;text-transform:capitalize;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.status-badge.pending{background:#ffc10733;color:#f59e0b}.status-badge.confirmed{background:#22c55e33;color:#22c55e}.status-badge.completed{background:#3b82f633;color:#3b82f6}.status-badge.cancelled{background:#ef444433;color:#ef4444}.status-icon{font-size:.875rem}.modal-close-btn{background:#fff3;border:none;color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.modal-content{padding:2.5rem}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid #f1f5f9}.section-icon{color:#10b981;font-size:1.25rem}.section-header h3{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0;letter-spacing:-.025em}.client-section{margin-bottom:2.5rem}.client-info-grid{display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:start}.client-avatar-section{text-align:center}.athlete-dashboard-trainer-avatar-circle-modal{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#2e7dff,#1d4ed8);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #2e7dff33;margin-bottom:1rem;overflow:hidden;position:relative}.athlete-dashboard-trainer-avatar-modal{width:100%;height:100%;object-fit:cover;border-radius:50%}.athlete-dashboard-trainer-avatar-placeholder-modal{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#2e7dff,#1d4ed8);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #2e7dff33;margin-bottom:1rem}.athlete-dashboard-trainer-avatar-initials-modal,.athlete-dashboard-trainer-initials-modal{font-size:1.5rem;font-weight:700;color:#fff;text-align:center;line-height:1}.client-avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid #e2e8f0;box-shadow:0 8px 25px #0000001a;margin-bottom:1rem}.client-name{font-size:1.125rem;font-weight:600;color:#1e293b}.client-contact-info{display:flex;flex-direction:column;gap:1rem}.contact-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0;transition:all .2s ease}.contact-item:hover{background:#f1f5f9;transform:translate(4px)}.contact-icon{color:#10b981;font-size:1rem;flex-shrink:0}.contact-item span{color:#475569;font-weight:500}.session-section{margin-bottom:2.5rem}.session-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.info-card{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;border:1px solid #e2e8f0;transition:all .3s ease;position:relative;overflow:hidden}.info-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,#10b981,#059669);border-radius:0 2px 2px 0}.info-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a;border-color:#cbd5e1}.info-icon{width:48px;height:48px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0;box-shadow:0 4px 12px #10b9814d}.info-content{flex:1}.info-label{font-size:.875rem;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.info-value{font-size:1.125rem;font-weight:700;color:#1e293b;margin-bottom:.25rem}.info-subtitle{font-size:.875rem;color:#10b981;font-weight:600}.service-section{margin-bottom:2.5rem}.service-details{background:#f8fafc;padding:1.5rem;border-radius:16px;border:1px solid #e2e8f0}.service-title{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0 0 1rem;letter-spacing:-.025em}.service-description{color:#64748b;line-height:1.6;margin:0;font-size:1rem}.notes-section{margin-bottom:2.5rem}.notes-content{background:#fef3c7;padding:1.5rem;border-radius:16px;border:1px solid #f59e0b;border-left:4px solid #f59e0b}.notes-content p{color:#92400e;margin:0;line-height:1.6;font-weight:500}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:2rem;border-top:2px solid #f1f5f9;margin-top:2rem}.modal-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;border-radius:12px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;border:none;text-transform:uppercase;letter-spacing:.5px}.modal-btn.success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b9814d}.modal-btn.success:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.modal-btn.danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 12px #ef44444d}.modal-btn.danger:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.modal-btn.secondary{background:#f8fafc;color:#64748b;border:2px solid #e2e8f0}.modal-btn.secondary:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px)}@media (max-width: 768px){.session-modal{margin:1rem;max-height:calc(100vh - 2rem)}.modal-header{padding:1.5rem 1.5rem 1rem}.modal-title-section{flex-direction:column;align-items:flex-start;gap:1rem}.modal-title-section h2{font-size:1.5rem}.modal-content{padding:1.5rem}.client-info-grid{grid-template-columns:1fr;gap:1.5rem}.client-avatar-section{text-align:center}.session-info-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}.modal-btn{width:100%;justify-content:center}}@media (max-width: 480px){.session-modal{border-radius:16px}.modal-header{border-radius:16px 16px 0 0;padding:1rem 1rem .75rem}.modal-content,.info-card{padding:1rem}.info-icon{width:40px;height:40px;font-size:1rem}}.pro-modal{background:#f9fafb;border-radius:28px;max-width:700px;width:100%;max-height:92vh;overflow-y:auto;box-shadow:0 24px 64px #10b9812e,0 2px 8px #00000014;position:relative;border:1.5px solid #e2e8f0;animation:proModalSlideUp .35s cubic-bezier(.4,1.4,.6,1) 1}@keyframes proModalSlideUp{0%{opacity:0;transform:translateY(40px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-accent-bar{height:7px;width:100%;border-radius:28px 28px 0 0;background:linear-gradient(90deg,#10b981,#059669 60%,#3b82f6);margin-bottom:-7px}.pro-modal-header{background:transparent;color:#1e293b;padding:2.2rem 2.5rem 1.2rem;border-radius:28px 28px 0 0;border-bottom:1.5px solid #e2e8f0;box-shadow:none}.modal-title-section{display:flex;align-items:center;gap:1.2rem}.modal-title{font-size:2rem;font-weight:800;margin:0;letter-spacing:-.03em;color:#1e293b}.status-pill{display:flex;align-items:center;gap:.5rem;padding:.45rem 1.2rem;border-radius:999px;font-size:1rem;font-weight:700;text-transform:capitalize;background:#f1f5f9;border:1.5px solid #e2e8f0;box-shadow:0 2px 8px #10b98112}.status-pill.pending{background:#fffbe6;color:#f59e0b;border-color:#fde68a}.status-pill.confirmed{background:#e6fbe9;color:#059669;border-color:#bbf7d0}.status-pill.completed{background:#e6f0fb;color:#2563eb;border-color:#bfdbfe}.status-pill.cancelled{background:#fbeaea;color:#ef4444;border-color:#fecaca}.status-icon{font-size:1.1em}.pro-modal-close{background:#f1f5f9;color:#64748b;border:none;width:44px;height:44px;border-radius:50%;font-size:1.3rem;display:flex;align-items:center;justify-content:center;margin-left:1.5rem;transition:background .18s,color .18s,transform .18s;box-shadow:0 2px 8px #10b98112}.pro-modal-close:hover{background:#e0f2fe;color:#059669;transform:scale(1.08)}.pro-modal-content{padding:2.5rem 2.5rem 2rem}.pro-section{margin-bottom:2.5rem;background:#fff;border-radius:18px;box-shadow:0 2px 12px #10b9810a;border:1.5px solid #e2e8f0;padding:2rem 2rem 1.5rem}.pro-section-header{display:flex;align-items:center;gap:.7rem;margin-bottom:1.2rem;border-bottom:1.5px solid #f1f5f9;padding-bottom:.7rem}.pro-section-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:50%;width:2.2rem;height:2.2rem;display:flex;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:0 2px 8px #10b9811a}.pro-section-title{font-size:1.1rem;font-weight:700;color:#1e293b;letter-spacing:.04em;text-transform:uppercase}.pro-client-info-grid{display:flex;gap:2.5rem;align-items:center}.pro-client-avatar-block{display:flex;flex-direction:column;align-items:center;min-width:140px}.pro-avatar-ring{background:linear-gradient(135deg,#10b981,#059669 70%,#3b82f6);padding:5px;border-radius:50%;box-shadow:0 4px 16px #10b9811a;margin-bottom:.7rem}.pro-client-avatar{width:110px;height:110px;border-radius:50%;object-fit:cover;object-position:center;border:4px solid #fff;box-shadow:0 2px 8px #10b9811a}.pro-client-name{font-size:1.15rem;font-weight:700;color:#1e293b;margin-top:.2rem;text-align:center}.pro-client-contact-list{display:flex;flex-direction:column;gap:1.1rem;flex:1}.pro-contact-item{display:flex;align-items:center;gap:.8rem;background:#f8fafc;border-radius:12px;border:1.5px solid #e2e8f0;padding:1rem 1.2rem;font-size:1rem;color:#475569;font-weight:500;transition:background .18s,border .18s,box-shadow .18s}.pro-contact-item:hover{background:#e0f2fe;border-color:#bae6fd;box-shadow:0 2px 8px #3b82f614}.pro-contact-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:50%;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:0 2px 8px #10b9811a}.pro-session-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.pro-info-card{display:flex;align-items:flex-start;gap:1.1rem;background:#f8fafc;border-radius:14px;border:1.5px solid #e2e8f0;padding:1.3rem 1.2rem;box-shadow:0 2px 8px #10b9810a;min-width:0}.pro-info-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:50%;width:2.1rem;height:2.1rem;display:flex;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:0 2px 8px #10b9811a;flex-shrink:0}.pro-info-label{font-size:.92rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.18rem}.pro-info-value{font-size:1.13rem;font-weight:700;color:#1e293b;margin-bottom:.1rem}.pro-info-sub{font-size:.98rem;color:#10b981;font-weight:600}.pro-service-details{background:#f8fafc;padding:1.2rem 1.2rem 1rem;border-radius:14px;border:1.5px solid #e2e8f0}.pro-service-title{font-size:1.18rem;font-weight:700;color:#1e293b;margin-bottom:.7rem}.pro-service-description{color:#64748b;line-height:1.6;font-size:1rem}.pro-notes-content{background:#fef3c7;padding:1.1rem 1.2rem;border-radius:12px;border:1.5px solid #f59e0b;border-left:5px solid #f59e0b;color:#92400e;font-weight:500;font-size:1rem;margin-top:.5rem}.pro-modal-actions{display:flex;gap:1.2rem;justify-content:flex-end;padding-top:2rem;border-top:1.5px solid #e2e8f0;margin-top:2rem}.pro-modal-btn{display:flex;align-items:center;gap:.6rem;padding:1rem 1.7rem;border-radius:14px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .18s;border:none;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #10b98112}.pro-modal-btn.success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.pro-modal-btn.success:hover{background:linear-gradient(135deg,#059669,#10b981);transform:translateY(-2px) scale(1.04)}.pro-modal-btn.danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.pro-modal-btn.danger:hover{background:linear-gradient(135deg,#dc2626,#ef4444);transform:translateY(-2px) scale(1.04)}.pro-modal-btn.secondary{background:#f8fafc;color:#64748b;border:2px solid #e2e8f0}.pro-modal-btn.secondary:hover{background:#e0f2fe;border-color:#bae6fd;color:#059669;transform:translateY(-1px)}@media (max-width: 900px){.pro-modal-content{padding:1.5rem 1.2rem 1.2rem}.pro-section{padding:1.2rem 1.2rem 1rem}}@media (max-width: 700px){.pro-modal{max-width:98vw}.pro-client-info-grid{flex-direction:column;gap:1.5rem}.pro-session-info-grid{grid-template-columns:1fr}.pro-modal-header,.modal-title-section{flex-direction:column;align-items:flex-start;gap:1rem}.modal-title{font-size:1.4rem}}@media (max-width: 480px){.pro-modal{border-radius:14px}.modal-accent-bar{border-radius:14px 14px 0 0}.pro-modal-header{border-radius:14px 14px 0 0;padding:1.1rem 1rem .7rem}.pro-modal-content{padding:.7rem}.pro-section{padding:.7rem .7rem .5rem}}.pro-modal{background:#f9fafb;border-radius:22px;max-width:600px;width:100%;max-height:92vh;overflow:hidden;box-shadow:0 18px 48px #10b98126,0 2px 8px #00000014;position:relative;border:1.5px solid #e2e8f0;animation:proModalSlideUp .35s cubic-bezier(.4,1.4,.6,1) 1}.modal-accent-bar{height:5px;border-radius:22px 22px 0 0;margin-bottom:-5px}.pro-modal-header{padding:1.2rem 1.5rem .7rem;border-radius:22px 22px 0 0}.modal-title{font-size:1.3rem;font-weight:800}.status-pill{font-size:.95rem;padding:.3rem .9rem}.pro-modal-close{width:36px;height:36px;font-size:1.1rem;margin-left:1rem}.pro-modal-content{padding:1.1rem 1.2rem 1rem;max-height:70vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#e2e8f0 #f9fafb}.pro-section{margin-bottom:1.2rem;border-radius:12px;padding:1rem 1rem .7rem}.pro-section-header{gap:.5rem;margin-bottom:.7rem;padding-bottom:.4rem}.pro-section-icon{width:1.5rem;height:1.5rem;font-size:.95rem}.pro-section-title{font-size:.95rem}.pro-client-info-grid{gap:1.2rem}.pro-client-avatar-block{min-width:90px}.pro-avatar-ring{padding:3px;margin-bottom:.4rem}.pro-client-avatar{width:60px;height:60px;border-width:2px;object-position:center}.pro-client-name{font-size:1rem}.pro-client-contact-list{gap:.7rem}.pro-contact-item{gap:.5rem;padding:.6rem .8rem;font-size:.95rem;border-radius:8px}.pro-contact-icon{width:1.2rem;height:1.2rem;font-size:.85rem}.pro-session-info-grid{gap:.7rem}.pro-info-card{gap:.6rem;padding:.7rem;border-radius:8px}.pro-info-icon{width:1.2rem;height:1.2rem;font-size:.85rem}.pro-info-label{font-size:.8rem;margin-bottom:.1rem}.pro-info-value{font-size:.98rem}.pro-info-sub{font-size:.9rem}.pro-service-details{padding:.7rem .7rem .5rem;border-radius:8px}.pro-service-title{font-size:1rem;margin-bottom:.4rem}.pro-service-description{font-size:.95rem}.pro-notes-content{padding:.7rem .8rem;border-radius:8px;font-size:.95rem;margin-top:.3rem}.pro-modal-actions{gap:.7rem;padding-top:1.1rem;margin-top:1.1rem}.pro-modal-btn{gap:.4rem;padding:.7rem 1.1rem;border-radius:8px;font-size:.95rem}@media (max-width: 700px){.pro-modal{max-width:99vw}.pro-modal-header,.modal-title-section{gap:.7rem}.pro-modal-content{padding:.4rem .1rem .1rem}.pro-section{padding:.2rem .2rem .1rem}}@media (max-width: 480px){.pro-modal{border-radius:8px}.modal-accent-bar{border-radius:8px 8px 0 0}.pro-modal-header{border-radius:8px 8px 0 0;padding:.7rem .5rem .4rem}.pro-modal-content,.pro-section{padding:.05rem}}.pro-modal{background:#f9fafb;border-radius:22px;max-width:600px;width:100%;height:90vh;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 18px 48px #10b98126,0 2px 8px #00000014;position:relative;border:1.5px solid #e2e8f0;animation:proModalSlideUp .35s cubic-bezier(.4,1.4,.6,1) 1}.pro-modal-header{padding:1.2rem 1.5rem .7rem;border-radius:22px 22px 0 0;position:sticky;top:0;z-index:2;background:#f9fafb}.pro-modal-content{flex:1 1 auto;min-height:0;overflow-y:auto;padding:1.1rem 1.2rem 1rem;scrollbar-width:thin;scrollbar-color:#e2e8f0 #f9fafb}.pro-modal-actions,.pro-modal-btns,.modal-actions{position:sticky;bottom:0;z-index:2;background:#f9fafb;padding-bottom:.5rem;margin-bottom:-.5rem}@media (max-width: 700px){.pro-modal{max-width:99vw}.pro-modal-header,.modal-title-section{gap:.7rem}.pro-modal-content{padding:.7rem .3rem .3rem}.pro-section{padding:.5rem .5rem .3rem}}@media (max-width: 480px){.pro-modal{border-radius:8px}.modal-accent-bar{border-radius:8px 8px 0 0}.pro-modal-header{border-radius:8px 8px 0 0;padding:.7rem .5rem .4rem}.pro-modal-content{padding:.2rem}.pro-section{padding:.2rem .2rem .1rem}}.pro-modal{background:linear-gradient(135deg,#f9fafb 80%,#e0f2fe);border-radius:18px;max-width:480px;width:100%;height:90vh;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 40px #10b98121,0 2px 8px #00000014;border:1.5px solid #e2e8f0;animation:proModalSlideUp .35s cubic-bezier(.4,1.4,.6,1) 1}.modal-accent-bar{height:4px;border-radius:18px 18px 0 0;margin-bottom:-4px}.pro-modal-header{padding:.7rem 1rem .5rem;border-radius:18px 18px 0 0;position:sticky;top:0;z-index:2;background:inherit}.modal-title{font-size:1.1rem;font-weight:800}.status-pill{font-size:.85rem;padding:.2rem .7rem}.pro-modal-close{width:30px;height:30px;font-size:1rem;margin-left:.7rem}.pro-modal-content{flex:1 1 auto;min-height:0;overflow-y:auto;padding:.7rem .7rem .5rem;scrollbar-width:thin;scrollbar-color:#e2e8f0 #f9fafb}.pro-section{margin-bottom:.7rem;border-radius:8px;background:#fff;box-shadow:0 1px 4px #10b98108;border:1px solid #e2e8f0;padding:.7rem .7rem .5rem}.pro-section-header{gap:.4rem;margin-bottom:.4rem;padding-bottom:.2rem;border-bottom:1px solid #f1f5f9}.pro-section-icon{width:1.1rem;height:1.1rem;font-size:.8rem}.pro-section-title{font-size:.85rem}.pro-client-info-grid{gap:.7rem}.pro-client-avatar-block{min-width:60px}.pro-avatar-ring{padding:2px;margin-bottom:.2rem}.pro-client-avatar{width:38px;height:38px;border-width:1.5px;object-position:center}.pro-client-name{font-size:.95rem}.pro-client-contact-list{gap:.4rem}.pro-contact-item{gap:.3rem;padding:.4rem .5rem;font-size:.85rem;border-radius:6px}.pro-contact-icon{width:.9rem;height:.9rem;font-size:.7rem}.pro-session-info-grid{display:flex;flex-direction:column;gap:.5rem}.pro-info-card{gap:.4rem;padding:.5rem;border-radius:6px}.pro-info-icon{width:.9rem;height:.9rem;font-size:.7rem}.pro-info-label{font-size:.7rem;margin-bottom:.05rem}.pro-info-value{font-size:.85rem}.pro-info-sub{font-size:.8rem}.pro-service-details{padding:.5rem .5rem .3rem;border-radius:6px}.pro-service-title{font-size:.9rem;margin-bottom:.2rem}.pro-service-description{font-size:.85rem}.pro-notes-content{padding:.5rem;border-radius:6px;font-size:.85rem;margin-top:.2rem}.pro-modal-actions{gap:.4rem;padding-top:.7rem;margin-top:.7rem;position:sticky;bottom:0;z-index:2;background:inherit}.pro-modal-btn{gap:.3rem;padding:.5rem .7rem;border-radius:6px;font-size:.85rem}@media (max-width: 700px){.pro-modal{max-width:99vw}.pro-modal-header,.modal-title-section{gap:.5rem}.pro-modal-content{padding:.4rem .1rem .1rem}.pro-section{padding:.2rem .2rem .1rem}}@media (max-width: 480px){.pro-modal{border-radius:6px}.modal-accent-bar{border-radius:6px 6px 0 0}.pro-modal-header{border-radius:6px 6px 0 0;padding:.4rem .2rem .2rem}.pro-modal-content,.pro-section{padding:.05rem}}.athlete-dashboard-form-group{margin-bottom:1.5rem}.athlete-dashboard-form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#374151;font-size:.875rem}.athlete-dashboard-form-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:all .2s ease;background:#fff}.athlete-dashboard-form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.athlete-dashboard-form-input::placeholder{color:#9ca3af}.athlete-dashboard-loading-slots{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;font-size:.875rem}.athlete-dashboard-loading-spinner{width:16px;height:16px;border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.athlete-dashboard-no-slots{padding:.75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem;text-align:center}.athlete-dashboard-modal-btn.danger{background:#dc2626;color:#fff;border-color:#dc2626}.athlete-dashboard-modal-btn.danger:hover{background:#b91c1c;border-color:#b91c1c}.future-indicator{color:#f59e0b;font-size:.75rem;font-weight:500;margin-left:.25rem}.package-badge{display:inline-block;background:#3b82f6;color:#fff;font-size:.625rem;font-weight:600;padding:.125rem .375rem;border-radius:4px;margin-left:.5rem;text-transform:uppercase;letter-spacing:.025em}.session-badges{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.service-badge{display:inline-block;background:#e0f2fe;color:#0369a1;font-size:.625rem;font-weight:600;padding:.125rem .375rem;border-radius:4px;text-transform:uppercase;letter-spacing:.025em}.packages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem;margin-top:1.5rem}.packages-overview{display:flex;flex-direction:column;gap:2.5rem}.group-packages-section{border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:2rem}.group-packages-header{margin-bottom:1.75rem}.group-packages-header h2{margin:0 0 .5rem;font-size:1.75rem;font-weight:700;color:#0f172a}.group-packages-header p{margin:0;color:#475569;font-size:.95rem;line-height:1.6}.group-packages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:1.5rem}.group-package-card{background:#fff;border-radius:12px;border:1px solid #dbeafe;box-shadow:0 2px 10px #0f172a14;display:flex;flex-direction:column;overflow:hidden}.group-package-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:1.5rem 1.75rem 1.25rem;border-bottom:1px solid #e2e8f0;background:linear-gradient(180deg,#eff6ff,#fff)}.group-package-header-text{flex:1}.group-package-title{margin:0 0 .5rem;font-size:1.3rem;font-weight:700;color:#1e3a8a;letter-spacing:-.01em}.group-package-description{margin:0;color:#475569;line-height:1.55;font-size:.95rem}.group-package-capacity{min-width:150px;text-align:center;background:#dbeafe;border:1px solid #bfdbfe;border-radius:12px;padding:.75rem 1rem}.capacity-count{display:block;font-size:1.35rem;font-weight:700;color:#1d4ed8;margin-bottom:.25rem}.capacity-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#1e40af;font-weight:600}.group-package-meta{padding:1.25rem 1.75rem}.group-package-detail-list{margin:0;padding-left:1.25rem;list-style:disc;display:grid;gap:.45rem;color:#1e293b;font-size:.95rem}.group-package-detail-list li{line-height:1.5}.group-package-roster{padding:1.5rem 1.75rem 1.75rem;background:#f1f5f9;border-top:1px solid #e2e8f0}.roster-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;gap:1rem}.roster-title{margin:0;font-size:1.05rem;font-weight:700;color:#0f172a}.roster-summary{font-size:.85rem;font-weight:600;color:#1d4ed8;background:#e0f2fe;border-radius:999px;padding:.35rem .75rem;border:1px solid #bfdbfe;text-transform:uppercase;letter-spacing:.08em}.roster-summary-open{color:#0f766e;background:#d1fae5;border-color:#99f6e4}.roster-summary-full{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.roster-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem;max-height:260px;overflow-y:auto;padding-right:.5rem}.roster-list::-webkit-scrollbar{width:6px}.roster-list::-webkit-scrollbar-track{background:#e2e8f0;border-radius:999px}.roster-list::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:999px}.roster-list:hover::-webkit-scrollbar-thumb{background:#64748b}.roster-item{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:.85rem 1rem;box-shadow:0 1px 4px #0f172a0d}.roster-avatar{width:48px;height:48px;border-radius:50%;background:#bfdbfe;color:#1e3a8a;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.roster-avatar img{width:100%;height:100%;object-fit:cover}.roster-info{flex:1;min-width:0}.roster-name{font-size:1rem;font-weight:600;color:#0f172a;margin:0}.roster-subtext{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.35rem;align-items:center}.roster-status-pill{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.roster-status-active{background:#dcfce7;color:#166534}.roster-status-completed{background:#dbeafe;color:#1e40af}.roster-status-cancelled{background:#fee2e2;color:#b91c1c}.roster-status-expired{background:#e2e8f0;color:#475569}.roster-sessions,.roster-joined{font-size:.75rem;color:#475569;font-weight:500}.roster-action-btn{border:none;background:#1d4ed8;color:#fff;padding:.5rem .9rem;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease}.roster-action-btn:hover{background:#1e40af;transform:translateY(-1px)}.roster-action-btn:disabled{background:#cbd5f5;color:#fff;cursor:not-allowed;transform:none}.roster-empty{background:#fff;border:1px dashed #94a3b8;border-radius:12px;padding:1.25rem;text-align:center;color:#475569;font-size:.9rem}.individual-packages-section{display:flex;flex-direction:column;gap:1.5rem}.individual-packages-header h2{margin:0 0 .35rem;font-size:1.5rem;font-weight:700;color:#0f172a}.individual-packages-header p{margin:0;color:#64748b;font-size:.9rem}@media (max-width: 768px){.packages-grid{grid-template-columns:1fr;gap:1rem}.package-card{min-height:auto}.package-stats{grid-template-columns:1fr 1fr;gap:.4rem}.group-packages-section{padding:1.5rem}.group-packages-grid{grid-template-columns:1fr}.group-package-header{flex-direction:column}.group-package-capacity{width:100%}.roster-item{flex-direction:column;align-items:flex-start}.roster-action-btn{align-self:flex-start}}.package-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;border:1px solid #e5e7eb;overflow:hidden;transition:all .2s ease;max-width:420px;min-height:auto;display:flex;flex-direction:column}.package-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.package-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.25rem .75rem;border-bottom:1px solid #f3f4f6;background:#fff}.package-trainer-info{display:flex;align-items:center;gap:.75rem}.package-trainer-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;background:#e5e7eb;display:flex;align-items:center;justify-content:center;flex-shrink:0}.package-trainer-avatar-image{width:100%;height:100%;object-fit:cover}.package-trainer-initials{font-size:1.125rem;font-weight:600;color:#6b7280}.package-trainer-name{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .25rem}.package-trainer-specialty{font-size:.875rem;color:#6b7280;margin:0}.package-status{padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.package-status-active,.package-status-completed{background:#dcfce7;color:#166534}.package-status-cancelled{background:#fee2e2;color:#dc2626}.package-status-expired{background:#f3f4f6;color:#6b7280}.package-card-body{padding:1.1rem 1.25rem 1.75rem;flex:1;display:flex;flex-direction:column;gap:1.25rem;min-height:0}.package-info{margin-bottom:0}.package-name{font-size:1.1rem;font-weight:700;color:#111827;margin:0 0 .25rem;line-height:1.3}.package-description{font-size:.8rem;color:#6b7280;line-height:1.4;margin:0}.package-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;margin-bottom:0;flex:0 0 auto}.package-stat{display:flex;flex-direction:column;gap:.25rem;padding:.5rem;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0;min-height:60px}.package-stat-label{font-size:.65rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;line-height:1.2}.package-stat-value{font-size:.8rem;font-weight:700;color:#1e293b;line-height:1.2}.package-details{display:none}.package-detail{display:flex;flex-direction:column;align-items:center;gap:.25rem}.package-detail-label{font-size:.65rem;font-weight:400;color:#9ca3af;text-transform:uppercase;letter-spacing:.025em}.package-detail-value{font-size:.75rem;font-weight:500;color:#374151}.package-card-footer{padding:1.35rem 1.25rem 1.5rem;border-top:1px solid #f3f4f6;background:#fafbfc;margin-top:auto;flex-shrink:0}body[data-theme=light] .package-card-footer{background:linear-gradient(180deg,#f0fdf4,#dcfce7);border-top:1px solid #bbf7d0}body[data-theme=light] .package-card-footer .package-view-btn{width:100%;padding:.7rem 1.4rem;background:#16a34a!important;color:#fff!important;border:1px solid #15803d!important;border-radius:999px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;box-shadow:0 12px 28px #16a34a40!important;text-shadow:0 1px 2px rgba(0,0,0,.18);margin-top:0}body[data-theme=light] .package-card-footer .package-view-btn:hover{background:#15803d!important;border-color:#166534!important;transform:translateY(-1px);box-shadow:0 16px 34px #15803d59!important}.session-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.session-modal-content{background:var(--tf-surface);border-radius:16px;box-shadow:0 25px 50px -12px #00000040;max-width:700px;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.session-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.75rem 2rem;border-bottom:none;background:linear-gradient(135deg,#2e7dff,#1e5fd8);border-radius:16px 16px 0 0}.session-modal-title{font-size:1.375rem;font-weight:700;color:#fff;margin:0;letter-spacing:-.01em}.session-modal-close{background:#ffffff26;border:none;font-size:1.75rem;color:#fff;cursor:pointer;padding:0;border-radius:8px;transition:all .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1}.session-modal-close:hover{background:#ffffff40;transform:scale(1.05)}.session-modal-body{flex:1;overflow-y:auto;padding:2rem;background:var(--tf-surface)}.session-modal-info-card{background:#fff;border-radius:12px;padding:1.75rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000000a;border:1px solid #e5e7eb}body:not([data-theme=dark]) .session-modal-content,body:not([data-theme=dark]) .session-modal-body,body:not([data-theme=dark]) .session-modal-info-card,body:not([data-theme=dark]) .session-modal-list,body:not([data-theme=dark]) .session-modal-item{background-color:#fff}body:not([data-theme=dark]) .session-modal-list{border:1px solid rgba(148,163,184,.16);box-shadow:0 4px 14px #0f172a0a}body:not([data-theme=dark]) .session-modal-item{box-shadow:0 6px 18px #0f172a0f}body:not([data-theme=dark]) .session-modal-info-value--sessions.complete{color:#15803d}body:not([data-theme=dark]) .session-modal-info-value--sessions.in-progress{color:#000}body[data-theme=dark] .session-modal-info-value--sessions.complete{color:#34d399}body[data-theme=dark] .session-modal-info-value--sessions.in-progress{color:#60a5fa}body:not([data-theme=dark]) .session-modal-header{background:var(--tf-surface);border-bottom:1px solid rgba(15,23,42,.08)}body:not([data-theme=dark]) .session-modal-title{color:var(--tf-text-primary)}body:not([data-theme=dark]) .session-modal-close{color:var(--tf-text-secondary);background:#0f172a0f}body:not([data-theme=dark]) .session-modal-close:hover{background:#3b82f626;color:#1d4ed8}.session-modal-trainer-section{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #f3f4f6}.session-modal-trainer-avatar{width:72px;height:72px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#e0f2fe,#bae6fd);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:3px solid #f0f9ff;box-shadow:0 4px 12px #2e7dff26}.session-modal-trainer-avatar-image{width:100%;height:100%;object-fit:cover}.session-modal-trainer-initials{font-size:1.75rem;font-weight:700;color:#2e7dff}.session-modal-trainer-info{flex:1}.session-modal-trainer-name{font-size:1.25rem;font-weight:700;color:#111827;margin:0 0 .375rem;letter-spacing:-.01em}.session-modal-trainer-role{font-size:.9375rem;color:#64748b;margin:0;font-weight:500}.session-modal-package-info{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.session-modal-info-row{display:flex;flex-direction:column;gap:.5rem}.session-modal-info-label{font-size:.8125rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.session-modal-info-value{font-size:1rem;font-weight:700;color:#111827;letter-spacing:-.01em}.session-modal-schedule-section{margin-top:0}.session-modal-schedule-title{font-size:1.125rem;font-weight:700;color:#111827;margin:0 0 1.25rem;letter-spacing:-.01em}.session-modal-list{max-height:400px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 1px 3px #0000000d}.session-modal-item{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #f3f4f6;gap:1.5rem;transition:background-color .15s ease}.session-modal-item:hover{background:#fafbfc}.session-modal-item:last-child{border-bottom:none}.session-modal-item-main{flex:1;display:flex;align-items:center;gap:2rem;min-width:0}.session-modal-item-date-section{flex:1;min-width:0}.session-modal-day-name{font-size:.9375rem;font-weight:700;color:#111827;margin-bottom:.375rem;letter-spacing:-.01em}.session-modal-full-date{font-size:.875rem;color:#64748b;font-weight:500}.session-modal-item-time-section{flex-shrink:0;min-width:140px}.session-modal-time-range{font-size:.9375rem;font-weight:600;color:#111827;white-space:nowrap}.session-modal-item-status{flex-shrink:0}.session-modal-status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.session-modal-status-indicator{width:.625rem;height:.625rem;border-radius:50%;background:currentColor;box-shadow:0 0 0 2px #0f172a14;transition:background-color .2s ease,box-shadow .2s ease}.session-modal-status-badge.completed .session-modal-status-indicator{background:#16a34a;box-shadow:0 0 0 2px #16653433}body[data-theme=dark] .session-modal-status-indicator{box-shadow:0 0 0 2px #0f172a40}body[data-theme=dark] .session-modal-status-badge.completed .session-modal-status-indicator{background:#34d399;box-shadow:0 0 0 2px #34d39938}.session-modal-status-badge.completed{background:#dcfce7;color:#166534}.session-modal-status-badge.upcoming{background:#dbeafe;color:#1e40af}.session-modal-status-badge.past{background:#f3f4f6;color:#6b7280}.session-modal-footer{padding:1.5rem 2rem;border-top:1px solid #e5e7eb;background:#fff;display:flex;justify-content:center;gap:.75rem}.session-modal-btn{padding:.875rem 2rem;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid transparent;min-width:120px}.session-modal-btn.secondary{background:#f3f4f6;color:#374151;border-color:#e5e7eb}.session-modal-btn.secondary:hover{background:#e5e7eb;border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.session-modal-btn.primary{background:#3b82f6;color:#fff;border-color:#3b82f6}.session-modal-btn.primary:hover{background:#2563eb;border-color:#1d4ed8}@media (max-width: 768px){.packages-grid{grid-template-columns:1fr;gap:1rem}.package-stats{grid-template-columns:1fr}.package-details{flex-direction:column;gap:.75rem}.session-modal-content{margin:.5rem;max-height:95vh;max-width:calc(100% - 1rem)}.session-modal-header{padding:1.25rem 1.5rem}.session-modal-title{font-size:1.125rem}.session-modal-body{padding:1.5rem}.session-modal-info-card{padding:1.25rem}.session-modal-trainer-section{gap:1rem;margin-bottom:1.25rem;padding-bottom:1.25rem}.session-modal-trainer-avatar{width:60px;height:60px}.session-modal-trainer-name{font-size:1.125rem}.session-modal-package-info{grid-template-columns:1fr;gap:1rem}.session-modal-item{flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem}.session-modal-item-main{flex-direction:column;align-items:flex-start;gap:.75rem;width:100%}.session-modal-item-time-section{width:100%;min-width:0}.session-modal-item-status{width:100%}.session-modal-status-badge{width:100%;justify-content:center;text-align:center}.session-modal-footer{padding:1.25rem 1.5rem}}.athlete-dashboard-modal-header{background:linear-gradient(135deg,#2563eb,#1e40af)!important;color:#fff!important;border-radius:16px 16px 0 0}.athlete-dashboard-modal-header h3{color:#fff!important}.athlete-dashboard-modal-close{color:#fff!important;background:#fff3!important}.athlete-dashboard-modal-close:hover{background:#ffffff4d!important;color:#fff!important}body[data-theme=light] .athlete-dashboard-modal-close{background:#fffffff2!important;color:#0f172a!important;border:1px solid rgba(15,23,42,.12)!important;box-shadow:0 8px 20px #0f172a1f}body[data-theme=light] .athlete-dashboard-modal-close:hover{background:#3b82f61f!important;color:#1d4ed8!important;border-color:#1d4ed82e!important}body[data-theme=light] .athlete-dashboard-modal-close:focus-visible{outline:2px solid rgba(59,130,246,.45);outline-offset:2px}.athlete-dashboard-payment-status-text{font-size:.75rem;font-weight:600;text-align:center;color:#065f46;background:#d1fae5;padding:4px 12px;border-radius:20px;display:inline-block}.athlete-dashboard-payment-status-text.pending{color:#92400e;background:#fef3c7}.athlete-dashboard-payment-status-text.unpaid{color:#991b1b;background:#fee2e2}.athlete-dashboard-detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #f1f5f9}.athlete-dashboard-detail-row span:first-child{color:#64748b;font-weight:500}.athlete-dashboard-detail-row span:last-child{color:#1e293b;font-weight:600}.athlete-dashboard-status-badge.pending{background:#fef3c7;color:#92400e}.athlete-dashboard-status-badge.confirmed{background:#d1fae5;color:#065f46}.athlete-dashboard-status-badge.completed{background:#dbeafe;color:#1e40af}.athlete-dashboard-status-badge.cancelled{background:#fee2e2;color:#991b1b}body[data-theme=dark] .sessions-page-container{background:#0b1120;color:#e2e8f0}body[data-theme=dark] .loading-spinner{border-color:#94a3b840;border-top-color:#3b82f6}body[data-theme=dark] .loading-message{color:#e2e8f0bf}body[data-theme=dark] .sessions-header{background:linear-gradient(135deg,#1d4ed8,#0f172a);color:#f8fafc;border:1px solid rgba(148,163,184,.25);box-shadow:0 18px 45px #080f1e99}body[data-theme=dark] .sessions-header:before{background:#94a3b81f}body[data-theme=dark] .header-text h1{color:#f8fafc}body[data-theme=dark] .header-text p{color:#e2e8f0c7!important}body[data-theme=dark] .schedule-session-btn{background:#94a3b829;border-color:#94a3b847;color:#f8fafc;box-shadow:0 10px 28px #080f1e8c}body[data-theme=dark] .schedule-session-btn:hover{background:#94a3b83d}body[data-theme=dark] .sessions-stats-overview .stat-card,body[data-theme=dark] .stat-card{background:#0f172af2;border:1px solid rgba(148,163,184,.18);box-shadow:0 16px 42px #080f1eb3}body[data-theme=dark] .stat-card:before{background:linear-gradient(90deg,#2563eb99,#0e7490a6)}body[data-theme=dark] .stat-icon{background:#2563eb2e;color:#60a5fa;border-color:#1e40af66}body[data-theme=dark] .stat-icon--upcoming{background:#3b82f629;color:#93c5fd;border-color:#3b82f673}body[data-theme=dark] .stat-icon--completed{background:#22c55e29;color:#6ee7b7;border-color:#22c55e73}body[data-theme=dark] .stat-icon--today{background:#2563eb2e;color:#60a5fa;border-color:#2563eb7a}body[data-theme=dark] .stat-icon--cancelled{background:#ef444429;color:#fca5a5;border-color:#ef444473}body[data-theme=dark] .stat-value{color:#f8fafc}body[data-theme=dark] .stat-label{color:#cbd5e1b8}body[data-theme=dark] .sessions-controls{border-bottom-color:#94a3b833;background:#0f172aeb;box-shadow:0 14px 36px #080f1ea6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}body[data-theme=dark] .search-container{background:#090e1cf0;border-color:#94a3b847;box-shadow:none}body[data-theme=dark] .sessions-search-input{color:#e2e8f0}body[data-theme=dark] .sessions-search-input,body[data-theme=dark] .sessions-status-filter{background:transparent!important;border-color:#94a3b852;color:#e2e8f0;box-shadow:none}body[data-theme=dark] .sessions-search-input::placeholder{color:#94a3b88c}body[data-theme=dark] .sessions-status-filter:focus,body[data-theme=dark] .sessions-search-input:focus{border-color:#3b82f6a6;box-shadow:0 0 0 3px #2563eb3d}body[data-theme=dark] .sessions-content{background:#0f172af2;border:1px solid rgba(148,163,184,.2);box-shadow:0 18px 48px #080f1eb3}body[data-theme=dark] .sessions-section-title{color:#f8fafc}body[data-theme=dark] .sessions-section-subtitle{color:#cbd5e1b3}body[data-theme=dark] .session-card{background:#0f172af0;border:1px solid rgba(148,163,184,.18);box-shadow:0 16px 42px #080f1ea6}body[data-theme=dark] .session-card:hover{border-color:#60a5fa73;box-shadow:0 22px 56px #080f1ec7}body[data-theme=dark] .session-card:before{background:linear-gradient(180deg,#2563eb,#1d4ed8)}body[data-theme=dark] .session-actions{border-top-color:#94a3b82e}body[data-theme=dark] .session-client-name,body[data-theme=dark] .time-text,body[data-theme=dark] .meta-value{color:#f8fafc}body[data-theme=dark] .session-type,body[data-theme=dark] .meta-label{color:#cbd5e1b3}body[data-theme=dark] .session-type{background:#2563eb24;border-color:#2563eb52}body[data-theme=dark] .session-details{background:#080d1ce6;border-color:#94a3b82e}body[data-theme=dark] .time-icon{color:#94a3b8bf}body[data-theme=dark] .time-secondary{color:#94a3b8a6}body[data-theme=dark] .session-status-badge.pending{background:#facc1529;color:#facc15;border-color:#facc1573}body[data-theme=dark] .session-status-badge.confirmed,body[data-theme=dark] .session-status-badge.completed{background:#22c55e2e;color:#34d399;border-color:#22c55e73}body[data-theme=dark] .session-status-badge.cancelled{background:#ef44442e;color:#fca5a5;border-color:#ef444473}body[data-theme=dark] .empty-sessions{background:linear-gradient(135deg,#0f172af5,#090e1ce6);color:#f8fafc}body[data-theme=dark] .empty-sessions p{color:#cbd5e1b3}body[data-theme=dark] .empty-icon{color:#60a5facc}body[data-theme=dark] .sessions-view-more-btn{box-shadow:0 14px 32px #2563eb66}body[data-theme=dark] .package-card,body[data-theme=dark] .group-package-card{background:#0f172af0;border:1px solid rgba(148,163,184,.2);box-shadow:0 18px 50px #080f1eb8}body[data-theme=dark] .package-card:hover,body[data-theme=dark] .group-package-card:hover{border-color:#60a5fa73;box-shadow:0 24px 60px #080f1ecc}body[data-theme=dark] .package-card-header{background:linear-gradient(180deg,#0f172af5,#080d1ce6);border-bottom:1px solid rgba(148,163,184,.25)}body[data-theme=dark] .package-trainer-avatar{background:#2563eb2e;border:1px solid rgba(37,99,235,.35);box-shadow:0 8px 22px #080f1e8c}body[data-theme=dark] .package-trainer-initials{color:#bfdbfe}body[data-theme=dark] .package-card-body{background:#090e1ceb}body[data-theme=dark] .package-stats .package-stat{background:#080d1ce0;border:1px solid rgba(148,163,184,.22);box-shadow:inset 0 0 0 1px #2563eb14}body[data-theme=dark] .package-card-footer{background:#060c18f0;border-top:1px solid rgba(148,163,184,.22)}body[data-theme=dark] .package-view-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:1px solid rgba(96,165,250,.45);box-shadow:0 14px 38px #2563eb78;color:#f9fafb!important}body[data-theme=dark] .individual-packages-section{background:#090e1ceb;border-radius:16px;border:1px solid rgba(148,163,184,.22);padding:1.75rem;box-shadow:0 18px 46px #020617a6}body[data-theme=dark] .individual-packages-header h2{color:#f8fafc}body[data-theme=dark] .individual-packages-header p{color:#cbd5e1b8}body[data-theme=dark] .roster-action-btn{background:#2563eb;box-shadow:0 10px 28px #0f172aa6}body[data-theme=dark] .roster-action-btn:hover{background:#1d4ed8}body[data-theme=dark] .roster-action-btn:disabled{background:#334155bf;color:#e2e8f08c}body[data-theme=dark] .roster-empty{background:#080d1ce6;border-color:#94a3b852;color:#cbd5e1bf}body[data-theme=dark] .group-packages-header,body[data-theme=dark] .individual-packages-header{color:#f8fafc}body[data-theme=dark] .group-packages-header p,body[data-theme=dark] .individual-packages-header p{color:#cbd5e1b8}body[data-theme=dark] .package-name,body[data-theme=dark] .package-trainer-name{color:#f8fafc}body[data-theme=dark] .package-description,body[data-theme=dark] .package-trainer-specialty,body[data-theme=dark] .package-detail-value,body[data-theme=dark] .package-stat-label{color:#cbd5e1b8}body[data-theme=dark] .package-stat-value{color:#60a5fa}body[data-theme=dark] .package-status-active{background:#22c55e29;color:#34d399}body[data-theme=dark] .package-status-completed{background:#3b82f629;color:#93c5fd}body[data-theme=dark] .package-status-cancelled{background:#ef444429;color:#fca5a5}body[data-theme=dark] .package-status-expired{background:#64748b2e;color:#e2e8f0bf}body[data-theme=dark] .package-view-btn{box-shadow:0 14px 38px #2563eb78}body[data-theme=dark] .session-modal-overlay{background:#030712bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}body[data-theme=dark] .session-modal{background:transparent}body[data-theme=dark] .session-modal-content{background:#0f172af7;color:#e2e8f0;border:1px solid rgba(148,163,184,.22);box-shadow:0 24px 70px #080f1ed9}body[data-theme=dark] .session-modal-header{border-bottom-color:#94a3b82e}body[data-theme=dark] .session-modal-title{color:#f8fafc}body[data-theme=dark] .session-modal-close{color:#e2e8f0c7}body[data-theme=dark] .session-modal-close:hover{background:#2563eb38;color:#f8fafc}body[data-theme=dark] .session-modal-body{background:transparent}body[data-theme=dark] .session-modal-info-card{background:#080d1ceb;border-color:#94a3b833}body[data-theme=dark] .session-modal-trainer-name{color:#f8fafc}body[data-theme=dark] .session-modal-trainer-role{color:#cbd5e1b3}body[data-theme=dark] .session-modal-info-label{color:#94a3b8b3}body[data-theme=dark] .session-modal-info-value,body[data-theme=dark] .session-modal-schedule-title,body[data-theme=dark] .session-modal-day-name,body[data-theme=dark] .session-modal-time-range{color:#f8fafc}body[data-theme=dark] .session-modal-full-date{color:#cbd5e1b8}body[data-theme=dark] .session-modal-list{background:#090e1cf5;border-color:#94a3b838;box-shadow:inset 0 0 0 1px #2563eb1a}body[data-theme=dark] .session-modal-item{background:linear-gradient(165deg,#0f172aeb,#080d1cd9);border-bottom-color:#94a3b829;box-shadow:0 10px 24px #02061799}body[data-theme=dark] .session-modal-item:hover{background:linear-gradient(165deg,#1d4ed847,#0f172aeb);box-shadow:0 18px 38px #020617b8}body[data-theme=dark] .session-modal-status-badge.completed{background:#22c55e33;color:#34d399}body[data-theme=dark] .session-modal-status-badge.upcoming{background:#3b82f633;color:#60a5fa}body[data-theme=dark] .session-modal-status-badge.past{background:#64748b38;color:#e2e8f0bf}body[data-theme=dark] .session-modal-footer{background:#080d1cf0;border-top-color:#94a3b82e}body[data-theme=dark] .session-modal-btn.secondary{background:#94a3b829;color:#e2e8f0;border-color:#94a3b847}body[data-theme=dark] .session-modal-btn.secondary:hover{background:#94a3b838;border-color:#94a3b85c;box-shadow:0 14px 32px #080f1e99}body[data-theme=dark] .session-modal-btn.primary{box-shadow:0 18px 42px #2563eb85}body[data-theme=dark] .athlete-dashboard-modal-content{background:#0f172af7!important;border:1px solid rgba(148,163,184,.25);color:#e2e8f0}body[data-theme=dark] .athlete-dashboard-modal-body{background:transparent}body[data-theme=dark] .athlete-dashboard-modal-header h3{color:#f8fafc}body[data-theme=dark] .athlete-dashboard-modal-header{background:linear-gradient(135deg,#1e3a8a,#0f172a)!important;border-bottom:1px solid rgba(148,163,184,.25)}body[data-theme=dark] .athlete-dashboard-detail-row{border-bottom-color:#94a3b82e}body[data-theme=dark] .athlete-dashboard-detail-row span:first-child{color:#cbd5e1b3}body[data-theme=dark] .athlete-dashboard-detail-row span:last-child{color:#f8fafc}body[data-theme=dark] .athlete-dashboard-payment-status-text{background:#22c55e2e;color:#34d399}body[data-theme=dark] .athlete-dashboard-payment-status-text.pending{background:#facc152e;color:#facc15}body[data-theme=dark] .athlete-dashboard-payment-status-text.unpaid{background:#ef44442e;color:#fca5a5}body[data-theme=dark] .athlete-dashboard-status-badge.pending{background:#facc1529;color:#facc15}body[data-theme=dark] .athlete-dashboard-status-badge.confirmed,body[data-theme=dark] .athlete-dashboard-status-badge.completed{background:#3b82f62e;color:#60a5fa}body[data-theme=dark] .athlete-dashboard-status-badge.cancelled{background:#ef44442e;color:#fca5a5}body[data-theme=dark] .athlete-dashboard-modal-footer{background:#090e1cf0;border-top-color:#94a3b833}body[data-theme=dark] .athlete-dashboard-trainer-info-modal{background:#090e1ceb;border:1px solid rgba(148,163,184,.22);box-shadow:0 16px 40px #020617a6}body[data-theme=dark] .athlete-dashboard-trainer-details-modal h4{color:#f8fafc}body[data-theme=dark] .athlete-dashboard-trainer-details-modal p{color:#cbd5e1bf}body[data-theme=dark] .athlete-dashboard-notes-section{background:#080d1ceb;border:1px solid rgba(148,163,184,.2);box-shadow:0 16px 38px #02061799}body[data-theme=dark] .athlete-dashboard-notes-section h4{color:#f8fafc}body[data-theme=dark] .athlete-dashboard-notes-section p{color:#cbd5e1c7}body[data-theme=dark] .modal-header{background:linear-gradient(135deg,#0f172a,#020617);color:#f8fafc;border-bottom:1px solid rgba(148,163,184,.25);box-shadow:0 12px 28px #02061799}body[data-theme=dark] .modal-header:after{background:linear-gradient(90deg,transparent,rgba(148,163,184,.4),transparent)}body[data-theme=dark] .modal-title-section h2,body[data-theme=dark] .modal-title{color:#f8fafc}body[data-theme=dark] .status-badge{border-color:#94a3b859;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}body[data-theme=dark] .status-badge.pending{background:#facc1529;color:#facc15}body[data-theme=dark] .status-badge.confirmed{background:#22c55e29;color:#34d399}body[data-theme=dark] .status-badge.completed{background:#3b82f629;color:#93c5fd}body[data-theme=dark] .status-badge.cancelled{background:#ef444429;color:#fca5a5}body[data-theme=dark] .modal-close-btn,body[data-theme=dark] .pro-modal-close{background:#0f172ad9;color:#e2e8f0cc;box-shadow:0 10px 24px #0206178c}body[data-theme=dark] .modal-close-btn:hover,body[data-theme=dark] .pro-modal-close:hover{background:#2563eb40;color:#f8fafc}body[data-theme=dark] .modal-content,body[data-theme=dark] .pro-modal-content{background:#080d1cf0}body[data-theme=dark] .section-header{border-bottom-color:#94a3b838}body[data-theme=dark] .section-icon,body[data-theme=dark] .pro-section-icon,body[data-theme=dark] .pro-contact-icon,body[data-theme=dark] .pro-info-icon{background:linear-gradient(135deg,#1d4ed8,#0f172a);color:#f8fafc;box-shadow:0 10px 24px #0f172a99}body[data-theme=dark] .section-header h3,body[data-theme=dark] .pro-section-title,body[data-theme=dark] .info-label,body[data-theme=dark] .service-title,body[data-theme=dark] .pro-client-name,body[data-theme=dark] .client-name{color:#f8fafc}body[data-theme=dark] .contact-item{background:#090e1ceb;border-color:#94a3b847;color:#e2e8f0}body[data-theme=dark] .contact-item span{color:#e2e8f0d9}body[data-theme=dark] .info-card,body[data-theme=dark] .pro-section,body[data-theme=dark] .service-details,body[data-theme=dark] .pro-contact-item,body[data-theme=dark] .pro-info-card,body[data-theme=dark] .pro-service-details,body[data-theme=dark] .pro-notes-card{background:#090e1ce6;border-color:#94a3b838;box-shadow:0 18px 42px #020617b3}body[data-theme=dark] .info-card:before,body[data-theme=dark] .pro-avatar-ring{background:linear-gradient(180deg,#1d4ed8,#0f172a)}body[data-theme=dark] .info-value,body[data-theme=dark] .pro-info-value,body[data-theme=dark] .pro-service-title,body[data-theme=dark] .session-modal-trainer-name{color:#f8fafc}body[data-theme=dark] .info-subtitle,body[data-theme=dark] .pro-info-sub,body[data-theme=dark] .service-description,body[data-theme=dark] .pro-service-description{color:#60a5facc}body[data-theme=dark] .athlete-dashboard-trainer-details-modal h4,body[data-theme=dark] .athlete-dashboard-session-details-modal h4,body[data-theme=dark] .session-modal-schedule-title{color:#f8fafc}body[data-theme=dark] .athlete-dashboard-trainer-details-modal p,body[data-theme=dark] .athlete-dashboard-session-details-modal span,body[data-theme=dark] .session-modal-info-label,body[data-theme=dark] .session-modal-schedule-title+p,body[data-theme=dark] .pro-service-text,body[data-theme=dark] .pro-contact-item{color:#cbd5e1bf}body[data-theme=dark] .athlete-dashboard-session-details-modal{background:#090e1ceb;border:1px solid rgba(148,163,184,.22)}body[data-theme=dark] .athlete-dashboard-trainer-avatar-circle-modal,body[data-theme=dark] .athlete-dashboard-trainer-avatar-placeholder-modal{background:linear-gradient(135deg,#1d4ed8,#0f172a);box-shadow:0 12px 30px #0f172a99}body[data-theme=dark] .athlete-dashboard-form-group label{color:#e2e8f0e0}body[data-theme=dark] .athlete-dashboard-form-input,body[data-theme=dark] .athlete-dashboard-modal-content textarea{background:#080d1ce6;border:1px solid rgba(148,163,184,.3);color:#f8fafc}body[data-theme=dark] .athlete-dashboard-form-input:focus,body[data-theme=dark] .athlete-dashboard-modal-content textarea:focus{border-color:#3b82f699;box-shadow:0 0 0 3px #2563eb40}body[data-theme=dark] .athlete-dashboard-form-input::placeholder,body[data-theme=dark] .athlete-dashboard-modal-content textarea::placeholder{color:#94a3b899}body[data-theme=dark] .athlete-dashboard-loading-slots{background:#090e1ceb;border-color:#94a3b840;color:#e2e8f0cc}body[data-theme=dark] .athlete-dashboard-loading-spinner{border-color:#94a3b840;border-top-color:#3b82f6}body[data-theme=dark] .athlete-dashboard-no-slots{background:#ef444429;border-color:#ef444452;color:#fca5a5}body[data-theme=dark] .athlete-dashboard-modal-btn.primary{background:linear-gradient(135deg,#2563eb,#1e3a8a);border-color:#2563eba6}body[data-theme=dark] .athlete-dashboard-modal-btn.danger{background:linear-gradient(135deg,#ef4444,#7f1d1d);border-color:#ef4444a6}body[data-theme=dark] .athlete-dashboard-modal-btn.secondary{background:#94a3b829;border-color:#94a3b847}body[data-theme=dark] .athlete-dashboard-modal-btn.secondary:hover{background:#94a3b840;border-color:#94a3b85c}body[data-theme=dark] .modal-actions,body[data-theme=dark] .pro-modal-actions{background:#080d1ceb;border-top:1px solid rgba(148,163,184,.2)}body[data-theme=dark] .modal-btn,body[data-theme=dark] .pro-modal-btn{background:#0f172ae6;border:1px solid rgba(148,163,184,.25);color:#f8fafc;box-shadow:0 12px 28px #02061799}body[data-theme=dark] .modal-btn.success,body[data-theme=dark] .pro-modal-btn.success{background:linear-gradient(135deg,#16a34a,#065f46);border-color:#22c55e73}body[data-theme=dark] .modal-btn.danger,body[data-theme=dark] .pro-modal-btn.danger{background:linear-gradient(135deg,#ef4444,#7f1d1d);border-color:#ef444480}body[data-theme=dark] .modal-btn.secondary,body[data-theme=dark] .pro-modal-btn.secondary{background:#94a3b829;border-color:#94a3b84d}body[data-theme=dark] .modal-btn:hover,body[data-theme=dark] .pro-modal-btn:hover{transform:translateY(-1px);box-shadow:0 16px 36px #020617b3}body[data-theme=dark] .group-packages-section{background:#090e1ceb;border:1px solid rgba(148,163,184,.22);box-shadow:0 18px 46px #020617a6}body[data-theme=dark] .group-packages-header h2{color:#f8fafc}body[data-theme=dark] .group-packages-header p{color:#cbd5e1b8}body[data-theme=dark] .group-package-header{background:linear-gradient(180deg,#0f172af2,#080d1ce6);border-bottom:1px solid rgba(148,163,184,.25)}body[data-theme=dark] .group-package-title{color:#f8fafc}body[data-theme=dark] .group-package-description{color:#cbd5e1b8}body[data-theme=dark] .group-package-capacity{background:#2563eb2e;border:1px solid rgba(37,99,235,.35);color:#bfdbfe}body[data-theme=dark] .capacity-count{color:#60a5fa}body[data-theme=dark] .capacity-label{color:#bfdbfed9}body[data-theme=dark] .group-package-meta{background:#080d1ce6}body[data-theme=dark] .group-package-detail-list{color:#e2e8f0c7}body[data-theme=dark] .group-package-roster{background:#060c18eb;border-top:1px solid rgba(148,163,184,.22)}body[data-theme=dark] .roster-title{color:#f8fafc}body[data-theme=dark] .roster-summary{background:#2563eb2e;border:1px solid rgba(37,99,235,.28);color:#bfdbfe}body[data-theme=dark] .roster-summary-open{background:#22c55e2e;border-color:#22c55e52;color:#bbf7d0}body[data-theme=dark] .roster-summary-full{background:#ef44442e;border-color:#ef444452;color:#fecaca}body[data-theme=dark] .roster-list::-webkit-scrollbar-track{background:#0f172aa6}body[data-theme=dark] .roster-list::-webkit-scrollbar-thumb{background:#475569cc}body[data-theme=dark] .roster-item{background:#080d1ceb;border:1px solid rgba(148,163,184,.24);box-shadow:0 12px 32px #02061799}body[data-theme=dark] .roster-item:hover{border-color:#60a5fa66;box-shadow:0 18px 42px #020617b8}body[data-theme=dark] .roster-name{color:#f8fafc}body[data-theme=dark] .roster-role,body[data-theme=dark] .roster-meta{color:#cbd5e1b8}body[data-theme=dark] .roster-avatar{background:#2563eb33;border:1px solid rgba(59,130,246,.35);color:#dbeafe;box-shadow:0 8px 20px #080f1e8c}body[data-theme=dark] .roster-subtext{color:#cbd5e1b8}body[data-theme=dark] .roster-status-pill{background:#94a3b829;border:1px solid rgba(148,163,184,.32);box-shadow:inset 0 0 0 1px #0f172a59}body[data-theme=dark] .roster-status-active{background:#22c55e33;border-color:#22c55e61;color:#bbf7d0}body[data-theme=dark] .roster-status-completed{background:#3b82f638;border-color:#3b82f666;color:#bfdbfe}body[data-theme=dark] .roster-status-cancelled{background:#ef444438;border-color:#ef444466;color:#fecaca}body[data-theme=dark] .roster-status-expired{background:#94a3b838;border-color:#94a3b866;color:#e2e8f0d1}body[data-theme=dark] .roster-sessions,body[data-theme=dark] .roster-joined{color:#cbd5e1b3}body[data-theme=dark] .package-card{background:linear-gradient(180deg,#090e1cfa,#060c18eb);border:1px solid rgba(99,102,241,.28);position:relative}body[data-theme=dark] .package-card:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:inherit;pointer-events:none;background:#3b82f614;mix-blend-mode:screen;z-index:0}body[data-theme=dark] .package-card>*{position:relative;z-index:1}body[data-theme=dark] .package-card-body{background:#040914e0}body[data-theme=dark] .package-info{border-bottom:1px solid rgba(59,130,246,.12);padding-bottom:.75rem}body[data-theme=dark] .package-stats{background:#0f172a99;border-radius:12px;padding:.75rem;border:1px solid rgba(59,130,246,.12);box-shadow:inset 0 0 20px #0e1e3a66}body[data-theme=dark] .package-stats .package-stat{background:linear-gradient(160deg,#1e40af38,#0f172acc 90%);border:1px solid rgba(59,130,246,.25);box-shadow:0 12px 24px #0206178c}body[data-theme=dark] .package-stat-label{color:#bfdbfecc}body[data-theme=dark] .package-stat-value{color:#e0f2fe}.payments-page{min-height:100vh;background:var(--tf-background);padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.payments-header-modern{background:linear-gradient(135deg,#3b82f6,#1e40af);border-radius:24px;padding:3rem;margin-bottom:2rem;box-shadow:0 20px 60px #3b82f64d;position:relative;overflow:hidden}.payments-header-modern:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:float 20s infinite}@keyframes float{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(-5%,-5%) rotate(180deg)}}.header-content-modern{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.header-content-modern h1{font-size:2.5rem;font-weight:800;color:#fff;margin:0 0 .5rem;letter-spacing:-.5px}.header-content-modern p{color:#ffffffe6;font-size:1.1rem;margin:0}.export-btn-modern{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.export-btn-modern:hover:not(:disabled){background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px);box-shadow:0 10px 30px #0003}.export-btn-modern:disabled{opacity:.6;cursor:not-allowed}.tabs-modern{display:flex;gap:1rem;margin-bottom:2rem}.tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;background:var(--tf-surface);border:2px solid var(--tf-border);border-radius:12px;color:var(--tf-text-secondary);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.tab-btn:hover{border-color:var(--tf-link);color:var(--tf-link);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f633}.tab-btn.active{background:linear-gradient(135deg,#3b82f6,#1e40af);color:#fff;border-color:transparent;box-shadow:0 4px 20px #3b82f64d}.overview-container{display:flex;flex-direction:column;gap:2rem}.stats-grid-modern{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.stat-card-modern{background:var(--tf-surface);border-radius:20px;padding:2rem;box-shadow:0 10px 30px #0f172a14;transition:all .3s ease;display:flex;gap:1.5rem;align-items:flex-start;border:1px solid var(--tf-border)}.stat-card-modern:hover{transform:translateY(-5px);box-shadow:0 20px 40px #00000026}.stat-card-modern .stat-icon-modern{background:#3b82f6}.stat-icon-modern{width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;flex-shrink:0}.stat-content-modern{flex:1}.stat-label{font-size:.875rem;font-weight:600;color:var(--tf-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .5rem}.stat-value-modern{font-size:2rem;font-weight:800;color:var(--tf-text-primary);margin:0 0 .5rem;letter-spacing:-1px}.stat-change-modern{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--tf-text-secondary)}.stat-change-modern.positive{color:#10b981}.stat-change-modern svg{font-size:.75rem}.transactions-modern{background:var(--tf-surface);border-radius:20px;padding:2rem;box-shadow:0 10px 30px #0f172a14}.section-header-modern{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.section-header-modern h2{font-size:1.75rem;font-weight:700;color:var(--tf-text-primary);margin:0}.transaction-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.search-box-modern{position:relative;display:flex;align-items:center}.search-box-modern svg{position:absolute;left:1rem;color:var(--tf-text-secondary)}.search-box-modern input{padding:.75rem 1rem .75rem 2.5rem;border:2px solid var(--tf-border);border-radius:12px;font-size:.95rem;width:250px;transition:all .3s ease;background:var(--tf-surface);color:var(--tf-text-primary)}.search-box-modern input:focus{outline:none;border-color:var(--tf-link);box-shadow:0 0 0 4px #3b82f61f}.filter-select-modern{padding:.75rem 1rem;border:2px solid var(--tf-border);border-radius:12px;font-size:.95rem;background:var(--tf-surface);cursor:pointer;transition:all .3s ease;color:var(--tf-text-secondary)}.filter-select-modern:focus{outline:none;border-color:var(--tf-link);box-shadow:0 0 0 4px #3b82f61f}.transactions-list{display:flex;flex-direction:column;gap:1rem}.transaction-item{display:flex;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;background:var(--tf-surface);border-radius:12px;border:1px solid var(--tf-border);cursor:pointer;transition:all .2s ease}.transaction-item:hover{background:#3b82f614;border-color:#3b82f64d;box-shadow:0 2px 12px #0f172a1f}.transaction-avatar img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--tf-border)}.transaction-details{flex:1}.transaction-details h4{font-size:.9375rem;font-weight:600;color:var(--tf-text-primary);margin:0 0 .375rem;letter-spacing:-.01em}.transaction-details p{font-size:.8125rem;color:var(--tf-text-secondary);margin:0 0 .25rem;font-weight:400}.transaction-date{font-size:.75rem;color:var(--tf-text-secondary);font-weight:400}.transaction-amount{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.transaction-amount .amount{font-size:1.125rem;font-weight:600;color:var(--tf-text-primary);letter-spacing:-.01em}.transaction-status-badge{font-size:.6875rem;font-weight:500;padding:.25rem .625rem;border-radius:6px;text-transform:uppercase;letter-spacing:.025em}.transaction-status-badge.completed{background:#10b98129;color:#10b981}.transaction-status-badge.pending{background:#f9731629;color:#f97316}.payment-method-badge{font-size:.6875rem;font-weight:500;padding:.25rem .625rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.025em;display:inline-flex;align-items:center}.payment-method-badge.in-person{background:#3b82f629;color:var(--tf-link)}.view-icon{color:var(--tf-text-secondary);font-size:1.125rem;transition:all .2s ease;opacity:.6}.transaction-item:hover .view-icon{color:var(--tf-text-primary);opacity:1}.empty-state-modern{text-align:center;padding:4rem 2rem}.empty-state-modern svg{font-size:4rem;color:#94a3b899;margin-bottom:1rem}.empty-state-modern h3{font-size:1.5rem;font-weight:700;color:var(--tf-text-secondary);margin:0 0 .5rem}.empty-state-modern p{color:var(--tf-text-secondary);margin:0;opacity:.8}.setup-container{max-width:800px;margin:0 auto}.setup-card{background:var(--tf-surface);border-radius:20px;padding:3rem;box-shadow:0 10px 30px #0f172a14}.stripe-header-modern{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid var(--tf-border)}.stripe-logo{width:60px;height:60px;background:#3b82f6;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.75rem}.stripe-header-modern h2{font-size:1.75rem;font-weight:700;color:var(--tf-text-primary);margin:0 0 .25rem}.stripe-header-modern p{color:var(--tf-text-secondary);margin:0}.stripe-status-badge{display:flex;align-items:center;gap:.5rem;margin-left:auto;padding:.5rem 1rem;border-radius:12px;font-size:.875rem;font-weight:600}.stripe-status-badge.connected{background:#10b98129;color:#10b981}.stripe-benefits-modern{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}.benefit-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--tf-surface-muted);border-radius:12px}.benefit-item svg{color:var(--tf-link);font-size:1.25rem}.benefit-item span{font-weight:600;color:var(--tf-text-primary)}.stripe-connect-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem 2rem;background:#3b82f6;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;margin-bottom:1.5rem}.stripe-connect-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-2px);box-shadow:0 10px 30px #3b82f64d}.stripe-connect-btn:disabled{opacity:.7;cursor:not-allowed}.stripe-connect-btn.connected{background:#10b981}.stripe-connect-btn svg{font-size:1.25rem}.payout-schedule-section{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--tf-border)}.payout-schedule-section h3{font-size:1.5rem;font-weight:700;color:var(--tf-text-primary);margin:0 0 .75rem}.schedule-description{color:var(--tf-text-secondary);font-size:.875rem;margin:0 0 1.5rem}.payout-policy-banner{display:flex;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;border-radius:14px;background:var(--tf-surface-muted);border:1px solid var(--tf-border);margin-bottom:1.5rem}.payout-policy-icon{width:48px;height:48px;border-radius:12px;background:#3b82f626;color:#3b82f6;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.payout-policy-title{font-weight:700;color:var(--tf-text-primary);margin:0 0 .25rem}.payout-policy-text{margin:0;color:var(--tf-text-secondary);font-size:.95rem;line-height:1.5}.payout-options{display:flex;gap:1rem;margin-bottom:1rem}.payout-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}@media (min-width: 768px){.payout-options-grid{grid-template-columns:repeat(4,1fr)}}.payout-option-btn{padding:1.5rem 1rem;background:var(--tf-surface);border:2px solid var(--tf-border);border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:center;min-height:100px;display:flex;align-items:center;justify-content:center}.payout-option-content{display:flex;flex-direction:column;gap:.25rem}.payout-option-title{font-size:.9375rem;font-weight:600;color:var(--tf-text-primary)}.payout-option-desc{font-size:.75rem;color:var(--tf-text-secondary);font-weight:400}.payout-option-btn:hover:not(:disabled){border-color:var(--tf-link);background:#60a5fa1f;color:var(--tf-link)}.payout-option-btn.active{background:#3b82f6;border-color:#3b82f6}.payout-option-btn.active .payout-option-title{color:#fff}.payout-option-btn.active .payout-option-desc{color:#ffffffe6}.payout-option-btn:disabled{opacity:.6;cursor:not-allowed}.updating-text{color:var(--tf-text-secondary);font-size:.875rem;margin:.5rem 0;font-style:italic}.schedule-info{color:var(--tf-text-secondary);font-size:.875rem;margin:1.5rem 0 0;padding:1.25rem;background:var(--tf-surface-muted);border-radius:12px;border:1px solid var(--tf-border)}.schedule-info p{margin:0 0 .5rem}.schedule-info p:last-child{margin-bottom:0}.schedule-info strong{color:var(--tf-text-primary);font-weight:700}.schedule-note{font-size:.8125rem;color:var(--tf-text-secondary);font-style:italic}.stripe-dashboard-link-btn{margin-top:1rem;padding:.875rem 1.5rem;background:#3b82f6;border:2px solid #3b82f6;border-radius:8px;font-size:.9375rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;width:100%;position:relative;z-index:10;pointer-events:auto}.stripe-dashboard-link-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.stripe-dashboard-link-btn:hover:not(:disabled){background:#2563eb;border-color:#2563eb;color:#fff}.stripe-dashboard-link-btn.primary{background:#3b82f6;color:#fff;border-color:#3b82f6}.stripe-dashboard-link-btn.primary:hover{background:#2563eb;border-color:#2563eb}.stripe-dashboard-note{margin-top:.75rem;font-size:.8125rem;color:var(--tf-text-secondary);text-align:center;line-height:1.5}.payout-info{display:flex;gap:1rem;padding:1.5rem;background:#60a5fa1f;border-radius:12px;border:1px solid rgba(96,165,250,.35)}.payout-info svg{color:var(--tf-link);font-size:1.5rem;flex-shrink:0}.payout-info p{color:var(--tf-link);margin:0;line-height:1.6}.modal-overlay-modern{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-modern{background:var(--tf-surface);border-radius:24px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}.modal-header-modern{display:flex;justify-content:space-between;align-items:center;padding:2rem;border-bottom:2px solid var(--tf-border)}.modal-header-modern h3{font-size:1.5rem;font-weight:700;color:var(--tf-text-primary);margin:0}.modal-header-modern button{background:none;border:none;color:var(--tf-text-secondary);font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .3s ease}.modal-header-modern button:hover{background:#60a5fa26;color:var(--tf-text-primary)}.modal-content-modern{padding:2rem}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--tf-border)}.detail-item:last-child{border-bottom:none}.detail-label{font-weight:600;color:var(--tf-text-secondary);font-size:.875rem}.detail-value{font-weight:600;color:var(--tf-text-primary);text-align:right}.detail-value.amount{color:#10b981;font-size:1.25rem}.detail-value.status.completed{padding:.25rem .75rem;background:#10b98129;color:#10b981;border-radius:20px;font-size:.75rem}.detail-value.status.pending{padding:.25rem .75rem;background:#f9731629;color:#f97316;border-radius:20px;font-size:.75rem}[data-theme=dark] .payments-header-modern{box-shadow:0 18px 40px #2563eb59;background:linear-gradient(135deg,#3b82f6d9,#1e40afe6)}[data-theme=dark] .tab-btn{background:#0f172aeb;border-color:#94a3b83d;color:var(--tf-text-secondary);box-shadow:0 6px 18px #080f2373}[data-theme=dark] .tab-btn:hover{border-color:#60a5fa99;color:#93c5fd;box-shadow:0 10px 28px #2563eb66}[data-theme=dark] .tab-btn.active{box-shadow:0 10px 32px #2563eb73}[data-theme=dark] .stat-card-modern,[data-theme=dark] .transactions-modern,[data-theme=dark] .setup-card,[data-theme=dark] .modal-modern,[data-theme=dark] .transaction-item,[data-theme=dark] .payout-option-btn,[data-theme=dark] .schedule-info{background:#0f172aeb;border-color:#94a3b83d;box-shadow:0 24px 50px #080f238c}[data-theme=dark] .transaction-item{transition:all .25s ease}[data-theme=dark] .transaction-item:hover{background:#60a5fa2e;border-color:#60a5fa73;box-shadow:0 18px 38px #080f2399}[data-theme=dark] .search-box-modern svg{color:#94a3b8cc}[data-theme=dark] .search-box-modern input,[data-theme=dark] .filter-select-modern{background:#0f172aeb;border-color:#94a3b83d;color:var(--tf-text-primary);box-shadow:none}[data-theme=dark] .search-box-modern input:focus,[data-theme=dark] .filter-select-modern:focus{border-color:#60a5fabf;box-shadow:0 0 0 4px #2563eb47}[data-theme=dark] .benefit-item{background:#0f172ae0;border:1px solid rgba(148,163,184,.18)}[data-theme=dark] .benefit-item span{color:var(--tf-text-primary)}[data-theme=dark] .empty-state-modern svg{color:#94a3b880}[data-theme=dark] .empty-state-modern p{color:#e2e8f0bf}[data-theme=dark] .payout-info{background:#1e40af40;border-color:#2563eb73}[data-theme=dark] .payout-info p{color:#93c5fd}[data-theme=dark] .modal-header-modern button:hover{background:#2563eb33}[data-theme=dark] .detail-item{border-bottom:1px solid rgba(148,163,184,.24)}[data-theme=dark] .detail-value.status.completed{background:#10b98147}[data-theme=dark] .detail-value.status.pending{background:#f9731647}[data-theme=dark] .stripe-dashboard-note{color:#e2e8f0bf}@media (max-width: 768px){.payments-page{padding:1rem}.payments-header-modern{padding:2rem 1.5rem}.header-content-modern{flex-direction:column;align-items:flex-start;gap:1.5rem}.export-btn-modern{width:100%;justify-content:center}.stats-grid-modern{grid-template-columns:1fr}.section-header-modern{flex-direction:column;align-items:stretch}.transaction-actions,.search-box-modern input{width:100%}.tabs-modern{flex-direction:column}.stripe-benefits-modern{grid-template-columns:1fr}.transaction-item{flex-wrap:wrap}}@media (max-width: 480px){.header-content-modern h1{font-size:1.75rem}.transaction-item{padding:1rem}.setup-card{padding:2rem 1.5rem}.stripe-header-modern{flex-wrap:wrap}}.reports-container{max-width:900px;margin:0 auto;padding:40px 20px 24px;background:linear-gradient(120deg,#f8fafc 60%,#e0f7fa);border-radius:20px;box-shadow:0 4px 24px #10b9811a,0 2px 8px #0000000a}.reports-title{font-size:2rem;font-weight:800;color:#1e293b;margin-bottom:22px;letter-spacing:-1px}.reports-tabs{display:flex;gap:12px;margin-bottom:30px;border-bottom:2px solid #e2e8f0;padding-bottom:0}.tab-button{background:none;border:none;padding:16px 24px;font-size:1.1rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s ease;border-bottom:3px solid transparent;display:flex;align-items:center;gap:8px}.tab-button:hover{color:#2563eb;background:#2563eb0d}.tab-button.active{color:#2563eb;border-bottom-color:#2563eb;background:#2563eb14}.tab-button svg{font-size:1.2rem}.weekly-reports-section{animation:fadeIn .5s}.weekly-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px;background:linear-gradient(135deg,#f8fafc,#e0f7fa);border-radius:16px;border:1px solid #e2e8f0}.weekly-header h2{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0}.week-range{font-size:1rem;color:#64748b;font-weight:500;background:#fff;padding:8px 16px;border-radius:8px;border:1px solid #e2e8f0}.weekly-instructions{margin-bottom:30px;padding:16px 20px;background:#f1f5f9;border-radius:12px;border-left:4px solid #2563eb}.weekly-instructions p{margin:0;color:#475569;font-size:1rem}.report-instructions{margin-bottom:24px;padding:16px 20px;background:#f8fafc;border-radius:12px;border-left:4px solid #10b981}.report-instructions p{margin:0;color:#374151;font-size:.95rem;line-height:1.5}.form-group small{display:block;margin-top:6px;color:#6b7280;font-size:.85rem;line-height:1.4}.athletes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-top:20px}.athlete-card{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;padding:24px;box-shadow:0 2px 12px #10b98114;border:1px solid #e2e8f0;transition:all .2s ease;display:flex;align-items:center;gap:16px}.athlete-card:hover{box-shadow:0 6px 24px #3b82f61f;transform:translateY(-2px)}.athlete-avatar-circle{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#2e7dff,#1d4ed8);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #2e7dff33}.athlete-initials{font-size:1.25rem;font-weight:700;color:#fff;text-align:center;line-height:1}.athlete-info{flex:1;min-width:0}.athlete-name{font-size:1.2rem;font-weight:700;color:#1e293b;margin-bottom:8px}.athlete-sessions{display:flex;align-items:center;gap:6px;color:#64748b;font-size:.95rem;margin-bottom:4px}.athlete-sessions svg{color:#2563eb}.last-report-date{font-size:.9rem;color:#94a3b8}.athlete-actions{flex-shrink:0}.generate-weekly-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;padding:12px 20px;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;box-shadow:0 2px 8px #2563eb33}.generate-weekly-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.generate-weekly-btn svg{font-size:1rem}.status-badge{display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:500;padding:8px 12px;border-radius:8px;border:1px solid;min-width:140px;justify-content:center}.status-badge svg{font-size:.85rem}.status-badge.no-sessions{color:#6b7280;background:#f9fafb;border-color:#d1d5db}.status-badge.report-exists{color:#059669;background:#ecfdf5;border-color:#a7f3d0}.status-badge.clickable{cursor:pointer;transition:all .2s ease;border:none;background:#ecfdf5;color:#059669}.status-badge.clickable:hover{background:#d1fae5;transform:translateY(-1px);box-shadow:0 2px 8px #05966926}.status-badge.clickable:active{transform:translateY(0);box-shadow:0 1px 4px #0596691a}.status-badge.clickable:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.all-reports-section{animation:fadeIn .5s}.reports-filters{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap;align-items:center}.search-input-wrapper{flex:1;min-width:200px;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:16px;color:#94a3b8;font-size:.9rem;pointer-events:none;z-index:1;transition:color .2s ease}.search-input{width:100%;padding:12px 16px 12px 44px;font-size:.95rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff;transition:all .2s ease;box-shadow:0 1px 2px #0000000a;color:#1e293b}.search-input:hover{border-color:#cbd5e1;box-shadow:0 2px 4px #0000000f}.search-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a,0 2px 4px #0000000f;background:#fff}.search-input-wrapper:focus-within .search-icon{color:#2563eb}.search-input::placeholder{color:#94a3b8;font-weight:400}.filter-select{padding:12px 16px;font-size:.95rem;border:2px solid #e2e8f0;border-radius:10px;background:#fff;color:#1e293b;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000000d;min-width:160px}.filter-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.filter-date{padding:12px 16px;font-size:.95rem;border:2px solid #e2e8f0;border-radius:10px;background:#fff;color:#1e293b;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000000d}.filter-date:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.reports-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#f8fafc;border-radius:12px;border:1px dashed #cbd5e1;margin-top:20px}.reports-empty-icon{font-size:3rem;color:#94a3b8;margin-bottom:16px;opacity:.6}.reports-empty-text{font-size:1rem;color:#64748b;text-align:center;margin:0;max-width:400px;line-height:1.6}.reports-list{display:flex;flex-direction:column;gap:20px}.report-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px;box-shadow:0 1px 3px #00000014;transition:all .2s ease}.report-item:hover{box-shadow:0 4px 12px #0000001f;border-color:#cbd5e1;transform:translateY(-2px)}.report-item .report-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f1f5f9;gap:16px}.report-item .report-header h3{font-size:1.15rem;font-weight:700;color:#1e293b;margin:0;flex:1;line-height:1.4}.report-item .report-date{font-size:.9rem;color:#64748b;font-weight:500;white-space:nowrap;flex-shrink:0;padding:4px 12px;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.report-item .report-summary{font-size:.95rem;color:#475569;line-height:1.7;margin-bottom:20px;text-align:left;max-width:100%;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #f1f5f9}.report-item .report-actions{display:flex;gap:12px}.report-item .btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:600;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease}.report-item .btn-secondary:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b;transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.report-item .btn-secondary svg{font-size:.9rem}@media (max-width: 768px){.reports-filters{flex-direction:column;align-items:stretch}.search-input-wrapper,.search-input,.filter-select,.filter-date{width:100%;min-width:unset}.report-item .report-header{flex-direction:column;align-items:flex-start;gap:12px}.report-item .report-date{align-self:flex-start}.report-item .report-summary{text-align:left}}.reports-controls{display:flex;gap:18px;margin-bottom:30px;flex-wrap:wrap}.create-ai-report-btn{background:linear-gradient(90deg,#2e7dff 60%,#1d4ed8);color:#fff;border:none;font-weight:700;border-radius:10px;padding:12px 28px;font-size:1.08rem;box-shadow:0 2px 8px #2e7dff1a;margin-right:18px;cursor:pointer;transition:background .18s,box-shadow .18s,transform .18s;letter-spacing:.5px}.create-ai-report-btn:hover{background:linear-gradient(90deg,#1d4ed8 60%,#2e7dff);box-shadow:0 4px 16px #2e7dff21;transform:translateY(-2px) scale(1.03)}.reports-search{flex:1 1 220px;padding:14px 18px;font-size:1.08rem;border:none;border-radius:12px;background:#f1f5f9;box-shadow:0 1px 4px #10b9810a;transition:box-shadow .18s,background .18s}.reports-search:focus{box-shadow:0 2px 8px #10b9811a;background:#fff;outline:2px solid #10b981}.reports-filter{flex:0 0 160px;padding:12px 14px;font-size:1.05rem;border:none;border-radius:10px;background:#e0e7ff;color:#2563eb;font-weight:600;box-shadow:0 1px 4px #3b82f60a;transition:background .18s}.reports-filter:focus{background:#fff;outline:2px solid #2563eb}.reports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:28px;margin-top:10px}.report-card{background:linear-gradient(120deg,#fff 70%,#e0f2fe);border-radius:16px;box-shadow:0 2px 12px #10b98114;padding:22px 18px 18px;display:flex;flex-direction:column;gap:10px;position:relative;transition:box-shadow .22s,transform .18s;animation:fadeIn .5s}.report-card:hover{box-shadow:0 6px 24px #3b82f61a,0 2px 8px #10b9811a;transform:translateY(-2px) scale(1.025)}.report-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.report-type-badge{color:#fff;font-size:.98rem;font-weight:700;border-radius:6px;padding:4px 14px;box-shadow:0 1px 2px #3b82f60f;letter-spacing:.5px}.report-date{font-size:.97rem;color:#64748b;font-weight:500}.report-title{font-size:1.18rem;font-weight:700;color:#1e293b;margin-bottom:2px;letter-spacing:-.5px}.report-summary{font-size:1.01rem;color:#222;background:#f7f9fb;border-radius:6px;padding:10px 12px;margin-bottom:8px}.view-report-btn{align-self:flex-end;background:#2563eb;color:#fff;border:none;border-radius:7px;padding:8px 22px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .18s;margin-top:4px}.view-report-btn:hover{background:#1e40af}.reports-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px 0 40px;background:linear-gradient(120deg,#f1f5f9 60%,#e0f2fe);border-radius:18px;box-shadow:0 2px 12px #10b9810f}.reports-placeholder-icon{font-size:4rem;color:#2563eb;margin-bottom:18px;opacity:.8;filter:drop-shadow(0 2px 8px #10b98122)}.reports-placeholder-text{font-size:1.18rem;color:#888;text-align:center;font-weight:500}@media (max-width: 700px){.reports-container{padding:14px 2px 8px}.reports-controls{flex-direction:column;gap:10px}.reports-grid{grid-template-columns:1fr;gap:18px}.report-card{padding:16px 8px 12px}.create-ai-report-btn{width:100%;margin-right:0;margin-bottom:10px;padding:12px 0;font-size:1.01rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.report-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#1e293b52;z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .25s}.report-modal{position:relative;background:linear-gradient(135deg,#fffffff2,#f8fafcf2);border-radius:28px;box-shadow:0 20px 80px #0000001f,0 8px 32px #667eea26,0 0 0 1px #fffc;max-width:600px;width:95vw;min-height:400px;max-height:85vh;padding:40px 32px 32px;outline:none;animation:modalPopIn .4s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;align-items:center;gap:0;border:none;overflow-y:auto;-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border:1px solid rgba(255,255,255,.2)}.report-modal-type-icon{position:absolute;top:-44px;left:50%;transform:translate(-50%);font-size:4.2rem;color:var(--modal-type-color, #2563eb);background:linear-gradient(120deg,#fff 70%,#e0f2fe);border-radius:50%;box-shadow:0 4px 24px #10b98121;padding:18px;display:flex;align-items:center;justify-content:center;z-index:3;border:4px solid #fff}.modal-header{display:flex;align-items:center;gap:16px;width:100%;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e0e7ef;position:relative}.report-type-badge{font-size:1.13rem;padding:8px 24px;border-radius:12px;font-weight:900;box-shadow:0 1px 2px #3b82f60f;background:var(--modal-type-color, #2563eb);color:#fff;letter-spacing:.5px}.report-date{font-size:1.13rem;color:#64748b;font-weight:700;background:#f1f5f9;border-radius:8px;padding:7px 18px;margin-left:8px}.close-modal-btn{position:relative;background:#fffffff2;border:none;color:#64748b;font-size:1.5rem;font-weight:600;cursor:pointer;line-height:1;padding:0;border-radius:50%;width:36px;height:36px;box-shadow:0 2px 8px #00000014;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-left:auto}.close-modal-btn:hover{background:#ffe4e6;color:#e11d48;box-shadow:0 4px 16px #e11d4821}.report-modal-title{font-size:2.1rem;font-weight:900;color:#1e293b;margin-bottom:18px;margin-top:18px;letter-spacing:-1px;text-align:center}.report-modal-summary{font-size:1.22rem;color:#222;background:#f7f9fbf2;border-radius:18px;padding:32px 24px;margin-bottom:2px;box-shadow:0 1px 8px #10b98114;font-weight:500;text-align:center}.report-athlete-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2.5px solid #3b82f6;box-shadow:0 2px 8px #1e90ff14}.report-athlete-name{font-size:1.13rem;font-weight:700;color:#1e293b;letter-spacing:.01em}.report-session-date,.report-created-at{font-size:.98rem;color:#64748b;margin-bottom:2px}.report-status-badge{font-size:.97rem;padding:2px 12px;border-radius:12px;text-transform:capitalize;font-weight:600;display:inline-block;margin-top:4px;letter-spacing:.01em;box-shadow:0 1px 4px #1e90ff12}.report-status-badge.sent{background:#e0f2fe;color:#2563eb}.report-status-badge.draft{background:#fef2f2;color:#e11d48}.modal-body{display:flex;flex-direction:column;gap:16px;width:100%}.form-group{margin-bottom:0}.form-group label{font-size:1rem;font-weight:700;color:#1e293b;margin-bottom:8px;display:block;letter-spacing:.01em;text-transform:uppercase;font-size:.875rem;color:#64748b}.form-group textarea,.form-group input.modal-input{width:100%;min-height:120px;border:2px solid #e2e8f0;border-radius:16px;padding:16px 20px;font-size:1rem;background:linear-gradient(135deg,#fff,#f8fafc);resize:vertical;margin-top:4px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000a;font-family:inherit;line-height:1.6}.form-group textarea:focus,.form-group input.modal-input:focus{border:2px solid #667eea;box-shadow:0 0 0 4px #667eea1a,0 4px 16px #667eea26;background:#fff;outline:none;transform:translateY(-1px)}.char-counter{font-size:.8rem;color:#64748b;margin-top:6px;text-align:right;font-weight:500}.modal-section-title{font-size:1.04rem;font-weight:600;color:#3b82f6;margin-bottom:.13rem}.modal-section-content{font-size:1.01rem;color:#222;background:#f7f9fb;border-radius:7px;padding:8px 10px;box-shadow:0 1px 4px #1e90ff0a}.ai-instructions{margin-top:20px;padding:16px;border-radius:12px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0}.ai-instruction-text{margin:0;font-size:.9rem;color:#64748b;line-height:1.5;display:flex;align-items:center;gap:8px}.ai-instruction-text.success{color:#059669;background:linear-gradient(135deg,#ecfdf5,#d1fae5);padding:12px 16px;border-radius:8px;border:1px solid #a7f3d0}.ai-section{margin-bottom:24px;display:flex;flex-direction:column}.ai-generate-btn{margin-bottom:12px;gap:8px;display:inline-flex;align-items:center;justify-content:center}.ai-error-message{color:#dc2626;margin-bottom:12px;font-weight:600}.ai-preview{background:var(--tf-surface);border:1px solid var(--tf-border);border-radius:12px;padding:16px;margin-top:8px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 10px 24px #0f172a14}.ai-preview-title{margin:0;color:var(--tf-link);font-size:1rem;font-weight:700;letter-spacing:.01em}.ai-preview-section{display:flex;flex-direction:column;gap:8px}.ai-preview-block{white-space:pre-wrap;line-height:1.5;padding:12px;background:var(--tf-surface-muted);border:1px solid var(--tf-border);border-radius:8px;color:var(--tf-text-primary);box-shadow:inset 0 1px 3px #0f172a14}.ai-preview-apply{margin-top:12px}[data-theme=dark] .ai-error-message{color:#fca5a5}[data-theme=dark] .ai-preview{box-shadow:0 18px 40px #080f2380}[data-theme=dark] .ai-preview-block{box-shadow:inset 0 1px 3px #0f172a59}.modal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;justify-content:flex-end;padding-top:20px;border-top:2px solid #f1f5f9;align-items:center}.save-btn,.send-btn,.cancel-btn,.ai-btn{padding:12px 24px;font-size:1rem;border-radius:12px;font-weight:600;border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:120px;display:flex;align-items:center;justify-content:center;gap:8px}.save-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 15px #3b82f64d}.save-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.send-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 15px #10b9814d}.send-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 8px 25px #10b98166}.cancel-btn{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#64748b;border:2px solid #e2e8f0;box-shadow:0 2px 8px #0000000a}.cancel-btn:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e0);color:#475569;transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.ai-btn,.generate-ai-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea4d;padding:12px 24px;font-size:1rem;font-weight:600;border-radius:12px;border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:8px;min-width:160px}.ai-btn:before,.generate-ai-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.ai-btn:hover:before,.generate-ai-btn:hover:before{left:100%}.ai-btn:hover,.generate-ai-btn:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.ai-btn:active,.generate-ai-btn:active{transform:translateY(0);box-shadow:0 4px 15px #667eea4d}.ai-btn:disabled,.generate-ai-btn:disabled,.ai-btn.disabled,.generate-ai-btn.disabled{background:linear-gradient(135deg,#e2e8f0,#cbd5e0);cursor:not-allowed;transform:none;box-shadow:0 2px 8px #0000001a;opacity:.6;color:#94a3b8}.ai-btn:disabled:hover,.generate-ai-btn:disabled:hover,.ai-btn.disabled:hover,.generate-ai-btn.disabled:hover{transform:none;box-shadow:0 2px 8px #0000001a;background:linear-gradient(135deg,#e2e8f0,#cbd5e0)}.ai-generating-msg{display:flex;align-items:center;justify-content:center;color:#2563eb;font-weight:600;font-size:.9rem;margin:8px 0;gap:6px}.ai-generating-msg:before{content:"";display:inline-block;width:16px;height:16px;border:2px solid #3b82f6;border-top:2px solid #e0e7ff;border-radius:50%;animation:ai-spin .8s linear infinite}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #ffffff;border-radius:50%;animation:ai-spin .8s linear infinite}@keyframes ai-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 600px){.reports-header-row{flex-direction:column;align-items:flex-start;gap:12px}.reports-page-container{padding:18px 4px 8px}.report-card{flex-direction:column;align-items:flex-start;gap:12px;padding:14px 8px}.report-athlete-avatar{width:32px;height:32px}.report-actions{flex-direction:row;gap:8px;width:100%;margin-top:8px}.report-actions button{flex:1;padding:8px 0}.report-modal{max-width:95vw;padding:24px 20px 20px;min-height:280px;max-height:90vh}.modal-header{gap:12px;margin-bottom:16px;padding-bottom:12px}.modal-body{gap:12px}.modal-actions{gap:6px;margin-top:16px;padding-top:12px}.save-btn,.send-btn,.cancel-btn,.ai-btn{padding:6px 12px;font-size:.85rem}}@keyframes modalPopIn{0%{transform:scale(.92) translateY(30px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.athlete-report-modal{position:relative;background:#ffffffeb;border-radius:20px;box-shadow:0 16px 64px #10b9812e,0 2px 8px #3b82f621;max-width:480px;width:92vw;min-height:280px;max-height:80vh;padding:28px 24px 24px;outline:none;animation:modalPopIn .33s cubic-bezier(.4,1.4,.6,1);display:flex;flex-direction:column;align-items:center;gap:0;border:none;overflow-y:auto;-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);border-left:0;border-right:0;border-top:0;border-bottom:0;box-shadow:0 0 0 4px var(--modal-type-color, #2563eb),0 16px 64px #10b9812e,0 2px 8px #3b82f621}.athlete-report-modal-header{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px;width:100%}.athlete-report-modal-title{font-size:1.4rem;font-weight:800;color:#1e293b;margin-bottom:16px;letter-spacing:-.5px;text-align:center;line-height:1.3}.athlete-report-modal-summary{font-size:1.05rem;color:#334155;background:#f7f9fbf2;border-radius:12px;padding:20px 18px;margin-bottom:0;box-shadow:0 1px 8px #10b98114;font-weight:500;text-align:left;line-height:1.6;width:100%}@media (max-width: 600px){.athlete-report-modal{max-width:92vw;padding:24px 20px 20px;min-height:240px;max-height:85vh}.athlete-report-modal-header{gap:12px;margin-bottom:16px}.athlete-report-modal-title{font-size:1.2rem;margin-bottom:12px}.athlete-report-modal-summary{font-size:1rem;padding:16px 14px}}.reports-header{background:#2e7dff;color:#fff;border-radius:16px;padding:3rem;margin-bottom:3rem;box-shadow:0 10px 30px #1f29371a;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.05)}.reports-header h1,.reports-header p{color:#fff}[data-theme=dark] .reports-header{background:linear-gradient(135deg,#1d4ed8,#1e3a8a);color:#f8fafc;box-shadow:0 16px 40px #0f172a59;border:1px solid rgba(59,130,246,.35)}[data-theme=dark] .reports-header h1,[data-theme=dark] .reports-header p{color:#f8fafc}.sessions-count{font-size:.9rem;color:#94a3b8;display:flex;align-items:center;gap:6px;margin-top:4px}.sessions-count svg{color:#2563eb}@media (max-width: 768px){.reports-tabs{flex-direction:column;gap:8px}.tab-button{justify-content:center;padding:12px 16px}.weekly-header{flex-direction:column;gap:16px;text-align:center}.athletes-grid{grid-template-columns:1fr;gap:16px}.athlete-card{flex-direction:column;text-align:center;gap:12px}.athlete-actions{width:100%}.generate-weekly-btn{width:100%;justify-content:center}}.preview-header{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e2e8f0}.preview-header h3{font-size:1.4rem;font-weight:700;color:#1e293b;margin:0 0 8px}.preview-date{font-size:.95rem;color:#64748b;margin:0;font-weight:500}.preview-section{margin-bottom:24px}.preview-section h4{font-size:1.1rem;font-weight:600;color:#374151;margin:0 0 12px;padding-bottom:6px;border-bottom:1px solid #e5e7eb}.preview-content{background:#f8fafc;padding:16px;border-radius:8px;border:1px solid #e2e8f0;font-size:1rem;line-height:1.6;color:#374151;white-space:pre-wrap;min-height:60px}.preview-content em{color:#9ca3af;font-style:italic}.report-header{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e2e8f0}.report-header h3{font-size:1.4rem;font-weight:700;color:#1e293b;margin:0 0 8px}.report-date{font-size:.95rem;color:#64748b;margin:0;font-weight:500}.report-section{margin-bottom:24px}.report-section h4{font-size:1.1rem;font-weight:600;color:#374151;margin:0 0 12px;padding-bottom:6px;border-bottom:1px solid #e5e7eb}.report-content{background:#f8fafc;padding:16px;border-radius:8px;border:1px solid #e2e8f0;font-size:1rem;line-height:1.6;color:#374151;white-space:pre-wrap;min-height:60px}.report-content em{color:#9ca3af;font-style:italic}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:600px;width:90%;max-height:85vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e5e7eb;margin-bottom:0}.modal-header h2{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0}.close-button{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.close-button:hover{background:#f3f4f6;color:#374151}.modal-body{padding:24px}.report-header{margin-bottom:28px;padding-bottom:20px;border-bottom:2px solid #f1f5f9}.report-header h3{font-size:1.6rem;font-weight:700;color:#1e293b;margin:0 0 8px;line-height:1.3}.report-date{font-size:.95rem;color:#64748b;margin:0;font-weight:500;background:#f8fafc;padding:6px 12px;border-radius:6px;display:inline-block}.report-section{margin-bottom:28px}.report-section h4{font-size:1.2rem;font-weight:600;color:#1e293b;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #e2e8f0;position:relative}.report-section h4:after{content:"";position:absolute;bottom:-2px;left:0;width:40px;height:2px;background:#2563eb;border-radius:1px}.report-content{background:#f8fafc;padding:20px;border-radius:12px;border:1px solid #e2e8f0;font-size:1rem;line-height:1.7;color:#374151;white-space:pre-wrap;min-height:80px;box-shadow:inset 0 1px 2px #0000000d}.report-content em{color:#9ca3af;font-style:italic;font-size:.95rem}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:24px;border-top:1px solid #e5e7eb;margin-top:24px}.modal-actions button{padding:12px 24px;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease;border:none;min-width:100px}.modal-actions .btn-primary{background:#2563eb;color:#fff}.modal-actions .btn-primary:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.modal-actions .btn-secondary{background:#f1f5f9;color:#374151;border:1px solid #d1d5db}.modal-actions .btn-secondary:hover{background:#e5e7eb;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}@media (max-width: 640px){.modal{width:95%;max-height:90vh;margin:20px}.modal-header{padding:20px 20px 0}.modal-body{padding:20px}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}[data-theme=dark] .reports-container{background:linear-gradient(150deg,#0f172af5,#0d1423f0 55%,#113f7d7a);box-shadow:0 24px 60px #080f2399;border:1px solid rgba(148,163,184,.16)}[data-theme=dark] .reports-title,[data-theme=dark] .weekly-header h2,[data-theme=dark] .athlete-name,[data-theme=dark] .report-item .report-header h3,[data-theme=dark] .report-title,[data-theme=dark] .report-modal-title,[data-theme=dark] .report-athlete-name,[data-theme=dark] .modal-section-title,[data-theme=dark] .athlete-report-modal-title,[data-theme=dark] .report-section h4{color:var(--tf-text-primary)}[data-theme=dark] .reports-tabs{border-bottom:2px solid rgba(148,163,184,.2)}[data-theme=dark] .tab-button{color:#e2e8f0b3;background:transparent}[data-theme=dark] .tab-button:hover{color:#93c5fd;background:#2563eb29}[data-theme=dark] .tab-button.active{color:#bfdbfe;border-bottom-color:#60a5fab3;background:#3b82f638}[data-theme=dark] .weekly-header{background:linear-gradient(135deg,#0f172af2,#09101ceb);border:1px solid rgba(148,163,184,.24)}[data-theme=dark] .week-range{color:var(--tf-text-secondary);background:#0f172ad9;border:1px solid rgba(148,163,184,.24)}[data-theme=dark] .weekly-instructions,[data-theme=dark] .report-instructions,[data-theme=dark] .ai-instructions{background:#0f172ae0;border-color:#60a5fa73}[data-theme=dark] .weekly-instructions p,[data-theme=dark] .report-instructions p,[data-theme=dark] .ai-instruction-text,[data-theme=dark] .form-group small,[data-theme=dark] .char-counter,[data-theme=dark] .reports-empty-text,[data-theme=dark] .report-session-date,[data-theme=dark] .report-created-at{color:#e2e8f0bf}[data-theme=dark] .ai-instruction-text.success{background:#10b9812e;border-color:#10b98166;color:#34d399}[data-theme=dark] .athlete-card{background:linear-gradient(160deg,#0f172aeb,#0d1f43e0);border:1px solid rgba(148,163,184,.24);box-shadow:0 18px 40px #080f2373}[data-theme=dark] .athlete-sessions,[data-theme=dark] .last-report-date{color:#e2e8f0b3}[data-theme=dark] .status-badge.no-sessions{background:#94a3b826;border-color:#94a3b859;color:#e2e8f0b3}[data-theme=dark] .status-badge.report-exists,[data-theme=dark] .status-badge.clickable{background:#10b9812e;color:#34d399;border-color:#10b98166;box-shadow:none}[data-theme=dark] .status-badge.clickable:hover{background:#10b98147;box-shadow:0 10px 22px #10b9814d}[data-theme=dark] .search-icon{color:#94a3b8bf}[data-theme=dark] .search-input,[data-theme=dark] .filter-select,[data-theme=dark] .filter-date,[data-theme=dark] .reports-search{background:#0f172aeb;border-color:#94a3b83d;box-shadow:none;color:var(--tf-text-primary)}[data-theme=dark] .search-input:hover,[data-theme=dark] .filter-select:hover,[data-theme=dark] .filter-date:hover{border-color:#60a5fa73}[data-theme=dark] .search-input:focus,[data-theme=dark] .filter-select:focus,[data-theme=dark] .filter-date:focus,[data-theme=dark] .reports-search:focus{border-color:#60a5fab3;box-shadow:0 0 0 3px #2563eb47;background:#0f172af2}[data-theme=dark] .reports-empty-state{background:#0f172ae6;border-color:#60a5fa4d}[data-theme=dark] .reports-empty-icon{color:#60a5fa99}[data-theme=dark] .report-item{background:#0f172aeb;border-color:#94a3b83d;box-shadow:0 14px 36px #080f238c}[data-theme=dark] .report-item:hover{border-color:#60a5fa80;box-shadow:0 20px 44px #080f23a6}[data-theme=dark] .report-item .report-header{border-bottom-color:#94a3b82e}[data-theme=dark] .report-item .report-date{background:#1e293bb3;border-color:#94a3b833;color:#e2e8f0bf}[data-theme=dark] .report-item .report-summary{background:#0f172ad9;border-color:#94a3b82e;color:#e2e8f0c7}[data-theme=dark] .report-item .btn-secondary{background:#3b82f61f;border-color:#60a5fa59;color:#93c5fd}[data-theme=dark] .report-item .btn-secondary:hover{background:#2563eb33;border-color:#60a5fa99;color:#bfdbfe;box-shadow:0 12px 28px #2563eb59}[data-theme=dark] .modal{background:var(--tf-surface);border:1px solid var(--tf-border);box-shadow:0 24px 60px #020617b3}[data-theme=dark] .modal-header{border-bottom:1px solid rgba(148,163,184,.18)}[data-theme=dark] .modal-header h2,[data-theme=dark] .preview-header h3,[data-theme=dark] .preview-section h4,[data-theme=dark] .report-header h3,[data-theme=dark] .report-section h4{color:var(--tf-text-primary)}[data-theme=dark] .preview-date,[data-theme=dark] .report-date{color:var(--tf-text-secondary);background:#0f172ad9;border-color:#94a3b840}[data-theme=dark] .preview-header,[data-theme=dark] .report-header,[data-theme=dark] .modal-actions,[data-theme=dark] .preview-section h4,[data-theme=dark] .report-section h4{border-color:#94a3b82e}[data-theme=dark] .preview-content,[data-theme=dark] .report-content{background:#0f172aeb;border:1px solid rgba(148,163,184,.22);color:var(--tf-text-primary)}[data-theme=dark] .preview-content em,[data-theme=dark] .report-content em{color:#94a3b8b3}[data-theme=dark] .close-button{color:#e2e8f0bf}[data-theme=dark] .close-button:hover{background:#94a3b833;color:var(--tf-text-primary)}[data-theme=dark] .modal-actions .btn-primary{background:#2563ebcc;color:#f8fafc}[data-theme=dark] .modal-actions .btn-secondary{background:#0f172ae6;border-color:#94a3b840;color:var(--tf-text-secondary)}[data-theme=dark] .modal-actions .btn-secondary:hover{background:#94a3b833;color:var(--tf-text-primary);box-shadow:0 10px 24px #0f172a66}[data-theme=dark] .reports-filter{background:#2563eb2e;color:#bfdbfe;box-shadow:none}[data-theme=dark] .reports-filter:focus{background:#3b82f63d;outline:2px solid rgba(96,165,250,.7)}[data-theme=dark] .report-card{background:linear-gradient(150deg,#0f172aeb,#0b2447d9);box-shadow:0 22px 48px #080f238c}[data-theme=dark] .report-card:hover{box-shadow:0 28px 56px #2563eb66}[data-theme=dark] .report-summary,[data-theme=dark] .modal-section-content,[data-theme=dark] .report-content{background:#0f172ae6;color:#e2e8f0c7;border-color:#94a3b82e}[data-theme=dark] .reports-placeholder{background:linear-gradient(150deg,#0d172ae6,#0a0f1ce0);box-shadow:0 22px 48px #080f238c}[data-theme=dark] .reports-placeholder-text{color:#e2e8f0b3}[data-theme=dark] .report-modal-overlay{background:#020617bf}[data-theme=dark] .report-modal{background:linear-gradient(150deg,#0f172af5,#0b192df0);border:1px solid rgba(96,165,250,.25);box-shadow:0 28px 80px #080f23bf}[data-theme=dark] .report-modal-type-icon{background:linear-gradient(150deg,#0f172aeb,#0b2447e0);border:4px solid rgba(30,41,59,.9);box-shadow:0 16px 36px #2563eb59}[data-theme=dark] .modal-header{border-bottom:1px solid rgba(148,163,184,.2)}[data-theme=dark] .report-date{background:#1e293bb3;color:#bfdbfe}[data-theme=dark] .close-modal-btn{background:#0f172ae6;color:#e2e8f0bf;box-shadow:0 12px 24px #080f2380}[data-theme=dark] .close-modal-btn:hover{background:#f8717140;color:#fecaca;box-shadow:0 14px 30px #f8717166}[data-theme=dark] .report-modal-summary{box-shadow:0 18px 40px #080f2399}[data-theme=dark] .form-group label{color:#e2e8f0cc}[data-theme=dark] .form-group textarea,[data-theme=dark] .form-group input.modal-input{background:#0f172ae6;border-color:#94a3b83d;box-shadow:none;color:var(--tf-text-primary)}[data-theme=dark] .form-group textarea:focus,[data-theme=dark] .form-group input.modal-input:focus{border-color:#60a5fabf;box-shadow:0 0 0 4px #2563eb47;background:#0f172af2}[data-theme=dark] .modal-actions{border-top:2px solid rgba(148,163,184,.18)}[data-theme=dark] .cancel-btn{background:#0f172aeb;color:#e2e8f0bf;border:1px solid rgba(148,163,184,.24);box-shadow:none}[data-theme=dark] .cancel-btn:hover{background:#94a3b82e;color:var(--tf-text-primary);box-shadow:0 12px 26px #080f2373}[data-theme=dark] .ai-btn,[data-theme=dark] .generate-ai-btn{box-shadow:0 14px 32px #3b82f666}[data-theme=dark] .ai-generating-msg{color:#bfdbfe}[data-theme=dark] .ai-generating-msg:before{border:2px solid rgba(96,165,250,.4);border-top-color:#bfdbfe}[data-theme=dark] .spinner{border-color:#3b82f633;border-top-color:#bfdbfe}[data-theme=dark] .report-status-badge.sent{background:#2563eb38;color:#bfdbfe}[data-theme=dark] .report-status-badge.draft{background:#f8717133;color:#fecaca}[data-theme=dark] .athlete-report-modal{background:linear-gradient(150deg,#0f172af2,#0b2447e6);box-shadow:0 28px 70px #080f23b3;border:1px solid rgba(96,165,250,.25)}[data-theme=dark] .athlete-report-modal-summary,[data-theme=dark] .athlete-report-modal-details,[data-theme=dark] .athlete-report-modal-detail{background:#0f172ae6;border-color:#94a3b82e;color:#e2e8f0c7}[data-theme=dark] .athlete-report-modal-actions button{background:#3b82f62e;border:1px solid rgba(96,165,250,.35);color:#bfdbfe}[data-theme=dark] .athlete-report-modal-actions button:hover{background:#3b82f64d;border-color:#60a5fa8c;box-shadow:0 16px 32px #2563eb73}.availability-container{padding:24px;max-width:1400px;margin:0 auto;background:var(--tf-background);color:var(--tf-text-primary)}.availability-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding:32px;background:var(--tf-surface);border-radius:16px;border:1px solid var(--tf-border);box-shadow:0 4px 6px -1px #0f172a14}.availability-title{display:flex;align-items:center;gap:12px;margin-bottom:8px}.availability-title h1{margin:0;font-size:28px;font-weight:700;color:var(--tf-text-primary)}.title-icon{font-size:24px;color:#2e7dff}.availability-subtitle{margin:0;font-size:16px;color:var(--tf-text-secondary);max-width:600px;line-height:1.5}.availability-actions{display:flex;gap:12px;flex-wrap:wrap}.add-slot-btn,.add-specific-btn,.add-group-class-btn{background:#3b82f61f;color:var(--tf-link);border:2px solid rgba(59,130,246,.25);border-radius:12px;padding:12px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.add-slot-btn:hover,.add-specific-btn:hover,.add-group-class-btn:hover{background:#3b82f633;border-color:#3b82f666;transform:translateY(-2px)}.add-specific-btn{background:#10b9811f;color:#059669;border-color:#10b98140}.add-specific-btn:hover{background:#10b98133;border-color:#10b98166}.add-group-class-btn{background:#2563eb4d;color:#fff;border-color:#2563eb80}.add-group-class-btn:hover{background:#2563eb66;border-color:#2563ebb3}.availability-mode-toggle{display:flex;gap:12px;margin-bottom:24px;background:var(--tf-surface);padding:8px;border-radius:12px;box-shadow:0 4px 6px -1px #0f172a14;border:1px solid var(--tf-border)}.mode-btn{flex:1;background:var(--tf-surface-muted);color:var(--tf-text-secondary);border:2px solid transparent;border-radius:8px;padding:12px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.mode-btn:hover{background:#3b82f626;color:var(--tf-text-primary)}.mode-btn.active{background:linear-gradient(135deg,#2e7dff,#1d4ed8);color:#fff;border-color:#fff3;box-shadow:0 4px 12px #2e7dff40}.availability-section{background:var(--tf-surface);border-radius:20px;padding:32px;margin-bottom:32px;box-shadow:0 8px 25px #0f172a1a;border:1px solid var(--tf-border)}.section-header{margin-bottom:32px;text-align:center}.section-title{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:12px}.section-icon{font-size:28px;color:#2e7dff}.section-title h2{margin:0;font-size:28px;font-weight:700;color:var(--tf-text-primary)}.section-description{font-size:16px;color:var(--tf-text-secondary);max-width:600px;margin:0 auto;line-height:1.5}.availability-setup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;margin-bottom:32px}.setup-card{background:var(--tf-surface-muted);border:2px solid var(--tf-border);border-radius:16px;padding:24px;transition:all .3s ease}.setup-card:hover{border-color:var(--tf-link);box-shadow:0 8px 25px #3b82f633;transform:translateY(-2px)}.setup-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid var(--tf-border)}.setup-icon{font-size:20px;color:#2e7dff}.setup-header h3{margin:0;font-size:18px;font-weight:600;color:var(--tf-text-primary)}.setup-content{display:flex;flex-direction:column;gap:20px}.setup-btn{background:linear-gradient(135deg,#2e7dff,#1d4ed8);color:#fff;border:none;border-radius:12px;padding:14px 24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 12px #2e7dff4d;margin-top:8px}.setup-btn:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-2px);box-shadow:0 8px 25px #2e7dff66}.setup-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.weekly-availability-section{margin-top:32px;padding-top:32px;border-top:2px solid var(--tf-border)}.section-header-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header-with-action h3{margin:0;font-size:18px;font-weight:600;color:var(--tf-text-primary);display:flex;align-items:center;gap:8px}.cleanup-btn{padding:8px 16px;font-size:12px;background:var(--tf-surface-muted);border:1px solid var(--tf-border);color:var(--tf-text-secondary);border-radius:6px;cursor:pointer;transition:all .2s ease}.cleanup-btn:hover{background:#3b82f62e;border-color:#3b82f659;color:var(--tf-text-primary)}.weekly-availability-section h3{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--tf-text-primary);display:flex;align-items:center;gap:8px}.weekly-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:16px}.weekly-slot{background:var(--tf-surface);border:1px solid var(--tf-border);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .2s ease}.weekly-slot:hover{box-shadow:0 8px 20px #0f172a26}.availability-type{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--tf-link)}.time-slot{font-size:14px;color:var(--tf-text-secondary);font-weight:500}.group-service{display:flex;align-items:center;gap:6px;font-size:12px;color:#34d399;background:#10b98126;padding:4px 8px;border-radius:4px}.package-date-range{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--tf-text-secondary);background:var(--tf-surface-muted);padding:4px 8px;border-radius:4px;margin-top:4px;align-self:flex-start}.individual-dates-section{margin-top:32px;padding-top:32px;border-top:2px solid #f1f5f9}.individual-dates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.individual-dates-section h3{margin:0;font-size:22px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:12px}.filter-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--tf-text-secondary);font-weight:500;-webkit-user-select:none;user-select:none}.filter-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--tf-link)}.filter-toggle:hover{color:var(--tf-text-primary)}.filter-toggle span{margin-left:4px}.no-dates-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--tf-text-secondary);background:linear-gradient(135deg,var(--tf-surface-muted) 0%,var(--tf-surface) 100%);border-radius:16px;border:2px dashed var(--tf-border);margin:24px 0}.no-dates-icon{font-size:56px;margin-bottom:20px;opacity:.6;color:#94a3b899}.no-dates-message p{margin:0;font-size:16px;max-width:400px;line-height:1.5}.dates-table-container{overflow-x:auto;margin-top:20px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 1px 3px #0000000d}.dates-table{width:100%;border-collapse:collapse;font-size:15px}.dates-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.dates-table th{padding:16px 20px;text-align:left;font-weight:600;color:#374151;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.dates-table th.actions-column{text-align:right;width:100px}.dates-table tbody tr{border-bottom:1px solid #f3f4f6;transition:all .15s ease}.dates-table tbody tr:last-child{border-bottom:none}.dates-table tbody tr:hover{background-color:#f9fafb}.dates-table td{padding:18px 20px;color:#111827;vertical-align:middle}.dates-table .date-cell{font-weight:600;color:#111827}.dates-table .date-text{font-size:15px;color:#111827}.dates-table .time-cell{color:#6b7280}.dates-table .time-text{font-size:15px;color:#6b7280;font-weight:500}.dates-table .actions-cell{text-align:right;width:100px;padding-right:20px}.table-actions{display:flex;gap:6px;justify-content:flex-end;align-items:center}.dates-table .actions-cell .action-btn{padding:8px;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid transparent;transition:all .2s ease;cursor:pointer}.dates-table .actions-cell .action-btn.edit-btn{background:#eff6ff;color:#2563eb;border-color:#dbeafe}.dates-table .actions-cell .action-btn.edit-btn:hover{background:#dbeafe;color:#1d4ed8;transform:translateY(-1px);box-shadow:0 2px 4px #2563eb1a}.dates-table .actions-cell .action-btn.delete-btn{background:#fef2f2;color:#dc2626;border-color:#fecaca}.dates-table .actions-cell .action-btn.delete-btn:hover{background:#fee2e2;color:#b91c1c;transform:translateY(-1px);box-shadow:0 2px 4px #dc26261a}.dates-table .actions-cell .action-btn svg{font-size:14px;width:14px;height:14px}.dates-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;flex-wrap:wrap;gap:12px}.pagination-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#2e7dff;color:#fff;border-color:#2e7dff;transform:translateY(-1px);box-shadow:0 2px 8px #2e7dff33}.pagination-btn:disabled{opacity:.5;cursor:not-allowed;background:#f1f5f9;color:#94a3b8}.pagination-info{font-size:14px;color:#64748b;font-weight:500;text-align:center;flex:1;min-width:200px}.dates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:8px}.date-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:16px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000a;position:relative;overflow:hidden}.date-card:hover{border-color:#3b82f6;transform:translateY(-4px);box-shadow:0 12px 32px #3b82f626}.date-info{display:flex;flex-direction:column;gap:8px}.date-info h4{margin:0;font-size:18px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:8px}.date-info h4 svg{font-size:16px;color:#3b82f6}.date-info p{margin:0;font-size:15px;color:#64748b;font-weight:500;display:flex;align-items:center;gap:8px}.date-info p svg{font-size:14px;color:#64748b}.date-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:8px;border-top:1px solid #f1f5f9}.action-btn{background:none;border:1px solid transparent;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px;display:flex;align-items:center;justify-content:center;min-width:40px;height:40px}.edit-btn{color:#3b82f6;border-color:#e0e7ff;background:#f8faff}.edit-btn:hover{background:#eff6ff;border-color:#3b82f6;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f626}.delete-btn{color:#ef4444;border-color:#fee2e2;background:#fefefe}.delete-btn:hover{background:#fef2f2;border-color:#ef4444;transform:translateY(-1px);box-shadow:0 4px 12px #ef444426}.time-separator{font-size:14px;color:#64748b;font-weight:500;padding:0 8px}.no-group-services{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center;color:#e74c3c;background:#fef2f2;border-radius:8px;border:1px solid #fecaca}.no-group-services p{margin:0 0 12px;font-size:14px;font-weight:500}.no-group-services .btn-secondary{background:#e74c3c;color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.no-group-services .btn-secondary:hover{background:#c53030}.specific-dates-container{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 4px 6px -1px #0000001a}.specific-dates-header{margin-bottom:24px}.specific-dates-header h2{margin:0 0 16px;font-size:24px;font-weight:700;color:#1e293b}.date-range-section{background:#f8fafc;border-radius:12px;padding:20px;border:2px solid #e2e8f0}.date-range-section h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#374151}.date-range-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;align-items:end}.date-range-button-container{display:flex;justify-content:flex-end;align-items:center;margin-top:8px;grid-column:1 / -1}.date-range-button-container .btn-primary{background:linear-gradient(135deg,#10b981,#059669);padding:14px 24px;font-size:15px;font-weight:600;border-radius:10px;box-shadow:0 4px 12px #10b9814d;transition:all .3s ease}.date-range-button-container .btn-primary:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 8px 25px #10b98166}.time-inputs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.time-inputs .form-select{flex:1;min-width:120px;max-width:140px}.time-inputs span{font-size:13px;color:#64748b;font-weight:500;flex-shrink:0}.specific-dates-list{margin-top:24px}.specific-dates-list h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#374151}.no-specific-dates{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#94a3b8;background:#f8fafc;border-radius:12px;border:2px dashed #e2e8f0}.no-dates-icon{font-size:48px;margin-bottom:16px;opacity:.5}.no-specific-dates p{margin:0;font-size:16px;max-width:400px}.specific-dates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.specific-date-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:16px;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}.specific-date-card:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 8px 25px #3b82f626}.recurring-availability-section{margin-top:24px;padding:20px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.recurring-availability-section h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#1e293b}.recurring-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;align-items:start}.days-selector{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:8px}.day-checkbox{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:12px;font-weight:500;text-align:center;min-height:60px;justify-content:center}.day-checkbox:hover{border-color:#3b82f6;background:#f0f9ff}.day-checkbox input[type=checkbox]{margin:0;cursor:pointer;width:16px;height:16px;accent-color:#3b82f6}.day-checkbox input[type=checkbox]:checked+span{color:#3b82f6;font-weight:600}.day-checkbox:has(input[type=checkbox]:checked){border-color:#3b82f6;background:#eff6ff}.recurring-button-container{display:flex;justify-content:flex-start;margin-top:16px;grid-column:1 / -1}.recurring-button-container .btn-primary{background:#10b981;border-color:#10b981}.recurring-button-container .btn-primary:hover{background:#059669;border-color:#059669}.specific-date-info h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#1e293b}.specific-date-info p{margin:0;font-size:14px;color:#64748b}.specific-date-actions{display:flex;gap:8px}.edit-btn,.delete-btn{background:none;border:none;padding:8px;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:14px}.edit-btn{color:#3b82f6}.edit-btn:hover{background:#eff6ff}.delete-btn{color:#ef4444}.delete-btn:hover{background:#fef2f2}.form-input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff;transition:all .2s ease;box-sizing:border-box;max-width:100%}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input[type=datetime-local]{min-width:0;max-width:100%;font-size:13px}.big-calendar-container{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 4px 6px -1px #0000001a}.big-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f1f5f9}.calendar-title{margin:0;font-size:28px;font-weight:700;color:#1e293b;text-align:center;flex:1}.calendar-nav-btn{background:#2e7dff;color:#fff;border:none;border-radius:12px;padding:12px 16px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:16px}.calendar-nav-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #2e7dff26}.big-calendar{width:100%}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.calendar-weekday{text-align:center;padding:12px 8px;font-weight:600;color:#64748b;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day-cell{aspect-ratio:1;border:2px solid #e2e8f0;border-radius:12px;padding:8px;cursor:pointer;transition:all .3s ease;position:relative;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80px}.calendar-day-cell:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 8px 25px #3b82f626}.calendar-day-cell.empty{background:#f8fafc;border-color:#f1f5f9;cursor:default}.calendar-day-cell.empty:hover{transform:none;box-shadow:none;border-color:#f1f5f9}.calendar-day-cell.today{border-color:#1e40af;background:linear-gradient(135deg,#dbeafe,#fff);border-width:3px}.calendar-day-cell.selected{border-color:#1e40af!important;box-shadow:0 4px 12px #1e40af4d!important;border-width:3px!important}.calendar-day-cell.selected.has-one-on-one-availability{border-color:#1e40af!important;background:linear-gradient(135deg,#dbeafe,#eff6ff)!important}.calendar-day-cell.selected.has-group-package-availability{border-color:#1e40af!important;background:linear-gradient(135deg,#dbeafe,#f0fdf4)!important}.calendar-day-cell.selected.has-one-on-one-package-availability{border-color:#1e40af!important;background:linear-gradient(135deg,#dbeafe,#f3e8ff)!important}.calendar-day-cell.has-availability{border-color:#10b981;background:linear-gradient(135deg,#f0fdf4,#fff)}.calendar-day-cell.has-availability:hover{border-color:#059669;box-shadow:0 8px 25px #10b98133}.calendar-day-cell.has-one-on-one-availability{border-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#fff)}.calendar-day-cell.has-one-on-one-availability:hover{border-color:#2563eb;box-shadow:0 8px 25px #3b82f633}.calendar-day-cell.has-group-package-availability{border-color:#10b981;background:linear-gradient(135deg,#f0fdf4,#fff)}.calendar-day-cell.has-group-package-availability:hover{border-color:#059669;box-shadow:0 8px 25px #10b98133}.calendar-day-cell.has-one-on-one-package-availability{border-color:#7c3aed;background:linear-gradient(135deg,#faf5ff,#f3e8ff)}.calendar-day-cell.has-one-on-one-package-availability:hover{border-color:#6d28d9;box-shadow:0 8px 25px #7c3aed40}.day-number{font-size:18px;font-weight:600;color:#1e293b;margin-bottom:4px;position:relative;z-index:1}.availability-indicator{position:absolute;top:4px;right:4px;background:#10b981;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600}.calendar-day-cell.has-one-on-one-availability .availability-indicator{background:#3b82f6}.calendar-day-cell.has-group-package-availability .availability-indicator{background:#10b981}.calendar-day-cell.has-one-on-one-package-availability .availability-indicator{background:#7c3aed}.availability-legend{margin-top:20px;padding:16px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.legend-title{font-size:14px;font-weight:600;color:#374151;margin-bottom:12px;text-align:center}.legend-items{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b;font-weight:500}.legend-color{width:16px;height:16px;border-radius:4px;border:2px solid}.legend-color.one-on-one{background:linear-gradient(135deg,#eff6ff,#fff);border-color:#3b82f6}.legend-color.group-package{background:linear-gradient(135deg,#f0fdf4,#fff);border-color:#10b981}.legend-color.one-on-one-package{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-color:#7c3aed}.availability-count{font-size:10px;font-weight:600}.availability-calendar{background:var(--tf-surface);border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 4px 6px -1px #0f172a1a;border:1px solid var(--tf-border)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f1f5f9}.calendar-header h2{margin:0;font-size:24px;font-weight:700;color:var(--tf-text-primary)}.calendar-legend{display:flex;gap:16px}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--tf-text-secondary)}.legend-color{width:16px;height:16px;border-radius:4px}.legend-color.available{background:#10b981}.legend-color.unavailable{background:#ef4444}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:16px}.calendar-day{background:var(--tf-surface-muted);border-radius:12px;padding:16px;min-height:200px;border:2px solid transparent;transition:all .3s ease}.calendar-day:hover{border-color:var(--tf-border);transform:translateY(-2px);box-shadow:0 8px 25px #0f172a1f}.calendar-day.today{border-color:var(--tf-link);background:linear-gradient(135deg,#3b82f61f,#3b82f614)}.day-header{text-align:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--tf-border)}.day-header h3{margin:0 0 4px;font-size:18px;font-weight:700;color:var(--tf-text-primary)}.day-name{font-size:12px;color:var(--tf-text-secondary);text-transform:uppercase;letter-spacing:.5px}.day-slots{display:flex;flex-direction:column;gap:8px}.no-slots{display:flex;flex-direction:column;align-items:center;justify-content:center;height:120px;color:var(--tf-text-secondary);text-align:center}.no-slots-icon{font-size:24px;margin-bottom:8px;opacity:.5}.no-slots span{font-size:12px}.time-slot{background:var(--tf-surface);border-radius:8px;padding:8px 12px;border:1px solid var(--tf-border);transition:all .2s ease;display:flex;justify-content:space-between;align-items:center}.time-slot.available{border-left:4px solid #10b981;background:linear-gradient(135deg,#10b9811f,#0f172a0d)}.time-slot.unavailable{border-left:4px solid #ef4444;background:linear-gradient(135deg,#ef44441f,#0f172a0d);opacity:.7}.slot-time{font-size:12px;font-weight:600;color:var(--tf-text-primary)}.slot-actions{display:flex;gap:4px}.slot-toggle-btn,.slot-edit-btn,.slot-delete-btn{background:none;border:none;padding:4px;border-radius:4px;cursor:pointer;font-size:10px;transition:all .2s ease}.slot-toggle-btn{color:#10b981;font-weight:700}.slot-toggle-btn:hover{background:#10b98126}.slot-edit-btn{color:#3b82f6}.slot-edit-btn:hover{background:#3b82f626}.slot-delete-btn{color:#ef4444}.slot-delete-btn:hover{background:#f871712e}.availability-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:var(--tf-surface);border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 4px 6px -1px #0f172a1f;transition:all .3s ease;border:1px solid var(--tf-border)}.stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0f172a2e}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2)}.stat-icon.available{background:linear-gradient(135deg,#10b981,#059669)}.stat-icon.unavailable{background:linear-gradient(135deg,#ef4444,#dc2626)}.stat-content h3{margin:0 0 4px;font-size:24px;font-weight:700;color:var(--tf-text-primary)}.stat-content p{margin:0;font-size:14px;color:var(--tf-text-secondary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--tf-surface);border-radius:16px;width:90%;max-width:500px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 35px -10px #0f172a66;animation:modalSlideIn .3s ease;border:1px solid var(--tf-border)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--tf-border);background:linear-gradient(135deg,var(--tf-surface-muted) 0%,var(--tf-surface) 100%);flex-shrink:0}.modal-header h3{margin:0;font-size:20px;font-weight:600;color:var(--tf-text-primary)}.modal-close-btn{background:none;border:none;color:var(--tf-text-secondary);cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease}.modal-close-btn:hover{background:#3b82f62e;color:var(--tf-text-primary)}.modal-body{padding:24px;overflow-y:auto;flex:1;min-height:0}.form-group{margin-bottom:20px;display:flex;flex-direction:column}.form-group:last-of-type{margin-bottom:0}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:var(--tf-text-primary);text-transform:uppercase;letter-spacing:.5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.form-row:last-of-type{margin-bottom:0}.form-select{width:100%;padding:8px 12px;border:1px solid var(--tf-border);border-radius:6px;font-size:13px;background:var(--tf-surface);transition:all .2s ease;box-sizing:border-box;color:var(--tf-text-primary)}.time-inputs .form-select{max-width:140px}.time-select{position:relative;overflow-y:auto}.time-select[size]{position:absolute;z-index:1000;background:#fff;box-shadow:0 4px 12px #00000026;border:1px solid #e2e8f0;border-radius:6px;max-height:200px;overflow-y:auto}.time-select[size="1"]{position:relative;z-index:auto;box-shadow:none}.form-select option{padding:6px 8px;font-size:13px}.form-select:focus{outline:none;border-color:var(--tf-link);box-shadow:0 0 0 2px #3b82f62e}.days-dropdown-container{display:flex;flex-direction:column;gap:16px;width:100%}.days-dropdown{width:100%;padding:12px 16px;border:2px solid var(--tf-border);border-radius:8px;font-size:14px;background:var(--tf-surface);transition:all .2s ease;color:var(--tf-text-primary)}.days-dropdown:focus{outline:none;border-color:var(--tf-link);box-shadow:0 0 0 3px #3b82f62e}.selected-days{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;padding:16px;background:var(--tf-surface-muted);border-radius:8px;border:1px solid var(--tf-border);min-height:60px;align-items:flex-start;justify-content:flex-start}.selected-day-tag{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:8px 14px;border-radius:20px;font-size:13px;font-weight:600;box-shadow:0 2px 4px #3b82f633;transition:all .2s ease}.selected-day-tag:hover{transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.remove-day-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:0;margin-left:6px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;opacity:.8}.remove-day-btn:hover{background:#ffffff4d;opacity:1;transform:scale(1.1)}.no-days-selected{color:#94a3b8;font-size:14px;font-style:italic;text-align:center;width:100%;padding:16px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding:20px 24px;border-top:1px solid #e2e8f0;background:#fff;flex-shrink:0;margin:0 -24px -24px}.btn-secondary,.btn-primary{padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;border:none}.btn-secondary{background:#f1f5f9;color:#64748b}.btn-secondary:hover{background:#e2e8f0;color:#374151}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.basic-page-loading{display:flex;align-items:center;justify-content:center;height:400px;color:#6b7280;font-size:16px;background:#f9fafb;border-radius:12px;margin:24px}@media (max-width: 1024px){.calendar-grid{grid-template-columns:repeat(4,1fr)}.big-calendar .calendar-grid{grid-template-columns:repeat(7,1fr)}.date-range-inputs{grid-template-columns:repeat(2,1fr)}.specific-dates-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.availability-setup-grid{grid-template-columns:1fr}.dates-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.individual-dates-header{flex-direction:column;align-items:flex-start}.dates-table th,.dates-table td{padding:12px 10px;font-size:13px}}@media (max-width: 768px){.availability-container{padding:16px}.availability-header{flex-direction:column;gap:16px;text-align:center}.availability-actions{justify-content:center}.availability-mode-toggle{flex-direction:column}.calendar-grid{grid-template-columns:repeat(2,1fr)}.big-calendar .calendar-grid{grid-template-columns:repeat(7,1fr)}.availability-stats,.form-row,.date-range-inputs,.recurring-inputs{grid-template-columns:1fr}.selected-days{justify-content:center;padding:8px;min-height:40px}.selected-day-tag{font-size:12px;padding:6px 10px}.date-range-button-container{justify-content:center;margin-top:16px}.recurring-button-container{justify-content:center;margin-top:20px}.time-inputs{flex-direction:column;align-items:stretch;gap:8px}.time-inputs span{text-align:center;font-weight:600}.modal-content{width:95%;margin:20px}.calendar-day-cell{min-height:60px}.day-number{font-size:14px}.specific-dates-grid{grid-template-columns:1fr}.specific-date-card{flex-direction:column;gap:12px;align-items:stretch}.specific-date-actions{justify-content:center}.availability-section{padding:20px;margin-bottom:20px}.section-title{flex-direction:column;gap:8px}.section-title h2{font-size:24px}.section-description{font-size:14px}.availability-setup-grid{grid-template-columns:1fr;gap:16px}.setup-card{padding:20px}.setup-header{flex-direction:column;align-items:flex-start;gap:8px}.dates-grid{grid-template-columns:1fr;gap:16px}.date-card{padding:20px;gap:14px}.date-info h4{font-size:16px}.date-info p{font-size:14px}.date-actions{justify-content:center;gap:10px}.action-btn{min-width:36px;height:36px;padding:8px 10px}.time-separator{text-align:center;padding:4px 0}.individual-dates-header{flex-direction:column;align-items:stretch}.filter-toggle{width:100%;justify-content:flex-start}.dates-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.dates-table{min-width:600px}.dates-table th,.dates-table td{padding:12px 8px;font-size:12px}.dates-table .cell-icon{font-size:12px}.dates-pagination{flex-direction:column;align-items:stretch;gap:12px}.pagination-btn{width:100%;justify-content:center}.pagination-info{text-align:center;order:-1}}@media (max-width: 480px){.calendar-grid{grid-template-columns:1fr}.big-calendar .calendar-grid{grid-template-columns:repeat(7,1fr)}.calendar-day{min-height:150px}.time-slot{flex-direction:column;gap:8px;align-items:flex-start}.slot-actions{align-self:flex-end}.calendar-day-cell{min-height:50px}.day-number{font-size:12px}.selected-day-tag{font-size:11px;padding:4px 8px}.no-days-selected{font-size:12px;padding:12px}.availability-indicator{width:16px;height:16px}.availability-count{font-size:8px}.mode-btn{padding:10px 12px;font-size:12px}.add-slot-btn,.add-specific-btn{padding:10px 16px;font-size:12px}}.selected-date-availability{background:#fff;border-radius:20px;padding:2rem;margin:2rem 0;box-shadow:0 8px 25px #00000014;border:1px solid rgba(255,255,255,.2)}.availability-slots-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f1f5f9}.availability-slots-header h2{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0}.availability-slots-list{display:flex;flex-direction:column;gap:12px}.availability-slot-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;border:1px solid #bae6fd;transition:all .3s ease}.availability-slot-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f626}.slot-time{font-size:1.125rem;font-weight:600;color:#0c4a6e}.slot-type{display:flex;align-items:center;gap:8px;color:#475569;font-size:.875rem;font-weight:500}.slot-type svg{color:#3b82f6}.no-availability-slots{text-align:center;padding:2rem;color:#64748b}.no-availability-slots p{margin:0;font-size:1rem}.selected-date-appointments{background:#fff;border-radius:20px;padding:2rem;margin:2rem 0;box-shadow:0 8px 25px #00000014;border:1px solid rgba(255,255,255,.2)}.appointments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f1f5f9}.appointments-header h2{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0}.appointments-count{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600}.appointments-header-actions{display:flex;align-items:center;gap:12px}.refresh-appointments-btn{background:#3b82f6;color:#fff;border:none;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.refresh-appointments-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.refresh-appointments-btn:disabled{opacity:.6;cursor:not-allowed}.refreshing-indicator{color:#6b7280;font-size:12px;font-weight:500}.basic-loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:#6b7280;font-size:14px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.no-appointments{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#94a3b8;text-align:center}.no-appointments-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.no-appointments p{font-size:1.1rem;margin:0}.appointments-list{display:flex;flex-direction:column;gap:1rem}.appointment-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;transition:all .3s ease}.appointment-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.appointment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.appointment-athlete{display:flex;align-items:center;gap:.5rem}.athlete-icon{color:#3b82f6;font-size:1rem}.athlete-name{font-weight:600;color:#1e293b;font-size:1.1rem}.appointment-status{display:flex;align-items:center;gap:.5rem}.status-icon{font-size:.25rem}.status-icon.confirmed{color:#10b981}.status-icon.pending{color:#f59e0b}.status-icon.completed{color:#3b82f6}.status-icon.cancelled{color:#ef4444}.status-text{font-size:.875rem;font-weight:500;text-transform:capitalize}.status-text.confirmed{font-weight:700;color:#059669;background:#d1fae5;padding:.25rem .75rem;border-radius:.375rem;font-size:.875rem;border:1px solid #10b981}.appointment-details{display:flex;flex-direction:column;gap:.75rem}.appointment-service h4{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0 0 .25rem}.appointment-service .service-description{margin:0;padding:0;background:transparent;border:none;border-radius:0;color:#6b7280;font-size:.875rem;line-height:1.4}.service-description{color:#6b7280;font-size:.875rem;margin:0;line-height:1.4}.appointment-time{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.875rem}.time-icon{color:#3b82f6}.duration{color:#9ca3af;font-style:italic}.appointment-price{display:flex;align-items:center;gap:.5rem}.price-label{color:#6b7280;font-size:.875rem}.price-value{font-weight:600;color:#059669;font-size:1rem}.appointment-notes{margin-top:1rem;padding:1rem;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;color:#92400e;font-size:.875rem;line-height:1.4}.group-classes-container{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 4px 6px -1px #0000001a}.group-classes-header{margin-bottom:24px}.group-classes-header h2{margin:0 0 8px;font-size:24px;font-weight:700;color:#1e293b}.group-classes-header p{margin:0;font-size:16px;color:#64748b}.no-group-services{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#94a3b8;background:#f8fafc;border-radius:12px;border:2px dashed #e2e8f0}.no-services-icon{font-size:48px;margin-bottom:16px;opacity:.5}.no-group-services p{margin:0;font-size:16px;max-width:400px}.group-classes-controls{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:24px;padding:20px;background:#f8fafc;border-radius:12px;border:2px solid #e2e8f0}.service-selector{flex:1}.service-selector label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#374151}.upcoming-classes h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#374151}.no-upcoming-classes{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#94a3b8;background:#f8fafc;border-radius:12px;border:2px dashed #e2e8f0}.no-classes-icon{font-size:48px;margin-bottom:16px;opacity:.5}.no-upcoming-classes p{margin:0;font-size:16px;max-width:400px}.classes-list{background:#fff;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden}.classes-table-header{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 1fr 1fr;gap:16px;padding:16px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-weight:600;font-size:14px;color:#374151}.class-row{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 1fr 1fr;gap:16px;padding:16px 20px;border-bottom:1px solid #f1f5f9;align-items:center;transition:background-color .2s ease}.class-row:hover{background:#f8fafc}.class-row:last-child{border-bottom:none}.class-datetime{display:flex;flex-direction:column;gap:4px}.class-date{font-weight:600;color:#1e293b;font-size:14px}.class-time{color:#64748b;font-size:13px}.class-location{color:#374151;font-size:14px}.class-capacity{color:#374151;font-size:14px;font-weight:500}.class-seats-left{display:flex;justify-content:center}.seats-pill{background:#10b981;color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600;min-width:24px;text-align:center}.seats-pill.low-seats{background:#f59e0b}.class-status{display:flex;justify-content:center}.status-badge{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge.scheduled{background:#dbeafe;color:#1e40af}.status-badge.completed{background:#dcfce7;color:#166534}.status-badge.cancelled{background:#fee2e2;color:#dc2626}.class-actions{display:flex;gap:8px;justify-content:center}.edit-class-btn,.cancel-class-btn{background:none;border:none;padding:6px;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:14px}.edit-class-btn{color:#3b82f6}.edit-class-btn:hover{background:#eff6ff}.cancel-class-btn{color:#ef4444}.cancel-class-btn:hover{background:#fef2f2}.error-message{background:#fee2e2;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;border:1px solid #fecaca}.info-message{background:#eff6ff;color:#1e40af;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;border:1px solid #bfdbfe;display:flex;align-items:center;gap:8px}.info-icon{font-size:16px;flex-shrink:0}.form-help{display:block;margin-top:6px;font-size:12px;color:#6b7280;font-style:italic;line-height:1.4}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;padding:12px 16px;border-radius:8px;border:2px solid #e2e8f0;transition:all .2s ease;background:#f8fafc}.checkbox-label:hover{border-color:#3b82f6;background:#eff6ff}.checkbox-label.active{border-color:#10b981;background:#f0fdf4;color:#059669}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#10b981;cursor:pointer}.checkbox-icon{font-size:14px;margin-right:4px}@media (max-width: 768px){.selected-date-appointments{padding:1.5rem;margin:1.5rem 0}.appointments-header{flex-direction:column;gap:1rem;text-align:center}.appointment-header{flex-direction:column;gap:.75rem;align-items:flex-start}.appointment-status{align-self:flex-end}.group-classes-controls{flex-direction:column;align-items:stretch}.classes-table-header,.class-row{grid-template-columns:1fr;gap:8px}.classes-table-header{display:none}.class-row{display:flex;flex-direction:column;align-items:stretch;padding:16px;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:8px}.class-datetime,.class-location,.class-capacity,.class-seats-left,.class-status,.class-actions{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.class-datetime:before{content:"Date/Time: ";font-weight:600;color:#374151}.class-location:before{content:"Location: ";font-weight:600;color:#374151}.class-capacity:before{content:"Capacity: ";font-weight:600;color:#374151}.class-seats-left:before{content:"Seats Left: ";font-weight:600;color:#374151}.class-status:before{content:"Status: ";font-weight:600;color:#374151}.class-actions:before{content:"Actions: ";font-weight:600;color:#374151}}.availability-tabs-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;margin-bottom:32px}.availability-tabs-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:0}.tabs-navigation{display:flex;gap:0}.tab-button{display:flex;align-items:center;gap:8px;padding:16px 24px;background:transparent;border:none;border-bottom:3px solid transparent;color:#64748b;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;flex:1;justify-content:center}.tab-button:hover{background:#f1f5f9;color:#374151}.tab-button.active{background:#e0f2fe;color:#0369a1;border-bottom-color:transparent}.tab-icon{font-size:16px}.tab-content{padding:0}.tab-content .availability-section{margin:0;border-radius:0;box-shadow:none;border:none}.tab-content .section-header{padding:24px 24px 0;margin-bottom:24px}.tab-content .availability-setup-grid,.tab-content .packages-actions,.tab-content .individual-dates-section{padding:0 24px 24px}@media (max-width: 768px){.tabs-navigation{flex-direction:column}.tab-button{border-bottom:1px solid #e2e8f0;border-right:none;justify-content:flex-start;padding:16px 20px}.tab-button.active{border-bottom-color:#e2e8f0;border-left:none}.tab-content .section-header,.tab-content .availability-setup-grid,.tab-content .packages-actions,.tab-content .individual-dates-section{padding-left:20px;padding-right:20px}}@media (max-width: 480px){.tab-button{padding:14px 16px;font-size:13px}.tab-icon{font-size:14px}.tab-content .section-header,.tab-content .availability-setup-grid,.tab-content .packages-actions,.tab-content .individual-dates-section{padding-left:16px;padding-right:16px}}.packages-actions{margin-bottom:24px;display:flex;justify-content:flex-start;gap:12px}.packages-actions .btn-primary{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#2e7dff;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.packages-actions .btn-primary:hover{background:#1e6bff;transform:translateY(-1px)}.no-packages-message{text-align:center;padding:48px 24px;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;color:#64748b}.no-packages-icon{font-size:48px;color:#cbd5e1;margin-bottom:16px}.no-packages-message p{margin:0;font-size:16px;font-weight:500}.packages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:24px;margin-top:24px}.package-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px;transition:all .2s ease;box-shadow:0 2px 4px #0000000d}.package-card:hover{border-color:#2e7dff;box-shadow:0 8px 25px #2e7dff1a;transform:translateY(-2px)}.package-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.package-header h3{margin:0;font-size:20px;font-weight:600;color:#1e293b;flex:1}.package-type-badge{background:#e0f2fe;color:#0369a1;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.package-details{margin-bottom:20px}.package-description{color:#64748b;font-size:14px;line-height:1.5;margin:0 0 16px}.package-card .package-description{padding:0;background:transparent;border-radius:0;border:none}.package-info{display:flex;flex-direction:column;gap:8px}.package-info-item{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#374151}.package-info-item strong{color:#1e293b;font-weight:600}.package-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:16px;border-top:1px solid #f1f5f9}.package-actions .action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:14px}.package-actions .action-btn svg{width:16px!important;height:16px!important;display:block!important;fill:#fff!important;color:#fff!important;opacity:1!important;visibility:visible!important}.package-actions .action-btn{display:flex!important;align-items:center!important;justify-content:center!important;min-width:60px!important;height:32px!important;border:none!important;border-radius:6px!important;cursor:pointer!important;transition:all .2s ease!important;font-size:12px!important;font-weight:600!important;padding:8px 12px!important;position:relative!important}.package-actions .edit-btn{background:#3b82f6!important;color:#fff!important;border:1px solid #2563eb}.package-actions .edit-btn:hover{background:#2563eb!important;color:#fff!important;border-color:#1d4ed8;transform:translateY(-1px)}.package-actions .delete-btn{background:#ef4444!important;color:#fff!important;border:1px solid #dc2626}.package-actions .delete-btn:hover{background:#dc2626!important;color:#fff!important;border-color:#b91c1c;transform:translateY(-1px)}.form-textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;transition:border-color .2s ease}.form-textarea:focus{outline:none;border-color:#2e7dff;box-shadow:0 0 0 3px #2e7dff1a}.checkbox-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:8px}.checkbox-group .checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;cursor:pointer;padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;transition:all .2s ease}.checkbox-group .checkbox-label:hover{background:#f9fafb;border-color:#d1d5db}.checkbox-group .checkbox-label input[type=checkbox]{margin:0;width:16px;height:16px;accent-color:#2e7dff}.checkbox-group .checkbox-label input[type=checkbox]:checked+span{color:#2e7dff;font-weight:600}@media (max-width: 768px){.packages-grid{grid-template-columns:1fr;gap:16px}.package-card{padding:20px}.package-header{flex-direction:column;align-items:flex-start;gap:12px}.package-type-badge{align-self:flex-start}.checkbox-group{grid-template-columns:1fr}}@media (max-width: 480px){.packages-actions{flex-direction:column}.packages-actions .btn-primary{justify-content:center}.package-info-item{flex-direction:column;align-items:flex-start;gap:4px}}.weekly-availability-section{margin-top:24px;padding:20px;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef}.weekly-availability-section h3{margin:0 0 16px;color:#2e7dff;font-size:18px;font-weight:600}.weekly-slot{background:#e3f2fd;border:1px solid #bbdefb}.availability-type{font-size:12px;color:#666;margin:4px 0 0;font-style:italic}.group-service{font-size:12px;color:#2e7dff;margin:4px 0 0;font-weight:500}.view-all-dates-container,.view-all-bookings-container{display:flex;justify-content:center;margin-top:24px;padding-top:24px;border-top:2px solid #f1f5f9}.view-all-btn{background:linear-gradient(135deg,#2e7dff,#1d4ed8);color:#fff;border:none;border-radius:12px;padding:14px 32px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 12px #2e7dff4d}.view-all-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-2px);box-shadow:0 8px 25px #2e7dff66}body[data-theme=dark] .availability-container{background:var(--tf-background);color:var(--tf-text-primary)}body[data-theme=dark] .availability-container h1,body[data-theme=dark] .availability-container h2,body[data-theme=dark] .availability-container h3,body[data-theme=dark] .availability-container h4,body[data-theme=dark] .availability-container h5,body[data-theme=dark] .availability-container h6{color:var(--tf-text-primary)}body[data-theme=dark] .availability-container p,body[data-theme=dark] .availability-container span,body[data-theme=dark] .availability-container label,body[data-theme=dark] .availability-container li,body[data-theme=dark] .availability-container td,body[data-theme=dark] .availability-container th{color:var(--tf-text-secondary)}body[data-theme=dark] .availability-title h1,body[data-theme=dark] .section-title h2,body[data-theme=dark] .section-header-with-action h3,body[data-theme=dark] .individual-dates-section h3,body[data-theme=dark] .calendar-header h2,body[data-theme=dark] .availability-slots-header h2,body[data-theme=dark] .appointments-header h2,body[data-theme=dark] .group-classes-header h2,body[data-theme=dark] .packages-actions .btn-primary,body[data-theme=dark] .package-header h3{color:var(--tf-text-primary)}body[data-theme=dark] .availability-subtitle,body[data-theme=dark] .section-description,body[data-theme=dark] .time-slot,body[data-theme=dark] .slot-type,body[data-theme=dark] .service-description,body[data-theme=dark] .appointment-time,body[data-theme=dark] .price-label,body[data-theme=dark] .duration,body[data-theme=dark] .legend-item,body[data-theme=dark] .legend-title,body[data-theme=dark] .filter-toggle,body[data-theme=dark] .pagination-info,body[data-theme=dark] .no-availability-slots,body[data-theme=dark] .no-appointments,body[data-theme=dark] .no-dates-message p,body[data-theme=dark] .no-group-services p,body[data-theme=dark] .no-upcoming-classes p,body[data-theme=dark] .no-packages-message p{color:var(--tf-text-secondary)}body[data-theme=dark] .availability-header,body[data-theme=dark] .availability-section,body[data-theme=dark] .availability-calendar,body[data-theme=dark] .big-calendar-container,body[data-theme=dark] .specific-dates-container,body[data-theme=dark] .group-classes-container,body[data-theme=dark] .selected-date-availability,body[data-theme=dark] .selected-date-appointments,body[data-theme=dark] .availability-tabs-container,body[data-theme=dark] .availability-tabs-header,body[data-theme=dark] .tab-content .availability-section,body[data-theme=dark] .packages-grid .package-card,body[data-theme=dark] .dates-table-container,body[data-theme=dark] .classes-list,body[data-theme=dark] .availability-stats .stat-card,body[data-theme=dark] .appointment-card,body[data-theme=dark] .date-card,body[data-theme=dark] .package-card,body[data-theme=dark] .modal-content{background:#0d1424eb;border-color:var(--tf-border);box-shadow:0 18px 40px #0206178c}body[data-theme=dark] .availability-mode-toggle,body[data-theme=dark] .setup-card,body[data-theme=dark] .date-range-section,body[data-theme=dark] .selected-days,body[data-theme=dark] .group-classes-controls,body[data-theme=dark] .availability-legend,body[data-theme=dark] .dates-pagination,body[data-theme=dark] .no-dates-message,body[data-theme=dark] .no-group-services,body[data-theme=dark] .no-upcoming-classes,body[data-theme=dark] .no-packages-message,body[data-theme=dark] .no-appointments,body[data-theme=dark] .basic-loading,body[data-theme=dark] .basic-page-loading,body[data-theme=dark] .packages-actions{background:#13203ad9;border-color:var(--tf-border);box-shadow:0 12px 30px #02061773}body[data-theme=dark] .mode-btn{background:#0f1a2ee6;color:var(--tf-text-secondary);border-color:#60a5fa26}body[data-theme=dark] .mode-btn:hover{background:#3b82f62e;color:var(--tf-text-primary)}body[data-theme=dark] .mode-btn.active{background:linear-gradient(135deg,#3b82f6d9,#1d4ed8e6);border-color:#ffffff1f;box-shadow:0 14px 32px #2563eb59}body[data-theme=dark] .tab-button{color:#cbd5e1b3;background:transparent;border-bottom-color:transparent}body[data-theme=dark] .tab-button:hover{background:#3b82f624;color:var(--tf-text-primary)}body[data-theme=dark] .tab-button.active{background:linear-gradient(135deg,#3b82f62e,#1d4ed840);color:var(--tf-text-primary);border-bottom-color:#60a5fa73}body[data-theme=dark] .tab-icon{color:#60a5fad9}body[data-theme=dark] .setup-card:hover{box-shadow:0 18px 36px #2563eb33;border-color:#60a5fa59}body[data-theme=dark] .availability-stats .stat-card{background:#0d172df2;border-color:#94a3b833}body[data-theme=dark] .stat-content p{color:#cbd5e1bf}body[data-theme=dark] .stat-icon{box-shadow:none}body[data-theme=dark] .calendar-header,body[data-theme=dark] .availability-slots-header,body[data-theme=dark] .appointments-header,body[data-theme=dark] .group-classes-header{border-bottom:1px solid var(--tf-border)}body[data-theme=dark] .calendar-header h2,body[data-theme=dark] .appointments-header h2,body[data-theme=dark] .availability-slots-header h2{color:var(--tf-text-primary)}body[data-theme=dark] .calendar-legend .legend-item{color:var(--tf-text-secondary)}body[data-theme=dark] .legend-color.one-on-one{background:linear-gradient(135deg,#3b82f638,#0d172de6);border-color:#60a5fa80}body[data-theme=dark] .legend-color.group-package{background:linear-gradient(135deg,#10b98138,#0d172de6);border-color:#2dd4bf8c}body[data-theme=dark] .legend-color.one-on-one-package{background:linear-gradient(135deg,#7c3aed40,#0d172de6);border-color:#a78bfa8c}body[data-theme=dark] .calendar-weekday{color:#cbd5e1bf}body[data-theme=dark] .weekly-availability-section{background:#0d172deb;border-color:var(--tf-border)}body[data-theme=dark] .weekly-slot{background:#13203ae0;border-color:#60a5fa47;box-shadow:0 12px 28px #02061766}body[data-theme=dark] .weekly-slot:hover{box-shadow:0 16px 36px #02061780}body[data-theme=dark] .availability-type{color:#60a5facc}body[data-theme=dark] .time-slot .slot-time{color:var(--tf-text-primary)}body[data-theme=dark] .group-service{color:#2dd4bfd9;background:#10b9812e}body[data-theme=dark] .package-date-range{background:#0f1a2ed9;color:#cbd5e1b3;border-color:#94a3b840}body[data-theme=dark] .calendar-day-cell{background:#0d172df2;border-color:#94a3b838;box-shadow:none}body[data-theme=dark] .calendar-day-cell:hover{border-color:#60a5fa99;box-shadow:0 14px 28px #2563eb40}body[data-theme=dark] .calendar-day-cell.empty{background:#0d172d8c;border-color:#94a3b81a}body[data-theme=dark] .calendar-day-cell.today{border-color:#60a5fabf;background:linear-gradient(135deg,#3b82f640,#0d172df2)}body[data-theme=dark] .calendar-day-cell.has-one-on-one-availability{border-color:#60a5faa6;background:linear-gradient(135deg,#3b82f640,#0d172df2)}body[data-theme=dark] .calendar-day-cell.has-group-package-availability{border-color:#2dd4bf99;background:linear-gradient(135deg,#10b98140,#0d172df2)}body[data-theme=dark] .calendar-day-cell.has-one-on-one-package-availability{border-color:#a78bfa99;background:linear-gradient(135deg,#7c3aed40,#0d172df2)}body[data-theme=dark] .view-all-dates-container,body[data-theme=dark] .view-all-bookings-container{border-top-color:#94a3b82e}body[data-theme=dark] .calendar-day-cell.selected{box-shadow:0 14px 32px #2563eb59!important}body[data-theme=dark] .day-number{color:var(--tf-text-primary)}body[data-theme=dark] .availability-indicator{background:#10b981d9;color:#0b1120}body[data-theme=dark] .calendar-day-cell.has-one-on-one-availability .availability-indicator{background:#3b82f6d9;color:#0b1120}body[data-theme=dark] .calendar-day-cell.has-group-package-availability .availability-indicator{background:#10b981d9;color:#0b1120}body[data-theme=dark] .calendar-day-cell.has-one-on-one-package-availability .availability-indicator{background:#7c3aedd9;color:#f5f3ff}body[data-theme=dark] .availability-slot-item{background:linear-gradient(135deg,#3b82f638,#0d172df2);border-color:#60a5fa73;box-shadow:0 12px 28px #2563eb4d}body[data-theme=dark] .availability-slot-item:hover{box-shadow:0 16px 32px #2563eb66}body[data-theme=dark] .slot-time{color:var(--tf-text-primary)}body[data-theme=dark] .availability-slot-item .slot-type{color:#cbd5e1bf}body[data-theme=dark] .availability-slot-item .slot-type svg{color:#60a5fabf}body[data-theme=dark] .availability-slot-item .slot-type strong{color:var(--tf-text-primary)}body[data-theme=dark] .availability-slot-item .slot-type span{color:#cbd5e1a6}body[data-theme=dark] .slot-type svg{color:#60a5facc}body[data-theme=dark] .appointments-count{background:linear-gradient(135deg,#3b82f6e6,#1d4ed8e6);color:#e2e8f0}body[data-theme=dark] .refresh-appointments-btn{background:#3b82f62e;color:var(--tf-text-primary);border:1px solid rgba(96,165,250,.35)}body[data-theme=dark] .refresh-appointments-btn:hover:not(:disabled){background:#3b82f647;color:#e8f0ff;border-color:#60a5fa8c}body[data-theme=dark] .appointment-card{background:#0d172deb;border-color:#94a3b833;box-shadow:0 16px 32px #02061780}body[data-theme=dark] .appointment-card:hover{box-shadow:0 20px 38px #02061799}body[data-theme=dark] .athlete-name{color:var(--tf-text-primary)}body[data-theme=dark] .appointment-service .service-description{color:#cbd5e1bf;background:transparent;border:none}body[data-theme=dark] .service-description{color:#cbd5e1bf}body[data-theme=dark] .price-value{color:#2dd4bfe6}body[data-theme=dark] .appointment-notes{background:#141d30eb;border-color:#94a3b852;color:var(--tf-text-secondary)}body[data-theme=dark] .appointment-notes strong{color:var(--tf-text-primary)}body[data-theme=dark] .status-text.confirmed{background:#2dd4bfcc;color:#022c22;border-color:#a7f3d0a6}body[data-theme=dark] .status-text.pending{color:#fde68a}body[data-theme=dark] .status-text.cancelled{color:#fecaca}body[data-theme=dark] .status-text.completed{color:#60a5fa}body[data-theme=dark] .dates-table thead{background:#0f1a2efa;border-bottom:1px solid rgba(148,163,184,.12)}body[data-theme=dark] .dates-table th{color:var(--tf-text-secondary)}body[data-theme=dark] .dates-table td{color:var(--tf-text-primary)}body[data-theme=dark] .dates-table .time-cell,body[data-theme=dark] .dates-table .time-text{color:#cbd5e1bf}body[data-theme=dark] .dates-table tbody tr{border-bottom:1px solid rgba(148,163,184,.08)}body[data-theme=dark] .dates-table tbody tr:hover{background-color:#3b82f62e}body[data-theme=dark] .dates-table .actions-cell .action-btn{border-color:#94a3b833}body[data-theme=dark] .dates-table .actions-cell .action-btn.edit-btn{background:#3b82f62e;color:var(--tf-link);border-color:#60a5fa59}body[data-theme=dark] .dates-table .actions-cell .action-btn.edit-btn:hover{background:#3b82f64d;color:#e2e8f0;box-shadow:0 8px 18px #2563eb4d}body[data-theme=dark] .dates-table .actions-cell .action-btn.delete-btn{background:#ef44442e;color:#fca5a5;border-color:#f871714d}body[data-theme=dark] .dates-table .actions-cell .action-btn.delete-btn:hover{background:#ef444447;color:#fee2e2;box-shadow:0 8px 18px #ef444440}body[data-theme=dark] .pagination-btn{background:#0d172de6;border-color:#60a5fa33;color:var(--tf-text-secondary);box-shadow:0 8px 20px #02061766}body[data-theme=dark] .pagination-btn:hover:not(:disabled){background:#3b82f640;color:var(--tf-text-primary);border-color:#60a5fa73;box-shadow:0 12px 24px #2563eb59}body[data-theme=dark] .pagination-btn:disabled{background:#0d172d80;color:#94a3b866;box-shadow:none}body[data-theme=dark] .time-slot{background:#0d172de6;border-color:#94a3b833}body[data-theme=dark] .time-slot.available{background:linear-gradient(135deg,#10b9812e,#0d172de6);border-left-color:#2dd4bfd9}body[data-theme=dark] .time-slot.unavailable{background:linear-gradient(135deg,#ef44442e,#0d172de6);border-left-color:#f87171d9;opacity:.85}body[data-theme=dark] .slot-actions button{color:#cbd5e1d9}body[data-theme=dark] .slot-toggle-btn:hover{background:#10b98138}body[data-theme=dark] .slot-edit-btn:hover{background:#3b82f62e}body[data-theme=dark] .slot-delete-btn:hover{background:#ef44442e}body[data-theme=dark] .availability-indicator{box-shadow:0 4px 12px #02061766}body[data-theme=dark] .form-input,body[data-theme=dark] .form-select,body[data-theme=dark] .days-dropdown,body[data-theme=dark] .form-textarea,body[data-theme=dark] .form-input[type=datetime-local],body[data-theme=dark] .media-type-filter,body[data-theme=dark] .media-sort-filter{background:#0d172de6;border-color:#94a3b859;color:var(--tf-text-primary)}body[data-theme=dark] .form-input:focus,body[data-theme=dark] .form-select:focus,body[data-theme=dark] .days-dropdown:focus,body[data-theme=dark] .form-textarea:focus{border-color:#60a5fa8c;box-shadow:0 0 0 3px #3b82f640}body[data-theme=dark] .form-help{color:#cbd5e199}body[data-theme=dark] .checkbox-label{background:#0d172dd9;border-color:#94a3b840;color:var(--tf-text-secondary)}body[data-theme=dark] .checkbox-label:hover{background:#3b82f62e;border-color:#60a5fa59}body[data-theme=dark] .checkbox-label.active{background:#10b98138;border-color:#2dd4bf73;color:#a7f3d0e6}body[data-theme=dark] .checkbox-group .checkbox-label{background:#0f1a2ed9;border-color:#94a3b840}body[data-theme=dark] .checkbox-group .checkbox-label:hover{background:#3b82f62e}body[data-theme=dark] .selected-days{color:var(--tf-text-primary)}body[data-theme=dark] .selected-day-tag{background:linear-gradient(135deg,#3b82f6e6,#1d4ed8e6);box-shadow:0 10px 24px #2563eb59}body[data-theme=dark] .modal-header{background:linear-gradient(135deg,#13203af2,#0d1424f2);border-bottom:1px solid var(--tf-border)}body[data-theme=dark] .modal-actions{background:#0d1424eb;border-top:1px solid var(--tf-border)}body[data-theme=dark] .btn-secondary{background:#0f1a2ed9;color:var(--tf-text-secondary)}body[data-theme=dark] .btn-secondary:hover{background:#3b82f638;color:var(--tf-text-primary)}body[data-theme=dark] .btn-primary{background:linear-gradient(135deg,#3b82f6e6,#1d4ed8e6);color:#f8fafc;box-shadow:0 14px 32px #2563eb59}body[data-theme=dark] .btn-primary:hover{background:linear-gradient(135deg,#1d4ed8f2,#1e40affa);box-shadow:0 18px 40px #2563eb66}body[data-theme=dark] .add-slot-btn,body[data-theme=dark] .add-specific-btn,body[data-theme=dark] .add-group-class-btn{border-color:#60a5fa59;box-shadow:0 12px 28px #2563eb40}body[data-theme=dark] .add-slot-btn{background:#3b82f62e;color:#bfdbfe}body[data-theme=dark] .add-slot-btn:hover{background:#3b82f642;color:#e8f0ff}body[data-theme=dark] .add-specific-btn{background:#10b9812e;color:#bbf7d0;border-color:#2dd4bf59}body[data-theme=dark] .add-specific-btn:hover{background:#10b98142;color:#ecfdf5}body[data-theme=dark] .add-group-class-btn{background:#2563eb47;border-color:#60a5fa73;color:#e2e8f0}body[data-theme=dark] .add-group-class-btn:hover{background:#2563eb59}body[data-theme=dark] .group-classes-controls{border-color:#94a3b833}body[data-theme=dark] .class-row{border-bottom:1px solid rgba(148,163,184,.12)}body[data-theme=dark] .class-row:hover{background:#3b82f61f}body[data-theme=dark] .class-date,body[data-theme=dark] .class-location,body[data-theme=dark] .class-capacity{color:var(--tf-text-primary)}body[data-theme=dark] .class-time{color:#cbd5e1b3}body[data-theme=dark] .seats-pill{background:#10b9814d;color:#bbf7d0}body[data-theme=dark] .seats-pill.low-seats{background:#f59e0b59;color:#fef3c7}body[data-theme=dark] .status-badge.scheduled{background:#3b82f647;color:#bfdbfe}body[data-theme=dark] .status-badge.completed{background:#10b98147;color:#bbf7d0}body[data-theme=dark] .status-badge.cancelled{background:#ef444447;color:#fecaca}body[data-theme=dark] .package-type-badge{background:#3b82f62e;color:#bfdbfe}body[data-theme=dark] .packages-actions .btn-primary{background:linear-gradient(135deg,#3b82f6d9,#1d4ed8e6);color:#f8fafc;box-shadow:0 14px 32px #2563eb59}body[data-theme=dark] .packages-actions .btn-primary:hover{background:linear-gradient(135deg,#1d4ed8f2,#1e40affa);box-shadow:0 18px 40px #2563eb66}body[data-theme=dark] .package-description,body[data-theme=dark] .package-info-item{color:#cbd5e1bf}body[data-theme=dark] .package-card .package-description{background:transparent;color:#cbd5e1bf}body[data-theme=dark] .package-actions{border-top:1px solid rgba(148,163,184,.18)}body[data-theme=dark] .package-header h3,body[data-theme=dark] .package-info-item strong{color:var(--tf-text-primary)}body[data-theme=dark] .package-actions .edit-btn{background:#3b82f640!important;border-color:#60a5fa73}body[data-theme=dark] .package-actions .edit-btn:hover{background:#3b82f659!important}body[data-theme=dark] .package-actions .delete-btn{background:#ef444440!important;border-color:#f8717166}body[data-theme=dark] .package-actions .delete-btn:hover{background:#ef444459!important}body[data-theme=dark] .package-card:hover{border-color:#60a5fa80;box-shadow:0 16px 36px #2563eb47}body[data-theme=dark] .view-all-btn{box-shadow:0 18px 40px #2563eb59}body[data-theme=dark] .view-all-btn:hover{box-shadow:0 22px 46px #2563eb73}.athlete-mobile-menu-btn{display:none;position:fixed;top:20px;left:20px;z-index:1001;background:#1f2937;border:none;color:#f9fafb;font-size:1.5rem;cursor:pointer;padding:12px;border-radius:8px;box-shadow:0 2px 10px #0000004d;transition:all .2s ease}.athlete-mobile-menu-btn:hover{background:#374151;transform:scale(1.05)}.athlete-mobile-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:999;opacity:0;visibility:hidden;transition:all .3s ease}.athlete-mobile-overlay.open{opacity:1;visibility:visible}.athlete-sidebar{width:220px;min-height:100vh;background:var(--tf-sidebar-background);display:flex;flex-direction:column;align-items:center;padding:1.25rem 1rem 1rem;box-shadow:2px 0 8px #0f172a0a;border-right:1px solid var(--tf-sidebar-border);position:fixed;top:0;left:0;height:100vh;z-index:100;overflow-y:auto;-webkit-overflow-scrolling:touch}.athlete-sidebar-logo-container{width:100%;display:flex;justify-content:center;align-items:center;margin-bottom:1.5rem}.athlete-sidebar-logo{max-width:120px;height:auto;display:block}.athlete-sidebar-nav{display:flex;flex-direction:column;gap:.85rem;width:100%}.athlete-sidebar-link{color:var(--tf-sidebar-text);text-decoration:none;font-size:.98rem;padding:.45rem .9rem;border-radius:6px;transition:background .2s ease,color .2s ease,box-shadow .2s ease;display:block}.athlete-sidebar-link.active{background:#10b981;color:#fff;font-weight:600;box-shadow:inset 0 0 0 1px #10b98133}.athlete-sidebar-link:hover{background:#10b9811f;color:#047857}.athlete-sidebar-link{position:relative}.unread-badge{position:absolute;top:-8px;right:-8px;background:#ef4444;color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;line-height:1}.mobile-sidebar{position:fixed;top:0;left:-280px;width:280px;height:100vh;z-index:1000;transition:left .3s ease;box-shadow:2px 0 20px #0f172a26;background:var(--tf-sidebar-background);border-right:1px solid var(--tf-sidebar-border);overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:2rem}.mobile-sidebar.open{left:0}.mobile-sidebar .athlete-sidebar-logo-container{margin-bottom:2rem}.mobile-sidebar .athlete-sidebar-nav{gap:1rem}.mobile-sidebar .athlete-sidebar-link{font-size:1.2rem;padding:1rem 1.5rem;border-radius:8px;background:#10b9810f;border:1px solid rgba(16,185,129,.22)}.mobile-sidebar .athlete-sidebar-link:hover{background:#10b9812e;border-color:#10b981}.mobile-sidebar .athlete-sidebar-link.active{background:#10b981;border-color:#10b981;color:#fff}body[data-theme=dark] .athlete-sidebar{box-shadow:2px 0 12px #080f1ecc}body[data-theme=dark] .athlete-sidebar-link{color:var(--tf-sidebar-text)}body[data-theme=dark] .athlete-sidebar-link:hover{background:#10b9813d;color:#f8fafc}body[data-theme=dark] .athlete-sidebar-link.active{box-shadow:inset 0 0 0 1px #10b98166}body[data-theme=dark] .mobile-sidebar{box-shadow:2px 0 24px #080f1ee6}body[data-theme=dark] .mobile-sidebar .athlete-sidebar-link{background:#94a3b81f;border-color:#94a3b833;color:var(--tf-text-primary)}body[data-theme=dark] .mobile-sidebar .athlete-sidebar-link:hover{background:#10b98147;border-color:#10b98173;color:#fff}body[data-theme=dark] .mobile-sidebar .athlete-sidebar-link.active{border-color:#10b9818c}@media (max-width: 768px){.desktop-sidebar{display:none}.athlete-mobile-menu-btn,.athlete-mobile-overlay{display:block}}@media (min-width: 769px){.mobile-sidebar,.athlete-mobile-overlay{display:none!important}}@media (max-width: 900px){.desktop-sidebar{width:100vw;min-height:unset;height:auto;flex-direction:row;align-items:flex-start;position:static;box-shadow:none;padding:1rem}.desktop-sidebar .athlete-sidebar-logo-container{margin-bottom:0;margin-right:2rem}.desktop-sidebar .athlete-sidebar-nav{flex-direction:row;gap:1rem;width:auto}}.athlete-layout{display:flex;min-height:100vh;background:var(--tf-background);overflow-x:hidden}.athlete-main-content{flex:1;padding:1.5rem;background:var(--tf-background);min-height:100vh;overflow-y:auto;overflow-x:hidden;max-width:100%;margin-left:220px;color:var(--tf-text-primary)}@media (max-width: 900px){.athlete-layout{flex-direction:column}.athlete-main-content{padding:1rem;margin-left:0}}@media (max-width: 480px){.athlete-main-content{padding:.75rem}}.payment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.payment-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%;max-height:90vh;overflow:hidden;border:1px solid var(--tf-border);animation:modalSlideIn .3s ease-out}[data-theme=dark] .payment-modal{background:var(--tf-surface)}.payment-modal-header{background:#fff;border-bottom:1px solid var(--tf-border);padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;position:relative}[data-theme=dark] .payment-modal-header{background:var(--tf-surface)}.payment-modal-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--tf-text-primary);letter-spacing:-.025em}.close-button{background:transparent;border:none;color:var(--tf-text-secondary);cursor:pointer;padding:0;margin:0;transition:all .2s ease;width:32px;height:32px;min-width:32px;min-height:32px;max-width:32px;max-height:32px;display:flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0;border-radius:6px;box-sizing:border-box}.close-button svg{width:18px;height:18px;flex-shrink:0}.close-button:hover{background-color:#94a3b81f;color:var(--tf-text-primary)}.payment-modal-content{padding:2rem;max-height:calc(90vh - 120px);overflow-y:auto;background:#fff}[data-theme=dark] .payment-modal-content{background:var(--tf-surface)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.loading-spinner{font-size:2rem;color:var(--tf-link);animation:spin 1s linear infinite;margin-bottom:1rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.loading-container p{color:var(--tf-text-secondary);font-size:1rem;margin:0}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center}.error-container .error-icon{font-size:3rem;color:#ef4444;margin-bottom:1rem}.error-container h3{color:var(--tf-text-primary);margin:0 0 .5rem;font-size:1.25rem}.error-container p{color:var(--tf-text-secondary);margin:0 0 1.5rem;font-size:.9rem}.retry-button{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.retry-button:hover{background:#2563eb;transform:translateY(-1px)}.payment-form{display:flex;flex-direction:column;gap:1.5rem}.payment-summary{background:var(--tf-surface-muted);border:1px solid var(--tf-border);border-radius:12px;padding:1.5rem}.payment-summary h3{margin:0 0 1rem;color:var(--tf-text-primary);font-size:1.1rem;font-weight:600}.summary-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--tf-border)}.summary-item:last-child{border-bottom:none;padding-bottom:0}.summary-item.total{border-top:2px solid var(--tf-border);border-bottom:none;padding-top:1rem;margin-top:.5rem}.summary-icon{color:var(--tf-link);font-size:1rem;flex-shrink:0}.summary-content{display:flex;flex-direction:column;flex:1}.summary-label{font-size:.875rem;color:var(--tf-text-secondary);font-weight:500}.summary-value{font-size:.95rem;color:var(--tf-text-primary);font-weight:600}.total-amount{font-size:1.1rem;color:#3b82f6;font-weight:700}.payment-section{display:flex;flex-direction:column;gap:1rem}.payment-section h3{margin:0;color:var(--tf-text-primary);font-size:1.1rem;font-weight:600}.card-element-container{border:2px solid var(--tf-border);border-radius:8px;padding:1rem;background:var(--tf-surface-muted);transition:all .2s ease}.card-element-container:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.payment-error{display:flex;align-items:center;gap:.5rem;background:#ef44441f;border:1px solid rgba(248,113,113,.35);color:#fca5a5;padding:.75rem 1rem;border-radius:8px;font-size:.875rem}.error-icon{font-size:.875rem;flex-shrink:0}.save-card-checkbox{margin-top:1rem;padding:.75rem;background:#2563eb08;border-radius:8px;border:1px solid rgba(37,99,235,.1)}.save-card-checkbox label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--tf-text-primary)}.save-card-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#2563eb}.save-card-checkbox span{-webkit-user-select:none;user-select:none}.payment-security{display:flex;align-items:center;gap:.5rem;color:var(--tf-text-secondary);font-size:.8rem;padding:.75rem;background:var(--tf-surface-muted);border-radius:8px;border:1px solid var(--tf-border)}.security-icon{color:#10b981;font-size:.875rem;flex-shrink:0}.payment-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 12px #3b82f64d}.payment-button:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.payment-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.payment-button .spinner{animation:spin 1s linear infinite}@media (max-width: 640px){.payment-modal{margin:1rem;max-height:calc(100vh - 2rem)}.payment-modal-header{padding:1.25rem 1.5rem}.payment-modal-title{font-size:1.25rem}.payment-modal-content{padding:1.5rem}.payment-summary{padding:1rem}.summary-item{padding:.5rem 0}.payment-button{padding:.875rem 1.5rem;font-size:.95rem}}.StripeElement{padding:0}.StripeElement--focus{outline:none}.StripeElement--invalid{border-color:#ef4444}.saved-payment-methods{margin-bottom:1.5rem}.saved-payment-methods h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--tf-text-primary)}.payment-method-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.payment-method-option{display:flex;align-items:center;padding:1rem;border:2px solid var(--tf-border);border-radius:8px;cursor:pointer;transition:all .2s;background:var(--tf-surface)}.payment-method-option:hover{border-color:#60a5fa99;background:#60a5fa14}.payment-method-option input[type=radio]{margin-right:.75rem;accent-color:#3b82f6}.payment-method-option input[type=radio]:checked+.payment-method-info{color:#1f2937}.payment-method-option:has(input[type=radio]:checked){border-color:#3b82f6;background:#3b82f61f}.payment-method-info{display:flex;align-items:center;gap:.75rem;flex:1}.payment-method-icon{font-size:1.25rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:#60a5fa1f;border-radius:6px}.payment-method-icon .card-icon{color:var(--tf-text-secondary);font-size:1rem}.payment-method-details{flex:1}.payment-method-name{font-weight:500;color:var(--tf-text-primary);margin-bottom:.25rem}.payment-method-meta{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--tf-text-secondary)}.default-badge{background:#3b82f6;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.use-new-card-btn{width:100%;padding:.75rem;border:1px solid var(--tf-border);background:var(--tf-surface);color:var(--tf-text-primary);border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.use-new-card-btn:hover{background:#60a5fa14;border-color:#60a5fa99}.new-card-section{position:relative}.back-to-saved-btn{position:absolute;top:-2.5rem;left:0;background:none;border:none;color:var(--tf-text-secondary);font-size:.875rem;cursor:pointer;padding:.5rem 0;transition:color .2s}.back-to-saved-btn:hover{color:var(--tf-text-primary)}.card-element-container{cursor:pointer;transition:all .2s ease}.card-element-container.card-selected{border:2px solid rgba(37,99,235,.5);border-radius:8px;padding:.5rem;background:#2563eb08}.card-element-container:hover{background:#2563eb05}.card-element-container label{display:block;font-size:.875rem;font-weight:500;color:var(--tf-text-secondary);margin-bottom:.5rem}.StripeElement--complete{border-color:#10b981}[data-theme=dark] .payment-method-option:hover{background:#60a5fa29}[data-theme=dark] .payment-method-option:has(input[type=radio]:checked){background:#3b82f633}[data-theme=dark] .payment-error{background:#f8717129;border-color:#f8717166;color:#fecaca}.report-problem-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.report-problem-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:550px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}.report-problem-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e5e7eb;margin-bottom:20px}.report-problem-modal-header-content{display:flex;align-items:center;gap:12px}.report-problem-icon{color:#dc2626;font-size:1.5rem}.report-problem-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#1f2937}.report-problem-modal-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.report-problem-modal-close:hover{background-color:#f3f4f6;color:#374151}.report-problem-modal-close:disabled{opacity:.5;cursor:not-allowed}.report-problem-modal-content{padding:0 24px 24px}.report-problem-session-info{margin-bottom:24px;padding:16px;background-color:#fef2f2;border-radius:8px;border-left:4px solid #dc2626}.report-problem-session-info h3{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:#1f2937}.report-problem-session-info p{margin:0;font-size:.9rem;color:#6b7280}.report-problem-form{display:flex;flex-direction:column;gap:20px}.report-type-section{display:flex;flex-direction:column;gap:8px}.report-type-section label{font-weight:600;color:#374151;font-size:.95rem}.report-type-select{width:100%;padding:12px;border:2px solid #e5e7eb;border-radius:8px;font-family:inherit;font-size:.95rem;background-color:#fff;cursor:pointer;transition:border-color .2s;box-sizing:border-box}.report-type-select:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.report-type-select:disabled{background-color:#f9fafb;cursor:not-allowed}.report-description-section{display:flex;flex-direction:column;gap:8px}.report-description-section label{font-weight:600;color:#374151;font-size:.95rem}.report-description-section textarea{width:100%;padding:12px;border:2px solid #e5e7eb;border-radius:8px;font-family:inherit;font-size:.95rem;resize:vertical;transition:border-color .2s;box-sizing:border-box}.report-description-section textarea:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.report-description-section textarea:disabled{background-color:#f9fafb;cursor:not-allowed}.report-problem-error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:8px;font-size:.9rem}.report-problem-success{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a;padding:12px;border-radius:8px;font-size:.9rem;margin-bottom:16px}.report-problem-success p{margin:0}.report-problem-loading{text-align:center;padding:20px;color:#6b7280}.report-problem-existing-report{background-color:#f8fafc;border:2px solid #e5e7eb;border-radius:8px;padding:20px;margin-bottom:20px}.existing-report-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.existing-report-header h4{margin:0;color:#1f2937;font-size:1.1rem}.existing-report-details{display:flex;flex-direction:column;gap:12px}.existing-report-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.existing-report-item strong{color:#374151;font-weight:600}.existing-report-item span{color:#6b7280}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:6px;font-size:.875rem;font-weight:500}.status-badge.status-pending{background-color:#fef3c7;color:#92400e}.status-badge.status-under_review{background-color:#fed7aa;color:#9a3412}.status-badge.status-resolved{background-color:#d1fae5;color:#065f46}.status-badge.status-dismissed{background-color:#f3f4f6;color:#4b5563}.existing-report-description,.existing-report-resolution{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.existing-report-description strong,.existing-report-resolution strong{display:block;margin-bottom:8px;color:#374151}.existing-report-description p,.existing-report-resolution p{margin:0;color:#4b5563;white-space:pre-wrap;line-height:1.6}.existing-report-note{margin-top:16px;padding:12px;background-color:#eff6ff;border-left:4px solid #3b82f6;border-radius:4px}.existing-report-note p{margin:0;color:#1e40af;font-size:.9rem}.report-problem-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.report-problem-cancel-btn{padding:10px 20px;background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.report-problem-cancel-btn:hover:not(:disabled){background-color:#e5e7eb;border-color:#9ca3af}.report-problem-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.report-problem-submit-btn{padding:10px 20px;background-color:#dc2626;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.report-problem-submit-btn:hover:not(:disabled){background-color:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.report-problem-submit-btn:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 640px){.report-problem-modal{margin:10px;max-width:calc(100% - 20px)}.report-problem-modal-header{padding:20px 20px 0}.report-problem-modal-content{padding:0 20px 20px}.report-problem-modal-actions{flex-direction:column}.report-problem-cancel-btn,.report-problem-submit-btn{width:100%}}.athlete-dashboard-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.athlete-dashboard-loading-spinner{width:40px;height:40px;border:3px solid var(--dashboard-border);border-top:3px solid #10b981;border-radius:50%;animation:athlete-dashboard-spin 1s linear infinite;margin-bottom:1rem}@keyframes athlete-dashboard-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.athlete-dashboard-loading-message{color:var(--dashboard-text-secondary);font-size:1.1rem;font-weight:500}.athlete-dashboard-container{--dashboard-background: var(--tf-background);--dashboard-surface: var(--tf-surface);--dashboard-surface-muted: var(--tf-surface-muted);--dashboard-text-primary: var(--tf-text-primary);--dashboard-text-secondary: var(--tf-text-secondary);--dashboard-text-muted: rgba(100, 116, 139, .8);--dashboard-border: var(--tf-border);--dashboard-shadow: 0 4px 20px rgba(15, 23, 42, .08);--dashboard-shadow-hover: 0 12px 40px rgba(15, 23, 42, .12);--dashboard-card-gradient: linear-gradient( 135deg, rgba(15, 23, 42, .04) 0%, rgba(15, 23, 42, .08) 100% );--dashboard-welcome-gradient: linear-gradient( 135deg, #10b981 0%, #059669 100% );--dashboard-welcome-overlay: rgba(255, 255, 255, .1);--dashboard-empty-gradient: linear-gradient( 135deg, var(--dashboard-surface-muted) 0%, var(--dashboard-surface) 100% );--dashboard-modal-bg: #ffffff;--dashboard-modal-border: #e2e8f0;--dashboard-secondary-button-bg: #475569;--dashboard-secondary-button-text: #f8fafc;--dashboard-secondary-button-hover-bg: #1f2937;--dashboard-secondary-button-border: transparent;--status-confirmed-bg: #dcfce7;--status-confirmed-text: #166534;--status-pending-bg: #fef3c7;--status-pending-text: #92400e;--status-completed-bg: #dbeafe;--status-completed-text: #1e40af;--status-cancelled-bg: #fee2e2;--status-cancelled-text: #991b1b;max-width:1400px;margin:0 auto;padding:2rem 1.5rem;background:var(--dashboard-background);min-height:100vh;color:var(--dashboard-text-primary);transition:background .3s ease,color .3s ease}body[data-theme=dark] .athlete-dashboard-container{--dashboard-shadow: 0 8px 32px rgba(8, 15, 30, .6);--dashboard-shadow-hover: 0 18px 48px rgba(8, 15, 30, .7);--dashboard-card-gradient: linear-gradient( 135deg, rgba(148, 163, 184, .08) 0%, rgba(30, 64, 175, .1) 100% );--dashboard-welcome-gradient: linear-gradient( 135deg, #0f766e 0%, #0b5f4d 100% );--dashboard-welcome-overlay: rgba(255, 255, 255, .05);--dashboard-empty-gradient: linear-gradient( 135deg, rgba(15, 23, 42, .9) 0%, rgba(30, 41, 59, .75) 100% );--dashboard-modal-bg: #0f172a;--dashboard-modal-border: rgba(148, 163, 184, .25);--dashboard-secondary-button-bg: rgba(148, 163, 184, .16);--dashboard-secondary-button-text: #e2e8f0;--dashboard-secondary-button-hover-bg: rgba(148, 163, 184, .32);--dashboard-secondary-button-border: transparent;--dashboard-text-muted: rgba(203, 213, 225, .7);--status-confirmed-bg: rgba(34, 197, 94, .24);--status-confirmed-text: #86efac;--status-pending-bg: rgba(250, 204, 21, .22);--status-pending-text: #facc15;--status-completed-bg: rgba(96, 165, 250, .24);--status-completed-text: #93c5fd;--status-cancelled-bg: rgba(248, 113, 113, .25);--status-cancelled-text: #fca5a5}.athlete-dashboard-main-grid{display:flex;flex-direction:column;gap:2rem;margin-top:2rem}.athlete-dashboard-main-left{display:flex;flex-direction:column;gap:2rem;width:100%}.athlete-dashboard-main-right{display:none}.athlete-dashboard-stats-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.athlete-dashboard-stats-cards .athlete-dashboard-stat-card{background:var(--dashboard-surface);border-radius:12px;padding:1.5rem;border:1px solid var(--dashboard-border);box-shadow:var(--dashboard-shadow);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.athlete-dashboard-stats-cards .athlete-dashboard-stat-card:hover{transform:translateY(-2px);box-shadow:var(--dashboard-shadow-hover);border-color:var(--dashboard-border)}.athlete-dashboard-welcome{background:var(--dashboard-welcome-gradient);color:#fff;border-radius:20px;padding:2.5rem;margin-bottom:2.5rem;box-shadow:var(--dashboard-shadow);position:relative;overflow:hidden;transition:background .3s ease,box-shadow .3s ease}.athlete-dashboard-welcome:before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:var(--dashboard-welcome-overlay);border-radius:50%;transform:translate(50%,-50%)}.athlete-dashboard-welcome-content{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1;gap:2rem}.athlete-dashboard-welcome-avatar{flex-shrink:0}.athlete-dashboard-avatar-image{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.3);box-shadow:0 4px 12px #00000026}.athlete-dashboard-avatar-placeholder{width:80px;height:80px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid rgba(255,255,255,.3);box-shadow:0 4px 12px #00000026}.athlete-dashboard-avatar-initials{font-size:1.5rem;font-weight:700;color:#fff;text-align:center}.athlete-dashboard-welcome-text h1{font-size:2.5rem;font-weight:800;margin-bottom:.75rem;letter-spacing:-.02em;line-height:1.2;color:#fff;text-shadow:0 6px 18px rgba(15,23,42,.25)}.athlete-dashboard-welcome-heading{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.athlete-dashboard-welcome-msg{font-size:1.2rem;margin-bottom:0;color:#ffffffe6;line-height:1.6;max-width:600px}.athlete-dashboard-welcome-illustration{display:flex;align-items:center;justify-content:center}.athlete-dashboard-welcome-icon{font-size:4rem;animation:athlete-dashboard-bounce 2s infinite}@keyframes athlete-dashboard-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.athlete-dashboard-profile-completion-reminder{background:#ffffff26;border-radius:16px;padding:1.5rem;margin-top:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.athlete-dashboard-completion-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.athlete-dashboard-completion-title{font-size:1.1rem;font-weight:600;color:#fff}.athlete-dashboard-completion-percentage{background:#fff3;padding:.25rem .75rem;border-radius:20px;font-size:.9rem;font-weight:600}.athlete-dashboard-profile-progress-bar{width:100%;height:8px;background:#fff3;border-radius:4px;margin-bottom:1rem;overflow:hidden}.athlete-dashboard-profile-progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:4px;transition:width .6s ease}.athlete-dashboard-completion-details{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.athlete-dashboard-completion-message{font-size:.95rem;color:#ffffffe6}.athlete-dashboard-profile-missing-fields{display:flex;align-items:center;gap:.5rem}.athlete-dashboard-missing-label{font-size:.9rem;color:#fbbf24;font-weight:500}.athlete-dashboard-missing-items{font-size:.9rem;color:#fbbf24;font-weight:600}.athlete-dashboard-complete-profile-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.athlete-dashboard-complete-profile-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.athlete-dashboard-stats-section{margin-bottom:2rem}.athlete-dashboard-stats-header{margin-bottom:1.5rem}.athlete-dashboard-stats-header h2{font-size:1.4rem;font-weight:700;color:var(--dashboard-text-primary);margin:0 0 .5rem}.athlete-dashboard-stats-subtitle{font-size:.95rem;color:var(--dashboard-text-secondary)}.athlete-dashboard-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.athlete-dashboard-stat-card{background:var(--dashboard-surface);border-radius:16px;padding:1.5rem;box-shadow:var(--dashboard-shadow);border:1px solid var(--dashboard-border);transition:transform .3s ease,box-shadow .3s ease,background .3s ease}.athlete-dashboard-stat-card:hover{transform:translateY(-4px);box-shadow:var(--dashboard-shadow-hover)}.athlete-dashboard-stat-content{display:flex;align-items:center;gap:1rem}.athlete-dashboard-stat-icon-wrapper{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.athlete-dashboard-sessions-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.athlete-dashboard-completed-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.athlete-dashboard-spending-icon{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.athlete-dashboard-favorites-icon{background:linear-gradient(135deg,#2e7dff,#1d4ed8);color:#fff}.athlete-dashboard-active-icon{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.athlete-dashboard-stat-details{flex:1}.athlete-dashboard-stat-value{font-size:1.8rem;font-weight:700;color:var(--dashboard-text-primary);margin-bottom:.25rem}.athlete-dashboard-stat-label{font-size:.9rem;color:var(--dashboard-text-secondary);font-weight:500;margin-bottom:.25rem}.athlete-dashboard-stat-trend{font-size:.8rem;color:var(--dashboard-text-muted)}.athlete-dashboard-stat-trend.positive{color:#10b981;font-weight:500}.athlete-dashboard-stat-trend.neutral{color:var(--dashboard-text-muted);font-weight:400}.athlete-dashboard-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.athlete-dashboard-card{background:var(--dashboard-surface);border-radius:16px;box-shadow:var(--dashboard-shadow);padding:2rem;transition:transform .3s ease,box-shadow .3s ease,background .3s ease;border:1px solid var(--dashboard-border)}.athlete-dashboard-card:hover{transform:translateY(-4px);box-shadow:var(--dashboard-shadow-hover)}.athlete-dashboard-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.athlete-dashboard-card-header h2{font-size:1.4rem;font-weight:700;color:var(--dashboard-text-primary);margin:0}.athlete-dashboard-card-subtitle{font-size:.9rem;color:var(--dashboard-text-secondary);font-weight:500;background:var(--dashboard-surface-muted);padding:.25rem .75rem;border-radius:12px}.athlete-dashboard-sessions-container{margin-top:1rem}.athlete-dashboard-bookings-grid{display:flex;flex-direction:column;gap:1rem}.athlete-dashboard-booking-card{background:var(--dashboard-surface-muted);border-radius:12px;padding:1.25rem;border:1px solid var(--dashboard-border);transition:background .2s ease,border-color .2s ease,transform .2s ease}.athlete-dashboard-booking-card:hover{background:var(--dashboard-surface);border-color:var(--dashboard-border);transform:translateY(-2px)}.athlete-dashboard-booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.athlete-dashboard-trainer-info{display:flex;align-items:center;gap:1rem}.athlete-dashboard-trainer-avatar{width:50px;height:50px;border-radius:50%;overflow:hidden;flex-shrink:0}.athlete-dashboard-trainer-avatar img{width:100%;height:100%;object-fit:cover;object-position:center}.athlete-dashboard-avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#10b981,#059669);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:600}.athlete-dashboard-trainer-details{display:flex;flex-direction:column}.athlete-dashboard-trainer-name{font-size:1rem;font-weight:600;color:var(--dashboard-text-primary);margin:0 0 .25rem}.athlete-dashboard-trainer-sport{font-size:.85rem;color:var(--dashboard-text-secondary)}.athlete-dashboard-booking-status{padding:.4rem .8rem;border-radius:6px;font-size:.85rem;font-weight:500}.athlete-dashboard-status-confirmed{background:var(--status-confirmed-bg);color:var(--status-confirmed-text)}.athlete-dashboard-status-pending{background:var(--status-pending-bg);color:var(--status-pending-text)}.athlete-dashboard-status-completed{background:var(--status-completed-bg);color:var(--status-completed-text)}.athlete-dashboard-status-cancelled{background:var(--status-cancelled-bg);color:var(--status-cancelled-text)}.athlete-dashboard-booking-details{margin-bottom:1rem}.athlete-dashboard-service-info{margin-bottom:.75rem}.athlete-dashboard-service-title{font-size:1rem;font-weight:600;color:var(--dashboard-text-primary);margin:0 0 .25rem}.athlete-dashboard-service-duration{font-size:.85rem;color:var(--dashboard-text-secondary);margin:0}.athlete-dashboard-booking-time{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.athlete-dashboard-time-icon{font-size:1rem;color:var(--dashboard-text-secondary)}.athlete-dashboard-time-details{display:flex;flex-direction:column}.athlete-dashboard-date{font-size:.9rem;font-weight:500;color:var(--dashboard-text-primary)}.athlete-dashboard-time{font-size:.85rem;color:var(--dashboard-text-secondary)}.athlete-dashboard-booking-price{display:flex;align-items:center;gap:.5rem}.athlete-dashboard-price-label{font-size:.85rem;color:var(--dashboard-text-secondary)}.athlete-dashboard-price-value{font-size:1rem;font-weight:600;color:#10b981}.athlete-dashboard-booking-actions{display:flex;gap:.75rem}.athlete-dashboard-action-btn{padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s ease;border:none;cursor:pointer}.athlete-dashboard-action-btn.primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.athlete-dashboard-action-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.athlete-dashboard-action-btn.secondary{background:var(--dashboard-surface);color:var(--dashboard-text-secondary);border:1px solid var(--dashboard-border)}.athlete-dashboard-action-btn.secondary:hover{background:var(--dashboard-surface-muted);border-color:var(--dashboard-border)}.athlete-dashboard-action-btn.payment{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;box-shadow:0 2px 4px #3b82f633}.athlete-dashboard-action-btn.payment:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.athlete-dashboard-payment-status{display:inline-flex;align-items:center;justify-content:center;margin-top:.5rem}.athlete-dashboard-payment-status-text{font-size:.75rem;font-weight:600;text-align:center;color:#14b8a6;background:#2dd4bf2e;padding:4px 12px;border-radius:20px;display:inline-block}.athlete-dashboard-payment-options{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.athlete-dashboard-payment-option{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:var(--dashboard-surface-muted);border:2px solid var(--dashboard-border);border-radius:12px;transition:background .3s ease,border-color .3s ease,transform .3s ease}.athlete-dashboard-payment-option:hover{border-color:var(--dashboard-border);background:var(--dashboard-surface);transform:translateY(-2px)}.athlete-dashboard-payment-option-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--dashboard-surface);border-radius:12px;box-shadow:var(--dashboard-shadow);flex-shrink:0}.athlete-dashboard-payment-option-content{flex:1}.athlete-dashboard-payment-option-content h4{font-size:1.1rem;font-weight:600;color:var(--dashboard-text-primary);margin:0 0 .5rem}.athlete-dashboard-payment-option-content p{color:var(--dashboard-text-secondary);margin:0 0 .75rem;font-size:.9rem}.athlete-dashboard-payment-amount{font-size:1.25rem;font-weight:700;color:#10b981}.athlete-dashboard-payment-option-btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;font-size:.9rem;min-width:120px}.athlete-dashboard-payment-option-btn.primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 2px 4px #3b82f633}.athlete-dashboard-payment-option-btn.primary:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.athlete-dashboard-payment-option-btn.secondary{background:var(--dashboard-surface);color:var(--dashboard-text-secondary);border:2px solid var(--dashboard-border)}.athlete-dashboard-payment-option-btn.secondary:hover{background:var(--dashboard-surface-muted);border-color:var(--dashboard-border);color:var(--dashboard-text-primary)}.athlete-dashboard-payment-session-info{background:linear-gradient(135deg,#10b98124,#10b98133);border:1px solid rgba(16,185,129,.28);border-radius:12px;padding:1.5rem}.athlete-dashboard-payment-session-info h4{font-size:1.1rem;font-weight:600;color:var(--dashboard-text-primary);margin:0 0 1rem}.athlete-dashboard-payment-session-info p{margin:.5rem 0;color:var(--dashboard-text-primary);font-size:.9rem}.athlete-dashboard-payment-session-info strong{color:var(--dashboard-text-primary)}.athlete-dashboard-confirmation-content{text-align:center;padding:1rem 0}.athlete-dashboard-confirmation-icon{font-size:3rem;margin-bottom:1rem}.athlete-dashboard-confirmation-content h4{font-size:1.25rem;font-weight:700;color:var(--dashboard-text-primary);margin:0 0 1rem}.athlete-dashboard-confirmation-content p{color:var(--dashboard-text-secondary);line-height:1.6;margin:0 0 1.5rem;font-size:1rem}.athlete-dashboard-confirmation-details{background:linear-gradient(135deg,#10b98124,#10b98133);border:1px solid rgba(16,185,129,.28);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;text-align:left}.athlete-dashboard-confirmation-detail{margin:.5rem 0;color:var(--dashboard-text-primary);font-size:.95rem}.athlete-dashboard-confirmation-detail strong{color:var(--dashboard-text-primary);font-weight:600}.athlete-dashboard-confirmation-note{background:linear-gradient(135deg,#facc1533,#fde04747);border:1px solid rgba(250,204,21,.35);border-radius:8px;padding:1rem}.athlete-dashboard-confirmation-note p{margin:0;color:#facc15;font-size:.9rem;font-weight:500}.athlete-dashboard-activity-container{margin-top:1rem}.athlete-dashboard-activity-list{display:flex;flex-direction:column;gap:1rem}.athlete-dashboard-activity-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--dashboard-surface-muted);border-radius:12px;border:1px solid var(--dashboard-border);transition:background .2s ease,border-color .2s ease,transform .2s ease}.athlete-dashboard-activity-item:hover{background:var(--dashboard-surface);border-color:var(--dashboard-border);transform:translateY(-2px)}.athlete-dashboard-activity-icon{width:40px;height:40px;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#fff;flex-shrink:0}.athlete-dashboard-activity-content{flex:1}.athlete-dashboard-activity-title{font-size:.95rem;font-weight:600;color:var(--dashboard-text-primary);margin-bottom:.25rem}.athlete-dashboard-activity-details{font-size:.85rem;color:var(--dashboard-text-secondary)}.athlete-dashboard-activity-price{font-size:.9rem;font-weight:600;color:#10b981;flex-shrink:0}.athlete-dashboard-recommendations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.athlete-dashboard-recommendation-card{background:var(--dashboard-surface-muted);border-radius:12px;padding:1.5rem;text-align:center;border:1px solid var(--dashboard-border);transition:transform .3s ease,box-shadow .3s ease,background .3s ease}.athlete-dashboard-recommendation-card:hover{transform:translateY(-2px);box-shadow:var(--dashboard-shadow);background:var(--dashboard-surface)}.athlete-dashboard-recommendation-icon{font-size:2.5rem;margin-bottom:1rem}.athlete-dashboard-recommendation-card h3{font-size:1.1rem;font-weight:600;color:var(--dashboard-text-primary);margin:0 0 .5rem}.athlete-dashboard-recommendation-card p{font-size:.9rem;color:var(--dashboard-text-secondary);margin:0 0 1.5rem;line-height:1.5}.athlete-dashboard-recommendation-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;text-decoration:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;transition:all .2s ease;display:inline-block}.athlete-dashboard-recommendation-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.athlete-dashboard-empty-sessions,.athlete-dashboard-empty-activity{text-align:center;padding:3rem 2rem;background:var(--dashboard-empty-gradient);border-radius:16px;border:2px dashed var(--dashboard-border);margin-top:1rem}.athlete-dashboard-empty-illustration{position:relative;margin-bottom:1.5rem}.athlete-dashboard-empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.7}.athlete-dashboard-empty-decoration{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;background:#10b98126;border-radius:50%;z-index:-1}.athlete-dashboard-empty-content h3{margin:0 0 .75rem;color:var(--dashboard-text-primary);font-size:1.3rem;font-weight:600}.athlete-dashboard-empty-content p{margin:0 0 2rem;color:var(--dashboard-text-secondary);font-size:1rem;line-height:1.6;max-width:400px;margin-left:auto;margin-right:auto}.athlete-dashboard-empty-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.athlete-dashboard-primary-action-btn,.athlete-dashboard-secondary-action-btn{padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.athlete-dashboard-primary-action-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b98133}.athlete-dashboard-primary-action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.athlete-dashboard-secondary-action-btn{background:var(--dashboard-surface);color:var(--dashboard-text-secondary);border:1px solid var(--dashboard-border)}.athlete-dashboard-secondary-action-btn:hover{background:var(--dashboard-surface-muted);border-color:var(--dashboard-border);transform:translateY(-1px)}@media (max-width: 1200px){.athlete-dashboard-main-grid{grid-template-columns:1fr;gap:1.5rem}.athlete-dashboard-stats-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.athlete-dashboard-container{padding:1rem}.athlete-dashboard-welcome{padding:1.5rem}.athlete-dashboard-welcome-content{flex-direction:column;text-align:center;gap:1rem}.athlete-dashboard-avatar-image,.athlete-dashboard-avatar-placeholder{width:60px;height:60px}.athlete-dashboard-avatar-initials{font-size:1.25rem}.athlete-dashboard-welcome-text h1{font-size:2rem}.athlete-dashboard-welcome-msg{font-size:1rem}.athlete-dashboard-completion-details{flex-direction:column;align-items:flex-start;gap:.5rem}.athlete-dashboard-card{padding:1.5rem}.athlete-dashboard-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.athlete-dashboard-stats-cards,.athlete-dashboard-recommendations-grid{grid-template-columns:1fr}.athlete-dashboard-empty-actions{flex-direction:column;gap:.75rem}}@media (max-width: 480px){.athlete-dashboard-welcome-text h1{font-size:1.75rem}.athlete-dashboard-avatar-image,.athlete-dashboard-avatar-placeholder{width:50px;height:50px}.athlete-dashboard-avatar-initials{font-size:1rem}.athlete-dashboard-card{padding:1rem}.athlete-dashboard-stat-content{flex-direction:column;text-align:center;gap:.75rem}.athlete-dashboard-booking-header{flex-direction:column;align-items:flex-start;gap:1rem}.athlete-dashboard-booking-actions{flex-direction:column;gap:.5rem}.athlete-dashboard-activity-item{flex-direction:column;text-align:center;gap:.75rem}}.athlete-dashboard-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.athlete-dashboard-modal-content{background:#fff;border-radius:16px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 18px 40px #0f172a2e;animation:athlete-dashboard-modalSlideIn .3s ease-out;border:1px solid var(--dashboard-border)}[data-theme=dark] .athlete-dashboard-modal-content{background:var(--dashboard-modal-bg);border-color:var(--dashboard-modal-border);box-shadow:var(--dashboard-shadow)}@keyframes athlete-dashboard-modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.athlete-dashboard-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid var(--dashboard-border);margin-bottom:20px;background:#fff}[data-theme=dark] .athlete-dashboard-modal-header{border-bottom:1px solid var(--dashboard-modal-border);background:transparent}.athlete-dashboard-modal-header h3{font-size:1.5rem;font-weight:700;color:var(--dashboard-text-primary);margin:0}.athlete-dashboard-modal-close{background:#ffffff38;border:1px solid rgba(255,255,255,.4);font-size:1.5rem;color:#fff;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s ease;line-height:1;box-shadow:0 6px 18px #0f172a47}.athlete-dashboard-modal-close:hover{background:#ffffff52;color:#fff}.athlete-dashboard-modal-close:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:2px}body[data-theme=light] .athlete-dashboard-modal-close{background:#ffffff38;color:#fff}body[data-theme=light] .athlete-dashboard-modal-close:hover{background:#ffffff52}body[data-theme=dark] .athlete-dashboard-modal-close{background:#94a3b829;border-color:#94a3b852;color:#e2e8f0;box-shadow:0 8px 22px #00000073}body[data-theme=dark] .athlete-dashboard-modal-close:hover{background:#94a3b847;color:#f8fafc}.athlete-dashboard-modal-body{padding:0 24px 20px;background:#fff}[data-theme=dark] .athlete-dashboard-modal-body{background:transparent}.athlete-dashboard-booking-details-section{display:flex;flex-direction:column;gap:24px}.athlete-dashboard-trainer-info-modal{display:flex;align-items:center;gap:16px;padding:20px;background:var(--dashboard-surface-muted);border-radius:12px;border:1px solid var(--dashboard-border)}.athlete-dashboard-session-details-modal{background:var(--dashboard-surface);border-radius:12px;padding:1.5rem;border:1px solid var(--dashboard-border);box-shadow:var(--dashboard-shadow);transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.athlete-dashboard-trainer-avatar-modal{width:80px;height:80px;border-radius:50%;object-fit:cover;object-position:center}.athlete-dashboard-trainer-details-modal h4{font-size:1.25rem;font-weight:700;color:var(--dashboard-text-primary);margin:0 0 4px}.athlete-dashboard-trainer-details-modal p{font-size:.875rem;color:var(--dashboard-text-secondary);margin:0 0 2px}.athlete-dashboard-session-details-modal h4{font-size:1.125rem;font-weight:600;color:var(--dashboard-text-primary);margin:0 0 16px}.athlete-dashboard-detail-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--dashboard-border)}.athlete-dashboard-detail-row:last-child{border-bottom:none}.athlete-dashboard-detail-row span:first-child{font-weight:500;color:var(--dashboard-text-secondary);font-size:.875rem}.athlete-dashboard-detail-row span:last-child{font-weight:600;color:var(--dashboard-text-primary);font-size:.875rem}.athlete-dashboard-status-badge{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:capitalize}.athlete-dashboard-status-badge.athlete-dashboard-status-confirmed{background:var(--status-confirmed-bg);color:var(--status-confirmed-text)}.athlete-dashboard-status-badge.athlete-dashboard-status-pending{background:var(--status-pending-bg);color:var(--status-pending-text)}.athlete-dashboard-status-badge.athlete-dashboard-status-completed{background:var(--status-completed-bg);color:var(--status-completed-text)}.athlete-dashboard-status-badge.athlete-dashboard-status-cancelled{background:var(--status-cancelled-bg);color:var(--status-cancelled-text)}.athlete-dashboard-notes-section{padding:20px;background:var(--dashboard-surface);border-radius:12px;border:1px solid var(--dashboard-border)}.athlete-dashboard-notes-section h4{font-size:1rem;font-weight:600;color:var(--dashboard-text-primary);margin:0 0 12px}.athlete-dashboard-notes-section p{font-size:.875rem;color:var(--dashboard-text-secondary);line-height:1.5;margin:0}.athlete-dashboard-modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:20px 24px 24px;border-top:1px solid var(--dashboard-modal-border)}.athlete-dashboard-modal-btn{padding:12px 24px;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.athlete-dashboard-container .athlete-dashboard-modal-btn.secondary,.athlete-dashboard-modal-footer .athlete-dashboard-modal-btn.secondary{background:#eff3f8;color:#1f2937;box-shadow:none}.athlete-dashboard-container .athlete-dashboard-modal-btn.secondary:hover,.athlete-dashboard-modal-footer .athlete-dashboard-modal-btn.secondary:hover{background:#cbd5e1;color:#0f172a;box-shadow:0 10px 20px #0f172a1f;transform:translateY(-1px)}.athlete-dashboard-container .athlete-dashboard-modal-btn.secondary:focus-visible,.athlete-dashboard-modal-footer .athlete-dashboard-modal-btn.secondary:focus-visible{outline:2px solid rgba(59,130,246,.45);outline-offset:2px}.athlete-dashboard-modal-btn.primary{background:#10b981;color:#fff}.athlete-dashboard-modal-btn.primary:hover{background:#059669;transform:translateY(-1px)}@media (max-width: 768px){.athlete-dashboard-modal-content{margin:20px;max-height:calc(100vh - 40px)}.athlete-dashboard-modal-header{padding:20px 20px 0}.athlete-dashboard-modal-body{padding:0 20px 16px}.athlete-dashboard-modal-footer{padding:16px 20px 20px;flex-direction:column}.athlete-dashboard-modal-btn{width:100%}}.athlete-dashboard-review-info{margin-top:12px;padding:12px;background-color:var(--dashboard-surface-muted);border-radius:8px;border-left:3px solid #3b82f6}.athlete-dashboard-review-rating{display:flex;gap:2px;margin-bottom:8px}.review-star{font-size:1rem;color:#d1d5db}.review-star.filled{color:#fbbf24}.athlete-dashboard-review-text{font-size:.9rem;color:var(--dashboard-text-secondary);font-style:italic;margin:0;line-height:1.4}.athlete-dashboard-action-btn.review{background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important;color:#fff!important;border:none!important;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #3b82f633}.athlete-dashboard-action-btn.review:hover{background:linear-gradient(135deg,#2563eb,#1e40af)!important;transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.athlete-dashboard-reviewed-badge{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background-color:var(--status-confirmed-bg);color:var(--status-confirmed-text);border-radius:6px;font-size:.9rem;font-weight:500}.athlete-dashboard-review-btn{background-color:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.athlete-dashboard-review-btn:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.athlete-dashboard-review-btn:active{transform:translateY(0)}.athlete-dashboard-session-type{margin-bottom:2rem}.athlete-dashboard-session-type:last-child{margin-bottom:0}.athlete-dashboard-session-type h3{color:var(--dashboard-text-primary);font-size:1.125rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--dashboard-border)}.group-badge{background-color:#fff;color:#1d4ed8;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;margin-left:.5rem;text-transform:uppercase;letter-spacing:.025em;border:1px solid #dbeafe;text-shadow:none}body[data-theme=dark] .group-badge{background-color:#2563ebd9;color:#e0f2ff}.athlete-dashboard-completed-sessions{margin-top:24px}.confirm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172aa6;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:2000}.confirm-modal{width:min(420px,100%);background:#fdf4ff;border-radius:18px;box-shadow:0 20px 55px #0f172a59;padding:1.75rem;color:#111827;animation:confirm-modal-in .18s ease-out}.confirm-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.confirm-modal-header h3{margin:0;font-size:1.25rem;font-weight:700;color:#0f172a}.confirm-modal-close{border:none;background:transparent;color:#4b5563;font-size:1.75rem;line-height:1;cursor:pointer;transition:color .12s ease}.confirm-modal-close:hover{color:#111827}.confirm-modal-message{margin-bottom:1.5rem;font-size:.98rem;line-height:1.5;color:#334155}.confirm-modal-message p{margin:0 0 .75rem}.confirm-modal-highlight{display:inline-block;padding:.35rem .75rem;border-radius:999px;background:#ec48991f;color:#be185d;font-weight:600}.confirm-modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.confirm-modal-cancel,.confirm-modal-confirm{border-radius:999px;border:none;padding:.65rem 1.5rem;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.confirm-modal-cancel{background:#fff;color:#111827;box-shadow:inset 0 0 0 1px #94a3b899}.confirm-modal-cancel:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 0 0 1px #94a3b8e6}.confirm-modal-confirm{color:#fff}.confirm-modal-confirm.primary{background:linear-gradient(135deg,#2563eb,#3b82f6);box-shadow:0 10px 20px #2563eb40}.confirm-modal-confirm.danger{background:linear-gradient(135deg,#dc2626,#f87171);box-shadow:0 10px 20px #dc262659}.confirm-modal-confirm:hover:not(:disabled){transform:translateY(-1px)}.confirm-modal-confirm:disabled,.confirm-modal-cancel:disabled{cursor:not-allowed;opacity:.7;transform:none;box-shadow:none}@keyframes confirm-modal-in{0%{transform:translateY(15px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 480px){.confirm-modal{padding:1.5rem}.confirm-modal-actions{flex-direction:column}.confirm-modal-cancel,.confirm-modal-confirm{width:100%;text-align:center}}.setup-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.setup-modal{background:var(--tf-surface);border:1px solid var(--tf-border);border-radius:20px;box-shadow:0 24px 60px #0f172a26;max-width:500px;width:100%;max-height:90vh;overflow:hidden;animation:modalSlideIn .3s ease-out;color:var(--tf-text-primary)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.setup-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:2rem 2rem 1.75rem;background:var(--tf-surface-muted);border-bottom:1px solid var(--tf-border)}.header-stack{display:flex;flex-direction:column;gap:.75rem;max-width:360px}.header-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .85rem;border-radius:999px;background:#2563eb1f;color:#2563eb;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em}.header-badge svg{font-size:.95rem}.header-stack h2{margin:0;font-size:1.6rem;font-weight:700;color:var(--tf-text-primary);letter-spacing:-.01em}.header-stack p{margin:0;font-size:.95rem;color:var(--tf-text-secondary);line-height:1.5}.close-button{background:none;border:none;color:var(--tf-text-secondary);font-size:1.5rem;cursor:pointer;padding:.4rem;border-radius:8px;transition:all .2s;width:36px;height:36px;display:flex;align-items:center;justify-content:center;line-height:1}.close-button:hover{background-color:#2563eb1f;color:#1d4ed8}.setup-modal-content{padding:24px;background:var(--tf-surface)}.setup-intent-form{display:flex;flex-direction:column;gap:20px}.form-header h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--tf-text-primary)}.form-header p{margin:0;font-size:14px;color:var(--tf-text-secondary)}.card-element-container{display:flex;flex-direction:column;gap:8px}.card-input-shell{background:var(--tf-surface);border:1px solid var(--tf-border);border-radius:12px;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease}.card-input-shell .StripeElement{padding:0;border:none;background:transparent}.card-input-shell:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.card-element-container label{font-size:14px;font-weight:500;color:var(--tf-text-primary);margin-bottom:8px;display:block}.card-element-container .StripeElement--invalid{border-color:#ef4444}.setup-error{display:flex;align-items:center;gap:8px;padding:12px;background-color:#dc262614;border:1px solid rgba(252,165,165,.5);border-radius:8px;color:#dc2626;font-size:14px}.error-icon{font-size:16px;flex-shrink:0}.setup-security{display:flex;align-items:center;gap:8px;padding:12px;background-color:#3b82f614;border:1px solid rgba(96,165,250,.4);border-radius:8px;color:#1d4ed8;font-size:14px}.security-icon{font-size:16px;flex-shrink:0}.setup-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.cancel-btn{padding:12px 24px;border:1px solid var(--tf-border);background-color:var(--tf-surface);color:var(--tf-text-primary);border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.cancel-btn:hover:not(:disabled){background-color:#2563eb14;color:#1d4ed8}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.save-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #3b82f633}.save-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.save-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.spinner{animation:spin 1s linear infinite}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--tf-text-primary)}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;background:#dc262614;border-radius:12px;border:1px solid rgba(252,165,165,.5)}.error-container .error-icon{font-size:48px;color:#dc2626;margin-bottom:16px}.error-container h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#991b1b}.error-container p{margin:0 0 20px;font-size:14px;color:#7f1d1d}.retry-button{padding:12px 24px;border:none;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #3b82f633}.retry-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}body[data-theme=dark] .setup-modal{background:#0f172af0;border-color:#94a3b847;box-shadow:0 30px 70px #080f1ea6}body[data-theme=dark] .setup-modal-header{background:#0f172aeb;border-bottom-color:#94a3b840}body[data-theme=dark] .header-badge{background:#2563eb33;color:#bfdbfe}body[data-theme=dark] .header-stack h2{color:var(--tf-text-primary)}body[data-theme=dark] .header-stack p{color:#e2e8f0c7}body[data-theme=dark] .close-button{color:#e2e8f0b3;background:#94a3b81a}body[data-theme=dark] .close-button:hover{background:#60a5fa38;color:#fff}body[data-theme=dark] .setup-modal-content{background:#0f172ae0}body[data-theme=dark] .setup-error{background-color:#b91c1c4d;border-color:#f8717173;color:#fecaca}body[data-theme=dark] .setup-security{background-color:#3b82f638;border-color:#60a5fa73;color:#bfdbfe}body[data-theme=dark] .cancel-btn{background:#0f172ad9;border-color:#94a3b847;color:var(--tf-text-primary)}body[data-theme=dark] .card-input-shell{background:#0f172aeb;border-color:#94a3b859}body[data-theme=dark] .card-input-shell:focus-within{border-color:#60a5fa80;box-shadow:0 0 0 3px #60a5fa33}body[data-theme=dark] .cancel-btn:hover:not(:disabled){background:#60a5fa38;color:#fff}body[data-theme=dark] .loading-container,body[data-theme=dark] .error-container{color:var(--tf-text-primary)}body[data-theme=dark] .error-container{background:#b91c1c47;border-color:#f8717173}@media (max-width: 640px){.setup-modal{margin:20px;max-width:none}.setup-modal-header{padding:20px 20px 0}.setup-modal-content{padding:0 20px 20px}.setup-actions{flex-direction:column}.cancel-btn,.save-btn{width:100%;justify-content:center}}.athlete-profile-container{max-width:900px;margin:0 auto;padding:2rem;background:var(--tf-background);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--tf-text-primary);transition:background-color .3s ease,color .3s ease}.loading-spinner{width:40px;height:40px;border:3px solid var(--tf-border);border-top:3px solid #2e7dff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem;flex-shrink:0;display:flex;align-items:center;justify-content:center}.loading-message{color:var(--tf-text-secondary);font-size:1.1rem;font-weight:500}.athlete-profile-container .profile-header{background:var(--tf-surface);color:var(--tf-text-primary);border-radius:24px;padding:4rem 3rem;margin-bottom:2.5rem;box-shadow:0 18px 48px #0f172a1f;position:relative;border:1px solid var(--tf-border)}.athlete-profile-container .header-content{display:flex;justify-content:flex-start;align-items:center;position:relative;z-index:1;max-width:1200px;margin:0 auto}.athlete-profile-container .header-text{position:relative}.athlete-profile-container .header-text:before{content:"";position:absolute;left:-20px;top:50%;transform:translateY(-50%);width:4px;height:60px;background:linear-gradient(180deg,#3b82f6,#3b82f626);border-radius:2px}.athlete-profile-container .header-text h1{font-size:3rem;font-weight:900;margin:0 0 .75rem;letter-spacing:-.03em;line-height:1.1;color:var(--tf-text-primary)}.athlete-profile-container .header-text p{font-size:1.25rem;color:var(--tf-text-secondary);margin:0;font-weight:500;max-width:500px;line-height:1.4}.athlete-profile-container .signout-button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:1px solid #2563eb;border-radius:12px;padding:.875rem 1.5rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-width:120px;box-shadow:0 8px 20px #2563eb40}.athlete-profile-container .signout-button:hover{transform:translateY(-1px);box-shadow:0 12px 30px #2563eb4d}.signout-section .secondary-btn{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;color:#fff!important;border:2px solid #3b82f6!important;border-radius:12px!important;padding:.75rem 1.5rem!important;font-size:.875rem!important;font-weight:600!important;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 15px #3b82f64d;position:relative;overflow:hidden;min-width:auto!important;width:auto!important}.signout-section .secondary-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.signout-section .secondary-btn:hover:before{left:100%}.signout-section .secondary-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#2563eb;transform:translateY(-3px);box-shadow:0 8px 25px #3b82f666}.signout-section .secondary-btn:active{transform:translateY(-1px);box-shadow:0 4px 15px #3b82f64d}.message-container{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-radius:12px;margin-bottom:2rem;font-size:.875rem;background:var(--tf-surface);border:1px solid var(--tf-border);color:var(--tf-text-primary);box-shadow:0 6px 18px #0f172a14}.message-container.error{background:#dc262614;border:1px solid rgba(252,165,165,.6);color:#dc2626}.message-container.success{background:#16a34a14;border:1px solid rgba(187,247,208,.6);color:#16a34a}.message-icon{flex-shrink:0}.message-icon svg{width:20px;height:20px}.message-content{display:flex;flex-direction:column;gap:.25rem}.message-title{font-weight:600;font-size:.875rem;color:var(--tf-text-primary)}.message-text{font-size:.875rem;opacity:.9;color:inherit}.profile-content-wrapper{display:flex;flex-direction:column;gap:2rem}.profile-tabs{display:flex;background:var(--tf-surface);border-radius:12px;padding:.5rem;box-shadow:0 2px 8px #0000000f;border:1px solid var(--tf-border);margin-bottom:1rem}.profile-tab{flex:1;padding:.875rem 1.5rem;background:transparent;border:none;border-radius:8px;font-size:.875rem;font-weight:600;color:var(--tf-text-secondary);cursor:pointer;transition:all .2s ease;text-align:center}.profile-tab:hover{color:#2e7dff;background:#2e7dff0d}.profile-tab.active{background:#2e7dff;color:#fff;box-shadow:0 2px 4px #2e7dff33}.settings-card{background:var(--tf-surface);border-radius:20px;box-shadow:0 4px 20px #00000014;padding:3rem;border:1px solid var(--tf-border);overflow:hidden}.settings-section{margin-bottom:2.5rem}.settings-section:last-child{margin-bottom:0}.athlete-profile-container .settings-section .section-header h2{color:var(--tf-text-primary)}.athlete-profile-container .settings-section .section-header p{color:var(--tf-text-secondary)}.setting-item{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-radius:12px;background:var(--tf-surface-muted);border:1px solid var(--tf-border);transition:all .2s ease}.setting-control select{padding:.75rem;border:1px solid var(--tf-border);border-radius:8px;background:var(--tf-surface);color:var(--tf-text-primary);font-size:.9rem;min-width:220px}.setting-control select:focus{outline:none;border-color:#2e7dff;box-shadow:0 0 0 3px #2e7dff1f}.setting-item:hover{background:#2e7dff0f;border-color:#2e7dff40}.setting-description{font-size:.875rem;color:var(--tf-text-secondary);flex:1;line-height:1.5;margin-top:.25rem}.toggle-switch{position:relative;display:inline-block;width:48px;height:24px;flex-shrink:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#d1d5db;transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.toggle-slider{background-color:#2e7dff}.setting-select{padding:.75rem;border:1px solid var(--tf-border);border-radius:8px;font-size:.875rem;background:var(--tf-surface);color:var(--tf-text-primary);min-width:200px;transition:all .2s ease}.setting-select:focus{outline:none;border-color:#2e7dff;box-shadow:0 0 0 3px #2e7dff1a}.secondary-btn{padding:.75rem 1.5rem;background:var(--tf-surface-muted);color:var(--tf-text-primary);border:1px solid var(--tf-border);border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center;gap:.5rem}.secondary-btn:hover{background:#2e7dff14;color:var(--tf-text-primary)}.danger-btn{background:#dc2626;color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.danger-btn:hover:not(:disabled){background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.danger-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.danger-text{color:#dc2626!important;font-weight:500}.password-modal{background:var(--tf-surface);border-radius:20px;box-shadow:0 25px 60px #0000004d;max-width:450px;width:90%;max-height:80vh;overflow:hidden;animation:passwordModalSlideIn .4s cubic-bezier(.16,1,.3,1);border:1px solid var(--tf-border)}.password-modal-content{padding:2rem;background:var(--tf-surface-muted);max-height:400px;overflow-y:auto}.password-field label{font-weight:600;color:var(--tf-text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.password-field input{width:100%;padding:1rem;border:2px solid var(--tf-border);border-radius:12px;font-size:1rem;transition:all .3s ease;background:var(--tf-surface);box-shadow:0 2px 4px #0000000d}.password-modal-actions{padding:1.5rem 2rem 2rem;background:var(--tf-surface);display:flex;justify-content:flex-end;gap:1rem;border-top:1px solid var(--tf-border)}.password-btn.cancel{background:var(--tf-surface-muted);color:var(--tf-text-secondary);border:1px solid var(--tf-border)}.password-btn.cancel:hover:not(:disabled){background:#2e7dff14;color:var(--tf-text-primary);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.profile-card{background:var(--tf-surface);border-radius:20px;box-shadow:0 4px 20px #00000014;padding:3rem;border:1px solid var(--tf-border);overflow:hidden}.profile-header-section{background:var(--tf-surface);color:var(--tf-text-primary);border-radius:16px;margin-bottom:3rem;padding:2.5rem;border:1px solid var(--tf-border);box-shadow:0 12px 40px #0f172a14}.profile-header-content{display:flex;align-items:center;gap:2.5rem;min-height:120px}.profile-avatar-container{position:relative;flex-shrink:0}.profile-avatar-circle{width:120px;height:120px;background:linear-gradient(135deg,#2e7dff,#1d4ed8);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 25px #2e7dff33;transition:all .3s ease;overflow:hidden;position:relative}.profile-avatar-image{width:100%;height:100%;object-fit:cover;border-radius:50%;position:absolute;top:0;left:0;z-index:1;background:transparent}.profile-avatar-circle:hover{transform:translateY(-2px);box-shadow:0 12px 35px #2e7dff4d}.profile-avatar-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:1;transition:all .3s ease;cursor:pointer}.change-avatar-btn{background:#ffffffe6;color:var(--tf-text-primary);border:none;border-radius:8px;padding:.5rem .75rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.25rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #00000026}.change-avatar-btn:hover:not(:disabled){background:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #0003}body[data-theme=dark] .change-avatar-btn{background:#e2e8f0d9;color:#0b1120}body[data-theme=dark] .change-avatar-btn:hover:not(:disabled){background:#e2e8f0}.change-avatar-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.camera-icon{font-size:.875rem}.profile-initials{font-size:2.5rem;font-weight:700;color:#fff;text-align:center;line-height:1;position:relative;z-index:0}.profile-header-info{flex:1;display:flex;flex-direction:column;gap:1rem;justify-content:center}.profile-name{font-size:2.5rem;font-weight:700;color:var(--tf-text-primary);margin:0;line-height:1.1;letter-spacing:-.02em}.profile-role{font-size:1rem;color:#1d4ed8;font-weight:600;text-transform:uppercase;letter-spacing:.1em;background:#2563eb1f;padding:.5rem 1rem;border-radius:20px;display:inline-block;width:fit-content;border:1px solid rgba(37,99,235,.18)}.profile-sport{color:var(--tf-text-secondary);font-size:1.1rem;font-weight:500}body[data-theme=dark] .athlete-profile-container .profile-header{background:linear-gradient(135deg,#1e293b,#0b1120);border-color:#94a3b840;box-shadow:0 24px 60px #080f1ebf}body[data-theme=dark] .athlete-profile-container .header-text h1{color:#e2e8f0}body[data-theme=dark] .athlete-profile-container .header-text p{color:#e2e8f0c7}body[data-theme=dark] .profile-header-section{box-shadow:0 24px 60px #080f1eb3}body[data-theme=dark] .profile-card,body[data-theme=dark] .settings-card{background:#0f172ad9;border-color:#94a3b840;box-shadow:0 24px 60px #080f1ebf}body[data-theme=dark] .profile-role{color:#bfdbfe;background:#3b82f62e;border-color:#3b82f652}body[data-theme=dark] .profile-sport{color:#e2e8f0d9}body[data-theme=dark] .message-container{box-shadow:0 24px 60px #080f1eb3}body[data-theme=dark] .message-container.error{background:#b91c1c47;border-color:#f8717173;color:#fca5a5}body[data-theme=dark] .message-container.success{background:#16a34a38;border-color:#86efac73;color:#bbf7d0}body[data-theme=dark] .profile-tabs{box-shadow:0 18px 50px #080f1e99}body[data-theme=dark] .profile-tab{color:var(--tf-text-secondary)}body[data-theme=dark] .profile-tab:hover{background:#60a5fa29}body[data-theme=dark] .setting-item:hover{background:#3b82f62e;border-color:#60a5fa59}body[data-theme=dark] .setting-item{background:#0f172ad9;border-color:#94a3b859;box-shadow:0 12px 32px #080f1e99}body[data-theme=dark] .setting-label{color:#e2e8f0}body[data-theme=dark] .setting-description{color:#e2e8f0cc}body[data-theme=dark] .setting-control select{background:#0f172ad9;border-color:#94a3b859;color:#e2e8f0}body[data-theme=dark] .setting-control select option{background:#0f172a;color:#e2e8f0}body[data-theme=dark] .athlete-profile-container .payment-method-item{box-shadow:0 18px 45px #080f1e99}body[data-theme=dark] .athlete-profile-container .payment-method-item:hover{border-color:#60a5fa66;box-shadow:0 24px 50px #080f1eb3}body[data-theme=dark] .athlete-profile-container .payment-method-actions .action-btn.danger{background:#b91c1c47;color:#fca5a5}body[data-theme=dark] .athlete-profile-container .payment-method-actions .action-btn.danger:hover{background:#dc262652}body[data-theme=dark] .empty-profile{border-color:#94a3b859;background:#0f172abf;box-shadow:0 18px 45px #080f1ea6}body[data-theme=dark] .complete-profile-btn{box-shadow:0 16px 40px #2563eb73}body[data-theme=dark] .password-modal{background:#0a0f1ceb;border-color:#94a3b859;box-shadow:0 30px 70px #080f1ebf}body[data-theme=dark] .password-modal-content{background:#0f172ae6;color:var(--tf-text-primary)}body[data-theme=dark] .password-field label{color:#e2e8f0eb}body[data-theme=dark] .password-field input::placeholder{color:#94a3b8a6}body[data-theme=dark] .password-field input{background:#0f172ad9;border-color:#94a3b859;box-shadow:none;color:var(--tf-text-primary)}body[data-theme=dark] .password-modal-actions{background:#0a0f1ceb;border-top:1px solid rgba(148,163,184,.35);box-shadow:inset 0 1px #94a3b81f}body[data-theme=dark] .password-btn.cancel{background:#0f172ad9;border-color:#94a3b859;color:var(--tf-text-secondary)}body[data-theme=dark] .password-btn.cancel:hover:not(:disabled){background:#60a5fa29;color:var(--tf-text-primary)}body[data-theme=dark] .password-btn.update{box-shadow:0 12px 30px #2563eb73}body[data-theme=dark] .password-requirements,body[data-theme=dark] .delete-account-warning{background:#0f172ad9;border-color:#94a3b859}.profile-info-content{max-width:700px;margin:0 auto}.edit-form{display:flex;flex-direction:column;gap:2.5rem}.form-section{border-bottom:1px solid #e2e8f0;padding-bottom:2.5rem}.form-section:last-child{border-bottom:none;padding-bottom:0}.form-section-title{font-size:1.25rem;font-weight:700;color:var(--tf-text-primary);margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.section-icon{width:20px;height:20px;color:#2e7dff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-label{font-weight:600;color:var(--tf-text-primary);font-size:.875rem}.form-input,.form-textarea{padding:.875rem 1rem;border:1px solid var(--tf-border);border-radius:8px;font-size:.875rem;background:var(--tf-surface);color:var(--tf-text-primary);transition:all .2s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:#2e7dff;box-shadow:0 0 0 3px #2e7dff1a}.form-textarea{resize:vertical;min-height:100px}.form-hint{font-size:.75rem;color:var(--tf-text-secondary);font-style:italic}.field-note{font-size:.85rem;color:var(--tf-text-secondary);line-height:1.4;margin-top:.5rem}.profile-info{display:flex;flex-direction:column;gap:2.5rem}.info-section{border-bottom:1px solid var(--tf-border);padding-bottom:2.5rem}.info-section:last-child{border-bottom:none;padding-bottom:0}.info-section-title{font-size:1.25rem;font-weight:700;color:var(--tf-text-primary);margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-label{font-weight:600;color:var(--tf-text-secondary);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.info-value{font-size:1rem;color:var(--tf-text-primary);font-weight:500}.bio-content{background:var(--tf-surface-muted);border-radius:12px;padding:1.5rem;border-left:4px solid #2e7dff}.bio-content p{margin:0;line-height:1.6;color:var(--tf-text-primary);font-size:.95rem}.empty-profile{text-align:center;padding:3rem 2rem;background:var(--tf-surface-muted);border-radius:16px;border:2px dashed rgba(148,163,184,.6)}.empty-icon{width:48px;height:48px;color:#94a3b8;margin:0 auto 1rem}.empty-icon svg{width:100%;height:100%}.empty-profile h3{font-size:1.25rem;font-weight:700;color:var(--tf-text-primary);margin:0 0 .5rem}.empty-profile p{color:var(--tf-text-secondary);margin:0 0 1.5rem;font-size:.95rem}.complete-profile-btn{background:#2e7dff;color:#fff;border:none;border-radius:12px;padding:.875rem 2rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #2e7dff33}.complete-profile-btn:hover{background:#1e40af;transform:translateY(-1px);box-shadow:0 6px 16px #2e7dff4d}.profile-actions{display:flex;justify-content:center;padding-top:1rem}.action-buttons{display:flex;gap:1rem;align-items:center}.action-btn{padding:.875rem 2rem;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;border:none}.action-btn.primary{background:#2e7dff;color:#fff;box-shadow:0 4px 12px #2e7dff33}.action-btn.primary:hover:not(:disabled){background:#1e40af;transform:translateY(-1px);box-shadow:0 6px 16px #2e7dff4d}.action-btn.secondary{background:var(--tf-surface-muted);color:var(--tf-text-primary);border:1px solid var(--tf-border)}.action-btn.secondary:hover:not(:disabled){background:#2e7dff14;color:var(--tf-text-primary)}.action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.action-btn.ghost{background:transparent;color:#2563eb;border:1px dashed #bfdbfe}.action-btn.ghost:hover:not(:disabled){color:#1d4ed8;border-color:#2563eb}.family-athletes-section{margin-top:2rem;padding:1.5rem;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc}.family-athletes-header{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.family-athletes-header h3{margin:0 0 .25rem;color:#0f172a}.family-athletes-header p{margin:0;color:#475569;font-size:.95rem}.family-athletes-header-actions{display:flex;flex-wrap:wrap;gap:.75rem}.family-message{margin-top:1rem;padding:.75rem 1rem;border-radius:12px;font-size:.9rem}.family-message.error{background:#fee2e2;color:#b91c1c}.family-message.warning{background:#fef3c7;color:#92400e}.family-athletes-loading{margin-top:1rem;display:flex;align-items:center;gap:.5rem;color:#475569}.spinning-icon{animation:spin 1s linear infinite}.family-athletes-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.family-athlete-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 8px 24px #0f172a0d}.family-athlete-card-header{display:flex;gap:.75rem;align-items:center}.family-athlete-avatar{width:44px;height:44px;border-radius:50%;background:#2563eb;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.family-athlete-meta{display:flex;gap:.5rem;flex-wrap:wrap;color:#475569;font-size:.85rem}.family-athlete-actions{display:flex;gap:.75rem}.family-athletes-empty{margin-top:1rem;padding:1rem;border:1px dashed #cbd5f5;border-radius:12px;text-align:center;color:#475569}body[data-theme=dark] .family-athletes-section{background:#0f172ae6;border-color:#94a3b859;box-shadow:0 18px 45px #080f1ea6}body[data-theme=dark] .family-athletes-header h3{color:#e2e8f0}body[data-theme=dark] .family-athletes-header p,body[data-theme=dark] .family-athlete-meta,body[data-theme=dark] .family-athletes-empty,body[data-theme=dark] .family-athletes-loading{color:#e2e8f0cc}body[data-theme=dark] .family-message.error{background:#b91c1c47;color:#fecaca}body[data-theme=dark] .family-message.warning{background:#facc152e;color:#fde68a}body[data-theme=dark] .family-athlete-card{background:#0f172ad9;border-color:#94a3b859;box-shadow:0 18px 45px #080f1ea6}body[data-theme=dark] .family-athlete-card h4{color:#e2e8f0}body[data-theme=dark] .family-athletes-empty{border-color:#94a3b866;background:#0f172ab3}body[data-theme=dark] .family-athlete-form{border-top-color:#94a3b859}body[data-theme=dark] .family-athlete-form input,body[data-theme=dark] .family-athlete-form select,body[data-theme=dark] .family-athlete-form .location-search-input{background:#0f172ad9;border-color:#94a3b859;color:#e2e8f0}body[data-theme=dark] .family-athlete-form input::placeholder,body[data-theme=dark] .family-athlete-form .location-search-input::placeholder{color:#e2e8f099}body[data-theme=dark] .family-athlete-form select option{background:#0f172a;color:#e2e8f0}body[data-theme=dark] .family-athlete-form .action-btn.secondary{background:#0f172ad9;border-color:#94a3b859;color:#e2e8f0}body[data-theme=dark] .family-athlete-form .action-btn.secondary:hover{background:#60a5fa29}.family-athlete-form{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:1rem}.family-athlete-form .form-grid.two-column{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.family-form-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.btn-icon{width:18px;height:18px}.loading-dots{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #fff;border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}@media (max-width: 768px){.athlete-profile-container{padding:1rem}.athlete-profile-container .profile-header{padding:3rem 2rem;border-radius:20px}.athlete-profile-container .header-content{flex-direction:column;gap:2rem;text-align:center}.athlete-profile-container .header-text:before{display:none}.athlete-profile-container .header-text h1{font-size:2.5rem}.profile-tabs{flex-direction:column;gap:.25rem}.profile-tab{padding:.75rem 1rem}.profile-card,.settings-card{padding:2rem 1.5rem}.settings-card{padding:2rem 1rem}.form-grid,.info-grid{grid-template-columns:1fr}.setting-control{flex-direction:column;align-items:flex-start;gap:.5rem}.setting-select{min-width:100%}.action-buttons{flex-direction:column;width:100%}.action-btn{width:100%;justify-content:center}}@media (max-width: 480px){.athlete-profile-container .profile-header{padding:2.5rem 1.5rem;border-radius:16px}.athlete-profile-container .header-text h1{font-size:2rem}.athlete-profile-container .header-text p{font-size:1.1rem}.profile-card{padding:1.5rem 1rem}.profile-avatar-circle{width:100px;height:100px}.profile-initials{font-size:2rem}.change-avatar-btn{padding:.375rem .5rem;font-size:.7rem}.camera-icon{font-size:.75rem}.profile-name{font-size:1.875rem}.profile-header-content{gap:1.5rem}.profile-header-section{padding:1.5rem 0}.form-section-title,.info-section-title{font-size:1.125rem}}.athlete-profile-container .loading-payment-methods{display:flex;align-items:center;gap:.75rem;padding:1rem;color:var(--tf-text-secondary);font-size:.875rem}.athlete-profile-container .loading-payment-methods .spinner{animation:spin 1s linear infinite;font-size:1.5rem;color:#2e7dff;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center}.athlete-profile-container .payment-methods-list{display:flex;flex-direction:column;gap:1rem}.athlete-profile-container .payment-method-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;border:1px solid var(--tf-border);border-radius:12px;background:var(--tf-surface);transition:all .2s ease}.athlete-profile-container .payment-method-item:hover{border-color:#2e7dff59;box-shadow:0 2px 8px #0000000d}.athlete-profile-container .payment-method-info{display:flex;align-items:center;gap:1rem;flex:1}.athlete-profile-container .payment-method-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--tf-surface-muted);border-radius:8px}.athlete-profile-container .payment-method-icon .card-icon{color:#4a5568;font-size:1.25rem}.athlete-profile-container .payment-method-details{display:flex;flex-direction:column;gap:.25rem}.athlete-profile-container .payment-method-name{font-weight:600;color:var(--tf-text-primary);font-size:.875rem}.athlete-profile-container .payment-method-meta{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:var(--tf-text-secondary)}.athlete-profile-container .default-badge{background:transparent;color:#2563eb;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;letter-spacing:.01em;border:1px solid #2563eb}.athlete-profile-container .payment-method-actions{display:flex;align-items:center;gap:.5rem}.athlete-profile-container .payment-method-actions .action-btn{padding:.5rem .75rem;border:none;border-radius:8px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.25rem}.athlete-profile-container .payment-method-actions .action-btn.secondary{background:var(--tf-surface-muted);color:var(--tf-text-primary)}.athlete-profile-container .payment-method-actions .action-btn.secondary:hover{background:#2e7dff14}.athlete-profile-container .payment-method-actions .action-btn.danger{background:#fef2f2;color:#dc2626;padding:.5rem}.athlete-profile-container .payment-method-actions .action-btn.danger:hover{background:#fee2e2}.athlete-profile-container .no-payment-methods{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;text-align:center;color:var(--tf-text-secondary)}body[data-theme=dark] .athlete-profile-container .no-payment-methods{background:#0f172ad9;border-radius:16px;border:1px dashed rgba(148,163,184,.4);color:#e2e8f0cc}body[data-theme=dark] .athlete-profile-container .no-methods-icon{color:#94a3b8cc}body[data-theme=dark] .athlete-profile-container .payment-method-item{background:#0f172ad9;border-color:#94a3b859}body[data-theme=dark] .athlete-profile-container .payment-method-icon{background:#0f172aa6}body[data-theme=dark] .athlete-profile-container .payment-security-info,body[data-theme=dark] .athlete-profile-container .payment-security-info .security-item{color:#e2e8f0cc}body[data-theme=dark] .athlete-profile-container .payment-method-actions .action-btn.secondary{background:#0f172ad9;border:1px solid rgba(148,163,184,.35);color:#e2e8f0}body[data-theme=dark] .athlete-profile-container .payment-method-actions .action-btn.secondary:hover{background:#60a5fa2e}body[data-theme=dark] .athlete-profile-container .payment-method-actions .action-btn.danger{background:#b91c1c52;color:#fecaca}.athlete-profile-container .no-methods-icon{font-size:3rem;color:#cbd5e1}.athlete-profile-container .no-payment-methods p{font-weight:600;color:var(--tf-text-primary);margin:0}.athlete-profile-container .no-payment-methods span{font-size:.875rem}.athlete-profile-container .add-payment-method-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.875rem}.athlete-profile-container .add-payment-method-btn:hover{background:#2563eb}.athlete-profile-container .payment-security-info{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--tf-border);display:flex;flex-direction:column;gap:.75rem}.athlete-profile-container .security-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--tf-text-secondary)}.athlete-profile-container .security-icon{color:#10b981;font-size:.875rem}.password-field select{width:100%;padding:.75rem;border:1px solid var(--tf-border);border-radius:8px;font-size:.875rem;background:var(--tf-surface);color:var(--tf-text-primary);transition:all .2s ease}.password-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.password-field select option{padding:.5rem}.password-input-container{position:relative}.password-requirements{background-color:var(--tf-surface-muted);border:1px solid var(--tf-border);border-radius:8px;padding:16px;margin-top:8px}.password-requirements h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--tf-text-primary)}.password-requirements li.invalid{color:var(--tf-text-secondary)}.location-search-field{width:100%}.location-search-field .location-search-input{width:100%;padding:12px 16px;border:2px solid var(--tf-border);border-radius:8px;font-size:16px;font-family:inherit;background-color:var(--tf-surface);transition:all .2s ease;box-sizing:border-box}.location-search-field .location-search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.location-search-field .location-search-input.error{border-color:#dc3545}.location-search-field .location-search-input.error:focus{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.location-search-field .location-search-input:disabled{background-color:var(--tf-surface-muted);color:var(--tf-text-secondary);cursor:not-allowed}.delete-account-modal{max-width:550px}.delete-account-header{background:linear-gradient(135deg,#dc2626,#b91c1c)!important}.delete-account-warning{background:var(--tf-surface-muted);border:1px solid var(--tf-border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.delete-account-warning h3{color:var(--tf-text-primary);margin:0 0 1rem;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.delete-account-warning p{color:var(--tf-text-primary);margin:0 0 1rem;line-height:1.6;font-size:.9rem}.delete-account-warning ul{margin:1rem 0;padding-left:1.5rem;color:var(--tf-text-secondary)}.delete-account-warning li{margin-bottom:.5rem;line-height:1.5;font-size:.9rem}.delete-account-warning strong{color:var(--tf-text-primary);font-weight:600}.password-btn.delete{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;box-shadow:0 4px 12px #dc26264d}.password-btn.delete:hover:not(:disabled){background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-2px);box-shadow:0 8px 20px #dc262666}.password-btn.delete:disabled{opacity:.6;cursor:not-allowed;transform:none}.profile-settings-theme-section{margin-bottom:2rem}.profile-settings-theme-card{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.75rem 2rem;border-radius:16px;background:var(--tf-surface);border:1px solid var(--tf-border);box-shadow:0 1px 4px #0f172a0f;color:var(--tf-text-primary)}.profile-settings-theme-info h2{margin:0 0 .35rem;font-size:1.35rem;font-weight:600}.profile-settings-theme-info p{margin:0;color:var(--tf-text-secondary);font-size:.95rem;max-width:420px}.profile-settings-theme-action{display:inline-flex;align-items:center;gap:.6rem;padding:.75rem 1.5rem;border-radius:999px;border:none;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:600;font-size:.95rem;box-shadow:0 12px 24px #2563eb2e;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.profile-settings-theme-action:hover{transform:translateY(-2px);box-shadow:0 16px 32px #2563eb38}.profile-settings-theme-action:focus-visible{outline:2px solid rgba(59,130,246,.5);outline-offset:3px}.profile-settings-theme-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem}.profile-settings-theme-label{letter-spacing:.01em}body[data-theme=dark] .profile-settings-theme-card{background:#0f172ad9;border-color:#334155cc;box-shadow:0 16px 40px #080f1e99}body[data-theme=dark] .profile-settings-theme-info p{color:#e2e8f0cc}body[data-theme=dark] .profile-settings-theme-action{background:linear-gradient(135deg,#0ea5e9,#0284c7);box-shadow:0 20px 40px #0ea5e947;color:#f8fafc}body[data-theme=dark] .profile-settings-theme-action:hover{box-shadow:0 24px 48px #0ea5e952}@media (max-width: 640px){.profile-settings-theme-card{flex-direction:column;align-items:flex-start}.profile-settings-theme-action{width:100%;justify-content:center}}.athlete-settings-container{max-width:800px;margin:0 auto;padding:2rem;background:var(--tf-background);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.loading-message{color:#64748b;font-size:1.1rem;font-weight:500}.settings-header{background:#2e7dff;color:#fff;border-radius:16px;padding:2.5rem;margin-bottom:2rem;box-shadow:0 10px 30px #1f29371a;position:relative;overflow:hidden}.settings-header:before{content:"";position:absolute;top:0;right:0;width:120px;height:120px;background:#ffffff14;border-radius:50%;transform:translate(30%,-30%)}.header-content{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.header-actions{display:flex;align-items:center}.header-text h1{font-size:2.25rem;font-weight:700;color:#fff;margin:0 0 .5rem;line-height:1.3}.header-text p{font-size:1.1rem;color:#ffffffe6;margin:0;font-weight:400}.error-message,.success-message{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-radius:12px;margin-bottom:2rem;font-size:.875rem}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.success-message{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.error-icon,.success-icon{font-size:1.25rem;flex-shrink:0}.error-content,.success-content{display:flex;flex-direction:column;gap:.25rem}.error-title,.success-title{font-weight:600;font-size:.875rem}.error-text,.success-text{font-size:.875rem;opacity:.9}.settings-sections{display:flex;flex-direction:column;gap:2rem}.settings-section{background:var(--tf-surface);border-radius:16px;padding:2rem;box-shadow:0 1px 3px #0f172a0f;border:1px solid var(--tf-border);color:var(--tf-text-primary)}.section-header h2{font-size:1.5rem;font-weight:700;color:var(--tf-text-primary);margin:0 0 .5rem}.section-header p{font-size:.875rem;color:var(--tf-text-secondary);margin:0}.settings-group{display:flex;flex-direction:column;gap:1.5rem}.setting-item{display:flex;flex-direction:column;gap:.75rem}.setting-label{font-weight:600;color:var(--tf-text-primary);font-size:.875rem}.setting-control{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.setting-description{font-size:.875rem;color:var(--tf-text-secondary);flex:1}.loading-payment-methods{display:flex;align-items:center;gap:.75rem;padding:1rem;color:var(--tf-text-secondary);font-size:.875rem}.loading-payment-methods .spinner{animation:spin 1s linear infinite}.payment-methods-list{display:flex;flex-direction:column;gap:1rem}.payment-method-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;border:1px solid var(--tf-border);border-radius:12px;background:var(--tf-surface);transition:all .2s ease;color:var(--tf-text-primary);box-shadow:0 10px 24px #0f172a14}.payment-method-item:hover{border-color:#2563eb59;box-shadow:0 16px 32px #0f172a1f}.payment-method-info{display:flex;align-items:center;gap:1rem;flex:1}.payment-method-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--tf-surface-muted);border-radius:8px;color:var(--tf-text-secondary)}.payment-method-icon .card-icon{color:inherit;font-size:1.25rem}.payment-method-details{display:flex;flex-direction:column;gap:.25rem}.payment-method-name{font-weight:600;color:var(--tf-text-primary);font-size:.875rem}.payment-method-meta{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:var(--tf-text-secondary)}.default-badge{background:#2563eb14;color:var(--tf-link);padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;letter-spacing:.01em;border:1px solid rgba(37,99,235,.35)}.payment-method-actions{display:flex;align-items:center;gap:.5rem}.action-btn{padding:.5rem .75rem;border:none;border-radius:8px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.25rem}.action-btn.secondary{background:var(--tf-surface-muted);color:var(--tf-text-secondary)}.action-btn.secondary:hover{background:#2563eb1f;color:var(--tf-text-primary)}.action-btn.danger{background:#dc262614;color:#dc2626;padding:.5rem}.action-btn.danger:hover{background:#dc26261f}.no-payment-methods{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;text-align:center;color:var(--tf-text-secondary);background:var(--tf-surface);border:1px dashed var(--tf-border);border-radius:12px}.no-methods-icon{font-size:3rem;color:var(--tf-border)}.no-payment-methods p{font-weight:600;color:var(--tf-text-primary);margin:0}.no-payment-methods span{font-size:.875rem}.add-payment-method-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.875rem}.add-payment-method-btn:hover{background:#2563eb;box-shadow:0 16px 38px #2563eb59}.payment-security-info{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--tf-border);display:flex;flex-direction:column;gap:.75rem}.security-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--tf-text-secondary)}.security-icon{color:#10b981;font-size:.875rem}body[data-theme=dark] .settings-section .loading-payment-methods{color:#e2e8f0c7}body[data-theme=dark] .settings-section .payment-method-item{background:#0f172ad1;border-color:#94a3b847;box-shadow:0 22px 48px #080f1eb3}body[data-theme=dark] .settings-section .payment-method-item:hover{border-color:#60a5fa73;box-shadow:0 28px 60px #080f1ec7}body[data-theme=dark] .settings-section .payment-method-icon{background:#0f172aeb;color:#e2e8f0d1}body[data-theme=dark] .settings-section .payment-method-meta{color:#cbd5e1c7}body[data-theme=dark] .settings-section .default-badge{background:#2563eb38;border-color:#60a5fa73;color:#bfdbfe}body[data-theme=dark] .settings-section .payment-method-actions .action-btn.secondary{background:#94a3b82e;color:#e2e8f0d9}body[data-theme=dark] .settings-section .payment-method-actions .action-btn.secondary:hover{background:#60a5fa38;color:#fff}body[data-theme=dark] .settings-section .payment-method-actions .action-btn.danger{background:#b91c1c47;color:#fca5a5}body[data-theme=dark] .settings-section .payment-method-actions .action-btn.danger:hover{background:#dc262652}body[data-theme=dark] .settings-section .no-payment-methods{background:#0f172ad9;border-color:#94a3b847;color:#e2e8f0c7;box-shadow:0 20px 46px #080f1ea6}body[data-theme=dark] .settings-section .no-methods-icon{color:#60a5fa80}body[data-theme=dark] .settings-section .payment-security-info{border-top-color:#94a3b847}body[data-theme=dark] .settings-section .security-item{color:#cbd5e1cc}body[data-theme=dark] .settings-section .add-payment-method-btn{box-shadow:0 18px 40px #2563eb66}.payment-modal{background:#fff;border-radius:16px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:#64748b;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease}.modal-close:hover{background:#f1f5f9;color:#374151}.modal-content{padding:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:500;color:#374151;margin-bottom:.5rem;font-size:.875rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-actions{display:flex;gap:1rem;margin-top:1.5rem}.cancel-btn{flex:1;padding:.75rem;background:#f1f5f9;color:#475569;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background:#e2e8f0}.save-btn{flex:1;padding:.75rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.save-btn:hover{background:#2563eb}.goals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.goal-checkbox{display:flex;align-items:center;gap:.5rem;padding:.75rem;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#fff}.goal-checkbox:hover{background:#f9fafb;border-color:#d1d5db}.goal-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6}.goal-text{font-size:.875rem;color:#374151;font-weight:500}.setting-select{padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;background:#fff;color:#374151;min-width:200px;transition:all .2s ease}.setting-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.toggle-switch{position:relative;display:inline-block;width:48px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;transition:.4s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.toggle-slider{background-color:#3b82f6}input:checked+.toggle-slider:before{transform:translate(24px)}.secondary-btn{padding:.75rem 1rem;background:var(--tf-surface-muted);color:var(--tf-text-primary);border:1px solid var(--tf-border);border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.875rem}.secondary-btn:hover{background:#3b82f61f;border-color:#3b82f640}body[data-theme=dark] .settings-section{box-shadow:0 24px 60px #080f1ea6}body[data-theme=dark] .setting-description{color:var(--tf-text-secondary)}body[data-theme=dark] .toggle-slider{background-color:#94a3b859}body[data-theme=dark] .toggle-slider:before{background-color:#0b1120;box-shadow:0 2px 6px #0006}body[data-theme=dark] .secondary-btn{background:#94a3b81f;color:var(--tf-text-primary);border-color:#94a3b840}body[data-theme=dark] .secondary-btn:hover{background:#3b82f638;border-color:#3b82f659}.signout-button{padding:.75rem 1.5rem;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.875rem}.signout-button:hover{background:#fff3;border-color:#ffffff4d}.settings-actions{margin-top:2rem;display:flex;justify-content:center}.save-settings-btn{padding:1rem 2rem;background:#3b82f6;color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:1rem;min-width:200px}.save-settings-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.save-settings-btn:disabled{background:#cbd5e1;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.athlete-settings-container{padding:1rem}.settings-header{padding:2rem}.header-content{flex-direction:column;gap:1rem;text-align:center}.header-text h1{font-size:1.875rem}.settings-section{padding:1.5rem}.goals-grid{grid-template-columns:1fr}.setting-control{flex-direction:column;align-items:flex-start;gap:.5rem}.setting-select{min-width:100%}.form-row{grid-template-columns:1fr}.payment-method-item{flex-direction:column;align-items:flex-start;gap:1rem}.payment-method-actions{width:100%;justify-content:flex-end}}@media (max-width: 480px){.settings-header{padding:1.5rem}.header-text h1{font-size:1.5rem}.settings-section{padding:1rem}.section-header h2{font-size:1.25rem}}.password-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:passwordModalFadeIn .3s ease-out}@keyframes passwordModalFadeIn{0%{opacity:0}to{opacity:1}}.password-modal{background:#fff;border-radius:20px;box-shadow:0 25px 60px #0000004d;max-width:450px;width:90%;max-height:80vh;overflow:hidden;animation:passwordModalSlideIn .4s cubic-bezier(.16,1,.3,1);border:1px solid rgba(255,255,255,.2)}@keyframes passwordModalSlideIn{0%{opacity:0;transform:translateY(-40px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.password-modal-header{background:linear-gradient(135deg,#2e7dff,#1e40af);color:#fff;padding:2rem;position:relative}.password-modal-title{display:flex;align-items:center;gap:1rem;margin-right:2rem}.password-icon{width:48px;height:48px;background:#fff3;border-radius:12px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.password-icon svg{width:24px;height:24px;color:#fff}.password-modal-title h3{font-size:1.5rem;font-weight:700;margin:0 0 .25rem;color:#fff}.password-modal-title p{font-size:.9rem;margin:0;opacity:.9;color:#ffffffe6}.password-modal-close{position:absolute;top:1.5rem;right:1.5rem;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.password-modal-close:hover{background:#ffffff4d;transform:translateY(-1px)}.password-modal-close svg{width:16px;height:16px}.password-modal-content{padding:2rem;background:#fafbfc;max-height:400px;overflow-y:auto}.password-form{display:flex;flex-direction:column;gap:1.5rem}.password-field{display:flex;flex-direction:column;gap:.5rem}.password-field label{font-weight:600;color:#374151;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.password-field input{width:100%;padding:1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:all .3s ease;background:#fff;box-shadow:0 2px 4px #0000000d}.password-field input:focus{outline:none;border-color:#2e7dff;box-shadow:0 0 0 3px #2e7dff1a;transform:translateY(-1px)}.password-field input::placeholder{color:#9ca3af}.password-input-container{display:flex;flex-direction:column;gap:.5rem}.password-modal-actions{padding:1.5rem 2rem 2rem;background:#fff;display:flex;justify-content:flex-end;gap:1rem;border-top:1px solid #e2e8f0}.password-btn{padding:.875rem 1.5rem;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;border:none;min-width:120px;display:flex;align-items:center;justify-content:center;gap:.5rem}.password-btn.cancel{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.password-btn.cancel:hover:not(:disabled){background:#e2e8f0;color:#374151;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.password-btn.update{background:linear-gradient(135deg,#2e7dff,#1e40af);color:#fff;box-shadow:0 4px 12px #2e7dff4d}.password-btn.update:hover:not(:disabled){background:linear-gradient(135deg,#1e40af,#1e3a8a);transform:translateY(-2px);box-shadow:0 8px 20px #2e7dff66}.password-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.password-loading{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.password-strength{margin-top:8px;display:flex;align-items:center;gap:8px}.strength-bar{flex:1;height:4px;background-color:#e5e7eb;border-radius:2px;overflow:hidden}.strength-fill{height:100%;transition:all .3s ease;border-radius:2px}.strength-weak{background-color:#ef4444}.strength-medium{background-color:#f59e0b}.strength-strong{background-color:#10b981}.strength-very-strong{background-color:#059669}.strength-text{font-size:12px;font-weight:500;min-width:60px;text-align:right}.strength-text.strength-weak{color:#ef4444}.strength-text.strength-medium{color:#f59e0b}.strength-text.strength-strong{color:#10b981}.strength-text.strength-very-strong{color:#059669}.password-requirements{background-color:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-top:8px}.password-requirements h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151}.password-requirements ul{margin:0;padding:0;list-style:none}.password-requirements li{font-size:12px;margin-bottom:6px;display:flex;align-items:center;gap:6px;transition:color .2s ease}.password-requirements li.valid{color:#10b981}.password-requirements li.invalid{color:#6b7280}.password-requirements li:before{content:"✓";font-weight:700;color:inherit}@media (max-width: 768px){.password-modal{width:95%;margin:1rem}.password-modal-header{padding:1.5rem}.password-modal-title{margin-right:1rem}.password-icon{width:40px;height:40px}.password-icon svg{width:20px;height:20px}.password-modal-title h3{font-size:1.25rem}.password-modal-content{padding:1.5rem}.password-modal-actions{padding:1rem 1.5rem 1.5rem;flex-direction:column}.password-btn{width:100%}}@media (max-width: 480px){.password-modal{width:98%;margin:.5rem}.password-modal-header{padding:1rem}.password-modal-title{flex-direction:column;align-items:flex-start;gap:.5rem}.password-modal-content{padding:1rem}.password-field input{padding:.875rem}}.settings-theme-section{margin-bottom:2rem}.settings-theme-card{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:var(--tf-surface);border-radius:16px;padding:1.75rem 2rem;box-shadow:0 1px 4px #0f172a0f;border:1px solid var(--tf-border);color:var(--tf-text-primary)}.settings-theme-info h2{margin:0 0 .35rem;font-size:1.35rem;font-weight:600;color:var(--tf-text-primary)}.settings-theme-info p{margin:0;color:var(--tf-text-secondary);font-size:.95rem;max-width:420px}.settings-theme-action{display:inline-flex;align-items:center;gap:.6rem;padding:.75rem 1.5rem;border-radius:999px;border:none;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:600;font-size:.95rem;box-shadow:0 12px 24px #2563eb2e;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.settings-theme-action:hover{transform:translateY(-2px);box-shadow:0 16px 32px #2563eb38}.settings-theme-action:focus-visible{outline:2px solid rgba(59,130,246,.5);outline-offset:3px}.settings-theme-action-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem}.settings-theme-action-label{letter-spacing:.01em}body[data-theme=dark] .settings-theme-card{background:#0f172ad9;border-color:#334155cc;box-shadow:0 16px 40px #080f1e99;color:var(--tf-text-primary)}body[data-theme=dark] .settings-theme-info h2{color:var(--tf-text-primary)}body[data-theme=dark] .settings-theme-info p{color:#e2e8f0cc}body[data-theme=dark] .settings-theme-action{background:linear-gradient(135deg,#0ea5e9,#0284c7);box-shadow:0 20px 40px #0ea5e947;color:#f8fafc}body[data-theme=dark] .settings-theme-action:hover{box-shadow:0 24px 48px #0ea5e952}@media (max-width: 640px){.settings-theme-card{flex-direction:column;align-items:flex-start}.settings-theme-action{width:100%;justify-content:center}}.athlete-profiles-page{min-height:100vh;display:flex;flex-direction:column;background:var(--tf-background);color:var(--tf-text-primary);transition:background .2s ease,color .2s ease}.athlete-profiles-container{max-width:1200px;margin:0 auto;padding:2rem;flex:1;color:inherit}.athlete-profiles-back{display:flex;justify-content:flex-end;margin-bottom:1rem}.back-to-profile-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:1px solid var(--tf-border);border-radius:999px;background-color:var(--tf-surface);color:var(--tf-link);font-weight:600;font-size:.9rem;cursor:pointer;transition:background-color .2s,box-shadow .2s}.back-to-profile-btn:hover{background-color:var(--tf-surface-muted);box-shadow:0 2px 8px #2563eb40}.athlete-profiles-header{margin-bottom:2rem}.athlete-profiles-header h1{font-size:2rem;color:var(--tf-text-primary);margin-bottom:.5rem}.athlete-profiles-header p{color:var(--tf-text-secondary);font-size:1rem}.add-athlete-btn{background-color:#2563eb;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;margin-bottom:2rem;transition:background-color .2s}.add-athlete-btn:hover{background-color:#1d4ed8}.empty-state{text-align:center;padding:3rem;background-color:var(--tf-surface-muted);border-radius:8px;color:var(--tf-text-secondary)}.athletes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.athlete-card{background:var(--tf-surface);border:1px solid var(--tf-border);border-radius:12px;padding:1.5rem;box-shadow:0 12px 30px #0f172a14;transition:box-shadow .2s,transform .2s}.athlete-card:hover{box-shadow:0 18px 38px #0f172a26;transform:translateY(-2px)}.athlete-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.athlete-avatar,.athlete-avatar-placeholder{width:60px;height:60px;border-radius:50%;object-fit:cover}.athlete-avatar-placeholder{background-color:#2563eb;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600}.athlete-info h3{margin:0;font-size:1.25rem;color:var(--tf-text-primary)}.athlete-age,.athlete-sport{margin:.25rem 0 0;font-size:.875rem;color:var(--tf-text-secondary)}.athlete-location{margin:.5rem 0;font-size:.875rem;color:var(--tf-text-secondary)}.athlete-card-actions{display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--tf-border)}.edit-btn,.delete-btn{flex:1;padding:.5rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.edit-btn{background-color:var(--tf-surface-muted);color:var(--tf-text-primary)}.edit-btn:hover{background-color:#2563eb29}.delete-btn{background-color:#fee2e2;color:#dc2626}.delete-btn:hover{background-color:#fecaca}.athlete-form-container{background:var(--tf-surface);border:1px solid var(--tf-border);border-radius:12px;padding:2rem;max-width:600px;margin:0 auto;box-shadow:0 14px 36px #0f172a1f}.athlete-form-container h2{margin-bottom:1.5rem;color:var(--tf-text-primary)}.athlete-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{font-weight:500;color:var(--tf-text-secondary);font-size:.875rem}.form-group input,.form-group textarea{padding:.75rem;border:1px solid var(--tf-border);border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s,background-color .2s;background-color:#0f172a05;color:var(--tf-text-primary)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-actions{display:flex;gap:1rem;margin-top:1rem}.submit-btn,.cancel-btn{flex:1;padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.submit-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.submit-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af)}.cancel-btn{background-color:var(--tf-surface-muted);color:var(--tf-text-primary)}.cancel-btn:hover{background-color:#2563eb29}.error-message,.success-message{padding:1rem;border-radius:8px;margin-bottom:1rem}.error-message{background-color:#fee2e2;color:#dc2626;border:1px solid #fecaca}.success-message{background-color:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.loading-container{text-align:center;padding:3rem;color:var(--tf-text-secondary)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--tf-text-secondary);opacity:.7}body[data-theme=dark] .athlete-card{box-shadow:0 20px 40px #080f1eb3}body[data-theme=dark] .form-group input,body[data-theme=dark] .form-group textarea{background-color:#94a3b81f}body[data-theme=dark] .error-message{background-color:#f871711f;border-color:#f8717166;color:#fecaca}body[data-theme=dark] .success-message{background-color:#10b98124;border-color:#10b98159;color:#a7f3d0}body[data-theme=dark] .delete-btn{background-color:#f871712e;color:#fecaca}.favorites-page-container{--favorites-page-bg: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);--favorites-page-text: #1e293b;--favorites-card-bg: #ffffff;--favorites-card-border: rgba(226, 232, 240, .5);--favorites-card-shadow: 0 8px 32px rgba(0, 0, 0, .08);--favorites-card-shadow-hover: 0 20px 60px rgba(0, 0, 0, .15);--favorites-card-border-hover: rgba(16, 185, 129, .2);--favorites-search-bg: #ffffff;--favorites-search-border: #e2e8f0;--favorites-search-placeholder: #94a3b8;--favorites-search-focus-border: #10b981;--favorites-search-focus-shadow: 0 0 0 4px rgba(16, 185, 129, .1), 0 8px 32px rgba(0, 0, 0, .12);--favorites-search-caret: #0f766e;--favorites-badge-bg: linear-gradient(135deg, #10b981, #059669);--favorites-name-color: #1e293b;--favorites-location-text: #475569;--favorites-location-muted: #64748b;--favorites-primary-cta: linear-gradient(135deg, #10b981, #059669);--favorites-primary-cta-hover: linear-gradient(135deg, #059669, #047857);--favorites-view-cta: linear-gradient(135deg, #10b981, #059669);--favorites-view-cta-hover: linear-gradient(135deg, #059669, #047857);--favorites-remove-bg: linear-gradient(135deg, #fef2f2, #fee2e2);--favorites-remove-border: #fca5a5;--favorites-remove-color: #ef4444;--favorites-remove-hover-bg: linear-gradient(135deg, #fee2e2, #fecaca);--favorites-placeholder-bg: #ffffff;--favorites-placeholder-border: rgba(226, 232, 240, .5);--favorites-placeholder-shadow: 0 8px 32px rgba(0, 0, 0, .08);--favorites-loading-spinner-track: #e2e8f0;--favorites-loading-spinner-fill: #10b981;max-width:1400px;margin:0 auto;padding:2rem 1.5rem;background:var(--favorites-page-bg);min-height:100vh;color:var(--favorites-page-text);transition:background .3s ease,color .3s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.favorites-page-title{font-size:2.5rem;font-weight:800;color:#1e293b;margin:0 0 1rem;text-align:center;background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.favorites-page-search{max-width:600px;margin:0 auto 3rem;position:relative}.favorites-page-search input{width:100%;padding:1rem 1.5rem;border:2px solid var(--favorites-search-border);border-radius:16px;font-size:1rem;background:var(--favorites-search-bg);color:inherit;transition:all .3s ease;box-shadow:0 4px 20px #00000014;caret-color:var(--favorites-search-caret)}.favorites-page-search input:focus{outline:none;border-color:var(--favorites-search-focus-border);box-shadow:var(--favorites-search-focus-shadow);transform:translateY(-2px)}.favorites-page-search input::placeholder{color:var(--favorites-search-placeholder);font-weight:400}.favorites-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto}.favorites-page-favorite-card{background:var(--favorites-card-bg);border-radius:20px;padding:0;box-shadow:var(--favorites-card-shadow);border:1px solid var(--favorites-card-border);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.favorites-page-favorite-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#10b981,#34d399,#6ee7b7);transform:scaleX(0);transition:transform .4s ease}.favorites-page-favorite-card:hover:before{transform:scaleX(1)}.favorites-page-favorite-card:hover{transform:translateY(-8px);box-shadow:var(--favorites-card-shadow-hover);border-color:var(--favorites-card-border-hover)}.favorites-page-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 1.5rem 1rem;position:relative}.favorites-page-avatar-container{position:relative;display:flex;align-items:center}.favorites-page-favorite-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;border:4px solid #ffffff;box-shadow:0 8px 24px #0000001f;transition:all .3s ease;background:#f8fafc}.favorites-page-favorite-avatar-initials{width:72px;height:72px;border-radius:50%;border:4px solid #ffffff;background:linear-gradient(135deg,#10b981,#059669);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);transition:all .3s ease;letter-spacing:.05em;box-shadow:0 8px 24px #10b9814d}.favorites-page-online-indicator{position:absolute;bottom:2px;right:2px;width:16px;height:16px;background:#10b981;border:3px solid #ffffff;border-radius:50%;box-shadow:0 2px 8px #10b98166}.favorites-page-favorite-card:hover .favorites-page-favorite-avatar,.favorites-page-favorite-card:hover .favorites-page-favorite-avatar-initials{transform:scale(1.05);box-shadow:0 12px 32px #00000026}.favorites-page-remove-favorite-btn{width:40px;height:40px;background:var(--favorites-remove-bg);color:var(--favorites-remove-color);border:2px solid var(--favorites-remove-border);border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:0 4px 12px #ef444426}.favorites-page-remove-favorite-btn:hover{background:var(--favorites-remove-hover-bg);border-color:#f87171;transform:translateY(-2px) scale(1.05);box-shadow:0 8px 24px #ef444440}.favorites-page-remove-favorite-btn:active{transform:translateY(0) scale(.95)}.favorites-page-remove-favorite-btn svg{font-size:1.1rem;transition:all .3s ease}.favorites-page-remove-favorite-btn:hover svg{transform:scale(1.1);color:#dc2626}.favorites-page-remove-favorite-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 4px 12px #ef444426}.favorites-page-remove-favorite-btn:disabled:hover{background:var(--favorites-remove-bg);border-color:var(--favorites-remove-border);transform:none;box-shadow:0 4px 12px #ef444426}.favorites-page-card-content{padding:0 1.5rem 1rem}.favorites-page-trainer-info{text-align:left}.favorites-page-favorite-name{font-size:1.375rem;font-weight:700;color:var(--favorites-name-color);margin:0 0 .75rem;line-height:1.3;letter-spacing:-.025em}.favorites-page-specialty-badge{display:inline-block;background:var(--favorites-badge-bg);color:#fff;font-weight:600;font-size:.75rem;padding:.375rem .875rem;border-radius:20px;margin:0 0 1rem;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 12px #10b9814d;transition:all .3s ease}.favorites-page-favorite-card:hover .favorites-page-specialty-badge{transform:translateY(-1px);box-shadow:0 6px 16px #10b98166}.favorites-page-location-info{display:flex;align-items:center;gap:.5rem;color:var(--favorites-location-muted);font-size:.875rem;font-weight:500}.favorites-page-location-icon{font-size:1rem;filter:grayscale(.3)}.favorites-page-location-text{color:var(--favorites-location-text);font-weight:500}.favorites-page-card-footer{padding:1rem 1.5rem 1.5rem;border-top:1px solid #f1f5f9;background:linear-gradient(135deg,#fafbfc,#f8fafc);border-radius:0 0 20px 20px}.favorites-page-view-profile-btn{width:100%;padding:.875rem 1.5rem;background:var(--favorites-view-cta);border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 16px #10b9814d;position:relative;overflow:hidden}.favorites-page-view-profile-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.favorites-page-view-profile-btn:hover:before{left:100%}.favorites-page-view-profile-btn:hover{background:var(--favorites-view-cta-hover);transform:translateY(-2px);box-shadow:0 8px 24px #10b98166}.favorites-page-view-profile-btn,.favorites-page-view-profile-btn span,.favorites-page-view-profile-btn svg{color:#fff}body[data-theme=dark] .favorites-page-view-profile-btn,body[data-theme=dark] .favorites-page-view-profile-btn span,body[data-theme=dark] .favorites-page-view-profile-btn svg{color:#e2e8f0}.favorites-page-view-profile-btn:active{transform:translateY(0)}.favorites-page-view-profile-btn svg{transition:transform .3s ease}.favorites-page-view-profile-btn:hover svg{transform:translate(2px)}.favorites-page-placeholder{text-align:center;padding:4rem 2rem;background:var(--favorites-placeholder-bg);border-radius:20px;box-shadow:var(--favorites-placeholder-shadow);margin:2rem;border:1px solid var(--favorites-placeholder-border)}.favorites-page-placeholder-icon{font-size:4rem;color:#cbd5e1;margin-bottom:1.5rem;filter:grayscale(.5)}.favorites-page-placeholder-text{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 1rem}.favorites-page-placeholder p{color:#64748b;margin:0 0 2rem;font-size:1rem;line-height:1.6}.favorites-page-find-trainers-btn{background:var(--favorites-primary-cta);color:#fff;border:none;padding:.875rem 1.75rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;box-shadow:0 4px 16px #10b9814d}.favorites-page-find-trainers-btn:hover{background:var(--favorites-primary-cta-hover);transform:translateY(-2px);box-shadow:0 8px 24px #10b98166}body[data-theme=dark] .favorites-page-container{--favorites-page-bg: radial-gradient(circle at 20% 20%, rgba(56, 189, 248, .08), rgba(8, 15, 30, .95)), linear-gradient(135deg, #050b18 0%, #0b1220 60%, #060b17 100%);--favorites-page-text: #e2e8f0;--favorites-card-bg: linear-gradient(155deg, rgba(18, 28, 45, .96) 0%, rgba(9, 14, 24, .96) 100%);--favorites-card-border: rgba(51, 65, 85, .55);--favorites-card-shadow: 0 18px 40px rgba(3, 7, 18, .55);--favorites-card-shadow-hover: 0 28px 64px rgba(3, 7, 18, .65);--favorites-card-border-hover: rgba(56, 189, 248, .4);--favorites-search-bg: rgba(11, 23, 41, .85);--favorites-search-border: rgba(148, 163, 184, .35);--favorites-search-placeholder: rgba(148, 163, 184, .75);--favorites-search-focus-border: #38bdf8;--favorites-search-focus-shadow: 0 0 0 3px rgba(56, 189, 248, .22), 0 18px 36px rgba(2, 6, 23, .65);--favorites-search-caret: #38bdf8;--favorites-badge-bg: linear-gradient(135deg, #38bdf8, #0ea5e9);--favorites-name-color: #f8fafc;--favorites-location-text: rgba(226, 232, 240, .92);--favorites-location-muted: rgba(148, 163, 184, .85);--favorites-primary-cta: linear-gradient(135deg, #38bdf8, #0ea5e9);--favorites-primary-cta-hover: linear-gradient(135deg, #0ea5e9, #2563eb);--favorites-view-cta: linear-gradient(135deg, #10b981, #047857);--favorites-view-cta-hover: linear-gradient(135deg, #047857, #065f46);--favorites-remove-bg: linear-gradient(135deg, rgba(248, 113, 113, .2), rgba(248, 150, 150, .18));--favorites-remove-border: rgba(248, 150, 150, .4);--favorites-remove-color: #fda4af;--favorites-remove-hover-bg: linear-gradient(135deg, rgba(248, 113, 113, .32), rgba(252, 165, 165, .3));--favorites-placeholder-bg: linear-gradient(145deg, rgba(13, 23, 38, .96), rgba(7, 14, 26, .96));--favorites-placeholder-border: rgba(56, 189, 248, .18);--favorites-placeholder-shadow: 0 22px 52px rgba(2, 6, 23, .65);--favorites-loading-spinner-track: rgba(51, 65, 85, .7);--favorites-loading-spinner-fill: #38bdf8}body[data-theme=dark] .favorites-page-title{color:#f8fafc;background:none;-webkit-text-fill-color:initial;-webkit-background-clip:border-box;background-clip:border-box;display:inline-block;text-shadow:0 8px 30px rgba(14,165,233,.35)}body[data-theme=dark] .favorites-page-favorite-card:before{background:linear-gradient(90deg,#38bdf8d9,#0ea5e9d9,#0284c7cc)}body[data-theme=dark] .favorites-page-favorite-avatar{border:3px solid rgba(8,145,178,.35);background:#0e172ae6;box-shadow:0 14px 36px #020617a6}body[data-theme=dark] .favorites-page-favorite-avatar-initials{border:3px solid rgba(8,145,178,.35);background:linear-gradient(135deg,#0ea5e9d9,#0284c7d9);box-shadow:0 14px 36px #020617a6}body[data-theme=dark] .favorites-page-online-indicator{border:2px solid rgba(9,13,23,.95);box-shadow:0 0 12px #10b9818c}body[data-theme=dark] .favorites-page-location-icon{color:#38bdf8cc;filter:none}body[data-theme=dark] .favorites-page-card-footer{background:linear-gradient(180deg,#0b1321f5,#050a14f5);border-top:1px solid rgba(56,189,248,.22)}body[data-theme=dark] .favorites-page-placeholder-icon{color:#38bdf8cc;filter:none}body[data-theme=dark] .favorites-page-placeholder-text{color:#f8fafc}body[data-theme=dark] .favorites-page-placeholder p{color:#94a3b8d9}.favorites-page-loading-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:var(--favorites-placeholder-bg);border-radius:20px;box-shadow:var(--favorites-placeholder-shadow);margin:2rem;border:1px solid var(--favorites-placeholder-border)}.favorites-page-loading-message p{color:#64748b;font-size:1.125rem;margin:1rem 0 0;font-weight:500;letter-spacing:.025em}.favorites-page-loading-spinner{width:48px;height:48px;border:4px solid var(--favorites-loading-spinner-track);border-top:4px solid var(--favorites-loading-spinner-fill);border-radius:50%;animation:favorites-page-spin 1s linear infinite;margin-bottom:1.5rem}@keyframes favorites-page-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.favorites-page-container{padding:1rem}.favorites-page-title{font-size:2rem}.favorites-page-grid{grid-template-columns:1fr;gap:1.5rem}.favorites-page-favorite-card{border-radius:16px}.favorites-page-card-header{padding:1.25rem 1.25rem .75rem}.favorites-page-card-content{padding:0 1.25rem .75rem}.favorites-page-card-footer{padding:.75rem 1.25rem 1.25rem}.favorites-page-favorite-avatar,.favorites-page-favorite-avatar-initials{width:64px;height:64px}.favorites-page-favorite-name{font-size:1.25rem}}@media (max-width: 480px){.favorites-page-title{font-size:1.75rem}.favorites-page-favorite-card{border-radius:12px}.favorites-page-card-header{padding:1rem 1rem .5rem}.favorites-page-card-content{padding:0 1rem .5rem}.favorites-page-card-footer{padding:.5rem 1rem 1rem}.favorites-page-favorite-avatar,.favorites-page-favorite-avatar-initials{width:56px;height:56px}.favorites-page-favorite-name{font-size:1.125rem}.favorites-page-specialty-badge{font-size:.6875rem;padding:.25rem .75rem}}.bookings-page-container{--bookings-background: var(--tf-background, #f8fafc);--bookings-surface: var(--tf-surface, #ffffff);--bookings-surface-muted: var(--tf-surface-muted, #f1f5f9);--bookings-border: var(--tf-border, #e2e8f0);--bookings-text-primary: var(--tf-text-primary, #1f2937);--bookings-text-secondary: var(--tf-text-secondary, #64748b);--bookings-text-tertiary: rgba(148, 163, 184, .9);--bookings-placeholder: rgba(148, 163, 184, .8);--bookings-shadow-sm: 0 2px 8px rgba(15, 23, 42, .08);--bookings-shadow-md: 0 4px 20px rgba(15, 23, 42, .12);--bookings-shadow-lg: 0 20px 40px rgba(15, 23, 42, .16);--bookings-modal-overlay: rgba(15, 23, 42, .6);--bookings-status-surface: rgba(15, 118, 110, .06);--bookings-status-text: var(--bookings-text-primary);--bookings-action-cancel-bg: #fef2f2;--bookings-action-cancel-border: #fecaca;--bookings-action-cancel-text: #dc2626;--bookings-action-reschedule-bg: #fef3c7;--bookings-action-reschedule-border: #fbbf24;--bookings-action-reschedule-text: #92400e;--bookings-action-view-bg: #eff6ff;--bookings-action-view-border: #bfdbfe;--bookings-action-view-text: #2563eb;--bookings-action-review-bg: #f0fdf4;--bookings-action-review-border: #bbf7d0;--bookings-action-review-text: #16a34a;--bookings-payment-info-gradient: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);--bookings-payment-info-border: #d1fae5;--bookings-payment-info-text: #1e293b;--bookings-payment-note-gradient: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);--bookings-payment-note-text: #92400e;--bookings-payment-status-bg: #d1fae5;--bookings-payment-status-text: #065f46;--bookings-accent: #10b981;--bookings-accent-strong: #059669;--bookings-header-gradient: linear-gradient(135deg, var(--bookings-accent) 0%, var(--bookings-accent-strong) 100%);--bookings-header-shadow: 0 20px 40px rgba(16, 185, 129, .15);--bookings-header-text: #ffffff;--bookings-header-subtext: rgba(255, 255, 255, .9);--bookings-accent-gradient: linear-gradient(135deg, var(--bookings-accent) 0%, var(--bookings-accent-strong) 100%);--bookings-accent-gradient-strong: linear-gradient(135deg, var(--bookings-accent-strong) 0%, #047857 100%);--bookings-info-surface: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);--bookings-info-border: #d1fae5;--bookings-info-text: #1e293b;--bookings-warning-surface: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);--bookings-warning-border: #fbbf24;--bookings-warning-text: #92400e;--bookings-pill-muted: rgba(148, 163, 184, .15);--bookings-primary-button-gradient: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);--bookings-primary-button-gradient-hover: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);--bookings-primary-button-shadow: 0 2px 4px rgba(59, 130, 246, .2);--bookings-primary-button-shadow-hover: 0 4px 8px rgba(59, 130, 246, .3);--bookings-danger-bg: #fef2f2;--bookings-danger-border: #fecaca;--bookings-danger-text: #dc2626;--bookings-info-badge-bg: #d1fae5;--bookings-info-badge-text: #065f46;--bookings-info-soft-bg: #eff6ff;--bookings-info-soft-text: #1e40af;--bookings-warning-soft-bg: #fee2e2;--bookings-warning-soft-text: #991b1b;--bookings-status-icon-color: #ffffff;--bookings-status-completed-bg: #3b82f6;--bookings-status-cancelled-bg: #ef4444;--bookings-status-pending-bg: #f59e0b;--bookings-scrollbar-thumb: rgba(148, 163, 184, .6);--bookings-scrollbar-thumb-hover: rgba(100, 116, 139, .65);max-width:1400px;margin:0 auto;padding:2rem 1.5rem;background:var(--bookings-background)!important;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--bookings-text-primary);transition:background-color .25s ease,color .25s ease}[data-theme=dark] .bookings-page-container{--bookings-background: #0b1120;--bookings-surface: #101a2c;--bookings-surface-muted: #15203b;--bookings-border: rgba(148, 163, 184, .3);--bookings-text-primary: #e2e8f0;--bookings-text-secondary: #cbd5f5;--bookings-text-tertiary: rgba(148, 163, 184, .7);--bookings-placeholder: rgba(148, 163, 184, .55);--bookings-shadow-sm: 0 2px 10px rgba(2, 6, 23, .45);--bookings-shadow-md: 0 12px 35px rgba(2, 6, 23, .55);--bookings-shadow-lg: 0 25px 60px rgba(8, 11, 38, .7);--bookings-modal-overlay: rgba(8, 11, 38, .78);--bookings-status-surface: rgba(34, 197, 94, .22);--bookings-status-text: #bbf7d0;--bookings-action-cancel-bg: rgba(248, 113, 113, .16);--bookings-action-cancel-border: rgba(252, 165, 165, .35);--bookings-action-cancel-text: #fca5a5;--bookings-action-reschedule-bg: rgba(251, 191, 36, .16);--bookings-action-reschedule-border: rgba(251, 191, 36, .35);--bookings-action-reschedule-text: #fcd34d;--bookings-action-view-bg: rgba(96, 165, 250, .16);--bookings-action-view-border: rgba(147, 197, 253, .35);--bookings-action-view-text: #bfdbfe;--bookings-action-review-bg: rgba(74, 222, 128, .16);--bookings-action-review-border: rgba(134, 239, 172, .35);--bookings-action-review-text: #bbf7d0;--bookings-payment-info-gradient: linear-gradient(135deg, rgba(34, 197, 94, .15) 0%, rgba(13, 148, 136, .2) 100%);--bookings-payment-info-border: rgba(34, 197, 94, .4);--bookings-payment-info-text: #d1fae5;--bookings-payment-note-gradient: linear-gradient(135deg, rgba(251, 191, 36, .18) 0%, rgba(234, 179, 8, .22) 100%);--bookings-payment-note-text: #fde68a;--bookings-payment-status-bg: rgba(34, 197, 94, .22);--bookings-payment-status-text: #bbf7d0;--bookings-header-gradient: linear-gradient(135deg, #0f766e 0%, #0b4f46 100%);--bookings-header-shadow: 0 25px 60px rgba(15, 118, 110, .45);--bookings-header-text: #f8fafc;--bookings-header-subtext: rgba(226, 232, 240, .85);--bookings-accent: #22d3ee;--bookings-accent-strong: #0ea5e9;--bookings-accent-gradient: linear-gradient(135deg, rgba(34, 197, 94, .32) 0%, rgba(16, 185, 129, .48) 100%);--bookings-accent-gradient-strong: linear-gradient(135deg, rgba(16, 185, 129, .5) 0%, rgba(13, 148, 136, .6) 100%);--bookings-info-surface: linear-gradient(135deg, rgba(13, 148, 136, .32) 0%, rgba(8, 145, 178, .36) 100%);--bookings-info-border: rgba(45, 212, 191, .45);--bookings-info-text: #ccfbf1;--bookings-warning-surface: linear-gradient(135deg, rgba(234, 179, 8, .28) 0%, rgba(249, 115, 22, .32) 100%);--bookings-warning-border: rgba(234, 179, 8, .6);--bookings-warning-text: #fde68a;--bookings-pill-muted: rgba(148, 163, 184, .25);--bookings-primary-button-gradient: linear-gradient(135deg, rgba(66, 153, 225, .65) 0%, rgba(29, 78, 216, .85) 100%);--bookings-primary-button-gradient-hover: linear-gradient(135deg, rgba(59, 130, 246, .75) 0%, rgba(30, 64, 175, .9) 100%);--bookings-primary-button-shadow: 0 10px 25px rgba(37, 99, 235, .35);--bookings-primary-button-shadow-hover: 0 16px 32px rgba(59, 130, 246, .45);--bookings-danger-bg: rgba(248, 113, 113, .18);--bookings-danger-border: rgba(252, 165, 165, .4);--bookings-danger-text: #fca5a5;--bookings-info-badge-bg: rgba(20, 184, 166, .24);--bookings-info-badge-text: #a5f3fc;--bookings-info-soft-bg: rgba(59, 130, 246, .18);--bookings-info-soft-text: #cbd5f5;--bookings-warning-soft-bg: rgba(248, 113, 113, .2);--bookings-warning-soft-text: #fecaca;--bookings-status-icon-color: #f8fafc;--bookings-status-completed-bg: rgba(59, 130, 246, .55);--bookings-status-cancelled-bg: rgba(248, 113, 113, .55);--bookings-status-pending-bg: rgba(251, 191, 36, .55);--bookings-scrollbar-thumb: rgba(94, 106, 133, .7);--bookings-scrollbar-thumb-hover: rgba(148, 163, 184, .75)}.bookings-page-header{background:var(--bookings-header-gradient);color:var(--bookings-header-text);padding:2.5rem 2rem;border-radius:20px;margin-bottom:2rem;box-shadow:var(--bookings-header-shadow);position:relative;overflow:hidden}.bookings-page-header:before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:#ffffff1a;border-radius:50%;transform:translate(50%,-50%)}.bookings-page-header-content h1{font-size:2.5rem;font-weight:800;margin:0 0 .75rem;letter-spacing:-.02em;line-height:1.2;position:relative;z-index:1;color:var(--bookings-header-text)!important}.bookings-page-subtitle{font-size:1.2rem;margin:0;opacity:.9;line-height:1.6;position:relative;z-index:1;color:var(--bookings-header-subtext)!important}.bookings-page-new-btn{background:#ffffff2e;color:var(--bookings-header-text)!important;border:1px solid rgba(255,255,255,.24);padding:.875rem 1.75rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5rem;position:relative;z-index:1}.bookings-page-new-btn:hover{background:#ffffff47;transform:translateY(-1px)}.bookings-page-controls{background:var(--bookings-surface);padding:1.5rem;border-radius:16px;box-shadow:var(--bookings-shadow-md);margin-bottom:2rem;border:1px solid var(--bookings-border)}.bookings-page-search-section{margin-bottom:1.5rem}.bookings-page-search-input{width:100%;padding:1rem 1.5rem;border:2px solid var(--bookings-border);border-radius:12px;font-size:1rem;background:linear-gradient(145deg,color-mix(in srgb,var(--bookings-surface) 85%,rgba(148,163,184,.12) 15%),color-mix(in srgb,var(--bookings-surface-muted) 90%,rgba(14,165,233,.08) 10%));transition:all .3s ease;box-shadow:var(--bookings-shadow-sm);color:var(--bookings-text-primary)}.bookings-page-search-input::placeholder{color:var(--bookings-text-secondary);font-weight:400}.bookings-page-search-input:focus{outline:none;border-color:var(--bookings-accent);box-shadow:0 0 0 3px #10b98133}.bookings-page-search-input:hover{border-color:#10b98159}.bookings-page-search-input:hover{border-color:#10b98173}.bookings-page-filters-section{display:flex;gap:1rem;flex-wrap:wrap}.bookings-page-filter-select{padding:.75rem 2.5rem .75rem 1rem;border:2px solid var(--bookings-border);border-radius:10px;font-size:.9rem;background:linear-gradient(140deg,color-mix(in srgb,var(--bookings-surface-muted) 90%,rgba(148,163,184,.16) 10%),color-mix(in srgb,var(--bookings-surface) 88%,rgba(34,211,238,.14) 12%));transition:all .3s ease;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;min-width:150px;color:var(--bookings-text-primary);box-shadow:inset 0 1px #ffffff0d}.bookings-page-filter-select:focus{outline:none;border-color:var(--bookings-accent);box-shadow:0 0 0 3px #10b98133;background:linear-gradient(140deg,color-mix(in srgb,var(--bookings-surface-muted) 80%,rgba(34,211,238,.3) 20%),color-mix(in srgb,var(--bookings-surface) 75%,rgba(16,185,129,.35) 25%))}.bookings-page-filter-select:hover{border-color:#10b98166;background:linear-gradient(140deg,color-mix(in srgb,var(--bookings-surface-muted) 80%,rgba(148,163,184,.25) 20%),color-mix(in srgb,var(--bookings-surface) 78%,rgba(34,211,238,.28) 22%))}.bookings-page-filter-select option{background:var(--bookings-surface);color:var(--bookings-text-primary)}.bookings-page-sort-btn{padding:.75rem 1rem;background:linear-gradient(140deg,color-mix(in srgb,var(--bookings-surface-muted) 85%,rgba(148,163,184,.18) 15%),color-mix(in srgb,var(--bookings-surface) 85%,rgba(34,197,94,.18) 15%));border:2px solid var(--bookings-border);border-radius:10px;color:var(--bookings-text-primary);font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.bookings-page-sort-btn:hover{background:linear-gradient(140deg,color-mix(in srgb,var(--bookings-surface-muted) 78%,rgba(148,163,184,.28) 22%),color-mix(in srgb,var(--bookings-surface) 76%,rgba(34,211,238,.26) 24%));border-color:#10b98166;color:var(--bookings-text-primary)}.bookings-page-section-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--bookings-border)}.bookings-page-section-title{font-size:1.875rem;font-weight:700;color:var(--bookings-text-primary);margin:0 0 .5rem;line-height:1.3;letter-spacing:-.02em}.bookings-page-section-subtitle{font-size:1rem;color:var(--bookings-text-secondary);margin:0;line-height:1.6;font-weight:400}.bookings-page-list{display:flex;flex-direction:column;gap:1.5rem}.bookings-page-no-bookings{text-align:center;padding:4rem 2rem;background:var(--bookings-surface);border-radius:16px;box-shadow:var(--bookings-shadow-md);margin:2rem;border:1px solid var(--bookings-border)}.bookings-page-no-bookings-icon{font-size:4rem;color:var(--bookings-text-secondary);margin-bottom:1.5rem}.bookings-page-no-bookings h3{font-size:1.5rem;font-weight:600;color:var(--bookings-text-primary);margin:0 0 1rem}.bookings-page-no-bookings p{color:var(--bookings-text-secondary);margin:0 0 2rem;font-size:1rem;line-height:1.6}.bookings-page-find-trainers-btn{background:var(--bookings-accent-gradient);color:var(--bookings-header-text);border:none;padding:.875rem 1.75rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block}.bookings-page-find-trainers-btn:hover{background:var(--bookings-accent-gradient-strong);transform:translateY(-1px)}.bookings-page-booking-card{background:var(--bookings-surface);border-radius:16px;padding:2rem;box-shadow:var(--bookings-shadow-md);border:1px solid var(--bookings-border);transition:all .3s ease;position:relative;overflow:hidden}.bookings-page-booking-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--bookings-accent) 0%,var(--bookings-accent-strong) 100%);transform:scaleX(0);transition:transform .3s ease}.bookings-page-booking-card:hover:before{transform:scaleX(1)}.bookings-page-booking-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001f}.bookings-page-booking-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.bookings-page-trainer-info{display:flex;align-items:center;gap:1rem}.bookings-page-trainer-avatar{width:60px;height:60px;border-radius:50%;overflow:hidden;border:3px solid var(--bookings-accent);transition:all .3s ease}.bookings-page-trainer-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center}.bookings-page-trainer-details h3{font-size:1.25rem;font-weight:700;color:var(--bookings-text-primary);margin:0 0 .25rem;line-height:1.3}.bookings-page-trainer-specialty{color:var(--bookings-accent);font-weight:600;font-size:.875rem;margin:0}.bookings-page-booking-actions{display:flex;gap:.75rem;flex-wrap:wrap}.bookings-page-action-btn{padding:.65rem 1.15rem;border-radius:10px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .25s ease;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid var(--bookings-border);background:var(--bookings-surface-muted);color:var(--bookings-text-secondary);min-height:40px;min-width:44px;box-shadow:inset 0 1px #ffffff0a}.bookings-page-action-btn:hover{transform:translateY(-1px);border-color:#10b98159;background:var(--bookings-surface);color:var(--bookings-text-primary)}.bookings-page-action-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #22c55e40;border-color:var(--bookings-accent);background:var(--bookings-surface);color:var(--bookings-text-primary)}.bookings-page-session-details{margin-bottom:1.5rem}.bookings-page-session-info{margin-bottom:1rem}.bookings-page-session-type{font-size:1.125rem;font-weight:600;color:var(--bookings-text-primary);margin:0 0 .5rem}.bookings-page-session-meta{display:flex;gap:2rem;flex-wrap:wrap}.bookings-page-session-duration,.bookings-page-session-price{display:flex;align-items:center;gap:.5rem;color:var(--bookings-text-secondary);font-size:.875rem}.bookings-page-booking-datetime{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;background:var(--bookings-surface-muted);border-radius:12px;border:1px solid var(--bookings-border)}.bookings-page-booking-datetime strong{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--bookings-text-secondary)}.bookings-page-booking-datetime span{color:var(--bookings-text-primary);font-weight:600}.bookings-page-date-info,.bookings-page-time-info{display:flex;flex-direction:column;gap:.25rem}.bookings-page-booking-status-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem;background:var(--bookings-surface-muted);border-radius:12px;border:1px solid var(--bookings-border)}.bookings-page-status-info{display:flex;align-items:center;gap:.75rem}.bookings-page-status-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--bookings-status-icon-color)}.bookings-page-status-icon.confirmed{background:var(--bookings-accent)}[data-theme=dark] .bookings-page-status-icon.confirmed{background:#10b981}.bookings-page-status-icon.completed{background:var(--bookings-status-completed-bg)}.bookings-page-status-icon.cancelled{background:var(--bookings-status-cancelled-bg)}.bookings-page-status-icon.pending{background:var(--bookings-status-pending-bg)}.bookings-page-status-text{font-weight:600;color:var(--bookings-text-primary);font-size:.875rem}[data-theme=dark] .bookings-page-status-text.confirmed{color:#bef3d0}.bookings-page-booking-actions{display:flex;gap:1rem;flex-wrap:wrap}.bookings-page-cancel-btn{background:var(--bookings-action-cancel-bg);color:var(--bookings-action-cancel-text);border:2px solid var(--bookings-action-cancel-border);padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:flex;align-items:center;gap:.5rem}.bookings-page-cancel-btn:hover{border-color:var(--bookings-action-cancel-border);filter:brightness(1.05);transform:translateY(-1px)}.bookings-page-reschedule-btn{background:var(--bookings-action-reschedule-bg);color:var(--bookings-action-reschedule-text);border:2px solid var(--bookings-action-reschedule-border);padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:flex;align-items:center;gap:.5rem}.bookings-page-reschedule-btn:hover{border-color:var(--bookings-action-reschedule-border);filter:brightness(1.05);transform:translateY(-1px)}.bookings-page-view-btn{background:var(--bookings-action-view-bg);color:var(--bookings-action-view-text);border:2px solid var(--bookings-action-view-border);padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:flex;align-items:center;gap:.5rem}.bookings-page-view-btn:hover{border-color:var(--bookings-action-view-border);filter:brightness(1.05);transform:translateY(-1px)}.bookings-page-review-btn{background:var(--bookings-action-review-bg);color:var(--bookings-action-review-text);border:2px solid var(--bookings-action-review-border);padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:flex;align-items:center;gap:.5rem}.bookings-page-review-btn:hover{border-color:var(--bookings-action-review-border);filter:brightness(1.05);transform:translateY(-1px)}.bookings-page-pay-btn{background:var(--bookings-primary-button-gradient);color:var(--bookings-header-text);border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:flex;align-items:center;gap:.5rem;box-shadow:var(--bookings-primary-button-shadow)}.bookings-page-pay-btn:hover{background:var(--bookings-primary-button-gradient-hover);transform:translateY(-1px);box-shadow:var(--bookings-primary-button-shadow-hover)}.bookings-page-payment-status{display:inline-flex;align-items:center;justify-content:center;margin-top:.5rem}.bookings-page-payment-status-text{font-size:.75rem;font-weight:600;text-align:center;color:var(--bookings-payment-status-text);background:var(--bookings-payment-status-bg);padding:4px 12px;border-radius:20px;display:inline-block}.bookings-page-payment-options{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.bookings-page-payment-option{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:var(--bookings-surface-muted);border:2px solid var(--bookings-border);border-radius:12px;transition:all .3s ease}.bookings-page-payment-option:hover{border-color:#10b98166;background:var(--bookings-surface)}.bookings-page-payment-option-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--bookings-surface);border-radius:12px;box-shadow:var(--bookings-shadow-sm);flex-shrink:0}.bookings-page-payment-option-content{flex:1}.bookings-page-payment-option-content h4{font-size:1.1rem;font-weight:600;color:var(--bookings-text-primary);margin:0 0 .5rem}.bookings-page-payment-option-content p{color:var(--bookings-text-secondary);margin:0 0 .75rem;font-size:.9rem}.bookings-page-payment-amount{font-size:1.25rem;font-weight:700;color:var(--bookings-accent)}.bookings-page-payment-option-btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;font-size:.9rem;min-width:120px}.bookings-page-payment-option-btn.primary{background:var(--bookings-primary-button-gradient);color:var(--bookings-header-text);box-shadow:var(--bookings-primary-button-shadow)}.bookings-page-payment-option-btn.primary:hover{background:var(--bookings-primary-button-gradient-hover);transform:translateY(-1px);box-shadow:var(--bookings-primary-button-shadow-hover)}.bookings-page-payment-option-btn.secondary{background:var(--bookings-surface-muted);color:var(--bookings-text-secondary);border:2px solid var(--bookings-border)}.bookings-page-payment-option-btn.secondary:hover{background:var(--bookings-surface);border-color:#10b98166;color:var(--bookings-text-primary)}.bookings-page-payment-session-info{background:var(--bookings-payment-info-gradient);border:1px solid var(--bookings-payment-info-border);border-radius:12px;padding:1.5rem}.bookings-page-payment-session-info h4{font-size:1.1rem;font-weight:600;color:var(--bookings-payment-info-text);margin:0 0 1rem}.bookings-page-payment-session-info p{margin:.5rem 0;color:var(--bookings-text-secondary);font-size:.9rem}.bookings-page-payment-session-info strong{color:var(--bookings-payment-info-text)}.bookings-page-confirmation-content{text-align:center;padding:1rem 0}.bookings-page-confirmation-icon{font-size:3rem;margin-bottom:1rem}.bookings-page-confirmation-content h4{font-size:1.25rem;font-weight:700;color:var(--bookings-text-primary);margin:0 0 1rem}.bookings-page-confirmation-content p{color:var(--bookings-text-secondary);line-height:1.6;margin:0 0 1.5rem;font-size:1rem}.bookings-page-confirmation-details{background:var(--bookings-info-surface);border:1px solid var(--bookings-info-border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;text-align:left}.bookings-page-confirmation-detail{margin:.5rem 0;color:var(--bookings-text-secondary);font-size:.95rem}.bookings-page-confirmation-detail strong{color:var(--bookings-text-primary);font-weight:600}.bookings-page-confirmation-note{background:var(--bookings-warning-surface);border:1px solid var(--bookings-warning-border);border-radius:8px;padding:1rem}.bookings-page-confirmation-note p{margin:0;color:var(--bookings-warning-text);font-size:.9rem;font-weight:500}.bookings-page-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bookings-modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:bookings-page-modalFadeIn .3s ease-out}@keyframes bookings-page-modalFadeIn{0%{opacity:0}to{opacity:1}}.bookings-page-modal-content{background:#fff;border-radius:20px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--bookings-shadow-lg);animation:bookings-page-modalSlideIn .3s ease-out;border:1px solid var(--bookings-border);position:relative}[data-theme=dark] .bookings-page-modal-content{background:var(--bookings-surface)}@keyframes bookings-page-modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.bookings-page-modal-header{padding:2rem 2rem 1.5rem;border-bottom:1px solid var(--bookings-border);position:relative;background:linear-gradient(135deg,#f8fafc,#fff);border-radius:20px 20px 0 0}[data-theme=dark] .bookings-page-modal-header{background:linear-gradient(135deg,color-mix(in srgb,var(--bookings-background) 85%,white 15%) 0%,var(--bookings-surface) 100%)}.bookings-page-modal-header h3{font-size:1.5rem;font-weight:700;color:var(--bookings-text-primary);margin:0;line-height:1.3}.bookings-page-modal-close{position:absolute;top:1.5rem;right:1.5rem;background:#fffffff5;border:1px solid rgba(37,99,235,.24);font-size:1.25rem;color:var(--bookings-info-soft-text);cursor:pointer;padding:.5rem;border-radius:10px;transition:transform .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-weight:600;box-shadow:0 8px 20px #0f172a2e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}[data-theme=dark] .bookings-page-modal-close{background:#0f172aeb;border:1px solid rgba(148,163,184,.4);color:var(--bookings-text-secondary);box-shadow:0 12px 32px #0206178c}.bookings-page-modal-close:hover{background:var(--bookings-surface);color:var(--bookings-info-soft-text);box-shadow:0 12px 32px #2563eb4d;transform:scale(1.08)}.bookings-page-modal-body{padding:2rem}.bookings-page-modal-trainer-info{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:var(--bookings-info-surface);border-radius:16px;border:1px solid var(--bookings-info-border);margin-bottom:2rem}.bookings-page-modal-trainer-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--bookings-accent);box-shadow:0 4px 12px #10b98133}.bookings-page-modal-rating{flex:1}.bookings-page-modal-trainer-name{font-size:1.25rem;font-weight:700;color:var(--bookings-info-text);margin:0 0 .5rem;line-height:1.3}.bookings-page-modal-trainer-specialty{color:var(--bookings-accent);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin:0}.bookings-page-modal-details{background:var(--bookings-surface);border-radius:16px;padding:1.5rem;border:1px solid var(--bookings-border);margin-bottom:2rem}.bookings-page-modal-details h4{font-size:1.125rem;font-weight:600;color:var(--bookings-text-primary);margin:0 0 1.5rem;display:flex;align-items:center;gap:.5rem}.bookings-page-modal-details h4:before{content:"📋";font-size:1rem}.bookings-page-detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--bookings-border);font-size:.875rem}.bookings-page-detail-row:last-child{border-bottom:none}.bookings-page-detail-row span:first-child{color:var(--bookings-text-secondary);font-weight:500;min-width:80px}.bookings-page-detail-row span:last-child{color:var(--bookings-text-primary);font-weight:600;text-align:right}.bookings-page-modal-contact{background:var(--bookings-surface-muted);border-radius:16px;padding:1.5rem;border:1px solid var(--bookings-border);margin-bottom:2rem}.bookings-page-modal-contact h4{font-size:1.125rem;font-weight:600;color:var(--bookings-text-primary);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.bookings-page-modal-contact h4:before{content:"📧";font-size:1rem}.bookings-page-contact-info{background:var(--bookings-surface);border-radius:12px;padding:1rem;border:1px solid var(--bookings-border)}.bookings-page-contact-info p{color:var(--bookings-text-secondary);font-size:.875rem;margin:0;display:flex;align-items:center;gap:.5rem}.bookings-page-contact-info p:before{content:"✉️";font-size:.75rem}.bookings-page-modal-footer{padding:1.5rem 2rem 2rem;border-top:1px solid var(--bookings-border);display:flex;gap:1rem;justify-content:flex-end;background:var(--bookings-surface-muted);border-radius:0 0 20px 20px}.bookings-page-modal-btn{padding:.875rem 1.5rem;border-radius:12px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .3s ease;border:2px solid transparent;display:flex;align-items:center;gap:.5rem;min-width:120px;justify-content:center}.bookings-page-modal-btn.secondary{background:var(--bookings-surface);color:var(--bookings-text-secondary);border-color:var(--bookings-border)}.bookings-page-modal-btn.secondary:hover{background:var(--bookings-surface-muted);border-color:var(--bookings-border);color:var(--bookings-text-secondary);transform:translateY(-1px)}.bookings-page-modal-btn.primary{background:var(--bookings-accent);color:var(--bookings-header-text);border-color:var(--bookings-accent)}.bookings-page-modal-btn.primary:hover{background:var(--bookings-accent-strong);border-color:var(--bookings-accent-strong);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.bookings-page-modal-btn.danger{background:var(--bookings-danger-bg);color:var(--bookings-danger-text);border-color:var(--bookings-danger-border)}.bookings-page-modal-btn.danger:hover{background:color-mix(in srgb,var(--bookings-danger-bg) 75%,var(--bookings-danger-text) 25%);border-color:var(--bookings-danger-border);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.bookings-page-modal-details .bookings-page-detail-row .status-confirmed{background:var(--bookings-info-badge-bg);color:var(--bookings-info-badge-text);padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.bookings-page-modal-details .bookings-page-detail-row .status-completed{background:var(--bookings-info-soft-bg);color:var(--bookings-info-soft-text);padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.bookings-page-modal-details .bookings-page-detail-row .status-cancelled{background:var(--bookings-warning-soft-bg);color:var(--bookings-warning-soft-text);padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.bookings-page-modal-details .bookings-page-detail-row .status-pending{background:var(--bookings-warning-surface);color:var(--bookings-warning-text);padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}@media (max-width: 768px){.bookings-page-modal-overlay{padding:.5rem}.bookings-page-modal-content{max-height:95vh;border-radius:16px}.bookings-page-modal-header{padding:1.5rem 1.5rem 1rem;border-radius:16px 16px 0 0}.bookings-page-modal-header h3{font-size:1.25rem}.bookings-page-modal-close{top:1rem;right:1rem;width:32px;height:32px;font-size:1rem}.bookings-page-modal-body{padding:1.5rem}.bookings-page-modal-trainer-info{flex-direction:column;text-align:center;gap:1rem;padding:1.25rem}.bookings-page-modal-trainer-avatar{width:70px;height:70px}.bookings-page-modal-trainer-name{font-size:1.125rem}.bookings-page-modal-details,.bookings-page-modal-contact{padding:1.25rem}.bookings-page-detail-row{flex-direction:column;align-items:flex-start;gap:.25rem}.bookings-page-detail-row span:last-child{text-align:left}.bookings-page-modal-footer{padding:1rem 1.5rem 1.5rem;flex-direction:column}.bookings-page-modal-btn{width:100%;padding:1rem}}@media (max-width: 480px){.bookings-page-modal-content{border-radius:12px}.bookings-page-modal-header{padding:1.25rem 1.25rem .75rem;border-radius:12px 12px 0 0}.bookings-page-modal-body{padding:1.25rem}.bookings-page-modal-trainer-info{padding:1rem}.bookings-page-modal-trainer-avatar{width:60px;height:60px}.bookings-page-modal-details,.bookings-page-modal-contact{padding:1rem}.bookings-page-modal-footer{padding:.75rem 1.25rem 1.25rem}}@media (max-width: 768px){.bookings-page-container{padding:1rem}.bookings-page-header{padding:2rem 1.5rem}.bookings-page-header-content h1{font-size:2rem}.bookings-page-controls{padding:1rem}.bookings-page-filters-section{flex-direction:column}.bookings-page-filter-select{width:100%}.bookings-page-booking-card{padding:1.5rem}.bookings-page-booking-card-header{flex-direction:column;align-items:flex-start;gap:1rem}.bookings-page-booking-actions{flex-direction:column}.bookings-page-action-btn{width:100%}}@media (max-width: 480px){.bookings-page-header-content h1{font-size:1.75rem}.bookings-page-booking-card{padding:1rem}.bookings-page-trainer-info{flex-direction:column;text-align:center}.bookings-page-session-meta,.bookings-page-booking-datetime{flex-direction:column;gap:1rem}.bookings-page-booking-status-section{flex-direction:column;gap:1rem;text-align:center}}.bookings-page-loading-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:var(--bookings-surface-muted)!important;border-radius:16px;box-shadow:0 4px 20px #00000014;margin:2rem;color:var(--bookings-text-primary)}.bookings-page-loading-spinner{width:40px;height:40px;border:3px solid var(--bookings-border);border-top:3px solid var(--bookings-accent);border-radius:50%;animation:bookings-page-spin 1s linear infinite;margin-bottom:1rem;flex-shrink:0;display:flex;align-items:center;justify-content:center}@keyframes bookings-page-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bookings-page-loading-message p{color:var(--bookings-text-secondary);font-size:1.125rem;margin:1rem 0 0;font-weight:500;letter-spacing:.025em}.bookings-page-reschedule-modal{background:var(--bookings-surface);border-radius:16px;max-width:500px;width:100%;padding:2rem;box-shadow:0 20px 40px #00000026}.bookings-page-reschedule-info{background:var(--bookings-surface-muted);border-radius:12px;padding:1.5rem;margin-bottom:2rem;border:1px solid var(--bookings-border)}.bookings-page-reschedule-info h4{font-size:1.125rem;font-weight:600;color:var(--bookings-text-primary);margin:0 0 1rem}.bookings-page-current-session-details p{color:var(--bookings-text-secondary);font-size:.875rem;margin:.5rem 0;line-height:1.5}.bookings-page-current-session-details strong{color:var(--bookings-text-primary);font-weight:600}.bookings-page-reschedule-form h4{font-size:1.125rem;font-weight:600;color:var(--bookings-text-primary);margin:0 0 1.5rem}.bookings-page-form-group{margin-bottom:1.5rem}.bookings-page-form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--bookings-text-secondary);margin-bottom:.5rem}.bookings-page-form-input{width:100%;padding:.75rem 1rem;border:2px solid var(--bookings-border);border-radius:8px;font-size:.875rem;background:var(--bookings-surface);transition:all .3s ease}.bookings-page-form-input:focus{outline:none;border-color:var(--bookings-accent);box-shadow:0 0 0 3px #10b9811a}.bookings-page-form-input:invalid{border-color:var(--bookings-danger-text)}.bookings-page-loading-slots{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bookings-surface-muted);border:2px solid var(--bookings-border);border-radius:8px;color:var(--bookings-text-secondary);font-size:.875rem}.bookings-page-loading-spinner{width:16px;height:16px;border:2px solid var(--bookings-border);border-top:2px solid var(--bookings-accent);border-radius:50%;animation:bookings-page-spin 1s linear infinite}.bookings-page-no-slots{padding:.75rem 1rem;background:var(--bookings-danger-bg);border:2px solid var(--bookings-danger-border);border-radius:8px;color:var(--bookings-danger-text);font-size:.875rem;text-align:center}.bookings-page-cancel-confirmation-modal{max-width:500px}.bookings-page-cancel-warning{text-align:center;padding:1rem}.bookings-page-cancel-icon{font-size:3rem;margin-bottom:1rem}.bookings-page-cancel-warning h4{font-size:1.25rem;font-weight:600;color:var(--bookings-text-primary);margin:0 0 1rem}.bookings-page-cancel-warning p{color:var(--bookings-text-secondary);font-size:.875rem;line-height:1.6;margin:0}.bookings-page-success-modal{max-width:500px}.bookings-page-success-content{text-align:center;padding:1rem}.bookings-page-success-icon{font-size:3rem;margin-bottom:1rem}.bookings-page-success-content h4{font-size:1.25rem;font-weight:600;color:var(--bookings-text-primary);margin:0 0 1rem}.bookings-page-success-content p{color:var(--bookings-text-secondary);font-size:.875rem;line-height:1.6;margin:0}.bookings-page-reviewed-badge{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background-color:var(--bookings-info-badge-bg);color:var(--bookings-info-badge-text);border-radius:6px;font-size:.9rem;font-weight:500}.group-badge{background-color:#fff;color:#1d4ed8;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;margin-left:.5rem;text-transform:uppercase;letter-spacing:.025em;border:1px solid #dbeafe;box-shadow:none}[data-theme=dark] .group-badge{background:linear-gradient(130deg,#3b82f6bf,#0ea5e9d9);border:1px solid rgba(125,211,252,.8);color:#f8fafc;box-shadow:0 4px 12px #0f172a73}.package-badge{background-color:var(--bookings-accent);color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;margin-left:.5rem;text-transform:uppercase;letter-spacing:.025em}.package-session-price{color:var(--bookings-accent);font-weight:600;font-size:.875rem}.packages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:2rem;margin-top:2rem}.package-card{background:var(--bookings-surface);border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid var(--bookings-border);overflow:hidden;transition:all .3s ease;position:relative;display:flex;flex-direction:column;min-height:auto}.package-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.package-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--bookings-border)}.package-trainer-info{display:flex;align-items:center;gap:1rem}.package-trainer-avatar{width:60px;height:60px;border-radius:50%;object-fit:cover;border:3px solid var(--bookings-border)}.package-trainer-details{flex:1}.package-trainer-name{font-size:1.25rem;font-weight:700;color:var(--bookings-text-primary);margin:0 0 .25rem;line-height:1.3}.package-trainer-specialty{font-size:.875rem;color:var(--bookings-text-secondary);margin:0;font-weight:500}.package-status{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;text-transform:capitalize}.package-status-active{background-color:var(--bookings-info-badge-bg);color:var(--bookings-info-badge-text)}.package-status-completed{background-color:var(--bookings-info-soft-bg);color:var(--bookings-info-soft-text)}.package-status-cancelled,.package-status-expired{background-color:var(--bookings-warning-soft-bg);color:var(--bookings-danger-text)}.package-card-body{padding:1.5rem;min-height:0;display:flex;flex-direction:column}.bookings-page-packages-section{margin-top:3rem}.bookings-page-packages-section .packages-grid{margin-top:1.5rem}.package-info{display:flex;flex-direction:column;gap:1.5rem}.package-name{font-size:1.5rem;font-weight:700;color:var(--bookings-text-primary);margin:0;line-height:1.3}.package-description{font-size:1rem;color:var(--bookings-text-secondary);line-height:1.6;margin:0}.package-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1.5rem;background-color:var(--bookings-surface-muted);border-radius:12px;border:1px solid var(--bookings-border);flex:0 0 auto}.package-stat{text-align:center;min-height:60px;display:flex;flex-direction:column;justify-content:center}.package-stat-label{font-size:.875rem;color:var(--bookings-text-secondary);font-weight:500;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.025em}.package-stat-value{font-size:1.25rem;font-weight:700;color:var(--bookings-text-primary)}.package-details{display:flex;flex-direction:column;gap:.75rem}.package-detail{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--bookings-border)}.package-detail:last-child{border-bottom:none}.package-detail-label{font-size:.875rem;color:var(--bookings-text-secondary);font-weight:600;min-width:100px}.package-detail-value{font-size:.875rem;color:var(--bookings-text-primary);font-weight:500;text-align:right;flex:1}.package-card-footer{padding:1.5rem;border-top:1px solid var(--bookings-border);background-color:var(--bookings-surface-muted);margin-top:auto;flex-shrink:0}.package-view-btn{width:100%;background:linear-gradient(135deg,var(--bookings-accent) 0%,var(--bookings-accent-strong) 100%);color:#fff;border:none;padding:.875rem 1.5rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.package-view-btn:hover{background:linear-gradient(135deg,var(--bookings-accent-strong) 0%,#047857 100%);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.package-view-btn:active{transform:translateY(0)}@media (max-width: 768px){.packages-grid{grid-template-columns:1fr;gap:1.5rem;margin-top:1.5rem}.package-card-header{flex-direction:column;align-items:flex-start;gap:1rem}.package-next-session{flex-direction:column;align-items:flex-start;gap:.75rem}.package-next-session-icon{width:48px;height:48px}.package-stats{grid-template-columns:1fr;gap:1rem}.package-detail{flex-direction:column;align-items:flex-start;gap:.25rem}.package-detail-value{text-align:left}}.session-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease-out}.session-modal-content{background:var(--bookings-surface);border-radius:20px;box-shadow:0 25px 50px #00000040;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.session-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:2rem 2rem 1rem;border-bottom:1px solid var(--bookings-border);background:var(--bookings-primary-button-gradient);border-radius:12px 12px 0 0}.session-modal-title h3{font-size:1.5rem;font-weight:700;color:var(--bookings-header-text);margin:0 0 .5rem}.session-modal-title p{font-size:1rem;color:var(--bookings-header-subtext);margin:0;font-weight:500}.session-modal-close{background:#fff3;border:none;font-size:2rem;color:#fff;cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.session-modal-close:hover{background-color:#ffffff4d;color:#fff}.session-modal-body{flex:1;overflow-y:auto;padding:1.5rem 2rem}.session-modal-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background-color:var(--bookings-surface-muted);border-radius:12px;border:1px solid var(--bookings-border);gap:1.5rem}.session-modal-trainer{display:flex;align-items:center;gap:1rem}.session-modal-trainer-avatar{width:60px;height:60px;border-radius:50%;object-fit:cover;border:3px solid var(--bookings-border)}.session-modal-trainer-details h4{font-size:1.125rem;font-weight:700;color:var(--bookings-text-primary);margin:0 0 .25rem}.session-modal-trainer-details p{font-size:.875rem;color:var(--bookings-text-secondary);margin:0;font-weight:500;white-space:nowrap;overflow:visible}.session-modal-stats{display:flex;gap:1.5rem}.session-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.session-stat-label{font-size:.75rem;color:var(--bookings-text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.025em;margin-bottom:.25rem}.session-stat-value{font-size:1.25rem;font-weight:700;color:var(--bookings-text-primary)}.session-modal-schedule h4{font-size:1.25rem;font-weight:700;color:var(--bookings-text-primary);margin:0 0 1.5rem}.session-modal-list{display:flex;flex-direction:column;gap:1rem;max-height:400px;overflow-y:auto;padding-right:.5rem}.session-modal-list::-webkit-scrollbar{width:6px}.session-modal-list::-webkit-scrollbar-track{background:var(--bookings-surface-muted);border-radius:3px}.session-modal-list::-webkit-scrollbar-thumb{background:var(--bookings-scrollbar-thumb);border-radius:3px}.session-modal-list::-webkit-scrollbar-thumb:hover{background:var(--bookings-scrollbar-thumb-hover)}.session-modal-item{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;background:var(--bookings-surface);border-radius:12px;border:1px solid var(--bookings-border);transition:all .2s ease}.session-modal-item:hover{box-shadow:0 4px 12px #0000001a}.session-modal-item.completed{border-left:4px solid var(--bookings-accent);background-color:var(--bookings-info-badge-bg)}.session-modal-item.upcoming{border-left:4px solid var(--bookings-status-completed-bg);background-color:var(--bookings-info-soft-bg)}.session-modal-item-date{display:flex;flex-direction:column;min-width:140px}.session-modal-day{font-size:.875rem;font-weight:600;color:var(--bookings-text-secondary);text-transform:capitalize;margin-bottom:.25rem}.session-modal-date{font-size:.875rem;color:var(--bookings-text-secondary);font-weight:500}.session-modal-item-time{display:flex;flex-direction:column;align-items:center;min-width:120px}.session-modal-time-label{font-size:.75rem;color:var(--bookings-text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.025em;margin-bottom:.25rem}.session-modal-time{font-size:1rem;font-weight:600;color:var(--bookings-text-primary)}.session-modal-item-status{display:flex;align-items:center}.session-modal-status-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;text-transform:capitalize}.session-modal-status-badge.completed{background-color:var(--bookings-info-badge-bg);color:var(--bookings-info-badge-text)}.session-modal-status-badge.upcoming{background-color:var(--bookings-info-soft-bg);color:var(--bookings-info-soft-text)}.session-modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem 2rem;border-top:1px solid var(--bookings-border);background-color:var(--bookings-surface-muted);border-radius:0 0 20px 20px}.session-modal-btn{padding:.75rem 1.5rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;display:flex;align-items:center;gap:.5rem}.session-modal-btn.secondary{background-color:var(--bookings-border);color:var(--bookings-text-secondary)}.session-modal-btn.secondary:hover{background-color:var(--bookings-border)}.session-modal-btn.primary{background:linear-gradient(135deg,var(--bookings-accent) 0%,var(--bookings-accent-strong) 100%);color:#fff}.session-modal-btn.primary:hover{background:linear-gradient(135deg,var(--bookings-accent-strong) 0%,#047857 100%);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}@media (max-width: 768px){.session-modal-content{margin:1rem;max-height:95vh}.session-modal-header{padding:1.5rem 1.5rem 1rem}.session-modal-body{padding:1rem 1.5rem}.session-modal-info{flex-direction:column;align-items:flex-start;gap:1.5rem}.session-modal-stats{width:100%;justify-content:space-around}.session-modal-item{flex-direction:column;align-items:flex-start;gap:1rem}.session-modal-item-date,.session-modal-item-time,.session-modal-item-status{min-width:auto;width:100%}.session-modal-item-time{align-items:flex-start}.session-modal-item-status{justify-content:flex-start}.session-modal-footer{flex-direction:column;padding:1rem 1.5rem 1.5rem}.session-modal-btn{width:100%;justify-content:center}}.trainer-review-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.trainer-review-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.trainer-review-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.trainer-review-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#1f2937}.trainer-review-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;transition:color .2s}.trainer-review-modal-close:hover{color:#374151}.trainer-review-modal-content{padding:24px}.trainer-review-coach-info{margin-bottom:24px;text-align:center}.trainer-review-coach-info h3{margin:0 0 8px;font-size:1.25rem;font-weight:600;color:#1f2937}.review-prompt{margin:0;color:#6b7280;font-size:.875rem;line-height:1.5}.review-notice{margin-top:12px;padding:8px 12px;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;text-align:center}.review-notice span{color:#0369a1;font-size:.875rem;font-weight:500}.trainer-review-form{display:flex;flex-direction:column;gap:20px}.rating-section{display:flex;flex-direction:column;gap:8px}.rating-section label{font-weight:500;color:#374151;font-size:.875rem}.star-rating{display:flex;gap:4px;justify-content:center}.star-rating .star{background:none;border:none;font-size:24px;cursor:pointer;color:#d1d5db;transition:color .2s;padding:4px}.star-rating .star.filled,.star-rating .star:hover{color:#fbbf24}.rating-text{text-align:center;font-size:.875rem;color:#6b7280;margin-top:4px}.review-text-section label{font-weight:500;color:#374151;font-size:.875rem}.review-text-section textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:.875rem;line-height:1.5;resize:vertical;min-height:100px;transition:border-color .2s}.character-count{text-align:right;font-size:.75rem;color:#9ca3af}.review-error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:6px;font-size:.875rem}.trainer-review-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.review-cancel-btn{padding:10px 16px;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.review-cancel-btn:hover:not(:disabled){background-color:#e5e7eb;border-color:#9ca3af}.review-submit-btn{padding:10px 16px;background-color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.review-submit-btn:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.review-submit-btn:disabled{background-color:#9ca3af;border-color:#9ca3af;cursor:not-allowed}.review-cancel-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.trainer-review-modal{margin:20px;max-width:none}.trainer-review-modal-header{padding:20px 20px 0}.trainer-review-modal-content{padding:20px}.trainer-review-modal-actions{flex-direction:column}.review-cancel-btn,.review-submit-btn{width:100%}}.find-trainers-page{padding:2rem;max-width:1400px;margin:0 auto;background:linear-gradient(135deg,var(--tf-background) 0%,rgba(148,163,184,.08) 100%);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--tf-text-primary)}.find-trainers-header{text-align:center;margin-bottom:4rem;background:var(--tf-surface);border-radius:24px;padding:5rem 3rem;position:relative;overflow:hidden;box-shadow:0 8px 32px #0f172a0f;border:1px solid var(--tf-border)}.find-trainers-header:before{display:none}.find-trainers-header:after{display:none}.find-trainers-header .banner-decoration{display:none}.find-trainers-header h1{font-size:3.5rem;font-weight:800;color:var(--tf-text-primary);margin-bottom:1.5rem;letter-spacing:-.02em;position:relative;z-index:1;line-height:1.1}.find-trainers-header p{font-size:1.25rem;color:var(--tf-text-secondary);max-width:600px;margin:0 auto;line-height:1.5;font-weight:500;position:relative;z-index:1}.banner-icons{display:flex;justify-content:center;gap:2rem;margin-top:2rem;position:relative;z-index:1}.banner-icon{display:flex;align-items:center;gap:.5rem;color:var(--tf-text-secondary);font-size:1rem;font-weight:500;padding:.75rem 1.5rem;background:#fffc;border-radius:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(226,232,240,.8);transition:all .3s ease}.banner-icon:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.banner-icon svg{font-size:1.25rem}.find-trainers-filters{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:3rem;padding:2.5rem;background:var(--tf-surface);border-radius:20px;box-shadow:0 8px 25px #0f172a14;border:1px solid rgba(226,232,240,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-container{position:relative;width:100%}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--tf-text-secondary);font-size:1.1rem}.search-input{width:100%;padding:1rem 1rem 1rem 3rem;border:2px solid var(--tf-border);border-radius:12px;font-size:1rem;font-weight:500;transition:all .3s ease;background:var(--tf-surface)}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f626;background:var(--tf-surface)}.search-input::placeholder{color:var(--tf-text-secondary);font-weight:400}.unified-search-container{position:relative;width:100%}.unified-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--tf-text-secondary);font-size:1.1rem;z-index:10;pointer-events:none}.unified-search-wrapper{width:100%}.unified-search-wrapper .location-search-input-container{position:relative}.unified-search-wrapper .location-search-input{width:100%;padding:1rem 1rem 1rem 3rem;border:2px solid var(--tf-border);border-radius:12px;font-size:1rem;font-weight:500;transition:all .3s ease;background:var(--tf-surface)}.unified-search-wrapper .location-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f626;background:var(--tf-surface)}.unified-search-wrapper .location-search-input::placeholder{color:var(--tf-text-secondary);font-weight:400}.filter-container{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.location-search-container{flex:1;min-width:250px}.location-search-input{width:100%;padding:.75rem 1rem;border:2px solid var(--tf-border);border-radius:12px;font-size:1rem;transition:all .2s ease;background:var(--tf-surface)}.location-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.radius-controls{display:flex;flex-direction:column;gap:.5rem;min-width:200px;padding:1rem;background:var(--tf-surface-muted);border-radius:12px;border:1px solid var(--tf-border)}.radius-label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--tf-text-primary);font-size:.9rem}.radius-icon{color:#3b82f6;font-size:.9rem}.radius-slider{width:100%;height:6px;border-radius:3px;background:#94a3b859;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.radius-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#3b82f6;cursor:pointer;box-shadow:0 2px 4px #0f172a33}.radius-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#3b82f6;cursor:pointer;border:none;box-shadow:0 2px 4px #0f172a33}.radius-values{display:flex;justify-content:space-between;font-size:.8rem;color:var(--tf-text-secondary);margin-top:.25rem}.filter-select{flex:1;min-width:150px;padding:1rem;border:2px solid var(--tf-border);border-radius:12px;font-size:1rem;font-weight:500;background:var(--tf-surface);cursor:pointer;transition:all .3s ease;color:var(--tf-text-primary)}.filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.filter-select option{font-weight:500;padding:.5rem}.results-count{margin-bottom:2rem;padding:0 .5rem}.results-count p{color:var(--tf-text-secondary);font-size:1rem}.location-info{color:#3b82f6;font-weight:600}.distance-info{color:var(--tf-text-secondary);font-size:.9rem;font-weight:500}.trainers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:2rem}.trainer-card{background:var(--tf-surface);border-radius:24px;box-shadow:0 8px 32px #0f172a14;overflow:hidden;transition:all .3s ease;border:1px solid rgba(226,232,240,.7);position:relative;font-size:.95rem;display:flex;flex-direction:column}.trainer-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);transform:scaleX(0);transition:transform .4s ease}.trainer-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px #0f172a26;border-color:#94a3b899}.trainer-card:hover:before{transform:scaleX(1)}.trainer-profile-image{position:relative;height:200px;background:linear-gradient(135deg,#1f2937,#111827);display:flex;align-items:center;justify-content:center;overflow:hidden}.trainer-avatar-large{width:120px;height:120px;border-radius:50%;object-fit:cover;object-position:center;border:4px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0003;transition:all .3s ease;z-index:1}.trainer-avatar-large:hover{transform:scale(1.05);border-color:#ffffff80;box-shadow:0 12px 40px #0000004d}.trainer-avatar-placeholder-large{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#9ca3af,#6b7280);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;border:4px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #9ca3af4d;transition:all .3s ease;z-index:1}.trainer-avatar-placeholder-large:hover{transform:scale(1.05);border-color:#ffffff80;box-shadow:0 12px 40px #9ca3af66}.trainer-info-section{padding:2rem;flex:1;display:flex;flex-direction:column;gap:1rem}.favorite-btn{position:absolute;top:1rem;right:1rem;background:#fffffff2;border:2px solid rgba(255,255,255,.3);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:#9ca3af;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #00000026;z-index:2}.favorite-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px #0003;border-color:#ffffff80;background:#fff}.favorite-btn.favorited{border-color:#fecaca;background:#fff;box-shadow:0 4px 16px #ef444440}.favorite-btn.favorited:hover{border-color:#fca5a5;transform:scale(1.1);box-shadow:0 6px 20px #ef444459}.favorite-btn svg{font-size:1.1rem;transition:all .3s ease;color:#9ca3af!important}.favorite-btn:hover svg{transform:scale(1.1)}.favorite-btn.favorited svg{color:#ef4444!important}.favorite-btn.favorited:hover svg{color:#dc2626!important}.trainer-name{font-size:1.4rem;font-weight:700;color:var(--tf-text-primary);margin:0;line-height:1.2;letter-spacing:-.02em;text-align:center}.trainer-rating{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin:.5rem 0}.stars-container{display:flex;gap:.25rem}.star{font-size:1rem;transition:all .2s ease}.rating-text{color:var(--tf-text-secondary);font-size:.9rem;font-weight:500}.trainer-sport{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--tf-text-primary);font-size:1rem;font-weight:600;padding:.5rem 1rem;background:var(--tf-surface-muted);border-radius:20px;border:1px solid var(--tf-border)}.sport-icon{font-size:.9rem;color:var(--tf-text-secondary)}.trainer-location{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--tf-text-secondary);font-size:.9rem;font-weight:500}.location-icon{font-size:.8rem;color:var(--tf-text-secondary)}.trainer-bio{text-align:left;margin:1rem 0}.trainer-bio p{color:var(--tf-text-secondary);line-height:1.6;margin:0;font-size:.95rem;font-weight:400;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.bio-paragraph{margin-bottom:1rem}.bio-paragraph:last-child{margin-bottom:0}.bio-paragraph h4{color:var(--tf-text-primary);font-size:.9rem;font-weight:600;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.bio-paragraph p{color:var(--tf-text-secondary);line-height:1.5;margin:0;font-size:.9rem;font-weight:400;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.trainer-specializations{padding:1rem;border-bottom:1px solid #f1f5f9;background:var(--tf-surface)}.trainer-specializations h4{font-size:.85rem;font-weight:700;color:var(--tf-text-primary);margin:0 0 .3rem;text-transform:uppercase;letter-spacing:.05em}.specialization-tags{display:flex;flex-wrap:wrap;gap:.5rem}.specialization-tag{display:flex;align-items:center;gap:.25rem;padding:.2rem .7rem;background:linear-gradient(135deg,#1f2937,#0f172a);color:#fff;border-radius:12px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 2px 4px #37415133;transition:all .2s ease}.specialization-tag:hover{transform:translateY(-1px);box-shadow:0 4px 8px #3741514d}.spec-icon{font-size:.625rem}.trainer-services{padding:1rem;border-bottom:1px solid #f1f5f9;background:var(--tf-surface)}.trainer-services h4{font-size:.85rem;font-weight:700;color:var(--tf-text-primary);margin:0 0 .3rem;text-transform:uppercase;letter-spacing:.05em}.services-list{display:flex;flex-direction:column;gap:.3rem}.service-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #f1f5f9;font-size:.9rem}.service-item:last-child{border-bottom:none}.service-title{font-size:.95rem;color:var(--tf-text-primary);font-weight:600;flex:1}.service-price{font-size:.95rem;color:#059669;font-weight:700;background:#f0fdf4;padding:.25rem .75rem;border-radius:8px;border:1px solid #dcfce7}.more-services{font-size:.75rem;color:#6b7280;font-style:italic;text-align:center;padding:.5rem 0}.no-services{font-size:.875rem;color:var(--tf-text-secondary);font-style:italic;margin:0}.book-now-btn{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #10b9814d;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:auto;position:relative;overflow:hidden}.book-now-btn span,.book-now-btn .book-arrow{color:#fff}.book-now-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.book-now-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #10b98166;background:linear-gradient(135deg,#059669,#047857)}.book-now-btn:hover:before{left:100%}.book-now-btn:active{transform:translateY(0)}.book-arrow{font-size:.9rem;transition:transform .3s ease}.book-now-btn:hover .book-arrow{transform:translate(4px)}.find-trainers-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:500px;gap:2rem;background:var(--tf-surface);border-radius:20px;box-shadow:0 8px 25px #0f172a14;padding:3rem}.loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem;flex-shrink:0;display:flex;align-items:center;justify-content:center}.no-results{text-align:center;padding:4rem 2rem;color:var(--tf-text-secondary);background:var(--tf-surface);border-radius:20px;box-shadow:0 8px 25px #0f172a14;margin:2rem 0}.no-results h3{font-size:2rem;margin-bottom:1rem;color:var(--tf-text-primary);font-weight:700;letter-spacing:-.025em}.trainer-gallery{margin:1.2rem 0 1.5rem}.trainer-gallery h4{font-size:1.05rem;font-weight:700;margin-bottom:.5rem;color:#2563eb}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:.5rem;margin-bottom:.5rem}.gallery-thumb{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;box-shadow:0 2px 8px #1e293b14;background:var(--tf-surface-muted);transition:transform .15s,box-shadow .15s;cursor:pointer}.gallery-thumb:hover{transform:scale(1.04);box-shadow:0 4px 16px #1e293b21}.view-gallery-btn{background:linear-gradient(90deg,#2563eb,#3b82f6);color:#fff;border:none;border-radius:8px;padding:.5rem 1.2rem;font-size:.95rem;font-weight:600;cursor:pointer;margin-top:.3rem;transition:background .18s,transform .12s,box-shadow .18s;box-shadow:0 2px 8px #3b82f61a}.view-gallery-btn:hover{background:linear-gradient(90deg,#1d4ed8,#2563eb);transform:translateY(-2px) scale(1.04)}body[data-theme=dark] .find-trainers-page{background:linear-gradient(135deg,#0b1120,#111c34);color:var(--tf-text-primary)}body[data-theme=dark] .find-trainers-header{background:var(--tf-surface);border-color:#94a3b840;box-shadow:0 16px 40px #080f1e99}body[data-theme=dark] .find-trainers-header h1{color:var(--tf-text-primary)}body[data-theme=dark] .find-trainers-header p{color:var(--tf-text-secondary)}body[data-theme=dark] .banner-icon{background:#0f172abf;border-color:#94a3b840;color:var(--tf-text-secondary);box-shadow:0 6px 18px #080f1e99}body[data-theme=dark] .banner-icon:hover{background:#0f172ae6}body[data-theme=dark] .find-trainers-filters{background:var(--tf-surface);border-color:#94a3b833;box-shadow:0 16px 40px #080f1e99}body[data-theme=dark] .search-input,body[data-theme=dark] .location-search-input,body[data-theme=dark] .filter-select{background:var(--tf-surface-muted);border-color:#94a3b84d;color:var(--tf-text-primary);box-shadow:inset 0 1px #94a3b81f}body[data-theme=dark] .search-input::placeholder,body[data-theme=dark] .location-search-input::placeholder{color:#cbd5e1b3}body[data-theme=dark] .search-container .search-icon,body[data-theme=dark] .filter-select,body[data-theme=dark] .radius-label,body[data-theme=dark] .radius-values{color:var(--tf-text-secondary)}body[data-theme=dark] .radius-controls{background:#111827bf;border-color:#94a3b840;box-shadow:inset 0 1px #94a3b81f}body[data-theme=dark] .radius-slider{background:#94a3b840}body[data-theme=dark] .radius-slider::-webkit-slider-thumb,body[data-theme=dark] .radius-slider::-moz-range-thumb{background:#38bdf8;box-shadow:0 2px 6px #080f1e73}body[data-theme=dark] .results-count p{color:var(--tf-text-secondary)}body[data-theme=dark] .location-info{color:#60a5fa}body[data-theme=dark] .trainers-grid .trainer-card{background:#0f172ae6;border-color:#94a3b82e;box-shadow:0 20px 60px #080f1ea6}body[data-theme=dark] .trainer-card:hover{border-color:#60a5fa59;box-shadow:0 28px 72px #080f1ebf}body[data-theme=dark] .trainer-card:before{background:linear-gradient(135deg,#60a5fa,#1d4ed8)}body[data-theme=dark] .trainer-profile-image{background:linear-gradient(135deg,#0f172a,#111b2f)}body[data-theme=dark] .trainer-avatar-placeholder-large{background:linear-gradient(135deg,#475569,#1f2937);box-shadow:0 12px 36px #080f1eb3}body[data-theme=dark] .favorite-btn{background:#0f172ad9;border-color:#94a3b840;box-shadow:0 8px 24px #080f1ea6;color:var(--tf-text-secondary)}body[data-theme=dark] .favorite-btn svg{color:#e2e8f0cc!important}body[data-theme=dark] .favorite-btn.favorited{border-color:#f87171a6;background:#ef444438;box-shadow:0 12px 36px #ef444473}body[data-theme=dark] .favorite-btn.favorited svg{color:#f43f5e!important}body[data-theme=dark] .trainer-name,body[data-theme=dark] .trainer-specializations h4,body[data-theme=dark] .trainer-services h4,body[data-theme=dark] .bio-paragraph h4{color:var(--tf-text-primary)}body[data-theme=dark] .rating-text,body[data-theme=dark] .trainer-location,body[data-theme=dark] .trainer-bio p,body[data-theme=dark] .bio-paragraph p,body[data-theme=dark] .service-title,body[data-theme=dark] .results-count p{color:var(--tf-text-secondary)}body[data-theme=dark] .trainer-sport{background:#6366f11f;border-color:#6366f159;color:var(--tf-text-primary)}body[data-theme=dark] .trainer-location .location-icon{color:#94a3b8cc}body[data-theme=dark] .trainer-specializations,body[data-theme=dark] .trainer-services{background:#0f172ae6;border-bottom-color:#94a3b826}body[data-theme=dark] .specialization-tag{background:linear-gradient(135deg,#60a5fa66,#3b82f6d9);box-shadow:0 6px 16px #080f1eb3}body[data-theme=dark] .service-item{border-bottom-color:#94a3b81f}body[data-theme=dark] .service-price{background:#22c55e2e;border-color:#22c55e4d;color:#6ee7b7}body[data-theme=dark] .no-services{color:#94a3b8b3}body[data-theme=dark] .book-now-btn{background:linear-gradient(135deg,#0ea5e9,#0284c7);box-shadow:0 12px 36px #0ea5e973}body[data-theme=dark] .book-now-btn:hover{background:linear-gradient(135deg,#0284c7,#0369a1);box-shadow:0 16px 44px #0ea5e98c}body[data-theme=dark] .book-now-btn:before{background:linear-gradient(90deg,transparent,rgba(226,232,240,.15),transparent)}body[data-theme=dark] .find-trainers-loading,body[data-theme=dark] .no-results{background:#0f172aeb;box-shadow:0 18px 48px #080f1ebf;color:var(--tf-text-secondary)}body[data-theme=dark] .no-results h3{color:var(--tf-text-primary)}body[data-theme=dark] .trainer-gallery h4{color:#93c5fd}body[data-theme=dark] .gallery-thumb{background:#111827d9;box-shadow:0 8px 24px #080f1e99}body[data-theme=dark] .view-gallery-btn{background:linear-gradient(90deg,#1d4ed8,#2563eb);box-shadow:0 10px 28px #1d4ed873}body[data-theme=dark] .view-gallery-btn:hover{background:linear-gradient(90deg,#1e40af,#1d4ed8)}@media (max-width: 768px){.find-trainers-page{padding:1rem}.find-trainers-header{padding:3.5rem 2rem;margin-bottom:3rem}.find-trainers-header h1{font-size:2.75rem}.find-trainers-header p{font-size:1.1rem}.banner-icons{flex-direction:column;gap:1rem;margin-top:1.5rem}.banner-icon{justify-content:center}.find-trainers-filters{padding:1.5rem}.filter-container{flex-direction:column}.filter-select{min-width:auto}.trainers-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.trainer-info-section{padding:1.5rem}.trainer-profile-image{height:160px}.trainer-avatar-large,.trainer-avatar-placeholder-large{width:100px;height:100px}}@media (max-width: 480px){.find-trainers-header{padding:2.5rem 1.5rem}.find-trainers-header h1{font-size:2.25rem}.find-trainers-header p{font-size:1rem}.banner-icons{gap:.75rem}.banner-icon{padding:.5rem 1rem;font-size:.9rem}.trainer-info-section{padding:1rem}.trainer-profile-image{height:140px}.trainer-avatar-large,.trainer-avatar-placeholder-large{width:80px;height:80px}.trainer-avatar-placeholder-large{font-size:2rem}.trainer-name{font-size:1.2rem}.favorite-btn{width:36px;height:36px}}@media (max-width: 1200px){.trainers-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 700px){.trainers-grid{grid-template-columns:1fr}.trainer-card{font-size:.95rem}}.mini-calendar{background:var(--tf-surface);border-radius:12px;box-shadow:0 6px 24px #0f172a1f;padding:16px;width:280px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.mini-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.mini-calendar-nav-btn{background:none;border:none;color:var(--tf-text-secondary);cursor:pointer;padding:8px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.mini-calendar-nav-btn:hover{background:var(--tf-surface-muted);color:var(--tf-text-primary)}.mini-calendar-nav-btn:active{transform:scale(.95)}.mini-calendar-title{font-size:16px;font-weight:600;color:var(--tf-text-primary);margin:0;text-align:center;flex:1}.mini-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:12px}.mini-calendar-weekday{text-align:center;font-size:12px;font-weight:500;color:var(--tf-text-secondary);padding:8px 4px;text-transform:uppercase;letter-spacing:.5px}.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:16px}.mini-calendar-day{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:8px;transition:all .2s ease;font-size:14px;font-weight:500;color:var(--tf-text-secondary)}.mini-calendar-day:hover:not(.empty){background:var(--tf-surface-muted);transform:scale(1.05)}.mini-calendar-day.empty{cursor:default}.mini-calendar-day.today{background:#3b82f62e;color:#1d4ed8;font-weight:600}.mini-calendar-day.selected{background:#3b82f6;color:#fff;font-weight:600}.mini-calendar-day.available{color:#059669;font-weight:600}.mini-calendar-day.available:hover{background:#10b9811f}.mini-calendar-day.selected.available{background:#3b82f6;color:#fff}.day-number{position:relative;z-index:2}.availability-dot{position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:6px;height:6px;background:#10b981;border-radius:50%;z-index:1}.mini-calendar-legend{display:flex;justify-content:center;gap:16px;padding-top:12px;border-top:1px solid var(--tf-border)}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--tf-text-secondary)}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.available{background:#10b981}.legend-dot.selected{background:#3b82f6}body[data-theme=dark] .mini-calendar{background:#0f172aeb;box-shadow:0 20px 50px #050c1ad9}body[data-theme=dark] .mini-calendar-nav-btn:hover{background:#253354cc;color:var(--tf-text-primary)}body[data-theme=dark] .mini-calendar-weekday{color:#cbd5e1bf}body[data-theme=dark] .mini-calendar-day{color:#e2e8f0d9}body[data-theme=dark] .mini-calendar-day:hover:not(.empty){background:#253354d9}body[data-theme=dark] .mini-calendar-day.today{background:#60a5fa38;color:#bfdbfe}body[data-theme=dark] .mini-calendar-day.available{color:#4ade80}body[data-theme=dark] .mini-calendar-day.available:hover{background:#22c55e2e}body[data-theme=dark] .mini-calendar-legend{border-top-color:#94a3b833}body[data-theme=dark] .legend-item,body[data-theme=dark] .mini-calendar-nav-btn{color:#cbd5e1bf}body[data-theme=dark] .mini-calendar-nav-btn:active{transform:scale(.95)}@media (max-width: 480px){.mini-calendar{width:100%;max-width:320px;padding:12px}.mini-calendar-title{font-size:14px}.mini-calendar-day{font-size:12px}.mini-calendar-weekday{font-size:11px;padding:6px 2px}}.trainer-detail-page{padding:2rem;max-width:1400px;margin:0 auto;background:linear-gradient(135deg,var(--tf-background) 0%,var(--tf-surface-muted) 100%);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--tf-text-primary);transition:background .35s ease,color .35s ease}.back-btn{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--tf-text-secondary);font-size:1rem;cursor:pointer;padding:.5rem 0;margin-bottom:2rem;transition:color .2s ease}.back-btn:hover{color:#3b82f6}.trainer-header{display:flex;gap:2rem;margin-bottom:3rem;padding:2.5rem;background:var(--tf-surface);border-radius:16px;box-shadow:0 10px 25px #0f172a1f;border:1px solid var(--tf-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.trainer-avatar-section{flex-shrink:0}.trainer-avatar-large{width:120px;height:120px;border-radius:50%;object-fit:cover;object-position:center}.trainer-avatar-placeholder-large{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:600}.trainer-info-section{flex:1}.trainer-name-large{font-size:3rem;font-weight:800;background:linear-gradient(135deg,#1e293b,#334155);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 1rem;line-height:1.2;letter-spacing:-.025em}.trainer-rating-large{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;transition:all .2s ease}.trainer-rating-large:hover{transform:scale(1.02)}.trainer-rating-large[style*="cursor: pointer"]:hover{background:#fbbf241a;border-radius:8px;padding:4px 8px;margin:-4px -8px 1rem}.review-card{background:var(--tf-surface);border:1px solid var(--tf-border);border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0f172a1f}.reviewer-info{display:flex;align-items:center;gap:.75rem}.avatar-image{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600}.reviewer-details{display:flex;flex-direction:column;gap:.25rem}.reviewer-name{font-size:1rem;font-weight:600;color:var(--tf-text-primary);margin:0}.review-rating{display:flex;gap:.125rem}.review-rating .star{font-size:.875rem;color:#94a3b880}.review-date{font-size:.875rem;color:var(--tf-text-secondary);font-weight:500}.review-content{margin-top:.75rem}.review-content p{color:var(--tf-text-secondary);line-height:1.6;margin:0}.loading-reviews{text-align:center;padding:2rem;color:var(--tf-text-secondary)}.no-reviews{text-align:center;padding:2rem;color:var(--tf-text-secondary);background:var(--tf-surface-muted);border-radius:8px;border:1px dashed var(--tf-border)}.star-icon{color:#fbbf24;font-size:1.25rem}.rating-value{font-size:1.25rem;font-weight:600;color:var(--tf-text-primary)}.review-count{color:var(--tf-text-secondary);font-size:1rem}.review-hint{font-size:.75rem;color:var(--tf-text-secondary);margin-left:8px}.trainer-location-large{display:flex;align-items:center;gap:.5rem;color:var(--tf-text-secondary);font-size:1.1rem;margin-bottom:.5rem}.location-icon{font-size:1rem}.trainer-experience{display:flex;align-items:center;gap:.5rem;color:var(--tf-text-secondary);font-size:1rem}.experience-icon{font-size:1rem}.trainer-nav{display:flex;background:var(--tf-surface);border-radius:16px;padding:.75rem;margin-bottom:2rem;box-shadow:0 8px 20px #0f172a14;gap:.75rem;border:1px solid var(--tf-border)}.trainer-nav-tab{flex:1;padding:1rem 1.5rem;background:none;border:none;border-radius:8px;font-size:1rem;font-weight:500;color:var(--tf-text-secondary);cursor:pointer;transition:all .2s ease}.trainer-nav-tab:hover{background:var(--tf-surface-muted);color:var(--tf-text-primary)}.trainer-nav-tab.active{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 2px 4px #3b82f633}.trainer-content{display:block}.trainer-main-content{display:flex;flex-direction:column;gap:2rem}.trainer-section{background:var(--tf-surface);border-radius:16px;padding:2.5rem;box-shadow:0 8px 20px #0f172a14;border:1px solid var(--tf-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.trainer-section h2{font-size:2rem;font-weight:700;color:var(--tf-text-primary);margin:0 0 2rem;border-bottom:3px solid var(--tf-border);padding-bottom:1rem;letter-spacing:-.025em;text-align:center}.about-content p{color:var(--tf-text-secondary);line-height:1.8;font-size:1.1rem;margin:0 0 1.5rem;font-weight:400}.about-content p:last-child{margin-bottom:0}.bio-paragraph-full{margin-bottom:2rem;padding:1.5rem;background:var(--tf-surface-muted);border-radius:12px;border-left:4px solid var(--tf-border)}.bio-paragraph-full:last-child{margin-bottom:0}.bio-paragraph-full h3{color:var(--tf-text-primary);font-size:1.1rem;font-weight:600;margin:0 0 1rem;text-transform:uppercase;letter-spacing:.05em;text-align:center}.bio-paragraph-full p{color:var(--tf-text-secondary);line-height:1.7;margin:0;font-size:1rem;font-weight:400}.specializations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.specialization-card{display:flex;align-items:center;gap:.75rem;padding:1rem;background:linear-gradient(135deg,#60a5fa1f,#3b82f61f);border:1px solid rgba(96,165,250,.35);border-radius:8px;color:#60a5fa;font-weight:500}.spec-icon{font-size:1rem;color:#0284c7}.certifications-list{display:flex;flex-direction:column;gap:.75rem}.certification-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:linear-gradient(135deg,#22c55e1a,#16a34a1a);border:1px solid rgba(34,197,94,.3);border-radius:8px;color:#34d399}.cert-icon{font-size:1rem;color:#16a34a}.services-container{display:flex;flex-direction:column;gap:2.5rem}.service-category{display:flex;flex-direction:column;gap:1.5rem}.service-category-title{font-size:1.5rem;font-weight:700;color:var(--tf-text-primary);margin:0;padding:1rem 1.5rem;text-align:center;letter-spacing:-.025em}.services-list{display:flex;flex-direction:column;gap:1.5rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;align-items:start}.no-services-container{text-align:center;padding:3rem 2rem;color:var(--tf-text-secondary)}.no-services-icon{font-size:3rem;margin-bottom:1rem}.no-services-container h3{font-size:1.5rem;margin-bottom:.5rem;color:var(--tf-text-primary)}.no-services-container p{font-size:1rem;line-height:1.6}.availability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.availability-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:12px;transition:all .2s ease}.availability-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f626}.availability-day{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#0369a1}.calendar-icon{font-size:1rem;color:#0284c7}.day-name{font-size:.875rem}.availability-time{font-size:.875rem;color:#0c4a6e;font-weight:500}.time-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem;margin-top:.5rem}.time-slot{padding:.75rem .5rem;background:var(--tf-surface);border:2px solid var(--tf-border);border-radius:8px;font-size:.875rem;font-weight:500;color:var(--tf-text-secondary);cursor:pointer;transition:all .2s ease;text-align:center;width:100%;min-width:0;white-space:nowrap;box-sizing:border-box}.time-slot:hover{border-color:#3b82f699;background:linear-gradient(135deg,#3b82f61a,#3b82f626);color:var(--tf-text-primary)}.time-slot.selected{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f64d}.loading-slots{display:flex;align-items:center;gap:.5rem;padding:1rem;color:var(--tf-text-secondary);font-size:.875rem}.loading-spinner-small{width:20px;height:20px;border:2px solid #f3f4f6;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.loading-calendar{display:flex;align-items:center;justify-content:center;padding:40px 20px;background:var(--tf-surface-muted);border-radius:8px;border:1px solid var(--tf-border);color:var(--tf-text-secondary);font-size:14px}.no-slots{padding:1rem;text-align:center;color:var(--tf-text-secondary);font-size:.875rem;background:var(--tf-surface-muted);border-radius:8px;border:1px solid var(--tf-border)}.select-date-prompt{color:var(--tf-text-secondary);font-size:.875rem;font-style:italic;margin:0;padding:.5rem 0}.service-card{border:1px solid var(--tf-border);border-radius:16px;padding:2rem;transition:all .3s ease;background:var(--tf-surface);position:relative;overflow:hidden;box-shadow:0 2px 8px #0f172a0f;display:flex;flex-direction:column;height:100%}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(135deg,#10b981,#059669);transform:scaleX(0);transition:transform .3s ease}.service-card:hover{border-color:#94a3b880;box-shadow:0 8px 25px #0f172a1f;transform:translateY(-2px)}.service-card:hover:before{transform:scaleX(1)}.service-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.service-title{font-size:1.4rem;font-weight:600;color:var(--tf-text-primary);margin:0;line-height:1.3;letter-spacing:-.02em}.service-price{font-size:1.5rem;font-weight:700;color:#059669;background:#f0fdf4;padding:.4rem .8rem;border-radius:8px;border:1px solid #dcfce7}.service-details{margin-bottom:1.25rem}.service-duration{display:inline-flex;align-items:center;gap:.5rem;color:var(--tf-text-secondary);font-size:.875rem;font-weight:500;margin-bottom:1rem;padding:.5rem .75rem;background:linear-gradient(135deg,var(--tf-surface-muted),rgba(148,163,184,.08));border:1px solid var(--tf-border);border-radius:8px;box-shadow:0 1px 3px #0f172a14;transition:all .2s ease}.service-duration:hover{background:linear-gradient(135deg,#94a3b829,#94a3b838);border-color:#94a3b873;box-shadow:0 2px 6px #0f172a1f}.duration-icon{font-size:.875rem;color:var(--tf-text-secondary)}.service-capacity{display:inline-flex;align-items:center;gap:.5rem;color:var(--tf-text-primary);font-size:.875rem;font-weight:500;margin-bottom:1rem;padding:.5rem .75rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:8px;box-shadow:0 1px 3px #0000000d;transition:all .2s ease}.service-capacity:hover{background:linear-gradient(135deg,#fde68a,#fcd34d);border-color:#d97706;box-shadow:0 2px 6px #00000014}.capacity-icon{font-size:.875rem;color:#d97706}.service-description{color:var(--tf-text-secondary);line-height:1.7;margin:0 0 1.5rem;font-size:.95rem;font-weight:400;padding:1rem;background:var(--tf-surface-muted);border-radius:8px;border-left:3px solid var(--tf-border)}.service-details-list{margin:1rem 0;padding-left:0;background:var(--tf-surface-muted);border-radius:8px;padding:1rem}.service-details-list li{color:var(--tf-text-secondary);line-height:1.6;margin-bottom:.75rem;font-size:.95rem;font-weight:400;position:relative;padding-left:1.5rem}.service-details-list li:before{content:"✓";position:absolute;left:0;top:0;color:#10b981;font-weight:700;font-size:.9rem;line-height:1.4}.service-details-list li:last-child{margin-bottom:0}.book-service-btn{width:100%;padding:.875rem 1.25rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #10b98133;letter-spacing:.02em}.book-service-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.book-service-btn:active{transform:translateY(0)}.no-services{color:#9ca3af;font-style:italic;text-align:center;margin:0}.contact-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--tf-surface-muted);border-radius:8px;color:var(--tf-text-secondary)}.contact-icon{font-size:1rem;color:var(--tf-text-secondary)}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.contact-card{display:flex;align-items:center;gap:1.25rem;padding:1.75rem;background:var(--tf-surface);border:2px solid var(--tf-border);border-radius:20px;transition:all .3s ease;box-shadow:0 2px 8px #0f172a0f}.contact-card:hover{border-color:#3b82f6;box-shadow:0 8px 24px #3b82f626;transform:translateY(-2px)}.contact-icon-large{display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-radius:16px;font-size:1.5rem;flex-shrink:0}.contact-details h3{font-size:1rem;font-weight:600;color:var(--tf-text-primary);margin:0 0 .25rem}.contact-details p{font-size:.875rem;color:var(--tf-text-secondary);margin:0}.contact-details p a{color:inherit;transition:color .2s ease}.contact-details a{text-decoration:none}.contact-details p a:hover{color:#3b82f6}.social-media-card:hover .contact-icon-large{transform:scale(1.05);transition:all .3s ease}.instagram-card .contact-icon-large{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}.instagram-card:hover{border-color:#bc1888;box-shadow:0 8px 24px #bc188833}.instagram-card:hover .contact-icon-large{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}.tiktok-card .contact-icon-large{background:#000}.tiktok-card:hover{border-color:#000;box-shadow:0 8px 24px #00000040}.tiktok-card:hover .contact-icon-large,.x-card .contact-icon-large{background:#000}.x-card:hover{border-color:#000;box-shadow:0 8px 24px #00000040}.x-card:hover .contact-icon-large{background:#000}.youtube-card .contact-icon-large{background:red}.youtube-card:hover{border-color:red;box-shadow:0 8px 24px #ff000040}.youtube-card:hover .contact-icon-large{background:red}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1rem}.photo-card{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #0f172a1f,0 0 0 1px #94a3b840;transition:all .4s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,var(--tf-surface) 0%,var(--tf-surface-muted) 100%);aspect-ratio:4/3;cursor:pointer}.photo-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 32px #00000026,0 0 0 1px #0000001a}.photo-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 50%);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:1}.photo-card:hover:before{opacity:1}.trainer-photo{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.photo-card:hover .trainer-photo{transform:scale(1.05)}.photo-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent 0%,#0000004d 30%,#000c);padding:2rem 1.5rem 1.5rem;transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.photo-card:hover .photo-overlay{transform:translateY(0)}.photo-caption{color:#fff;font-size:.95rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.7);line-height:1.4;letter-spacing:-.01em}.no-photos-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:var(--tf-surface-muted);border-radius:16px;border:2px dashed var(--tf-border);margin-top:1rem}.no-photos-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}.no-photos-container h3{color:var(--tf-text-primary);font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.no-photos-container p{color:var(--tf-text-secondary);font-size:1rem;margin:0;line-height:1.5}.photo-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000;padding:0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:modalFadeIn .4s cubic-bezier(.4,0,.2,1)}.photo-modal{background:#fff;border-radius:8px;max-width:70vw;max-height:70vh;overflow:hidden;box-shadow:0 20px 40px #0000004d;position:relative;animation:modalSlideIn .4s cubic-bezier(.4,0,.2,1);border:1px solid #e5e7eb;padding:.5rem}.photo-modal-header{position:absolute;top:.75rem;right:.75rem;z-index:10}.close-photo-btn{background:#000c;color:#fff;border:none;border-radius:50%;width:32px;height:32px;font-size:1rem;font-weight:300;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 12px #0000004d}.close-photo-btn:hover{background:#000000e6;transform:scale(1.1);box-shadow:0 6px 20px #0006}.photo-modal-content{display:flex;flex-direction:column;max-height:70vh;position:relative}.photo-modal-image{width:100%;height:auto;max-height:70vh;object-fit:contain;display:block;border-radius:0;transition:transform .3s ease;padding:0}.photo-modal-caption{padding:.5rem;background:#f8fafc;border-top:1px solid #e5e7eb;position:relative}.photo-modal-caption:before{display:none}.photo-modal-caption p{margin:0;color:var(--tf-text-secondary);font-size:.9rem;line-height:1.4;text-align:center;font-weight:500;letter-spacing:-.01em;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.85) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 768px){.photo-modal-overlay{padding:.5rem}.photo-modal{border-radius:8px;max-width:85vw;max-height:85vh}.photo-modal-header{top:.75rem;right:.75rem}.close-photo-btn{width:32px;height:32px;font-size:1rem}.photo-modal-caption{padding:.75rem 1rem}.photo-modal-caption p{font-size:.85rem;line-height:1.4}}.trainer-detail-loading,.trainer-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:500px;gap:2rem;text-align:center;background:#fff;border-radius:20px;box-shadow:0 8px 25px #00000014;padding:3rem;margin:2rem 0}.loading-spinner{width:50px;height:50px;border:4px solid #f1f5f9;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;box-shadow:0 4px 12px #3b82f633}.trainer-detail-error h2{color:var(--tf-text-primary);margin-bottom:1rem;font-size:2rem;font-weight:700;letter-spacing:-.025em}.trainer-detail-error p{color:var(--tf-text-secondary);margin-bottom:1.5rem;font-size:1.1rem;line-height:1.6}.booking-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.booking-modal{background:#fff;border-radius:20px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.booking-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--tf-border)}.booking-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--tf-text-primary)}.close-modal-btn{background:var(--tf-surface-muted);border:none;font-size:1.5rem;color:var(--tf-text-secondary);cursor:pointer;padding:.25rem;border-radius:4px;transition:color .2s ease,background .2s ease}.close-modal-btn:hover{color:var(--tf-text-primary);background:#60a5fa2e}.booking-modal-content{padding:1.5rem}.selected-service-info{background:var(--tf-surface-muted);padding:1rem;border-radius:8px;margin-bottom:1.5rem}.selected-service-info h3{margin:0 0 .5rem;color:var(--tf-text-primary);font-size:1.25rem}.service-summary{display:flex;gap:1rem;align-items:center}.service-summary .service-price{font-size:1.25rem;font-weight:600;color:#059669}.service-summary .service-duration{display:flex;align-items:center;gap:.25rem;color:var(--tf-text-secondary);font-size:.875rem}.service-description-modal{margin-top:1.5rem;padding:1rem;background:var(--tf-surface-muted);border-radius:8px;border-left:3px solid var(--tf-border)}.service-description-modal h4{font-size:1rem;font-weight:600;color:var(--tf-text-primary);margin:0 0 .75rem}.service-description-modal p{color:var(--tf-text-secondary);line-height:1.6;margin:0;font-size:.95rem}.service-details-modal{margin-top:1rem;padding:1rem;background:var(--tf-surface-muted);border-radius:8px}.service-details-modal h4{font-size:1rem;font-weight:600;color:var(--tf-text-primary);margin:0 0 .75rem}.service-details-modal ul{margin:0;padding-left:1.5rem}.service-details-modal li{color:var(--tf-text-secondary);line-height:1.6;margin-bottom:.5rem;font-size:.95rem}.service-details-modal li:last-child{margin-bottom:0}.service-location{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;background:#f0f9ff;border-radius:8px;border-left:3px solid #0ea5e9}.location-icon{color:#0ea5e9;font-size:1rem;display:flex;align-items:center}.location-text{color:#0369a1;font-weight:500;font-size:.95rem}.booking-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:var(--tf-text-primary);font-size:.875rem}.form-group input,.form-group textarea{padding:.75rem;border:2px solid var(--tf-border);border-radius:8px;font-size:1rem;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;min-height:80px}.form-group .mini-calendar{margin-top:.5rem;width:100%;max-width:100%}.form-group .mini-calendar .mini-calendar-grid{gap:2px}.form-group .mini-calendar .mini-calendar-day{font-size:12px;min-height:32px}.form-group .mini-calendar .mini-calendar-weekday{font-size:10px;padding:4px 2px}.form-group .mini-calendar .mini-calendar-title{font-size:14px}.form-group .mini-calendar .mini-calendar-header{margin-bottom:12px}.form-group .mini-calendar .mini-calendar-legend{padding-top:8px;margin-top:8px}.booking-modal-footer{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid var(--tf-border)}.cancel-btn{flex:1;padding:.75rem 1.5rem;background:var(--tf-surface);color:var(--tf-text-secondary);border:2px solid var(--tf-border);border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{border-color:#94a3b899;background:var(--tf-surface-muted)}.confirm-booking-btn{flex:1;padding:.75rem 1.5rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.confirm-booking-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.confirm-booking-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.package-card{border:1px solid #dbeafe;background:linear-gradient(135deg,#fff,#f8fafc);min-height:600px;max-height:600px}.package-card:before{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.package-badge{display:inline-block;margin-left:.5rem;padding:.25rem .75rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-size:.75rem;font-weight:600;border-radius:12px;text-transform:uppercase;letter-spacing:.05em}.package-description{margin:1rem 0;padding:1rem;background:var(--tf-surface-muted);border-radius:8px}.package-description p{color:var(--tf-text-secondary);line-height:1.6;margin:0;font-size:.95rem}.package-details-grid{display:flex;flex-direction:column;gap:.75rem;margin:1.5rem 0}.package-detail-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;color:#0369a1;font-size:.9rem;font-weight:500;transition:all .2s ease}.package-detail-item:hover{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border-color:#7dd3fc;box-shadow:0 2px 6px #3b82f61a}.package-icon{font-size:1rem;color:#0284c7;flex-shrink:0}.package-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.package-btn:hover{background:linear-gradient(135deg,#2563eb,#1e40af)}.package-category-header{margin-bottom:2rem;text-align:center}.package-category-subtitle{color:var(--tf-text-secondary);font-size:1rem;margin-top:.5rem}.package-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;gap:1rem}.package-title-section{display:flex;align-items:center;gap:.75rem;flex:1}.package-type-badge{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:.25rem .6rem;border-radius:4px;font-size:.6rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 1px 3px #3b82f633;white-space:nowrap}.package-price-highlight{display:flex;flex-direction:column;align-items:flex-end;padding:.75rem 1rem;background:linear-gradient(135deg,var(--tf-surface) 0%,var(--tf-surface-muted) 100%);border-radius:8px;border:1px solid var(--tf-border);flex-shrink:0;min-width:120px}.package-price-amount{font-size:1.25rem;font-weight:700;color:var(--tf-text-primary);line-height:1;margin-bottom:.125rem}.package-price-label{font-size:.65rem;color:var(--tf-text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.package-description{color:var(--tf-text-secondary);line-height:1.6;margin:1.25rem 0;padding:1rem;background:var(--tf-surface-muted);border-radius:8px;font-size:.95rem}.package-features{display:grid;gap:.75rem;margin:1.5rem 0;flex:1;overflow-y:auto;max-height:300px;padding-right:8px}.package-features::-webkit-scrollbar{width:6px}.package-features::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.package-features::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.package-features::-webkit-scrollbar-thumb:hover{background:#94a3b8}.package-feature-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--tf-surface);border:1px solid var(--tf-border);border-radius:10px;transition:all .3s ease}.package-feature-item:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a;transform:translate(4px)}.feature-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:8px;color:#2563eb;font-size:1.1rem;flex-shrink:0}.feature-details{display:flex;flex-direction:column;gap:.25rem;flex:1}.feature-label{font-size:.75rem;color:var(--tf-text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.feature-value{font-size:.95rem;color:var(--tf-text-primary);font-weight:600}.package-spots-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1rem;border-radius:10px;font-weight:600;font-size:.9rem;margin-top:.5rem;color:var(--tf-text-primary)}.spots-available{background:linear-gradient(135deg,#60a5fa26,#3b82f62e);border:2px solid rgba(96,165,250,.4)}.spots-low{background:linear-gradient(135deg,#60a5fa33,#2563eb38);border:2px solid rgba(96,165,250,.5)}.spots-full{background:linear-gradient(135deg,var(--tf-surface-muted),rgba(148,163,184,.2));border:2px solid rgba(148,163,184,.4);color:var(--tf-text-secondary)}.book-package-btn{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .3s ease;box-shadow:0 4px 16px #10b9814d;margin-top:auto;flex-shrink:0}.book-package-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 6px 24px #10b98166}.book-package-btn span,.book-package-btn .btn-arrow{color:#fff}body[data-theme=dark] .book-package-btn span,body[data-theme=dark] .book-package-btn .btn-arrow{color:#f8fafc}.book-package-btn:active:not(:disabled){transform:translateY(0)}.book-package-btn:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;opacity:.6;box-shadow:none}.btn-arrow{font-size:1.2rem;transition:transform .3s ease}.book-package-btn:hover .btn-arrow{transform:translate(4px)}.package-booking-modal{background:#fff;border-radius:20px;max-width:650px;width:95%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px #00000040;animation:modalSlideIn .3s ease-out}.package-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:2rem 2rem 1.5rem;border-bottom:2px solid #f1f5f9}.modal-title-section{display:flex;gap:1rem;align-items:flex-start}.modal-title-section h2{font-size:1.5rem;color:var(--tf-text-primary);margin:0 0 .25rem;font-weight:700}.modal-subtitle{color:var(--tf-text-secondary);font-size:.9rem;margin:0;font-weight:400}.close-modal-btn{background:var(--tf-surface-muted);border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--tf-text-secondary);cursor:pointer;transition:all .2s ease}.close-modal-btn:hover{background:#60a5fa2e;color:var(--tf-text-primary);transform:rotate(90deg)}.package-summary-card{background:linear-gradient(135deg,var(--tf-surface) 0%,var(--tf-surface-muted) 100%);border-radius:16px;padding:2rem;margin-bottom:2rem;border:2px solid var(--tf-border)}.summary-header{margin-bottom:1.5rem}.summary-title-group{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.summary-title-group h3{font-size:1.5rem;color:var(--tf-text-primary);margin:0;font-weight:700}.package-badge-modal{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:.4rem .9rem;border-radius:8px;font-size:.7rem;font-weight:700;letter-spacing:.08em;box-shadow:0 2px 8px #3b82f64d;white-space:nowrap}.summary-price-group{display:flex;flex-direction:column;align-items:flex-end;padding:1.25rem 1.5rem;background:linear-gradient(135deg,var(--tf-surface) 0%,var(--tf-surface-muted) 100%);border-radius:12px;border:2px solid var(--tf-border)}.price-main{font-size:2.25rem;font-weight:800;color:var(--tf-text-primary);line-height:1;margin-bottom:.5rem}.price-per-session{font-size:.85rem;color:var(--tf-text-secondary);font-weight:600}.summary-description{color:var(--tf-text-secondary);line-height:1.6;margin:1.25rem 0 0;font-size:.95rem}.modal-spots-alert{margin-top:1.5rem;padding:1.25rem 1.5rem;border-radius:12px;text-align:center;color:var(--tf-text-primary)}.modal-spots-alert strong{display:block;font-size:1.1rem;margin-bottom:.5rem}.modal-spots-alert p{margin:0;font-size:.9rem;color:var(--tf-text-secondary)}.alert-available{background:linear-gradient(135deg,#60a5fa33,#3b82f638);border:2px solid rgba(96,165,250,.45)}.alert-available strong{color:#1e3a8a}.alert-low{background:linear-gradient(135deg,#60a5fa40,#2563eb45);border:2px solid rgba(96,165,250,.55)}.alert-low strong{color:#1e3a8a}.alert-full{background:linear-gradient(135deg,var(--tf-surface-muted),rgba(148,163,184,.25));border:2px solid rgba(148,163,184,.4);color:var(--tf-text-secondary)}.alert-full strong{color:var(--tf-text-primary)}.package-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.5rem}.detail-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--tf-surface);border:2px solid var(--tf-border);border-radius:12px;transition:all .3s ease}.detail-card:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f626}.detail-icon-wrapper{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:12px;flex-shrink:0}.detail-icon{color:#2563eb;font-size:1.25rem}.detail-text{display:flex;flex-direction:column;gap:.35rem}.detail-label{font-size:.75rem;color:var(--tf-text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.detail-value{font-size:.95rem;color:var(--tf-text-primary);font-weight:700}.next-steps-section{background:var(--tf-surface);border-radius:16px;padding:2rem;margin-bottom:1.5rem;border:2px solid var(--tf-border)}.next-steps-title{font-size:1.1rem;color:var(--tf-text-primary);margin:0 0 1.5rem;font-weight:700}.steps-list{display:flex;flex-direction:column;gap:1.25rem}.step-item{display:flex;gap:1.25rem;align-items:flex-start}.step-number{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:50%;font-weight:700;flex-shrink:0;box-shadow:0 2px 8px #3b82f64d}.step-content{flex:1}.step-content strong{display:block;color:var(--tf-text-primary);font-size:1rem;margin-bottom:.35rem}.step-content p{color:var(--tf-text-secondary);font-size:.9rem;line-height:1.5;margin:0}.important-note{padding:1.25rem;background:linear-gradient(135deg,var(--tf-surface) 0%,var(--tf-surface-muted) 100%);border-radius:12px;border:2px solid var(--tf-border)}.important-note p{margin:0;color:var(--tf-text-secondary);font-size:.9rem;line-height:1.6}body[data-theme=dark] .trainer-detail-page{background:linear-gradient(135deg,#050b1b,#0b1429)}body[data-theme=dark] .trainer-header,body[data-theme=dark] .trainer-section,body[data-theme=dark] .contact-card,body[data-theme=dark] .review-card,body[data-theme=dark] .service-card,body[data-theme=dark] .photo-modal,body[data-theme=dark] .booking-modal,body[data-theme=dark] .package-booking-modal,body[data-theme=dark] .bookings-page-modal-content,body[data-theme=dark] .next-steps-section,body[data-theme=dark] .package-summary-card{background:#0f172aeb;border-color:#94a3b840;box-shadow:0 18px 48px #050c1acc}body[data-theme=dark] .trainer-nav{background:#0f172ae6;border-color:#94a3b840;box-shadow:0 12px 32px #050c1ab3}body[data-theme=dark] .trainer-nav-tab{color:#cbd5e1bf}body[data-theme=dark] .trainer-name-large{background:linear-gradient(135deg,#c4dafe,#f8fafc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}body[data-theme=dark] .trainer-nav-tab:hover{background:#1e293be6;color:var(--tf-text-primary)}body[data-theme=dark] .trainer-nav-tab.active{box-shadow:0 4px 14px #3b82f673}body[data-theme=dark] .bio-paragraph-full,body[data-theme=dark] .service-description,body[data-theme=dark] .service-details-list,body[data-theme=dark] .no-reviews,body[data-theme=dark] .no-photos-container,body[data-theme=dark] .no-services-container,body[data-theme=dark] .selected-service-info,body[data-theme=dark] .service-description-modal,body[data-theme=dark] .service-details-modal,body[data-theme=dark] .important-note{background:#172034d9;border-color:#94a3b840;color:var(--tf-text-secondary)}body[data-theme=dark] .service-duration{background:#253354a6;border-color:#60a5fa59;color:var(--tf-text-primary);box-shadow:0 2px 8px #050c1a99}body[data-theme=dark] .service-duration:hover{background:#3b82f638;border-color:#3b82f673}body[data-theme=dark] .service-details-list li:before{color:#34d399}body[data-theme=dark] .contact-card:hover,body[data-theme=dark] .service-card:hover{border-color:#60a5fa73;box-shadow:0 16px 40px #050c1ad9}body[data-theme=dark] .contact-card{background:#121b2df2;border-color:#60a5fa47;box-shadow:0 12px 36px #050c1ab3}body[data-theme=dark] .contact-details h3{color:#e2e8f0f2}body[data-theme=dark] .contact-details p{color:#cbd5e1d9}body[data-theme=dark] .photo-card{background:linear-gradient(135deg,#0f172ae6,#0b1322e6);box-shadow:0 12px 32px #050c1ac7,0 0 0 1px #3b82f640}body[data-theme=dark] .photo-overlay{background:linear-gradient(transparent 0%,#0f172aa6 35%,#0f172aeb)}body[data-theme=dark] .photo-caption{color:#e2e8f0eb}body[data-theme=dark] .rating-value{color:#facc15}body[data-theme=dark] .review-card{box-shadow:0 12px 32px #050c1acc}body[data-theme=dark] .review-date,body[data-theme=dark] .review-count,body[data-theme=dark] .review-content p,body[data-theme=dark] .contact-details p,body[data-theme=dark] .no-reviews p,body[data-theme=dark] .no-services-container p,body[data-theme=dark] .no-photos-container p,body[data-theme=dark] .trainer-location-large,body[data-theme=dark] .trainer-experience{color:#cbd5e1bf}body[data-theme=dark] .trainer-section h2{color:#e2e8f0f5;border-bottom-color:#60a5fa4d}body[data-theme=dark] .photo-modal-overlay{background:#030712f5}body[data-theme=dark] .photo-modal-caption{background:#0f172ad9;border-top-color:#94a3b840}body[data-theme=dark] .photo-modal-caption p{color:#e2e8f0d9}body[data-theme=dark] .booking-modal,body[data-theme=dark] .package-booking-modal{border-color:#94a3b840;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}body[data-theme=dark] .booking-modal-header,body[data-theme=dark] .booking-modal-footer,body[data-theme=dark] .package-modal-header,body[data-theme=dark] .package-modal-footer{border-color:#94a3b833}body[data-theme=dark] .form-group input,body[data-theme=dark] .form-group textarea{background:#0f172ae6;border-color:#94a3b840;color:var(--tf-text-primary)}body[data-theme=dark] .form-group label{color:var(--tf-text-primary)}body[data-theme=dark] .time-slot{background:#0f172ae6;border-color:#94a3b840;color:var(--tf-text-secondary)}body[data-theme=dark] .time-slot:hover{border-color:#60a5fa73;background:#2563eb2e;color:var(--tf-text-primary)}body[data-theme=dark] .time-slot.selected{box-shadow:0 4px 14px #2563eb8c}body[data-theme=dark] .no-slots,body[data-theme=dark] .loading-slots,body[data-theme=dark] .select-date-prompt,body[data-theme=dark] .loading-calendar{background:#0f172ad9;border-color:#94a3b840;color:#cbd5e1b3}body[data-theme=dark] .cancel-btn{background:#0f172ab3;border-color:#94a3b84d;color:#cbd5e1cc}body[data-theme=dark] .cancel-btn:hover{background:#1e293be6}body[data-theme=dark] .modal-cancel-btn{background:#0f172abf;border-color:#94a3b84d;color:#cbd5e1cc}body[data-theme=dark] .modal-cancel-btn:hover{background:#1e293bd9}body[data-theme=dark] .package-features::-webkit-scrollbar-track{background:#0f172acc}body[data-theme=dark] .package-features::-webkit-scrollbar-thumb{background:#94a3b859}body[data-theme=dark] .package-feature-item,body[data-theme=dark] .detail-card{background:#0f172ad9;border-color:#94a3b840}body[data-theme=dark] .detail-label{color:#cbd5e1bf}body[data-theme=dark] .detail-value{color:#e0f2fe}.package-modal-footer{display:flex;gap:1rem;padding:1.5rem 2rem 2rem;border-top:2px solid #f1f5f9}.modal-cancel-btn{flex:1;padding:1rem 1.5rem;background:var(--tf-surface);border:2px solid var(--tf-border);border-radius:12px;font-size:1rem;font-weight:600;color:var(--tf-text-secondary);cursor:pointer;transition:all .2s ease}.modal-cancel-btn:hover{background:var(--tf-surface-muted);border-color:#94a3b899;color:var(--tf-text-primary)}.modal-confirm-btn{flex:2;padding:1rem 1.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .3s ease;box-shadow:0 4px 16px #10b9814d}.modal-confirm-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 6px 24px #10b98166}.modal-confirm-btn:active{transform:translateY(0)}.participant-pill{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid #bfdbfe;border-radius:999px;cursor:pointer;transition:all .2s ease;background:#fff;color:#0f172a;font-weight:600}@media (max-width: 1024px){.services-grid,.contact-grid{grid-template-columns:1fr}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width: 768px){.trainer-detail-page{padding:1rem}.trainer-header{flex-direction:column;text-align:center;gap:1.5rem;padding:1.5rem}.trainer-name-large{font-size:2rem}.trainer-avatar-large,.trainer-avatar-placeholder-large{width:100px;height:100px}.trainer-avatar-placeholder-large{font-size:2.5rem}.trainer-nav{flex-direction:column;gap:.25rem}.trainer-nav-tab{padding:.75rem 1rem}.trainer-section{padding:1.5rem}.specializations-grid,.services-grid,.contact-grid{grid-template-columns:1fr}.photos-grid{grid-template-columns:1fr;gap:1rem}.booking-modal{margin:1rem}.time-slots{grid-template-columns:repeat(3,1fr)}.booking-modal-footer{flex-direction:column}}@media (max-width: 480px){.trainer-header,.trainer-section{padding:1rem}.service-header{flex-direction:column;align-items:flex-start;gap:.5rem}.service-price{font-size:1.25rem}.time-slots{grid-template-columns:repeat(3,1fr)}.time-slot{min-width:0;overflow:hidden;text-overflow:ellipsis}}.success-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease-out}.success-modal-content{background:#fff;border-radius:24px;max-width:500px;width:100%;padding:3rem 2.5rem;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s cubic-bezier(.16,1,.3,1);border:1px solid rgba(16,185,129,.2);text-align:center;position:relative}.success-modal-icon-wrapper{margin-bottom:1.5rem;display:flex;justify-content:center}.success-modal-icon{font-size:4rem;color:#10b981;animation:scaleIn .5s cubic-bezier(.16,1,.3,1)}.success-modal-title{font-size:1.75rem;font-weight:700;color:#1e293b;margin:0 0 1rem;line-height:1.3}.success-modal-message{font-size:1.125rem;color:#64748b;margin:0 0 2rem;line-height:1.6}.success-modal-actions{display:flex;justify-content:center;gap:1rem}.success-modal-button{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;padding:1rem 2.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #10b9814d}.success-modal-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #10b98166;background:linear-gradient(135deg,#059669,#047857)}.success-modal-button:active{transform:translateY(0)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}[data-theme=dark] .success-modal-content{background:#0f172af2;border-color:#10b9814d;box-shadow:0 20px 60px #0009}[data-theme=dark] .success-modal-title{color:#f1f5f9}[data-theme=dark] .success-modal-message{color:#cbd5e1}[data-theme=dark] .success-modal-overlay{background:#000000bf}.error-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease-out}.error-modal-content{background:#fff;border-radius:24px;max-width:500px;width:100%;padding:3rem 2.5rem;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s cubic-bezier(.16,1,.3,1);border:1px solid rgba(239,68,68,.2);text-align:center;position:relative}.error-modal-icon-wrapper{margin-bottom:1.5rem;display:flex;justify-content:center}.error-modal-icon{font-size:4rem;color:#ef4444;animation:scaleIn .5s cubic-bezier(.16,1,.3,1)}.error-modal-title{font-size:1.75rem;font-weight:700;color:#1e293b;margin:0 0 1rem;line-height:1.3}.error-modal-message{font-size:1.125rem;color:#64748b;margin:0 0 2rem;line-height:1.6}.error-modal-actions{display:flex;justify-content:center;gap:1rem}.error-modal-button{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:12px;padding:1rem 2.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #ef44444d}.error-modal-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ef444466;background:linear-gradient(135deg,#dc2626,#b91c1c)}.error-modal-button:active{transform:translateY(0)}[data-theme=dark] .error-modal-content{background:#0f172af2;border-color:#ef44444d;box-shadow:0 20px 60px #0009}[data-theme=dark] .error-modal-title{color:#f1f5f9}[data-theme=dark] .error-modal-message{color:#cbd5e1}[data-theme=dark] .error-modal-overlay{background:#000000bf}.profile-review-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.profile-review-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.profile-review-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e5e7eb;margin-bottom:20px}.profile-review-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#1f2937}.profile-review-modal-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.profile-review-modal-close:hover{background-color:#f3f4f6;color:#374151}.profile-review-modal-close:disabled{opacity:.5;cursor:not-allowed}.profile-review-modal-content{padding:0 24px 24px}.profile-review-coach-info{margin-bottom:24px;padding:16px;background-color:#f8fafc;border-radius:8px;border-left:4px solid #3b82f6}.profile-review-coach-info h3{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:#1f2937}.profile-review-coach-info p{margin:0;font-size:.9rem;color:#6b7280}.profile-review-form{display:flex;flex-direction:column;gap:20px}.star-rating .star{background:none;border:none;font-size:1.8rem;color:#d1d5db;cursor:pointer;transition:all .2s;padding:4px;border-radius:4px}.star-rating .star:hover{color:#fbbf24;transform:scale(1.1)}.star-rating .star.filled{color:#fbbf24}.star-rating .star:disabled{cursor:not-allowed;opacity:.6}.review-text-section textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;font-family:inherit;resize:vertical;min-height:100px;transition:border-color .2s}.character-count{font-size:.8rem;color:#6b7280;text-align:right}.profile-review-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.profile-review-cancel-btn{padding:10px 20px;border:1px solid #d1d5db;background-color:#fff;color:#374151;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.profile-review-cancel-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.profile-review-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.profile-review-submit-btn{padding:10px 20px;border:none;background-color:#3b82f6;color:#fff;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.profile-review-submit-btn:hover{background-color:#2563eb}.profile-review-submit-btn:disabled{background-color:#9ca3af;cursor:not-allowed}@media (max-width: 640px){.profile-review-modal{margin:20px;max-width:calc(100% - 40px)}.profile-review-modal-header{padding:20px 20px 0}.profile-review-modal-content{padding:0 20px 20px}.profile-review-modal-actions{flex-direction:column}.profile-review-cancel-btn,.profile-review-submit-btn{width:100%}}.existing-review-display{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.existing-review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.existing-review-info h3{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:#1f2937}.existing-review-rating{display:flex;align-items:center;gap:8px}.existing-review-rating .star{color:#d1d5db;font-size:16px;transition:color .2s ease}.existing-review-rating .star.filled{color:#fbbf24}.rating-value{font-size:.9rem;color:#6b7280;font-weight:500}.edit-review-btn{display:flex;align-items:center;gap:6px;background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.edit-review-btn:hover{background:#2563eb;transform:translateY(-1px)}.edit-review-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.existing-review-content{margin-bottom:16px}.existing-review-content p{margin:0;font-style:italic;color:#374151;line-height:1.6}.existing-review-date{font-size:.85rem;color:#9ca3af}.existing-review-edit{background:#fff;border:2px solid #3b82f6;border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 4px 6px #0000001a}.edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.edit-header h3{margin:0;font-size:1.2rem;font-weight:600;color:#1f2937}.cancel-edit-btn{background:none;border:none;color:#6b7280;font-size:1.2rem;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.cancel-edit-btn:hover{background-color:#f3f4f6;color:#374151}.cancel-edit-btn:disabled{opacity:.5;cursor:not-allowed}.edit-review-form{display:flex;flex-direction:column;gap:20px}.rating-section{display:flex;flex-direction:column;gap:12px}.rating-section label{font-weight:600;color:#374151;font-size:.95rem}.required{color:#dc2626}.star-rating{display:flex;gap:8px;align-items:center}.star{background:none;border:none;color:#d1d5db;font-size:24px;cursor:pointer;transition:color .2s ease;padding:4px}.star:hover,.star.filled{color:#fbbf24}.star:disabled{cursor:not-allowed;opacity:.6}.rating-text{font-size:.9rem;color:#6b7280;font-weight:500}.review-text-section{display:flex;flex-direction:column;gap:8px}.review-text-section label{font-weight:600;color:#374151;font-size:.95rem}.review-text-section textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:.95rem;line-height:1.5;resize:vertical;transition:border-color .2s ease}.review-text-section textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.review-text-section textarea:disabled{background-color:#f9fafb;cursor:not-allowed}.character-count{font-size:.8rem;color:#9ca3af;text-align:right}.review-error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:8px;font-size:.9rem}.edit-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}.delete-review-btn{background:#dc2626;color:#fff;border:none;padding:10px 16px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.delete-review-btn:hover{background:#b91c1c}.delete-review-btn:disabled{opacity:.6;cursor:not-allowed}.edit-buttons{display:flex;gap:12px}.cancel-btn{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:10px 20px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background:#e5e7eb}.cancel-btn:disabled{opacity:.6;cursor:not-allowed}.update-btn{background:#10b981;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.update-btn:hover{background:#059669}.update-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.existing-review-display,.existing-review-edit{padding:16px}.existing-review-header{flex-direction:column;gap:12px;align-items:flex-start}.edit-actions{flex-direction:column;gap:12px}.edit-buttons{width:100%;justify-content:space-between}.delete-review-btn{width:100%}}.trainer-profile-container{min-height:100vh;background:linear-gradient(180deg,#fff,#f8fafc);position:relative;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.profile-header{position:relative;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:1.5rem 3rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #e2e8f0}.profile-actions{display:flex;gap:1rem;align-items:center}.share-profile-btn,.copy-link-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:2px solid #667eea;background:#fff;color:#667eea;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem;box-shadow:0 2px 4px #0000001a}.share-profile-btn:hover,.copy-link-btn:hover{background:#667eea;color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #667eea4d}.share-profile-btn:active,.copy-link-btn:active{transform:translateY(0)}.back-btn{display:flex;align-items:center;gap:.5rem;background:#f8fafc;border:1px solid #e2e8f0;color:#64748b;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.back-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#374151}.favorite-btn{background:#fff;border:2px solid #e2e8f0;color:#ef4444;padding:.75rem;border-radius:50%;cursor:pointer;font-size:1.2rem;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;justify-content:center;width:48px;height:48px}.favorite-btn:hover{background:#fef2f2;border-color:#fca5a5;transform:scale(1.05);box-shadow:0 4px 12px #ef444433}.favorite-btn:active{transform:scale(1.02);box-shadow:0 2px 8px #ef444426}.favorite-btn svg{transition:all .3s ease}.favorite-btn:hover svg{transform:scale(1.1);color:#dc2626}.favorite-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.favorite-btn:disabled:hover{background:#fff;border-color:#e2e8f0;transform:none;box-shadow:none}.favorite-btn:disabled:hover svg{transform:none;color:#ef4444}.favorite-btn .loading-spinner{width:16px;height:16px;border:2px solid #e2e8f0;border-top:2px solid #ef4444;border-radius:50%;animation:spin 1s linear infinite}.favorite-btn.favorited{background:#fef2f2;border-color:#fca5a5;color:#ef4444}.favorite-btn.favorited:hover{background:#fee2e2;border-color:#f87171;color:#dc2626;box-shadow:0 4px 12px #ef444433}.favorite-btn.favorited svg{color:#ef4444}.favorite-btn.favorited:hover svg{color:#dc2626}.hero-section{position:relative;padding:4rem 3rem 6rem;text-align:center;color:#fff;overflow:hidden;min-height:60vh;display:flex;align-items:center;justify-content:center}.hero-background{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#10b981,#059669);z-index:-1}.hero-content{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:3rem;position:relative;z-index:1;width:100%}.trainer-avatar{position:relative;margin-bottom:2rem;display:flex;justify-content:center;align-items:center}.trainer-avatar img{width:200px;height:200px;min-width:200px;min-height:200px;border-radius:50%;border:6px solid rgba(255,255,255,.4);object-fit:cover;object-position:center;aspect-ratio:1 / 1;box-shadow:0 20px 50px #0000004d;transition:all .3s ease;background:#f8fafc}.trainer-avatar img:hover{transform:scale(1.05);box-shadow:0 25px 60px #0006;border-color:#fff9}.trainer-avatar-initials{width:200px;height:200px;min-width:200px;min-height:200px;border-radius:50%;border:6px solid rgba(255,255,255,.4);background:linear-gradient(135deg,#10b981,#059669);display:flex;align-items:center;justify-content:center;font-size:3.5rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);box-shadow:0 20px 50px #0000004d;transition:all .3s ease;letter-spacing:.1em;aspect-ratio:1 / 1}.trainer-avatar-initials:hover{transform:scale(1.05);box-shadow:0 25px 60px #0006;border-color:#fff9;background:linear-gradient(135deg,#059669,#047857)}.trainer-info{text-align:center}.trainer-name{font-size:2rem;font-weight:800;margin:0 0 1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.1);line-height:1.2;letter-spacing:-.025em}.trainer-specialty,.trainer-location{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.75rem;font-size:1.2rem;opacity:.95}.trainer-rating{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:.75rem;opacity:.95}.trainer-rating .rating-stars{display:flex;gap:2px}.trainer-rating .rating-stars .star{font-size:1.2rem;color:#fff9;transition:color .2s ease}.trainer-rating .rating-stars .star.filled{color:#fbbf24}.trainer-rating .rating-details{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.trainer-rating .rating-value{font-size:1.2rem;font-weight:700;color:#fff;line-height:1}.trainer-rating .rating-count{font-size:.9rem;color:#fffc;font-weight:500}.trainer-stats{display:flex;gap:2.5rem;margin-top:2rem;justify-content:center}.stat{display:flex;align-items:center;gap:.75rem;background:#ffffff1f;padding:1rem 1.5rem;border-radius:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);font-size:1rem;font-weight:600}.nav-tabs{background:#fff;box-shadow:0 4px 20px #00000014;position:sticky;top:0;z-index:5;border-bottom:1px solid #e2e8f0}.tabs-container{max-width:1400px;margin:0 auto;display:flex;justify-content:center;gap:0;padding:0 3rem}.tab{display:flex;align-items:center;gap:.75rem;padding:1.5rem 2.5rem;background:none;border:none;color:#64748b;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;border-bottom:3px solid transparent}.tab:hover{color:#10b981;background:#f8fafc}.tab.active{color:#10b981;background:#f0fdf4}.tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:#10b981;border-radius:2px 2px 0 0}.profile-content{padding:4rem 0}.content-container{max-width:1400px;margin:0 auto;padding:0 3rem}.tab-content{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.about-content h2{font-size:3rem;color:#1e293b;margin-bottom:2.5rem;font-weight:800;letter-spacing:-.025em;line-height:1.2;text-align:center;background:linear-gradient(135deg,#1e293b,#475569,#64748b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}.about-content h2:after{content:"";position:absolute;bottom:-1rem;left:50%;transform:translate(-50%);width:80px;height:4px;background:linear-gradient(90deg,#10b981,#059669);border-radius:2px}.about-grid{display:block;margin-top:3rem;width:100%}.about-main{background:linear-gradient(135deg,#fff,#f8fafc);padding:4.5rem;border-radius:24px;box-shadow:0 20px 60px #00000014;border:1px solid #e2e8f0;width:100%;position:relative;overflow:hidden}.about-main:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#10b981,#059669,#047857);border-radius:24px 24px 0 0}.about-main:after{content:"";position:absolute;top:20px;right:20px;width:100px;height:100px;background:linear-gradient(135deg,#10b9811a,#0596690d);border-radius:50%;z-index:0}.bio{font-size:1.3rem;line-height:1.8;color:#374151;margin-bottom:4rem;font-weight:400;text-align:center;max-width:900px;margin-left:auto;margin-right:auto;position:relative;padding:2rem 0;z-index:1}.bio:before{content:'"';position:absolute;top:0;left:-2rem;font-size:4rem;color:#10b981;font-family:Georgia,serif;opacity:.4;font-weight:700}.bio:after{content:'"';position:absolute;bottom:0;right:-2rem;font-size:4rem;color:#10b981;font-family:Georgia,serif;opacity:.4;font-weight:700}.experience-section,.certifications-section{margin-bottom:4rem;position:relative;z-index:1}.experience-section h3,.certifications-section h3{font-size:1.8rem;color:#1e293b;margin-bottom:2.5rem;display:flex;align-items:center;gap:1rem;font-weight:700;letter-spacing:-.025em;position:relative;padding-bottom:1rem}.experience-section h3:after,.certifications-section h3:after{content:"";position:absolute;bottom:0;left:0;width:70px;height:4px;background:linear-gradient(90deg,#10b981,#059669);border-radius:2px}.experience-item{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:2rem;padding:2.5rem;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:20px;border:1px solid #e2e8f0;transition:all .4s ease;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000000a}.experience-item:before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:linear-gradient(180deg,#10b981,#059669,#047857);border-radius:0 3px 3px 0}.experience-item:after{content:"";position:absolute;top:0;right:0;width:60px;height:60px;background:linear-gradient(135deg,#10b9810d,#05966905);border-radius:50%;transform:translate(30px,-30px)}.experience-item:hover{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);transform:translateY(-4px);box-shadow:0 12px 40px #0000001f;border-color:#cbd5e1}.experience-item svg{color:#10b981;font-size:1.5rem;margin-top:.2rem;flex-shrink:0;background:linear-gradient(135deg,#fff,#f8fafc);padding:1rem;border-radius:16px;box-shadow:0 4px 16px #10b98126;border:1px solid rgba(16,185,129,.1)}.experience-item strong{color:#1e293b;display:block;margin-bottom:.75rem;font-weight:700;font-size:1.2rem;letter-spacing:-.025em}.experience-item p{color:#64748b;margin:0;line-height:1.7;font-size:1.1rem;font-weight:500}.certifications-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.certification-item{display:flex;align-items:center;gap:1.25rem;padding:2rem;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:20px;border:1px solid #e2e8f0;transition:all .4s ease;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000000a}.certification-item:before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:linear-gradient(180deg,#10b981,#059669,#047857);border-radius:0 3px 3px 0}.certification-item:after{content:"";position:absolute;top:0;right:0;width:50px;height:50px;background:linear-gradient(135deg,#10b9810d,#05966905);border-radius:50%;transform:translate(25px,-25px)}.certification-item:hover{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);transform:translateY(-3px);box-shadow:0 10px 32px #0000001a;border-color:#cbd5e1}.certification-item svg{color:#10b981;font-size:1.4rem;flex-shrink:0;background:linear-gradient(135deg,#fff,#f8fafc);padding:.875rem;border-radius:14px;box-shadow:0 4px 16px #10b98126;border:1px solid rgba(16,185,129,.1)}.certification-item span{font-weight:600;color:#1e293b;font-size:1.1rem;letter-spacing:-.025em}.about-sidebar{display:none}.stats-card{background:#fff;padding:1.5rem;border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0}.stats-card h3{font-size:1.2rem;color:#1e293b;margin-bottom:1rem;font-weight:600}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.stat-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0;transition:all .2s ease}.stat-item:hover{background:#f1f5f9;transform:translateY(-1px);box-shadow:0 2px 8px #0000000d}.stat-icon{width:40px;height:40px;background:#10b981;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.stat-info{display:flex;flex-direction:column}.stat-number{font-size:1.2rem;font-weight:700;color:#1e293b}.stat-label{font-size:.8rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.sessions-header{text-align:center;margin-bottom:4rem}.sessions-header h2{font-size:2.5rem;color:#1e293b;margin-bottom:1.5rem;font-weight:800;letter-spacing:-.025em}.sessions-header p{font-size:1.2rem;color:#64748b;max-width:600px;margin:0 auto;line-height:1.6}.sessions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:2.5rem;max-width:100%}.empty-state{text-align:center;padding:4rem 2rem;color:#64748b;grid-column:1 / -1}.empty-state svg{font-size:4rem;margin-bottom:1.5rem;opacity:.5;color:#10b981}.empty-state h3{font-size:1.5rem;margin-bottom:1rem;color:#475569;font-weight:600}.empty-state p{font-size:1.1rem;color:#64748b;line-height:1.6;max-width:500px;margin:0 auto}.services-section{margin-bottom:2rem}.services-section:last-child{margin-bottom:0}.services-section h3.services-section-header{font-size:1.5rem!important;font-weight:700!important;color:var(--tf-text-primary)!important;margin:0 0 1.5rem!important;padding:1rem 0!important;border-bottom:2px solid var(--tf-border)!important;text-align:center!important;position:relative!important;display:block!important;align-items:unset!important;gap:unset!important;letter-spacing:normal!important}.services-section h3.services-section-header:before{content:""!important;position:absolute!important;left:50%!important;bottom:-2px!important;transform:translate(-50%)!important;width:60px!important;height:3px!important;background:linear-gradient(135deg,#3b82f6,#2563eb)!important;border-radius:2px!important}.services-section h3.services-section-header:after{display:none!important}.services-list-container{background:#fff;border-radius:16px;border:1px solid #e2e8f0;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.services-bullet-list{list-style:none;margin:0;padding:0}.service-list-item{border-bottom:1px solid #f1f5f9;transition:all .2s ease;position:relative}.service-list-item:last-child{border-bottom:none}.service-list-item:hover{background:linear-gradient(135deg,#f8fafc,#f1f5f9);transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.service-list-content{display:grid;grid-template-columns:1fr auto auto;align-items:center;padding:2rem;gap:2rem;min-height:80px}.service-list-main{display:flex;flex-direction:column;gap:.75rem}.service-list-title{margin:0;color:#1e293b;font-size:1.5rem;font-weight:700;line-height:1.3;letter-spacing:-.025em}.service-list-description{margin:0;color:#475569;font-size:1rem;line-height:1.7;font-weight:400}.service-list-details{display:flex;flex-direction:column;gap:.75rem;text-align:center;min-width:120px}.service-list-price{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.5rem 1rem;border-radius:8px;font-size:1rem;font-weight:700;box-shadow:0 2px 4px #10b98133;min-width:80px;text-align:center;white-space:nowrap;display:flex;flex-direction:column;align-items:center;gap:.25rem}.service-list-price .price-amount{font-size:1.1rem;font-weight:800}.service-list-price .price-unit{font-size:.75rem;font-weight:600;opacity:.9}.service-list-duration{background:#f8fafc;color:#374151;padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:600;border:1px solid #e2e8f0}.service-list-capacity{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;padding:.5rem 1rem;border-radius:8px;font-size:.875rem}.package-item{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-left:4px solid #3b82f6}.package-item:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-left-color:#2563eb}.package-type-badge{display:inline-block;margin-left:.75rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.package-details{display:flex;flex-direction:column;gap:.5rem}.package-days,.package-time,.package-date-range-text,.package-capacity{display:flex;align-items:center;gap:.375rem;background:#f8fafc;color:#475569;padding:.375rem .75rem;border-radius:6px;font-size:.8rem;font-weight:500;border:1px solid #e2e8f0}.package-btn{background:linear-gradient(135deg,#3b82f6,#2563eb)!important}.package-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;font-weight:700;border:2px solid #f59e0b;box-shadow:0 2px 4px #f59e0b33;text-align:center;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.service-list-capacity:before{content:"👥";font-size:1rem}.service-list-location{background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0369a1;padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.375rem}.service-list-location .location-icon{color:#0ea5e9;font-size:.875rem}.service-list-actions{display:flex;flex-direction:column;gap:.5rem;min-width:100px}.service-list-actions .book-session-btn{padding:.75rem 1rem;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;width:100%;text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative;overflow:hidden;letter-spacing:.025em;text-shadow:0 1px 2px rgba(0,0,0,.1);background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #3b82f64d}.service-list-actions .book-session-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.service-list-actions .book-session-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666;color:#fff}.service-list-actions .book-session-btn:hover:before{left:100%}.service-list-actions .book-session-btn:active{transform:translateY(0);box-shadow:0 4px 12px #3b82f64d}@media (max-width: 768px){.service-list-content{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem}.service-list-details{flex-direction:row;justify-content:center;gap:1rem}.service-list-actions{flex-direction:row;justify-content:center}.service-list-actions .book-session-btn{width:auto;min-width:80px}}@media (max-width: 480px){.service-list-content{padding:1rem}.service-list-title{font-size:1.1rem}.service-list-description{font-size:.9rem}}.session-card{background:#fff;border-radius:20px;padding:2.5rem;box-shadow:0 8px 32px #00000014;border:1px solid #e2e8f0;transition:all .3s ease;position:relative;overflow:hidden}.session-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#10b981,#059669);border-radius:20px 20px 0 0}.session-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #0000001f;border-color:#cbd5e1}.session-header{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:2rem}.session-icon{width:60px;height:60px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;box-shadow:0 4px 16px #10b9814d}.session-info h3{font-size:1.5rem;color:#1e293b;margin:0 0 1rem;font-weight:700;line-height:1.3}.session-meta{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.session-price{font-size:1.8rem;font-weight:800;color:#10b981;display:flex;align-items:center;gap:.5rem}.session-price:before{content:"$";font-size:1.2rem;font-weight:600}.session-duration{display:flex;align-items:center;gap:.5rem;color:#64748b;font-weight:600;font-size:1rem}.session-duration svg{color:#10b981}.session-description{margin-bottom:2rem}.session-description p{color:#64748b;line-height:1.7;font-size:1.1rem;margin:0}.session-features{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2.5rem}.feature{display:flex;align-items:center;gap:.75rem;color:#475569;font-weight:500}.feature svg{color:#10b981;font-size:1rem}.book-session-btn{width:100%;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:1.25rem 2rem;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;box-shadow:0 4px 16px #10b9814d}.book-session-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #10b98166;background:linear-gradient(135deg,#059669,#047857)}.gallery-header{text-align:center;margin-bottom:4rem}.gallery-header h2{font-size:2.5rem;color:#1e293b;margin-bottom:1.5rem;font-weight:800;letter-spacing:-.025em}.gallery-header p{font-size:1.2rem;color:#64748b;max-width:600px;margin:0 auto;line-height:1.6}.gallery-section{margin-bottom:4rem}.gallery-section h3{font-size:1.8rem;color:#1e293b;margin-bottom:2rem;display:flex;align-items:center;gap:.75rem;font-weight:700;letter-spacing:-.025em}.gallery-section h3 svg{color:#10b981}.photos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.photo-item{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/9;cursor:pointer;transition:all .3s ease}.photo-item:hover{transform:scale(1.02)}.gallery-image{width:100%;height:100%;object-fit:cover}.photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0000004d;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .3s ease}.photo-item:hover .photo-overlay{opacity:1}.videos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.video-item{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 32px #00000014;border:1px solid #e2e8f0;transition:all .3s ease}.video-thumbnail{position:relative;aspect-ratio:16/9;background:#f8fafc;cursor:pointer;overflow:hidden}.video-thumbnail video{width:100%;height:100%;object-fit:cover}.video-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.video-overlay:hover{background:#0009}.play-icon{color:#fff;font-size:3rem;opacity:.9}.video-description{padding:1.5rem}.video-description p{color:#64748b;margin:0;line-height:1.6}.empty-gallery{text-align:center;padding:4rem 2rem;color:#64748b}.empty-gallery svg{font-size:4rem;margin-bottom:1.5rem;opacity:.5}.empty-gallery h3{font-size:1.5rem;margin-bottom:1rem;color:#475569}.gallery-preview-section{margin:3rem 0;padding:2rem;background:#fff;border-radius:20px;box-shadow:0 8px 32px #00000014;border:1px solid #e2e8f0;transition:all .3s ease;position:relative;overflow:hidden}.gallery-preview-section:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#10b981,#059669);border-radius:20px 20px 0 0}.gallery-preview-section:hover{transform:translateY(-2px);box-shadow:0 12px 40px #0000001f;border-color:#cbd5e1}.gallery-preview-section h3{font-size:1.4rem;color:#1e293b;margin-bottom:1.5rem;font-weight:700;letter-spacing:-.025em;display:flex;align-items:center;gap:.75rem}.gallery-preview-section h3 svg{color:#10b981;font-size:1.2rem}.gallery-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.gallery-preview-item{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:1;box-shadow:0 4px 16px #0000001a;transition:all .3s ease}.gallery-preview-item:hover{transform:scale(1.05);box-shadow:0 8px 24px #00000026}.gallery-preview-image{width:100%;height:100%;object-fit:cover;transition:all .3s ease}.gallery-preview-item:hover .gallery-preview-image{transform:scale(1.1)}.view-full-gallery-btn{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .3s ease;box-shadow:0 4px 16px #10b9814d;margin:0 auto}.view-full-gallery-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.view-full-gallery-btn:active{transform:translateY(0);box-shadow:0 4px 16px #10b9814d}.view-full-gallery-btn svg{font-size:1.1rem}.empty-gallery-preview{text-align:center;padding:3rem 2rem;color:#64748b}.empty-gallery-preview svg{font-size:3rem;margin-bottom:1rem;opacity:.5;color:#10b981}.empty-gallery-preview p{font-size:1.1rem;margin-bottom:.5rem;color:#475569;font-weight:500}.empty-gallery-preview small{color:#94a3b8;font-size:.9rem}.contact-grid{display:grid;grid-template-columns:1fr;gap:4rem;max-width:100%}.contact-main h2{font-size:2.5rem;color:#1e293b;margin-bottom:1.5rem;font-weight:800;letter-spacing:-.025em;text-align:center}.contact-main>p{font-size:1.2rem;color:#64748b;margin-bottom:4rem;line-height:1.6;text-align:center;max-width:600px;margin-left:auto;margin-right:auto}.contact-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-bottom:4rem}.contact-method{display:flex;align-items:center;gap:1.5rem;padding:2.5rem;background:#fff;border-radius:20px;box-shadow:0 8px 32px #00000014;border:1px solid #e2e8f0;transition:all .3s ease;position:relative;overflow:hidden}.contact-method:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#10b981,#059669);border-radius:20px 20px 0 0}.contact-method:hover{transform:translateY(-4px);box-shadow:0 16px 48px #0000001f;border-color:#cbd5e1}.contact-icon{width:70px;height:70px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;flex-shrink:0;box-shadow:0 6px 20px #10b9814d}.contact-details h3{font-size:1.4rem;color:#1e293b;margin-bottom:.75rem;font-weight:700;letter-spacing:-.025em}.contact-details p{color:#64748b;margin:0;line-height:1.6;font-size:1.1rem}.contact-details span{color:#10b981;font-weight:700;font-size:1.1rem}.social-links-inline{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0}.social-link-inline{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;color:#475569;text-decoration:none;font-weight:600;font-size:.95rem;transition:all .3s ease}.social-link-inline:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.social-link-inline.instagram:hover{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);border-color:#bc1888;color:#fff}.social-link-inline.tiktok:hover{background:#000;border-color:#000;color:#fff}.social-link-inline.twitter:hover{background:#1da1f2;border-color:#1da1f2;color:#fff}.social-link-inline.youtube:hover{background:red;border-color:red;color:#fff}.social-link-inline svg{font-size:1.2rem}.contact-sidebar{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:100%}.social-card,.availability-card{background:#fff;padding:2.5rem;border-radius:20px;box-shadow:0 8px 32px #00000014;border:1px solid #e2e8f0;transition:all .3s ease;position:relative;overflow:hidden}.social-card:before,.availability-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#10b981,#059669);border-radius:20px 20px 0 0}.social-card:hover,.availability-card:hover{transform:translateY(-2px);box-shadow:0 12px 40px #0000001f;border-color:#cbd5e1}.social-card h3,.availability-card h3{font-size:1.4rem;color:#1e293b;margin-bottom:1.5rem;font-weight:700;letter-spacing:-.025em;display:flex;align-items:center;gap:.75rem}.social-card h3:before{content:"🌐";font-size:1.2rem}.availability-card h3 svg{font-size:1.2rem;color:#3b82f6}.social-card p{color:#64748b;margin-bottom:2rem;line-height:1.6;font-size:1.1rem}.social-links{display:flex;gap:1rem;justify-content:center}.social-link{width:60px;height:60px;background:#f8fafc;color:#64748b;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:all .3s ease;border:1px solid #e2e8f0;cursor:pointer;text-decoration:none}.social-link:hover{background:#10b981;color:#fff;transform:translateY(-3px);box-shadow:0 8px 24px #10b98166;border-color:#10b981}.availability-info{display:flex;flex-direction:column;gap:1.25rem}.availability-item{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#f8fafc;border-radius:14px;border:1px solid #e2e8f0;transition:all .3s ease}.availability-item:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translate(4px)}.availability-item svg{color:#10b981;font-size:1.2rem;flex-shrink:0}.availability-item strong{color:#1e293b;font-weight:700;margin-right:.5rem;font-size:1rem}.availability-item span{color:#64748b;font-weight:500;font-size:1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.booking-modal{background:#fff;border-radius:16px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e2e8f0}.modal-header h2{font-size:1.5rem;color:#1e293b;margin:0;font-weight:600}.close-btn{background:none;border:none;font-size:1.5rem;color:#64748b;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s ease}.close-btn:hover{background:#f8fafc;color:#1e293b}.booking-form{padding:2rem}.service-summary{background:#f8fafc;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;border:1px solid #e2e8f0}.service-summary h3{font-size:1.2rem;color:#1e293b;margin:0 0 .5rem;font-weight:600}.service-summary p{color:#64748b;margin:0 0 1rem}.service-details{display:flex;align-items:center;gap:1rem}.price{font-size:1.3rem;font-weight:700;color:#10b981}.duration{display:flex;align-items:center;gap:.25rem;color:#64748b}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:#1e293b;margin-bottom:.5rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.participant-selector{margin-bottom:1.5rem}.participant-pill-group{display:flex;flex-wrap:wrap;gap:.75rem}.participant-pill{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid #cbd5f5;border-radius:999px;cursor:pointer;transition:all .2s ease;background:#fff;color:#0f172a;font-weight:600}.participant-pill input{display:none}.participant-pill.active{background:#2e7dff;border-color:#2e7dff;color:#fff;box-shadow:0 6px 16px #2e7dff33}.participant-pill.disabled{opacity:.5;cursor:not-allowed}.participant-selector .field-note{margin-top:.5rem;font-size:.85rem;color:#475569}.form-actions{display:flex;gap:1rem;margin-top:2rem}.cancel-btn,.confirm-btn{flex:1;padding:.875rem 1.5rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:1rem;letter-spacing:.025em;position:relative;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.1)}.cancel-btn{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:1px solid #d1d5db;color:#374151;box-shadow:0 4px 12px #0000001a}.cancel-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.cancel-btn:hover{background:linear-gradient(135deg,#e5e7eb,#d1d5db);transform:translateY(-2px);box-shadow:0 6px 16px #00000026;color:#1f2937;border-color:#9ca3af}.cancel-btn:hover:before{left:100%}.cancel-btn:active{transform:translateY(0);box-shadow:0 4px 12px #0000001a}.confirm-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff;box-shadow:0 4px 16px #10b9814d}.confirm-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.confirm-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 8px 24px #10b98166;color:#fff}.confirm-btn:hover:before{left:100%}.confirm-btn:active{transform:translateY(0);box-shadow:0 4px 16px #10b9814d}.confirm-btn svg{font-size:1.1rem;transition:transform .2s ease}.confirm-btn:hover svg{transform:scale(1.1)}.package-booking-content{padding:2rem}.package-booking-details{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.package-booking-details .detail-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fff;border-radius:8px;font-size:.95rem}.package-booking-details .detail-item svg{font-size:1.1rem;color:#10b981;flex-shrink:0}.package-booking-details .price-item{margin-top:.5rem;padding:1rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #3b82f6;font-size:1.1rem;display:flex;justify-content:space-between;align-items:center}.package-price{font-size:1.5rem;font-weight:700;color:#10b981}.package-booking-info{margin:1.5rem 0;display:flex;flex-direction:column;gap:1rem}.info-box{display:flex;gap:1rem;padding:1rem;background:#f8fafc;border-radius:8px;border-left:4px solid #10b981}.info-box svg{font-size:1.2rem;flex-shrink:0;margin-top:.2rem}.info-box p{margin:0;color:#475569;font-size:.9rem;line-height:1.6}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top:4px solid #10b981;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.error-state h2{color:#1e293b;margin-bottom:1rem;font-weight:600}.error-state button{background:#10b981;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease}.error-state button:hover{background:#059669;transform:translateY(-2px)}@media (max-width: 768px){.hero-section{padding:2rem 1rem 4rem}.trainer-avatar img{width:160px;height:160px;min-width:160px;min-height:160px;border-width:5px;aspect-ratio:1 / 1}.trainer-avatar-initials{width:160px;height:160px;min-width:160px;min-height:160px;font-size:3rem;border-width:5px;aspect-ratio:1 / 1}.trainer-name{font-size:2rem}.trainer-rating{flex-direction:column;gap:.5rem}.trainer-rating .rating-stars .star,.trainer-rating .rating-value{font-size:1rem}.trainer-rating .rating-count{font-size:.8rem}.trainer-stats{flex-direction:column;gap:1rem}.tabs-container{flex-wrap:wrap}.tab{flex:1;min-width:auto;padding:1rem;font-size:.9rem}.content-container{padding:2rem 1rem}.about-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}.sessions-grid{grid-template-columns:1fr}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.gallery-preview-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.videos-grid,.stats-grid{grid-template-columns:1fr}.booking-modal{margin:1rem;max-width:none}.form-actions{flex-direction:column}}@media (max-width: 1024px){.trainer-avatar img{width:180px;height:180px;min-width:180px;min-height:180px;aspect-ratio:1 / 1}.trainer-avatar-initials{width:180px;height:180px;min-width:180px;min-height:180px;font-size:3.2rem;aspect-ratio:1 / 1}}@media (max-width: 480px){.profile-header{padding:1rem}.back-btn{padding:.5rem 1rem;font-size:.9rem}.trainer-avatar img{width:140px;height:140px;min-width:140px;min-height:140px;border-width:4px;aspect-ratio:1 / 1}.trainer-avatar-initials{width:140px;height:140px;min-width:140px;min-height:140px;font-size:2.5rem;border-width:4px;aspect-ratio:1 / 1}.trainer-name{font-size:1.8rem}.trainer-rating{gap:.25rem}.trainer-rating .rating-stars .star,.trainer-rating .rating-value{font-size:.9rem}.trainer-rating .rating-count{font-size:.75rem}.session-card{padding:1.5rem}.session-header{flex-direction:column;align-items:flex-start;gap:.75rem}}.reviews-content{padding:2rem 0}.reviews-header{margin-bottom:2rem;text-align:center}.reviews-header h2{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:1rem}.reviews-summary{display:flex;justify-content:center;align-items:center;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.overall-rating{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014;border:1px solid #e2e8f0}.rating-stars{display:flex;gap:4px}.reviews-content .rating-stars .star{font-size:1.5rem;color:#d1d5db}.reviews-content .rating-stars .star.filled{color:#fbbf24}.rating-details{display:flex;flex-direction:column;align-items:flex-start}.rating-value{font-size:2rem;font-weight:700;color:#1e293b;line-height:1}.rating-count{font-size:.9rem;color:#64748b;margin-top:.25rem}.leave-review-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #3b82f64d}.leave-review-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #3b82f666;background:linear-gradient(135deg,#2563eb,#1e40af)}.leave-review-btn:active{transform:translateY(0)}.leave-review-btn svg{font-size:1rem}.review-requirement-notice{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1rem;text-align:center;color:#64748b;font-size:.9rem;font-weight:500}.review-requirement-notice p{margin:0}.hero-review-section{margin-top:1.5rem;display:flex;justify-content:center}.hero-review-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #3b82f64d}.hero-review-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #3b82f666;background:linear-gradient(135deg,#2563eb,#1e40af)}.hero-review-btn:active{transform:translateY(0)}.hero-review-btn svg{font-size:1.1rem}.hero-review-notice{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:.75rem 1.5rem;text-align:center;color:#64748b;font-size:.9rem;font-weight:500}.hero-review-notice p{margin:0}.user-review-section{margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #e5e7eb}.user-review-section h3{margin:0 0 16px;font-size:1.2rem;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:8px}.user-review-section h3:before{content:"★";color:#fbbf24;font-size:1.1rem}.reviews-list{display:flex;flex-direction:column;gap:1.5rem}.reviews-list h3{margin:0 0 16px;font-size:1.2rem;font-weight:600;color:#1f2937}.review-item{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 16px #00000014;border:1px solid #e2e8f0;transition:all .3s ease}.review-item:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0000001f}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.reviewer-info{display:flex;align-items:center;gap:1rem}.reviewer-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0}.reviewer-avatar img{width:100%;height:100%;object-fit:cover}.reviewer-avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem}.reviewer-details{display:flex;flex-direction:column;gap:.5rem}.reviewer-name{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0}.review-rating{display:flex;gap:2px}.review-rating .star{font-size:.9rem;color:#d1d5db}.review-rating .star.filled{color:#fbbf24}.review-date{font-size:.9rem;color:#64748b;font-weight:500}[data-theme=dark] .trainer-profile-container{background:linear-gradient(180deg,#0b1120,#101a2c 40%,#0f172a);color:var(--tf-text-primary)}[data-theme=dark] .trainer-profile-container h1,[data-theme=dark] .trainer-profile-container h2,[data-theme=dark] .trainer-profile-container h3,[data-theme=dark] .trainer-profile-container h4,[data-theme=dark] .trainer-profile-container h5,[data-theme=dark] .trainer-profile-container h6{color:var(--tf-text-primary)}[data-theme=dark] .trainer-profile-container p,[data-theme=dark] .trainer-profile-container span,[data-theme=dark] .trainer-profile-container label{color:var(--tf-text-secondary)}[data-theme=dark] .profile-header{background:#0f172aeb;border-bottom:1px solid var(--tf-border);box-shadow:0 12px 30px #080f2399}[data-theme=dark] .profile-actions .share-profile-btn,[data-theme=dark] .profile-actions .copy-link-btn,[data-theme=dark] .back-btn{background:#111928f2;border-color:var(--tf-border);color:var(--tf-text-secondary);box-shadow:0 8px 24px #080f238c}[data-theme=dark] .profile-actions .share-profile-btn:hover,[data-theme=dark] .profile-actions .copy-link-btn:hover{background:var(--tf-link);color:#0b1120;border-color:var(--tf-link);box-shadow:0 12px 28px #2563eb73}[data-theme=dark] .back-btn:hover{background:#1e293be6;color:var(--tf-text-primary)}[data-theme=dark] .favorite-btn{background:#1f2942e6;border-color:#ef444466;box-shadow:0 8px 20px #7f1d1d80}[data-theme=dark] .favorite-btn:hover{background:#7f1d1d99;border-color:#f87171b3}[data-theme=dark] .nav-tabs{background:#0f172af2;border-bottom:1px solid var(--tf-border);box-shadow:0 14px 36px #080f2399}[data-theme=dark] .nav-tabs .tab{color:var(--tf-text-secondary)}[data-theme=dark] .nav-tabs .tab:hover{background:#141e30cc;color:var(--tf-link)}[data-theme=dark] .nav-tabs .tab.active{background:#0f766e40;color:#5eead4}[data-theme=dark] .nav-tabs .tab.active:after{background:#5eead4}[data-theme=dark] .trainer-profile-container .content-container{background:transparent}[data-theme=dark] .about-main,[data-theme=dark] .experience-item,[data-theme=dark] .certification-item,[data-theme=dark] .session-card,[data-theme=dark] .gallery-preview-section,[data-theme=dark] .contact-method,[data-theme=dark] .social-card,[data-theme=dark] .availability-card,[data-theme=dark] .overall-rating,[data-theme=dark] .review-item,[data-theme=dark] .service-list-container,[data-theme=dark] .booking-modal,[data-theme=dark] .service-summary,[data-theme=dark] .package-booking-details .detail-item,[data-theme=dark] .package-booking-info .info-box,[data-theme=dark] .contact-item,[data-theme=dark] .testimonial-card,[data-theme=dark] .service-card,[data-theme=dark] .social-media-link,[data-theme=dark] .social-link-inline,[data-theme=dark] .availability-item{background:#0f172aeb;border-color:var(--tf-border);box-shadow:0 16px 40px #080f238c}[data-theme=dark] .service-list-item:hover,[data-theme=dark] .experience-item:hover,[data-theme=dark] .certification-item:hover,[data-theme=dark] .session-card:hover,[data-theme=dark] .contact-method:hover,[data-theme=dark] .social-card:hover,[data-theme=dark] .availability-card:hover,[data-theme=dark] .review-item:hover,[data-theme=dark] .gallery-preview-section:hover{background:#111e34f2;border-color:#60a5fa59;box-shadow:0 18px 48px #080f23a6}[data-theme=dark] .service-list-description,[data-theme=dark] .session-description p,[data-theme=dark] .feature,[data-theme=dark] .gallery-header p,[data-theme=dark] .video-description p,[data-theme=dark] .contact-details p,[data-theme=dark] .bio,[data-theme=dark] .experience-item p,[data-theme=dark] .certification-item span,[data-theme=dark] .testimonial-card p,[data-theme=dark] .review-content p{color:var(--tf-text-secondary)}[data-theme=dark] .experience-item:before,[data-theme=dark] .certification-item:before,[data-theme=dark] .session-card:before,[data-theme=dark] .gallery-preview-section:before,[data-theme=dark] .contact-method:before,[data-theme=dark] .social-card:before,[data-theme=dark] .availability-card:before{background:linear-gradient(90deg,#2563eb73,#3b82f680)}[data-theme=dark] .hero-section{background:linear-gradient(135deg,#10b98133,#2563eb4d)}[data-theme=dark] .trainer-avatar img{border-color:#94a3b859;background:#0f172ae6}[data-theme=dark] .trainer-avatar-initials{background:linear-gradient(135deg,#0f766ed9,#3b82f6bf);border-color:#94a3b859}[data-theme=dark] .trainer-rating .rating-stars .star{color:#94a3b866}[data-theme=dark] .stat{background:#111928d9;border-color:var(--tf-border);color:var(--tf-text-primary)}[data-theme=dark] .stat-icon{background:linear-gradient(135deg,#3b82f6b3,#2563ebe6);box-shadow:none}[data-theme=dark] .service-list-price{background:linear-gradient(135deg,#38bdf8b3,#0ea5e9e6);color:#0b1120;box-shadow:none}[data-theme=dark] .service-list-duration,[data-theme=dark] .package-days,[data-theme=dark] .package-time,[data-theme=dark] .package-date-range-text,[data-theme=dark] .package-capacity,[data-theme=dark] .service-list-location{background:#111928d9;color:var(--tf-text-secondary);border-color:var(--tf-border)}[data-theme=dark] .package-item{background:#1e293bd9;border-left-color:#3b82f6b3}[data-theme=dark] .book-session-btn,[data-theme=dark] .hero-review-btn,[data-theme=dark] .leave-review-btn,[data-theme=dark] .confirm-btn,[data-theme=dark] .package-btn,[data-theme=dark] .view-full-gallery-btn{background:linear-gradient(135deg,#2563ebd9,#6366f1d9);color:#e2e8f0;box-shadow:0 16px 36px #2563eb73}[data-theme=dark] .book-session-btn:hover,[data-theme=dark] .hero-review-btn:hover,[data-theme=dark] .leave-review-btn:hover,[data-theme=dark] .confirm-btn:hover,[data-theme=dark] .package-btn:hover,[data-theme=dark] .view-full-gallery-btn:hover{background:linear-gradient(135deg,#6366f1e6,#a5b4fcf2);color:#0b1120;box-shadow:0 18px 40px #6366f18c}[data-theme=dark] .cancel-btn{background:#1e293bd9;border-color:var(--tf-border);color:var(--tf-text-secondary)}[data-theme=dark] .cancel-btn:hover{background:#2d3748d9;color:var(--tf-text-primary)}[data-theme=dark] .form-group input,[data-theme=dark] .form-group textarea{background:#111928e6;border-color:var(--tf-border);color:var(--tf-text-primary)}[data-theme=dark] .form-group input::placeholder,[data-theme=dark] .form-group textarea::placeholder{color:var(--tf-text-secondary)}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group textarea:focus{border-color:var(--tf-link);box-shadow:0 0 0 3px #60a5fa4d}[data-theme=dark] .modal-overlay{background:#080f23d9}[data-theme=dark] .service-summary{background:#0f172aeb}[data-theme=dark] .price,[data-theme=dark] .session-price{color:#5eead4}[data-theme=dark] .session-duration{color:var(--tf-text-secondary)}[data-theme=dark] .social-links-inline{gap:.75rem}[data-theme=dark] .social-link-inline:hover{border-color:var(--tf-link);color:var(--tf-link)}[data-theme=dark] .social-link-inline.instagram:hover{background:#831843b3;border-color:#ec489999;color:#fce7f3}[data-theme=dark] .social-link-inline.tiktok:hover{background:#0f172ae6;border-color:#2dd4bf99;color:#f8fafc}[data-theme=dark] .social-link-inline.twitter:hover{background:#0e7490d9;border-color:#7dd3fcb3;color:#e0f2fe}[data-theme=dark] .social-link-inline.youtube:hover{background:#7f1d1db8;border-color:#f87171b3;color:#fee2e2}[data-theme=dark] .social-link{background:#111e34e6;border-color:var(--tf-border);color:var(--tf-text-secondary)}[data-theme=dark] .social-link:hover{background:linear-gradient(135deg,#2563ebb3,#3b82f6cc);border-color:#60a5fa99;color:#0b1120}[data-theme=dark] .review-requirement-notice,[data-theme=dark] .hero-review-notice{background:#111928e6;border-color:var(--tf-border);color:var(--tf-text-secondary)}[data-theme=dark] .empty-state,[data-theme=dark] .empty-gallery,[data-theme=dark] .empty-gallery-preview,[data-theme=dark] .empty-reviews{color:var(--tf-text-secondary)}[data-theme=dark] .empty-state svg,[data-theme=dark] .empty-gallery svg,[data-theme=dark] .empty-gallery-preview svg,[data-theme=dark] .empty-reviews svg{opacity:.5;color:#94a3b880}[data-theme=dark] .rating-stars .star{color:#94a3b873}[data-theme=dark] .rating-stars .star.filled{color:#fcd34d}[data-theme=dark] .rating-value,[data-theme=dark] .reviewer-name{color:var(--tf-text-primary)}[data-theme=dark] .review-date{color:#94a3b8b3}[data-theme=dark] .reviewer-avatar-placeholder{background:linear-gradient(135deg,#2563ebb3,#3b82f6cc)}.review-content{margin-top:1rem}.review-content p{font-size:1rem;line-height:1.6;color:#475569;margin:0;font-style:italic}.empty-reviews{text-align:center;padding:4rem 2rem;color:#64748b}.empty-reviews svg{font-size:4rem;margin-bottom:1.5rem;opacity:.5;color:#d1d5db}.empty-reviews h3{font-size:1.5rem;margin-bottom:1rem;color:#475569}.empty-reviews p{font-size:1rem;line-height:1.6}@media (max-width: 768px){.reviews-header h2{font-size:1.5rem}.reviews-summary{flex-direction:column;gap:1rem}.overall-rating{flex-direction:column;gap:.75rem;text-align:center}.leave-review-btn{width:100%;justify-content:center}.review-header{flex-direction:column;gap:1rem;align-items:flex-start}.reviewer-info{width:100%}.review-date{align-self:flex-end}}.trainer-profile-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.trainer-profile-modal-content{background:var(--bg-color, #ffffff);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.trainer-profile-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color, #e2e8f0)}.trainer-profile-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-color, #1a202c)}.trainer-profile-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary, #718096);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.trainer-profile-modal-close:hover{background:var(--hover-bg, #f7fafc);color:var(--text-color, #1a202c)}.trainer-profile-modal-body{padding:1.5rem}.trainer-profile-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color, #e2e8f0)}.trainer-profile-modal-btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;border:none}.trainer-profile-modal-btn.primary{background:var(--primary-color, #667eea);color:#fff}.trainer-profile-modal-btn.primary:hover{background:var(--primary-hover, #5a67d8);transform:translateY(-1px);box-shadow:0 4px 6px #667eea4d}.trainer-profile-success-modal{max-width:500px}.trainer-profile-success-content{text-align:center;padding:1rem}.trainer-profile-success-icon{font-size:3rem;margin-bottom:1rem;color:#10b981}.trainer-profile-success-content h4{font-size:1.25rem;font-weight:600;color:var(--text-color, #1a202c);margin:0 0 1rem}.trainer-profile-success-content p{color:var(--text-secondary, #718096);font-size:.95rem;line-height:1.6;margin:0}.public-profile-container{min-height:100vh;background:#f7fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:#fff}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.error-message{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:#fff;text-align:center;padding:2rem}.error-message h2{margin-bottom:1rem;font-size:2rem}.error-message p{margin-bottom:2rem;opacity:.9}.public-profile-header{background:#fff;padding:2rem 0;box-shadow:0 4px 6px #0000001a}.header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}.coach-info{display:flex;align-items:center;gap:2rem}.profile-image{width:120px;height:120px;border-radius:50%;overflow:hidden;border:4px solid #2563eb;box-shadow:0 8px 25px #2563eb4d}.profile-image img{width:100%;height:100%;object-fit:cover}.coach-details h1{font-size:2.5rem;font-weight:700;color:#1a202c;margin:0 0 .5rem}.coach-title{font-size:1.2rem;color:#2563eb;font-weight:600;margin:0 0 1rem}.location{display:flex;align-items:center;gap:.5rem;color:#718096;margin:0 0 1rem;font-size:1rem}.rating{display:flex;align-items:center;gap:.5rem}.star{font-size:1.2rem}.star.filled{color:#fbbf24}.star.empty{color:#e5e7eb}.rating-text{color:#718096;font-weight:500}.share-actions{display:flex;gap:1rem;flex-wrap:wrap}.share-button,.copy-button,.qr-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem}.share-button{background:#2563eb;color:#fff}.share-button:hover{background:#1d4ed8;transform:translateY(-2px)}.copy-button{background:#f7fafc;color:#4a5568;border:2px solid #e2e8f0}.copy-button:hover{background:#edf2f7;border-color:#cbd5e0}.qr-button{background:#48bb78;color:#fff}.qr-button:hover{background:#38a169;transform:translateY(-2px)}.qr-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.qr-content{background:#fff;padding:2.5rem;border-radius:16px;text-align:center;max-width:420px;width:90%;box-shadow:0 20px 60px #0000004d;position:relative;display:flex;flex-direction:column;align-items:center}.qr-content h3{margin:0 0 1.5rem;color:#1a202c;font-size:1.5rem;font-weight:700}.qr-code{margin-bottom:1.5rem;display:flex;justify-content:center;align-items:center;padding:1.5rem;background:#fff;border:2px solid #e2e8f0;border-radius:12px;width:100%;box-sizing:border-box}.qr-code svg{width:256px;height:256px;display:block}.qr-url{font-size:.875rem;color:#64748b;word-break:break-all;margin:0 0 1.5rem;padding:.75rem 1rem;background:#f1f5f9;border-radius:8px;width:100%;box-sizing:border-box;line-height:1.5}.qr-placeholder{background:#f7fafc;border:2px dashed #cbd5e0;padding:2rem;border-radius:8px;color:#718096;font-size:.9rem}.close-button{background:#2563eb;color:#fff;border:none;padding:.875rem 2rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .2s ease;width:100%;max-width:200px;margin-top:.5rem}.close-button:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.close-button:active{transform:translateY(0)}.public-profile-main{max-width:1200px;margin:0 auto;padding:3rem 2rem;display:grid;grid-template-columns:1fr 350px;gap:3rem}.profile-content{background:#fff;border-radius:12px;padding:2.5rem;box-shadow:0 4px 6px #0000000d}.profile-content section{margin-bottom:3rem}.profile-content section:last-child{margin-bottom:0}.profile-content h2{font-size:1.8rem;font-weight:700;color:#1a202c;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid #e2e8f0}.bio{font-size:1.1rem;line-height:1.7;color:#4a5568;margin-bottom:1.5rem}.experience,.specialties,.certifications{margin-bottom:1.5rem}.experience strong,.specialties strong,.certifications strong{color:#1a202c;font-weight:600}.specialty-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.specialty-tag{background:#2563eb;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500}.certifications ul{list-style:none;padding:0;margin-top:.5rem}.certifications li{padding:.5rem 0;border-bottom:1px solid #e2e8f0;color:#4a5568}.certifications li:last-child{border-bottom:none}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.service-card{background:#f7fafc;padding:1.5rem;border-radius:8px;border:1px solid #e2e8f0;transition:all .2s ease}.service-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.service-card h3{font-size:1.3rem;font-weight:600;color:#1a202c;margin-bottom:.5rem}.service-card p{color:#4a5568;margin-bottom:1rem;line-height:1.6}.service-details{display:flex;justify-content:space-between;align-items:center;font-weight:600}.duration{display:flex;align-items:center;gap:.5rem;color:#718096;font-size:.9rem}.price{color:#2563eb;font-size:1.2rem}.contact-info{display:flex;flex-direction:column;gap:1rem}.contact-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f7fafc;border-radius:8px;color:#4a5568}.contact-item svg{color:#2563eb;font-size:1.2rem}.social-links{display:flex;flex-wrap:wrap;gap:1rem}.social-link{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;text-decoration:none;color:#4a5568;font-weight:600;transition:all .2s ease}.social-link:hover{transform:translateY(-2px);text-decoration:none}.social-link.instagram:hover{background:#fdf2f8;border-color:#ec4899;color:#be185d}.social-link.tiktok:hover{background:#f0f9ff;border-color:#0ea5e9;color:#0369a1}.social-link.twitter:hover{background:#f0f9ff;border-color:#3b82f6;color:#1d4ed8}.social-link.youtube:hover{background:#fef2f2;border-color:#ef4444;color:#dc2626}.cta-sidebar{position:sticky;top:2rem;height:fit-content}.cta-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000000d;text-align:center}.cta-card h3{font-size:1.5rem;font-weight:700;color:#1a202c;margin-bottom:1rem}.cta-card p{color:#4a5568;line-height:1.6;margin-bottom:1.5rem}.cta-button{width:100%;padding:1rem;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;margin-bottom:1rem}.cta-button.primary{background:#2563eb;color:#fff}.cta-button.primary:hover{background:#1d4ed8;transform:translateY(-2px)}.cta-button.secondary{background:transparent;color:#2563eb;border:2px solid #2563eb}.cta-button.secondary:hover{background:#2563eb;color:#fff}.benefits{margin-top:2rem;text-align:left}.benefits h4{font-size:1.1rem;font-weight:600;color:#1a202c;margin-bottom:1rem}.benefits ul{list-style:none;padding:0}.benefits li{padding:.5rem 0;color:#4a5568;font-size:.95rem}[data-theme=dark] .public-profile-container{background:linear-gradient(180deg,#0b1120,#101a2c 40%,#0f172a);color:var(--tf-text-primary)}[data-theme=dark] .public-profile-container h1,[data-theme=dark] .public-profile-container h2,[data-theme=dark] .public-profile-container h3,[data-theme=dark] .public-profile-container h4,[data-theme=dark] .public-profile-container h5,[data-theme=dark] .public-profile-container h6{color:var(--tf-text-primary)}[data-theme=dark] .public-profile-container p,[data-theme=dark] .public-profile-container span,[data-theme=dark] .public-profile-container label{color:var(--tf-text-secondary)}[data-theme=dark] .public-profile-header{background:#0f172af2;box-shadow:0 14px 36px #080f2399}[data-theme=dark] .profile-image{border-color:#3b82f6b3;box-shadow:0 16px 40px #2563eb73}[data-theme=dark] .coach-title{color:#60a5fad9}[data-theme=dark] .location,[data-theme=dark] .rating-text,[data-theme=dark] .duration{color:var(--tf-text-secondary)}[data-theme=dark] .share-button,[data-theme=dark] .qr-button,[data-theme=dark] .cta-button.primary,[data-theme=dark] .close-button{background:linear-gradient(135deg,#2563ebd9,#6366f1d9);color:#e2e8f0;box-shadow:0 16px 36px #2563eb73}[data-theme=dark] .share-button:hover,[data-theme=dark] .qr-button:hover,[data-theme=dark] .cta-button.primary:hover,[data-theme=dark] .close-button:hover{background:linear-gradient(135deg,#6366f1e6,#a5b4fcf2);color:#0b1120}[data-theme=dark] .copy-button,[data-theme=dark] .cta-button.secondary{background:#111928e6;color:var(--tf-text-secondary);border-color:var(--tf-border)}[data-theme=dark] .copy-button:hover,[data-theme=dark] .cta-button.secondary:hover{background:#1e293be6;border-color:var(--tf-link);color:var(--tf-link)}[data-theme=dark] .qr-modal{background:#080f23d9}[data-theme=dark] .qr-content{background:#0f172af2;box-shadow:0 24px 60px #080f23a6;color:var(--tf-text-primary)}[data-theme=dark] .qr-code{background:#111928e6;border-color:var(--tf-border)}[data-theme=dark] .qr-url{background:#111928e6;color:var(--tf-text-secondary)}[data-theme=dark] .qr-placeholder{background:#0f172ad9;border-color:#94a3b866;color:var(--tf-text-secondary)}[data-theme=dark] .public-profile-main{background:transparent}[data-theme=dark] .profile-content,[data-theme=dark] .cta-card{background:#0f172aeb;box-shadow:0 16px 40px #080f238c;border:1px solid var(--tf-border)}[data-theme=dark] .profile-content h2,[data-theme=dark] .benefits h4,[data-theme=dark] .cta-card h3{color:var(--tf-text-primary);border-color:var(--tf-border)}[data-theme=dark] .coach-details h1{color:#f8fafc}[data-theme=dark] .coach-details h1+.coach-title{color:#60a5fae6}[data-theme=dark] .location svg,[data-theme=dark] .rating .star.filled{color:#fbbf24}[data-theme=dark] .rating .star.empty{color:#94a3b859}[data-theme=dark] .share-actions{background:#080d1cb3;border-radius:12px;padding:.75rem 1rem;border:1px solid rgba(148,163,184,.18);box-shadow:0 16px 36px #0206178c}[data-theme=dark] .share-actions button,[data-theme=dark] .share-actions .share-button,[data-theme=dark] .share-actions .copy-button,[data-theme=dark] .share-actions .qr-button{box-shadow:none}[data-theme=dark] .profile-content section{background:transparent;border-radius:12px}[data-theme=dark] .profile-content section+section{border-top:1px solid rgba(148,163,184,.18);padding-top:2.5rem}[data-theme=dark] .bio,[data-theme=dark] .experience strong,[data-theme=dark] .specialties strong,[data-theme=dark] .certifications strong,[data-theme=dark] .cta-card p,[data-theme=dark] .benefits li{color:var(--tf-text-secondary)}[data-theme=dark] .certifications li{border-color:var(--tf-border);color:var(--tf-text-secondary)}[data-theme=dark] .specialty-tag{background:linear-gradient(135deg,#2563ebbf,#0ea5e9bf);color:#0b1120}[data-theme=dark] .service-card,[data-theme=dark] .contact-item,[data-theme=dark] .social-link{background:#111928eb;border-color:var(--tf-border);color:var(--tf-text-secondary);box-shadow:0 12px 28px #080f2380}[data-theme=dark] .contact-info{background:linear-gradient(145deg,#0a1220eb,#050b16eb);border-radius:16px;padding:1.25rem;border:1px solid rgba(148,163,184,.22);box-shadow:0 20px 48px #02061799}[data-theme=dark] .service-card:hover,[data-theme=dark] .contact-item:hover,[data-theme=dark] .social-link:hover{transform:translateY(-2px);border-color:#60a5fa59;box-shadow:0 16px 36px #080f2399}[data-theme=dark] .contact-item{background:linear-gradient(145deg,#0d1626f2,#080f1ae6);border:1px solid rgba(71,85,105,.45);color:#e2e8f0;box-shadow:0 18px 32px #0206178c}[data-theme=dark] .contact-item span{color:#e2e8f0}[data-theme=dark] .service-card h3,[data-theme=dark] .service-card p{color:var(--tf-text-secondary)}[data-theme=dark] .price{color:#5eead4}[data-theme=dark] .contact-item svg{color:#3b82f6cc}[data-theme=dark] .social-link.instagram:hover{background:#831843b3;border-color:#ec489999;color:#fce7f3}[data-theme=dark] .social-link.tiktok:hover,[data-theme=dark] .social-link.twitter:hover{background:#0e7490cc;border-color:#7dd3fcb3;color:#e0f2fe}[data-theme=dark] .social-link.youtube:hover{background:#7f1d1db8;border-color:#f8717199;color:#fee2e2}[data-theme=dark] .cta-button.secondary{color:var(--tf-text-secondary)}[data-theme=dark] .cta-button.secondary:hover{color:#0b1120}[data-theme=dark] .benefits{border-top:1px solid var(--tf-border)}[data-theme=dark] .spinner{border-color:#94a3b866;border-top-color:#60a5fa}[data-theme=dark] .error-message{color:var(--tf-text-primary)}@media (max-width: 1024px){.public-profile-main{grid-template-columns:1fr;gap:2rem}.cta-sidebar{position:static}}@media (max-width: 768px){.header-content{flex-direction:column;text-align:center;gap:1.5rem}.coach-info{flex-direction:column;gap:1rem}.coach-details h1{font-size:2rem}.share-actions{justify-content:center}.public-profile-main{padding:2rem 1rem}.profile-content{padding:1.5rem}.services-grid{grid-template-columns:1fr}.social-links{justify-content:center}}@media (max-width: 480px){.header-content{padding:0 1rem}.profile-image{width:100px;height:100px}.share-button,.copy-button,.qr-button{padding:.5rem 1rem;font-size:.8rem}.cta-card{padding:1.5rem}}html{scroll-behavior:smooth}.messages-container{display:flex;height:calc(100vh - 120px);max-height:calc(100vh - 120px);background:var(--tf-surface);border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a,0 0 0 1px #0000000d;overflow:hidden;margin:16px;max-width:100%;width:100%;box-sizing:border-box;scroll-behavior:smooth;border:1px solid rgba(0,0,0,.08)}.messages-sidebar{width:360px;min-width:360px;border-right:1px solid #e5e7eb;background:linear-gradient(180deg,var(--tf-surface-muted) 0%,var(--tf-surface) 100%);display:flex;flex-direction:column;position:relative}.messages-sidebar:after{content:"";position:absolute;top:0;right:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent 0%,#e5e7eb 50%,transparent 100%)}.messages-header{padding:24px 20px 16px;border-bottom:1px solid #e5e7eb;background:var(--tf-surface);position:relative;flex-shrink:0}.messages-header:after{content:"";position:absolute;bottom:0;left:20px;right:20px;height:1px;background:linear-gradient(90deg,transparent 0%,#e5e7eb 50%,transparent 100%)}.messages-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.messages-header h2{margin:0;font-size:24px;font-weight:700;color:#1f2937;letter-spacing:-.025em;background:linear-gradient(135deg,#1f2937,#374151);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.new-message-btn{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px -1px #3b82f633,0 2px 4px -1px #3b82f61a;position:relative;overflow:hidden}.new-message-btn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#2563eb,#1e40af);opacity:0;transition:opacity .3s ease}.new-message-btn:hover{transform:translateY(-2px);box-shadow:0 8px 15px -3px #3b82f64d,0 4px 6px -2px #3b82f626}.new-message-btn:hover:before{opacity:1}.new-message-btn svg{font-size:14px;position:relative;z-index:1}.messages-search{position:relative}.messages-search input{width:100%;padding:12px 16px 12px 40px;border:1px solid #d1d5db;border-radius:10px;font-size:14px;background:var(--tf-surface);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000001a}.messages-search input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a,0 4px 6px -1px #0000001a;transform:translateY(-1px)}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:14px;transition:color .2s ease}.messages-search input:focus+.search-icon{color:#3b82f6}.conversations-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 0;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;background:var(--tf-surface);min-height:0}.conversations-list::-webkit-scrollbar{width:6px}.conversations-list::-webkit-scrollbar-track{background:transparent}.conversations-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px;border:1px solid var(--tf-surface)}.conversations-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.conversation-item{display:flex;align-items:center;padding:14px 16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border-bottom:1px solid #f8fafc;position:relative;margin:0 6px;border-radius:10px}.conversation-item:hover{background:linear-gradient(135deg,#f8fafc,#f1f5f9);transform:translate(2px);box-shadow:0 2px 4px #0000001a,0 1px 2px #0000000f}.conversation-item.active{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-left:3px solid #3b82f6;transform:translate(2px);box-shadow:0 2px 4px #3b82f633,0 1px 2px #3b82f61a}.conversation-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:12px;overflow:hidden;transition:all .3s ease;flex-shrink:0}.conversation-avatar-circle{width:44px;height:44px;border-radius:50%;background:var(--tf-surface-muted);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;overflow:hidden}.conversation-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.conversation-initials{font-size:1rem;font-weight:700;color:#6b7280;text-align:center;line-height:1}.conversation-item:hover .conversation-avatar-circle{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.conversation-content{flex:1;min-width:0}.conversation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.conversation-header h4{margin:0;font-size:15px;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.025em}.conversation-time{font-size:11px;color:#6b7280;white-space:nowrap;font-weight:500;padding:1px 6px;background:#f3f4f6;border-radius:6px;border:1px solid #e5e7eb;flex-shrink:0}.conversation-preview{margin:0;font-size:13px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;font-weight:500}.messages-main{flex:1;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--tf-surface) 0%,var(--tf-surface-muted) 100%);min-width:0;position:relative;height:100%;overflow:hidden}.messages-chat-header{padding:20px 24px;border-bottom:1px solid #e5e7eb;background:var(--tf-surface);position:relative;flex-shrink:0}.messages-chat-header:after{content:"";position:absolute;bottom:0;left:24px;right:24px;height:1px;background:linear-gradient(90deg,transparent 0%,#e5e7eb 50%,transparent 100%)}.chat-participant{display:flex;align-items:center}.participant-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:12px;overflow:hidden;flex-shrink:0}.participant-avatar-circle{width:40px;height:40px;border-radius:50%;background:#f3f4f6;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;overflow:hidden}.participant-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.participant-initials{font-size:.875rem;font-weight:700;color:#6b7280;text-align:center;line-height:1}.participant-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.participant-info h3{margin:0;font-size:18px;font-weight:700;color:#1f2937;letter-spacing:-.025em}.messages-chat{flex:1;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--tf-surface-muted) 0%,var(--tf-surface) 100%);position:relative;min-height:0;max-height:100%;overflow:hidden}.messages-list{flex:1;padding:20px 24px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:16px;min-width:0;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;position:relative;z-index:1;min-height:0;max-height:calc(100vh - 300px)}.messages-list::-webkit-scrollbar{width:8px}.messages-list::-webkit-scrollbar-track{background:var(--tf-surface-muted);border-radius:4px}.messages-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;border:1px solid #e2e8f0}.messages-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.message-item{display:flex;margin-bottom:6px;animation:messageSlideIn .3s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-item.sent{justify-content:flex-end}.message-item.received{justify-content:flex-start}.message-content{max-width:65%;padding:12px 16px;border-radius:18px;position:relative;word-wrap:break-word;overflow-wrap:break-word;box-shadow:0 1px 3px #0000001a;transition:all .3s ease}.message-item.sent .message-content{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 4px #3b82f633,0 1px 2px #3b82f61a}.message-item.sent .message-content p,.message-item.sent .message-meta,.message-item.sent .message-time{color:#fff}.message-item.sent .message-content:before{content:"";position:absolute;bottom:0;right:-6px;width:0;height:0;border-left:6px solid #1d4ed8;border-top:6px solid transparent}.message-item.received .message-content{background:var(--tf-surface);color:var(--tf-text-primary);border:1px solid var(--tf-border);border-bottom-left-radius:4px;box-shadow:0 1px 3px #0000001a,0 0 0 1px #0000000d}.message-item.received .message-content:before{content:"";position:absolute;bottom:0;left:-6px;width:0;height:0;border-right:6px solid var(--tf-surface);border-top:6px solid transparent}.message-content p{margin:0 0 4px;font-size:14px;line-height:1.4;font-weight:500}.message-time{font-size:11px;opacity:.8;display:block;font-weight:500;margin-top:2px}.message-meta{display:flex;align-items:center;gap:6px;margin-top:4px}.message-status{font-size:.7rem;color:#fffc;font-weight:500}.message-item.received .message-status{color:#6b7280}.messages-input{padding:20px 24px;border-top:1px solid #e5e7eb;background:var(--tf-surface);display:flex;align-items:center;gap:12px;min-width:0;position:relative;flex-shrink:0}.messages-input:before{content:"";position:absolute;top:0;left:24px;right:24px;height:1px;background:linear-gradient(90deg,transparent 0%,#e5e7eb 50%,transparent 100%)}.messages-input input{flex:1;padding:14px 18px;border:1px solid #e5e7eb;border-radius:24px;font-size:14px;background:var(--tf-surface);transition:all .3s cubic-bezier(.4,0,.2,1);min-width:0;max-width:100%;box-shadow:0 1px 3px #0000000d;font-weight:500}.messages-input input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a,0 2px 4px #0000001a;transform:translateY(-1px)}.messages-input input::placeholder{color:#9ca3af;font-weight:400}.send-button{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #3b82f633,0 1px 2px #3b82f61a;position:relative;overflow:hidden;flex-shrink:0}.send-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#2563eb,#1e40af);opacity:0;transition:opacity .3s ease}.send-button:hover:not(:disabled){transform:translateY(-1px) scale(1.02);box-shadow:0 4px 8px #3b82f64d,0 2px 4px #3b82f626}.send-button:hover:not(:disabled):before{opacity:1}.send-button:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;transform:none;box-shadow:0 1px 3px #0000001a}.send-button svg{font-size:14px;position:relative;z-index:1;transition:transform .2s ease}.send-button:hover:not(:disabled) svg{transform:translate(1px)}.messages-placeholder,.no-conversations,.no-messages{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px;color:#6b7280;background:linear-gradient(135deg,var(--tf-surface-muted) 0%,var(--tf-surface) 100%);border-radius:12px;margin:16px;border:2px dashed #e2e8f0;position:relative;overflow:hidden}.messages-placeholder{flex:1}.placeholder-icon,.no-conversations-icon,.no-messages-icon{font-size:48px;margin-bottom:16px;color:#3b82f6;opacity:.7;background:linear-gradient(135deg,#3b82f6,#1d4ed8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 4px rgba(59,130,246,.2));position:relative;z-index:1}.messages-placeholder h3,.no-conversations p,.no-messages p{margin:0 0 8px;font-size:20px;font-weight:700;color:#1f2937;letter-spacing:-.025em;position:relative;z-index:1}.messages-placeholder p,.no-conversations span,.no-messages span{margin:0;font-size:14px;color:#6b7280;line-height:1.5;font-weight:500;position:relative;z-index:1;max-width:280px}.messages-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 120px);color:#6b7280;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;margin:16px;position:relative;overflow:hidden}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px;position:relative;z-index:1;box-shadow:0 2px 4px #0000001a}.loading-spinner:before{content:"";position:absolute;top:-3px;left:-3px;right:-3px;bottom:-3px;border:2px solid transparent;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:destination-out;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:.3}.messages-loading p{margin:0;font-size:16px;color:#6b7280;font-weight:600;position:relative;z-index:1}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:modalFadeIn .3s ease-out}@keyframes modalFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.new-message-modal{background:var(--tf-surface);border-radius:20px;width:100%;max-width:480px;max-height:85vh;overflow:hidden;box-shadow:0 32px 64px -12px #0000004d,0 0 0 1px #ffffff1a inset;border:1px solid rgba(255,255,255,.2);animation:modalSlideIn .4s cubic-bezier(.16,1,.3,1);position:relative;display:flex;flex-direction:column}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.new-message-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#1d4ed8,#3b82f6);border-radius:20px 20px 0 0}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 24px 20px;border-bottom:1px solid #e5e7eb;background:var(--tf-surface);position:relative}.modal-title h3{margin:0 0 8px;font-size:20px;font-weight:700;color:#1f2937;letter-spacing:-.025em}.modal-subtitle{margin:0;font-size:14px;color:#6b7280;line-height:1.5;font-weight:500}.close-btn{width:36px;height:36px;border-radius:50%;background:#f3f4f6;color:#6b7280;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;margin-left:16px}.close-btn:hover{background:#e5e7eb;color:#374151;transform:scale(1.05)}.close-btn svg{font-size:14px}.modal-content{flex:1;overflow-y:auto;background:var(--tf-surface);display:flex;flex-direction:column;min-height:0}.user-selection{display:flex;flex-direction:column;height:100%;padding:20px 24px 24px}.user-search{position:relative;margin-bottom:20px}.user-search input{width:100%;padding:12px 16px 12px 40px;border:1px solid #d1d5db;border-radius:12px;font-size:14px;background:var(--tf-surface);transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.user-search input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.user-search .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:14px;pointer-events:none}.users-section{flex:1;display:flex;flex-direction:column;min-height:0;height:100%}.section-title{margin:0 0 16px;font-size:16px;font-weight:600;color:#374151}.users-list{flex:1;overflow-y:auto;overflow-x:hidden;border:1px solid #e5e7eb;border-radius:12px;background:var(--tf-surface-muted);padding:8px;min-height:200px;max-height:300px;display:flex;align-items:center;justify-content:center;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.users-list::-webkit-scrollbar{width:6px}.users-list::-webkit-scrollbar-track{background:transparent}.users-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.users-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.no-users{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;color:#6b7280;min-height:300px;width:100%;background:linear-gradient(135deg,var(--tf-surface-muted) 0%,var(--tf-surface) 100%);border-radius:16px;border:2px dashed #e2e8f0;margin:8px;position:relative;overflow:hidden}.no-users-icon{font-size:48px;margin-bottom:20px;color:#3b82f6;opacity:.6;background:linear-gradient(135deg,#3b82f6,#1d4ed8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 4px rgba(59,130,246,.2));position:relative;z-index:1}.no-users h4{margin:0 0 12px;font-size:20px;font-weight:700;color:#1f2937;letter-spacing:-.025em;position:relative;z-index:1}.no-users p{margin:0 0 16px;font-size:16px;font-weight:500;color:#374151;line-height:1.5;position:relative;z-index:1}.no-users span{font-size:14px;line-height:1.6;color:#6b7280;max-width:280px;display:block;margin:0 auto;position:relative;z-index:1;padding:12px 16px;background:#fffc;border-radius:12px;border:1px solid rgba(59,130,246,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;width:100%;box-sizing:border-box}.user-item{display:flex;align-items:center;padding:16px;cursor:pointer;transition:all .2s ease;background:var(--tf-surface);margin:4px;border-radius:12px;border:1px solid #f3f4f6;position:relative}.user-item:last-child{margin-bottom:4px}.user-item:hover{background:#f8fafc;border-color:#dbeafe;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.user-action{margin-left:auto;opacity:0;transition:all .2s ease;transform:translate(10px)}.user-item:hover .user-action{opacity:1;transform:translate(0)}.select-text{font-size:12px;color:#3b82f6;font-weight:600;padding:6px 12px;background:#3b82f61f;border-radius:16px;border:1px solid #dbeafe;transition:all .2s ease}.user-item:hover .select-text{background:#3b82f6;color:#fff}.user-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:12px;overflow:hidden}.user-avatar-circle{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#2e7dff,#1d4ed8);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #2e7dff33}.user-initials{font-size:.875rem;font-weight:700;color:#fff;text-align:center;line-height:1}.user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.user-info h4{margin:0 0 4px;font-size:14px;font-weight:600;color:#1f2937}.user-role{font-size:12px;color:#6b7280;text-transform:capitalize;font-weight:500;padding:2px 8px;background:#f3f4f6;border-radius:8px;display:inline-block}.message-compose{display:flex;flex-direction:column;height:100%;padding:20px 24px 24px}.compose-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;background:var(--tf-surface-muted);border-radius:12px;border:1px solid #e5e7eb}.selected-user-info{display:flex;align-items:center}.user-details h4{margin:0 0 2px;font-size:14px;font-weight:600;color:#1f2937}.user-details .user-role{font-size:12px;color:#6b7280;text-transform:capitalize;font-weight:500}.change-user-btn{padding:8px 16px;background:var(--tf-surface);color:#3b82f6;border:1px solid #dbeafe;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.change-user-btn:hover{background:#eff6ff;border-color:#3b82f6}.message-input-section{flex:1;display:flex;flex-direction:column;min-height:0}.message-compose textarea{width:100%;padding:16px;border:1px solid #d1d5db;border-radius:12px;font-size:14px;background:var(--tf-surface);resize:vertical;min-height:120px;flex:1;transition:all .2s ease;font-family:inherit;line-height:1.5;margin-bottom:16px}.message-compose textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.message-actions{display:flex;gap:12px;flex-shrink:0}.cancel-btn{padding:12px 20px;background:var(--tf-surface-muted);color:#6b7280;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;flex:1}.cancel-btn:hover{background:#e5e7eb;border-color:#9ca3af}.send-new-message-btn{padding:12px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;flex:2}.send-new-message-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.send-new-message-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.send-new-message-btn svg{font-size:14px}.unread-badge{background-color:#3b82f6;color:#fff;border-radius:50%;padding:2px 6px;font-size:.75rem;font-weight:600;margin-left:8px;min-width:18px;text-align:center;display:inline-block}.typing-indicator{display:flex;align-items:center;gap:8px;padding:8px 12px;margin:8px 0;color:#6b7280;font-size:.875rem}.typing-dots{display:flex;gap:4px}.typing-dots span{width:6px;height:6px;border-radius:50%;background-color:#9ca3af;animation:typing 1.4s infinite ease-in-out}.typing-dots span:nth-child(1){animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.typing-text{font-style:italic}body[data-theme=dark] .messages-container{background:var(--tf-surface);border:1px solid var(--tf-border);box-shadow:0 20px 25px -5px #0f172a73,0 10px 10px -5px #0f172a4d,0 0 0 1px #94a3b833}body[data-theme=dark] .messages-sidebar{background:linear-gradient(180deg,#0f172a,#101c33);border-right:1px solid var(--tf-border)}body[data-theme=dark] .messages-sidebar:after{background:linear-gradient(180deg,transparent 0%,rgba(148,163,184,.3) 50%,transparent 100%)}body[data-theme=dark] .messages-header{background:#0f172ae6;border-bottom:1px solid var(--tf-border)}body[data-theme=dark] .messages-header:after{background:linear-gradient(90deg,transparent 0%,rgba(148,163,184,.3) 50%,transparent 100%)}body[data-theme=dark] .messages-header h2{color:var(--tf-text-primary);background:none;-webkit-text-fill-color:initial;background-clip:border-box}body[data-theme=dark] .new-message-btn{box-shadow:0 6px 10px -3px #2563eb66,0 3px 6px -2px #2563eb4d}body[data-theme=dark] .messages-search input,body[data-theme=dark] .user-search input{background:#0f172ae6;border:1px solid rgba(148,163,184,.25);color:var(--tf-text-primary);box-shadow:inset 0 1px #ffffff0a}body[data-theme=dark] .messages-search input:focus,body[data-theme=dark] .user-search input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb40,inset 0 1px #ffffff0d}body[data-theme=dark] .messages-search input::placeholder,body[data-theme=dark] .user-search input::placeholder{color:#94a3b8b3}body[data-theme=dark] .search-icon{color:#94a3b8b3}body[data-theme=dark] .messages-search input:focus+.search-icon,body[data-theme=dark] .user-search input:focus+.search-icon{color:#60a5fa}body[data-theme=dark] .conversations-list{background:transparent}body[data-theme=dark] .conversation-item{border-bottom:1px solid rgba(15,23,42,.7);background:#0f172a99;box-shadow:none}body[data-theme=dark] .conversation-item:hover{background:linear-gradient(135deg,#111827e6,#1e293be6);box-shadow:0 2px 6px #082f4959,0 1px 3px #082f4933}body[data-theme=dark] .conversation-item.active{background:linear-gradient(135deg,#2563eb26,#3b82f640);border-left-color:#3b82f6;box-shadow:0 2px 6px #2563eb4d,0 1px 3px #2563eb33}body[data-theme=dark] .conversation-avatar-circle,body[data-theme=dark] .participant-avatar-circle{background:#1e293bcc;box-shadow:0 2px 8px #082f4959}body[data-theme=dark] .conversation-initials,body[data-theme=dark] .participant-initials,body[data-theme=dark] .user-initials{color:#e2e8f0e6}body[data-theme=dark] .conversation-header h4,body[data-theme=dark] .participant-info h3,body[data-theme=dark] .user-info h4,body[data-theme=dark] .messages-placeholder h3,body[data-theme=dark] .no-conversations p,body[data-theme=dark] .no-messages p,body[data-theme=dark] .no-users h4{color:var(--tf-text-primary)}body[data-theme=dark] .conversation-time{background:#2563eb1f;border:1px solid rgba(96,165,250,.3);color:#cbd5f5}body[data-theme=dark] .conversation-preview,body[data-theme=dark] .no-conversations span,body[data-theme=dark] .no-messages span,body[data-theme=dark] .no-users p,body[data-theme=dark] .modal-subtitle,body[data-theme=dark] .typing-text{color:#cbd5e1d9}body[data-theme=dark] .messages-main{background:linear-gradient(180deg,#0b1120,#101c33)}body[data-theme=dark] .messages-chat-header{background:#0f172ae6;border-bottom:1px solid var(--tf-border)}body[data-theme=dark] .messages-chat-header:after{background:linear-gradient(90deg,transparent 0%,rgba(148,163,184,.35) 50%,transparent 100%)}body[data-theme=dark] .messages-chat{background:linear-gradient(180deg,#101c33,#0b1120)}body[data-theme=dark] .messages-list{background:transparent}body[data-theme=dark] .messages-list::-webkit-scrollbar-track{background:#0f172acc}body[data-theme=dark] .messages-list::-webkit-scrollbar-thumb{background:#60a5fa4d;border:1px solid rgba(30,64,175,.45)}body[data-theme=dark] .message-content{box-shadow:none}body[data-theme=dark] .message-item.sent .message-content{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 2px 8px #2563eb59,0 1px 4px #2563eb40}body[data-theme=dark] .message-item.sent .message-content:before{border-left-color:#1d4ed8}body[data-theme=dark] .message-item.received .message-content{background:#0f172ad9;color:var(--tf-text-primary);border:1px solid rgba(96,165,250,.18);box-shadow:0 2px 6px #082f4959,0 1px 3px #082f4933}body[data-theme=dark] .message-item.received .message-content:before{border-right-color:#0f172ad9}body[data-theme=dark] .message-time{color:#cbd5e1a6}body[data-theme=dark] .messages-input{background:#0f172aeb;border-top:1px solid var(--tf-border)}body[data-theme=dark] .messages-input:before{background:linear-gradient(90deg,transparent 0%,rgba(148,163,184,.3) 50%,transparent 100%)}body[data-theme=dark] .messages-input input{background:#0f172ae6;border:1px solid rgba(148,163,184,.25);color:var(--tf-text-primary);box-shadow:inset 0 1px #ffffff0d}body[data-theme=dark] .messages-input input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb40,inset 0 1px #ffffff0a}body[data-theme=dark] .messages-input input::placeholder{color:#94a3b899}body[data-theme=dark] .send-button{box-shadow:0 3px 10px #2563eb73,0 2px 6px #2563eb59}body[data-theme=dark] .send-button:disabled{background:linear-gradient(135deg,#94a3b866,#64748b99);box-shadow:none}body[data-theme=dark] .messages-placeholder,body[data-theme=dark] .no-conversations,body[data-theme=dark] .no-messages,body[data-theme=dark] .no-users{background:linear-gradient(135deg,#0f172ae6,#111827e6);border:2px dashed rgba(96,165,250,.25);color:var(--tf-text-secondary)}body[data-theme=dark] .messages-placeholder span,body[data-theme=dark] .no-conversations span,body[data-theme=dark] .no-messages span,body[data-theme=dark] .no-users span{background:#0f172ab3;border-color:#60a5fa33;color:#cbd5e1cc}body[data-theme=dark] .placeholder-icon,body[data-theme=dark] .no-conversations-icon,body[data-theme=dark] .no-messages-icon,body[data-theme=dark] .no-users-icon{filter:drop-shadow(0 4px 10px rgba(37,99,235,.35));opacity:.85}body[data-theme=dark] .modal-overlay{background:#020617d9}body[data-theme=dark] .new-message-modal{background:#0d1526f2;border:1px solid rgba(96,165,250,.2);box-shadow:0 32px 64px -12px #020617b3,0 0 0 1px #60a5fa1f inset}body[data-theme=dark] .modal-header{background:#0f172aeb;border-bottom:1px solid var(--tf-border)}body[data-theme=dark] .modal-title h3{color:var(--tf-text-primary)}body[data-theme=dark] .close-btn{background:#1e293be6;color:#e2e8f0d9}body[data-theme=dark] .close-btn:hover{background:#2563eb33;color:#f8fafc}body[data-theme=dark] .modal-content{background:#0d1526eb}body[data-theme=dark] .users-list{background:#0f172ad9;border:1px solid rgba(96,165,250,.2)}body[data-theme=dark] .users-list::-webkit-scrollbar-thumb{background:#60a5fa59}body[data-theme=dark] .user-item{background:#0f172acc;border:1px solid rgba(96,165,250,.15)}body[data-theme=dark] .user-item:hover{background:#2563eb2e;border-color:#60a5fa66;box-shadow:0 6px 16px #0f172a73}body[data-theme=dark] .select-text{background:#2563eb2e;border:1px solid rgba(59,130,246,.35);color:#60a5fa}body[data-theme=dark] .user-item:hover .select-text{background:#3b82f6;color:#f8fafc}body[data-theme=dark] .user-role{background:#2563eb26;color:#cbd5f5}body[data-theme=dark] .compose-header{background:#0f172ad9;border:1px solid rgba(96,165,250,.15)}body[data-theme=dark] .change-user-btn{background:#0f172acc;border:1px solid rgba(96,165,250,.25);color:#60a5fa}body[data-theme=dark] .change-user-btn:hover{background:#2563eb33;border-color:#60a5fa66}body[data-theme=dark] .message-compose textarea{background:#0f172ae6;border:1px solid rgba(96,165,250,.2);color:var(--tf-text-primary);box-shadow:inset 0 1px #ffffff0d}body[data-theme=dark] .message-compose textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb40,inset 0 1px #ffffff0d}body[data-theme=dark] .cancel-btn{background:#1e293bcc;border:1px solid rgba(148,163,184,.25);color:#cbd5e1e6}body[data-theme=dark] .cancel-btn:hover{background:#2563eb2e;border-color:#60a5fa59;color:#f8fafc}body[data-theme=dark] .send-new-message-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 16px #2563eb73,0 3px 8px #2563eb59}body[data-theme=dark] .send-new-message-btn:disabled{background:linear-gradient(135deg,#94a3b866,#64748b99);box-shadow:none}body[data-theme=dark] .typing-dots span{background-color:#94a3b8cc}body[data-theme=dark] .typing-indicator{color:#cbd5e1cc}body[data-theme=dark] .coach-main-content .messages-container .messages-sidebar,body[data-theme=dark] .athlete-main-content .messages-container .messages-sidebar{border-right:1px solid var(--tf-border)}@media (min-width: 1200px){.messages-container{max-width:1400px;margin:20px auto}.messages-sidebar{width:380px;min-width:380px}}.coach-main-content .messages-container{margin:0;border-radius:0;box-shadow:none;height:100%;border:none}.coach-main-content .messages-container .messages-sidebar{border-right:1px solid var(--tf-border)}.athlete-main-content .messages-container{margin:0;border-radius:0;box-shadow:none;height:100%;border:none}.athlete-main-content .messages-container .messages-sidebar{border-right:1px solid var(--tf-border)}@media (max-width: 768px){.messages-container{flex-direction:column;height:calc(100vh - 80px);margin:8px;border-radius:8px}.messages-sidebar{width:100%;height:40%;border-right:none;border-bottom:1px solid #e5e7eb;min-width:unset}.messages-main{height:60%}.messages-header{padding:16px}.messages-header h2{font-size:20px;margin-bottom:8px}.conversation-item{padding:12px 14px;margin:0 4px}.conversation-avatar{width:40px;height:40px;margin-right:10px}.conversation-avatar-circle{width:40px;height:40px}.conversation-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.conversation-initials{font-size:.875rem}.messages-chat-header,.messages-list,.messages-input{padding:16px}.message-content{max-width:80%}.messages-placeholder,.no-conversations,.no-messages{margin:8px;padding:32px 20px}.placeholder-icon,.no-conversations-icon,.no-messages-icon{font-size:40px;margin-bottom:12px}.messages-placeholder h3,.no-conversations p,.no-messages p{font-size:18px}}@media (max-width: 480px){.messages-container{margin:4px;border-radius:6px}.messages-sidebar{height:35%}.messages-main{height:65%}.conversation-item{padding:10px 12px;margin:0 2px}.conversation-avatar{width:36px;height:36px;margin-right:8px}.conversation-avatar-circle{width:36px;height:36px}.conversation-initials{font-size:.75rem}.conversation-header h4{font-size:14px}.conversation-preview{font-size:12px}.messages-list{padding:12px}.message-content{max-width:85%;padding:10px 14px}.message-content p{font-size:13px}.messages-input input{padding:12px 16px;font-size:13px}.send-button{width:40px;height:40px}.messages-placeholder,.no-conversations,.no-messages{margin:4px;padding:24px 16px}.placeholder-icon,.no-conversations-icon,.no-messages-icon{font-size:32px;margin-bottom:12px}.messages-placeholder h3,.no-conversations p,.no-messages p{font-size:16px}.messages-placeholder p,.no-conversations span,.no-messages span{font-size:13px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.conversation-item{animation:fadeInUp .3s ease-out}.conversation-item:nth-child(1){animation-delay:.05s}.conversation-item:nth-child(2){animation-delay:.1s}.conversation-item:nth-child(3){animation-delay:.15s}.conversation-item:nth-child(4){animation-delay:.2s}.conversation-item:nth-child(5){animation-delay:.25s}*{transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.messages-search input:focus,.messages-input input:focus,.send-button:focus,.new-message-btn:focus{outline:2px solid #3b82f6;outline-offset:2px}@media (prefers-contrast: high){.messages-container{border:2px solid #000000}.conversation-item.active{border-left:3px solid #000000;background:#e5e7eb}.message-item.sent .message-content{background:#000;color:#fff}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.conversation-item:hover,.message-item,.send-button:hover{transform:none}}.messages-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.messages-sidebar,.messages-main,.conversations-list,.messages-list{overflow:hidden}.conversations-list,.messages-list{overflow-y:auto;overflow-x:hidden}.conversation-header h4,.participant-info h3,.message-content p{text-rendering:optimizeLegibility}.messages-container>*{box-sizing:border-box}.messages-sidebar,.messages-main{display:flex;flex-direction:column}.conversations-list,.messages-list{flex:1;min-height:0}.color-theme-selector{width:100%;background:transparent;border-radius:0;box-shadow:none;padding:0}.color-theme-selector h3{margin:0 0 .5rem;color:#1f2937;font-size:1.5rem;font-weight:600}.color-theme-selector>p{margin:0 0 1.5rem;color:#6b7280;font-size:.95rem;line-height:1.5}.color-theme-selector h4{margin:2rem 0 1rem;color:#374151;font-size:1.25rem;font-weight:600}.predefined-themes{margin-bottom:2rem}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-top:1rem}.theme-option{cursor:pointer;border-radius:12px;padding:1rem;border:2px solid transparent;transition:all .2s ease;text-align:center;background:#fff;box-shadow:0 2px 8px #0000000f}.theme-option:hover{border-color:#d1d5db;transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}.theme-option.selected{border-color:#3b82f6;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);box-shadow:0 6px 20px #3b82f626}.theme-preview{width:100%;height:70px;border-radius:8px;margin-bottom:.75rem;overflow:hidden;position:relative;box-shadow:0 2px 8px #0000001a}.theme-preview .preview-header{height:18px;width:100%}.theme-preview .preview-accent{height:6px;width:60%;margin:3px 0}.theme-preview .preview-text{font-size:9px;padding:3px 6px;font-weight:500}.theme-name{font-size:.875rem;font-weight:500;color:#374151}.custom-colors{margin-bottom:2rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;padding:2rem;border:1px solid #e2e8f0}.custom-colors-header{margin-bottom:1.5rem;text-align:center}.custom-colors-header h4{margin:0 0 .5rem;color:#1f2937;font-size:1.25rem;font-weight:600}.color-help-text{color:#6b7280;font-size:.9rem;margin:0;line-height:1.5}.color-inputs{display:flex;flex-direction:column;gap:1.5rem}.color-input-group{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d}.color-input-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.color-input-header label{font-weight:600;color:#374151;font-size:1rem}.color-preview{width:24px;height:24px;border-radius:6px;border:2px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.color-input-wrapper{display:flex;gap:.75rem;margin-bottom:1rem}.color-input{width:50px;height:40px;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;background:none}.color-input:hover{border-color:#3b82f6}.color-text-input{flex:1;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;transition:border-color .2s ease}.color-text-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.color-text-input::placeholder{color:#9ca3af}.color-suggestions{display:flex;flex-wrap:wrap;gap:.5rem}.color-suggestion{padding:.25rem .75rem;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;font-size:.8rem;color:#374151;cursor:pointer;transition:all .2s ease}.color-suggestion:hover{background:#e5e7eb;border-color:#d1d5db;transform:translateY(-1px)}@media (max-width: 768px){.theme-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.theme-option{padding:.75rem}.theme-preview{height:60px}.custom-colors{padding:1.5rem}.color-input-group{padding:1rem}.color-input-wrapper{flex-direction:column}.color-input{width:100%;height:50px}.color-suggestions{gap:.25rem}.color-suggestion{padding:.2rem .5rem;font-size:.75rem}}@media (max-width: 480px){.theme-grid{grid-template-columns:repeat(2,1fr)}.custom-colors{padding:1rem}.color-input-group{padding:.75rem}}.coach-color-theme-page{max-width:1400px;margin:0 auto;padding:0;background:#f8fafc;min-height:100vh}.page-header-section{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem 2rem 3rem;margin-bottom:2rem;border-radius:0 0 24px 24px;box-shadow:0 4px 20px #667eea4d}.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:1.5rem;font-size:14px}.breadcrumb-link{background:none;border:none;color:#ffffffe6;cursor:pointer;font-size:14px;text-decoration:underline;transition:color .2s ease}.breadcrumb-link:hover{color:#fff}.breadcrumb-separator{color:#fff9}.breadcrumb-current{color:#fff;font-weight:500}.header-content{display:flex;align-items:center;justify-content:space-between;gap:2rem}.header-text h1{font-size:2.5rem;font-weight:700;margin:0 0 .75rem;line-height:1.2}.header-text p{font-size:1.1rem;margin:0;opacity:.9;line-height:1.6;max-width:600px}.header-icon{font-size:4rem;opacity:.8;color:#ffffffe6}.success-message{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:1rem 2rem;margin:0 2rem 2rem;border-radius:12px;display:flex;align-items:center;gap:.75rem;font-weight:500;box-shadow:0 4px 12px #10b9814d;animation:slideInDown .3s ease-out}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.content-grid{display:grid;grid-template-columns:1fr 400px;gap:2rem;padding:0 2rem 2rem}.section-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 16px #00000014;border:1px solid #e2e8f0}.section-header{margin-bottom:1.5rem}.section-header h2{font-size:1.5rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.section-header p{color:#6b7280;margin:0;font-size:.95rem}.preview-container{display:flex;justify-content:center;padding:1rem 0}.trainer-card-preview{width:100%;max-width:320px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 32px #0000001f;border:1px solid #e2e8f0;transition:all .3s ease}.trainer-card-preview:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000026}.trainer-profile-image-preview{position:relative;display:flex;justify-content:center;padding:2rem 1rem 1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.trainer-avatar-placeholder-large-preview{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:2rem;box-shadow:0 4px 16px #00000026;transition:all .3s ease}.trainer-avatar-placeholder-large-preview:hover{transform:scale(1.05);box-shadow:0 6px 20px #0003}.favorite-btn-preview{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border-radius:50%;border:none;background:#fff;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;transition:all .2s ease}.favorite-btn-preview:hover{background:#fef2f2;color:#ef4444;transform:scale(1.1)}.trainer-info-section-preview{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.trainer-name-preview{font-size:1.5rem;font-weight:700;margin:0;text-align:center;line-height:1.2}.trainer-rating-preview{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem}.stars-container-preview{display:flex;gap:2px}.star-preview{font-size:.9rem}.star-preview.filled{color:#fbbf24}.star-preview.empty{color:#e5e7eb}.rating-text-preview{font-size:.9rem;font-weight:500}.trainer-sport-preview{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;border-radius:25px;border:none;box-shadow:0 2px 8px #0000001a}.sport-icon-preview{font-size:.9rem}.trainer-location-preview{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem;font-weight:500}.location-icon-preview{font-size:.8rem;color:#9ca3af}.trainer-bio-preview{text-align:center;margin:.5rem 0}.trainer-bio-preview p{line-height:1.6;margin:0;font-size:.95rem;font-weight:400;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.book-now-btn-preview{width:100%;padding:1rem 1.5rem;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #00000026;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:auto}.book-now-btn-preview:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.book-arrow-preview{font-size:.9rem;transition:transform .2s ease}.book-now-btn-preview:hover .book-arrow-preview{transform:translate(4px)}.action-buttons{display:flex;flex-direction:column;gap:1rem}.action-btn{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.action-btn:disabled{opacity:.5;cursor:not-allowed}.preview-btn{background:#f3f4f6;color:#374151}.preview-btn:hover:not(:disabled){background:#e5e7eb}.reset-btn{background:#fef3c7;color:#92400e}.reset-btn:hover:not(:disabled){background:#fde68a}.save-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.save-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.color-theme-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;gap:1rem}.loading-spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 1024px){.content-grid{grid-template-columns:1fr}.preview-section{order:-1}}@media (max-width: 768px){.page-header-section{padding:1.5rem 1.5rem 2rem}.header-content{flex-direction:column;text-align:center;gap:1rem}.header-text h1{font-size:2rem}.header-icon{font-size:3rem}.content-grid{padding:0 1rem 1rem}.section-card{padding:1.5rem}.preview-card{max-width:250px;padding:1rem}.action-buttons{gap:.75rem}.action-btn{padding:.75rem 1rem;font-size:.9rem}}.verify-email-page{min-height:100vh;display:flex;flex-direction:column;background-color:#f8fafc}.verify-email-container{flex:1;display:flex;align-items:center;justify-content:center;padding:20px}.verify-email-content{background:#fff;border-radius:16px;box-shadow:0 10px 25px -5px #0000001a,0 4px 6px -2px #0000000d;padding:48px 40px;max-width:520px;width:100%;text-align:center}.verify-email-header{margin-bottom:32px}.verify-email-logo{height:60px;width:auto}.verification-content{display:flex;flex-direction:column;align-items:center;gap:20px}.verification-icon{width:80px;height:80px;margin-bottom:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.verification-icon svg{width:48px;height:48px}.verification-icon.success{background-color:#d1fae5;color:#10b981}.verification-icon.error{background-color:#fee2e2;color:#ef4444}.verification-icon.info{background-color:#dbeafe;color:#3b82f6}.verification-icon.verifying{background-color:#f3f4f6;color:#6b7280}.icon-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top:4px solid #6b7280;border-radius:50%;animation:spin 1s linear infinite}.verification-content h2{font-size:28px;font-weight:700;color:#111827;margin:0;letter-spacing:-.02em}.verification-content p{font-size:16px;color:#6b7280;line-height:1.6;margin:0;max-width:420px}.verification-content p+p{margin-top:12px}.redirect-notice{font-size:14px;color:#9ca3af;font-style:italic;margin-top:8px!important}.loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top:3px solid #2563eb;border-radius:50%;animation:spin 1s linear infinite;margin-top:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.verification-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px;width:100%}.primary-btn{width:100%;padding:12px 16px;background-color:#2563eb;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.primary-btn:hover{background-color:#1d4ed8}.secondary-btn{width:100%;padding:12px 16px;background-color:transparent;color:#2563eb;border:1px solid #2563eb;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.secondary-btn:hover{background-color:#2563eb;color:#fff}@media (max-width: 640px){.verify-email-content{padding:24px;margin:16px}.verification-content h2{font-size:20px}.verification-content p{font-size:14px}.verification-icon{width:64px;height:64px}.verification-icon svg{width:36px;height:36px}.icon-spinner{width:36px;height:36px;border-width:3px}}:root{--tf-background: #f8fafc;--tf-surface: #ffffff;--tf-surface-muted: #f1f5f9;--tf-text-primary: #1f2937;--tf-text-secondary: #4b5563;--tf-border: #e2e8f0;--tf-sidebar-background: #ffffff;--tf-sidebar-border: #e2e8f0;--tf-sidebar-text: #1e293b;--tf-link: #2563eb;--tf-profile-progress-start: #3b82f6;--tf-profile-progress-end: #2563eb;--tf-profile-progress-shadow: rgba(37, 99, 235, .2)}[data-theme=dark]{--tf-background: #0b1120;--tf-surface: #101a2c;--tf-surface-muted: #1b2640;--tf-text-primary: #e2e8f0;--tf-text-secondary: #cbd5f5;--tf-border: rgba(148, 163, 184, .3);--tf-sidebar-background: #0f172a;--tf-sidebar-border: rgba(148, 163, 184, .16);--tf-sidebar-text: #cbd5f5;--tf-link: #60a5fa;--tf-profile-progress-start: #1d4ed8;--tf-profile-progress-end: #1e3a8a;--tf-profile-progress-shadow: rgba(37, 99, 235, .35)}*,*:before,*:after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}html{background-color:var(--tf-background)}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5;background-color:var(--tf-background);color:var(--tf-text-primary)}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}body{font-family:Inter,sans-serif;margin:0;padding:0}h1,h2,h3,h4,h5,h6,p,span,label,input,button{color:var(--tf-text-primary)}a,[data-theme=dark] a{color:var(--tf-link)}.landing-theme,body[data-theme=dark] .landing-theme{--tf-background: #f8fafc;--tf-surface: #ffffff;--tf-surface-muted: #f1f5f9;--tf-text-primary: #1f2937;--tf-text-secondary: #4b5563;--tf-border: #e2e8f0;--tf-sidebar-background: #ffffff;--tf-sidebar-border: #e2e8f0;--tf-sidebar-text: #1e293b;--tf-link: #2563eb;color-scheme:only light;color:#1f2937;background-color:#f8fafc}.landing-theme h1,.landing-theme h2,.landing-theme h3,.landing-theme h4,.landing-theme h5,.landing-theme h6,.landing-theme p,.landing-theme span,.landing-theme label,.landing-theme input{color:inherit}.landing-theme a{color:#0ea5e9}.landing-theme a:hover{color:#0284c7}h1,h2,h3,h4,h5,h6{font-family:Lora,serif}
