.navbar{animation:fadeInDown .4s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000f2;border-bottom:1px solid var(--border);left:0;padding-top:env(safe-area-inset-top,0);position:fixed;right:0;top:0;z-index:1000}.navbar-container{height:90px;justify-content:space-between;padding:0 40px;width:100%}.navbar-container,.navbar-logo{align-items:center;display:flex}.navbar-logo{text-decoration:none}.logo-image{height:60px;width:auto}.navbar-menu{gap:40px}.navbar-links,.navbar-menu{align-items:center;display:flex}.navbar-links{gap:32px}.navbar-links a{color:var(--text-muted);font-size:14px;font-weight:500;letter-spacing:.5px;position:relative;text-decoration:none;text-transform:uppercase;transition:all .3s ease}.navbar-links a:hover{transform:translateY(-2px)}.navbar-links a.active,.navbar-links a:hover{color:var(--text)}.navbar-links a.active:after{background:var(--primary);border-radius:1px;bottom:-8px;content:"";height:2px;left:0;position:absolute;right:0}.navbar-auth{align-items:center;display:flex;gap:12px}.mobile-menu-btn{background:none;border:none;cursor:pointer;display:none!important;flex-direction:column;gap:5px;padding:10px}.mobile-menu-btn span{background:var(--text);display:block;height:2px;transform-origin:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:24px}.mobile-menu-btn.active span:first-child{transform:translateY(7px) rotate(45deg)}.mobile-menu-btn.active span:nth-child(2){opacity:0;transform:scaleX(0)}.mobile-menu-btn.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu-header{display:none}@media (max-width:768px){.navbar{padding-top:env(safe-area-inset-top,0)}.mobile-menu-btn{display:flex!important;min-height:44px;min-width:44px;padding:12px;z-index:10001}.navbar-container{height:70px;padding:0 16px}.logo-image{height:48px}.navbar-menu{-webkit-overflow-scrolling:touch;align-items:center;background:#000;bottom:0;display:flex;flex-direction:column;gap:0;height:100%;justify-content:flex-start;left:0;min-height:100vh;min-height:100dvh;opacity:0;overflow-x:hidden;overflow-y:auto;padding:calc(20px + env(safe-area-inset-top, 0)) calc(20px + env(safe-area-inset-right, 0)) calc(20px + env(safe-area-inset-bottom, 0)) calc(20px + env(safe-area-inset-left, 0));position:fixed;right:0;top:0;transform:translateX(30px);transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1),visibility .4s;visibility:hidden;width:100%;z-index:10000}.navbar-menu:before{background:#000;bottom:-100px;content:"";left:-100px;pointer-events:none;position:fixed;right:-100px;top:-100px;z-index:-1}.navbar-menu.active{opacity:1;transform:translateX(0);visibility:visible}.navbar-menu .mobile-menu-header{opacity:0;transform:translateY(-10px);transition:opacity .3s ease,transform .3s ease;transition-delay:0s}.navbar-menu.active .mobile-menu-header{opacity:1;transform:translateY(0);transition-delay:.1s}.navbar-menu .navbar-links a{opacity:0;transform:translateX(20px);transition:opacity .3s ease,transform .3s ease,color .3s ease}.navbar-menu.active .navbar-links a{opacity:1;transform:translateX(0)}.navbar-menu.active .navbar-links a:first-child{transition-delay:.15s}.navbar-menu.active .navbar-links a:nth-child(2){transition-delay:.2s}.navbar-menu.active .navbar-links a:nth-child(3){transition-delay:.25s}.navbar-menu.active .navbar-links a:nth-child(4){transition-delay:.3s}.navbar-menu.active .navbar-links a:nth-child(5){transition-delay:.35s}.navbar-menu .navbar-auth{opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}.navbar-menu.active .navbar-auth{opacity:1;transform:translateY(0);transition-delay:.4s}.mobile-menu-header{border-bottom:1px solid var(--border);justify-content:flex-start;margin-bottom:24px;padding:15px 0;width:100%}.mobile-menu-header,.mobile-menu-logo{align-items:center;display:flex}.mobile-menu-logo img{height:48px;width:auto}.navbar-links{flex-direction:column;gap:0;width:100%}.navbar-links a{border-bottom:1px solid var(--border);display:block;font-size:17px;min-height:52px;padding:16px 0;text-align:left;width:100%}.navbar-links a:hover{transform:none}.navbar-links a:active{background:#ffffff0d}.navbar-links a.active:after{display:none}.navbar-auth{flex-direction:column;gap:12px;margin-top:24px;width:100%}.navbar-auth .btn{font-size:14px;justify-content:center;min-height:52px;padding:16px 20px;width:100%}}@media (max-width:400px){.navbar-container{height:64px;padding:0 12px}.logo-image,.mobile-menu-logo img{height:42px}.navbar-links a{font-size:16px;min-height:48px;padding:14px 0}.navbar-auth .btn{font-size:13px;min-height:48px;padding:14px 18px}}.footer{background:#000;border-top:1px solid var(--border);margin-top:80px}.footer-container{margin:0 auto;max-width:1200px;padding:60px 20px 30px}.footer-main{grid-gap:60px;display:grid;gap:60px;grid-template-columns:1fr 2fr}.footer-logo{display:block;margin-bottom:12px;text-decoration:none}.footer-logo-image{height:80px;width:auto}.footer-tagline{color:var(--text-muted);margin-bottom:20px}.footer-social{display:flex;gap:16px}.footer-social a{align-items:center;background:var(--secondary-light);border-radius:50%;color:var(--text-muted);display:flex;height:40px;justify-content:center;transition:all .2s ease;width:40px}.footer-social a:hover{background:var(--primary);color:#fff}.footer-links{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(3,1fr)}.footer-column h4{color:var(--text);font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:20px;text-transform:uppercase}.footer-column a,.footer-column p{color:var(--text-muted);display:block;font-size:14px;margin-bottom:12px;transition:color .2s ease}.footer-column a:hover{color:var(--primary)}.footer-bottom{border-top:1px solid var(--border);margin-top:40px;padding-top:30px;text-align:center}.footer-bottom p{color:var(--text-muted);font-size:13px}@media (max-width:900px){.footer-main{gap:40px;grid-template-columns:1fr}.footer-links{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.footer{margin-top:60px;padding-bottom:env(safe-area-inset-bottom,0)}.footer-container{padding:48px 16px calc(24px + env(safe-area-inset-bottom, 0))}.footer-logo-image{height:70px}.footer-tagline{font-size:14px}.footer-social a{height:44px;width:44px}.footer-links{gap:24px;grid-template-columns:1fr 1fr}.footer-column h4{font-size:13px;margin-bottom:16px}.footer-column a{font-size:14px;margin-bottom:8px;padding:6px 0}.footer-bottom{margin-top:32px;padding-top:24px}.footer-bottom p{font-size:12px}}@media (max-width:400px){.footer-container{padding:40px 12px calc(20px + env(safe-area-inset-bottom, 0))}.footer-links{gap:24px;grid-template-columns:1fr}.footer-logo-image{height:60px}.footer-tagline{font-size:13px}.footer-column h4{margin-bottom:12px}}.hero{align-items:center;display:flex;justify-content:flex-start;min-height:100vh;overflow:hidden;position:relative}.hero-background{bottom:0;left:0;position:absolute;right:0;top:0;z-index:0}.hero-background img{height:100%;object-fit:cover;width:100%}.hero-overlay{background:linear-gradient(180deg,#000000b3 0,#00000080 50%,#000c);bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.hero-content{animation:fadeIn .8s cubic-bezier(.4,0,.2,1);max-width:700px;padding:0 20px 0 80px;position:relative;text-align:left;z-index:2}.hero-logo{animation:fadeInDown .7s cubic-bezier(.4,0,.2,1);height:auto;margin-bottom:24px;max-width:400px;width:100%}.hero-title{animation:fadeInUp .7s cubic-bezier(.4,0,.2,1) .1s backwards;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-bottom:24px}.hero-accent{color:var(--primary)}.hero-subtitle{animation:fadeInUp .7s cubic-bezier(.4,0,.2,1) .2s backwards;color:var(--text-muted);font-size:clamp(1rem,2vw,1.25rem);margin-bottom:40px;max-width:600px}.hero-buttons{animation:fadeInUp .7s cubic-bezier(.4,0,.2,1) .3s backwards;display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-start}.hero-buttons .btn-outline{background:#fff;border-color:#fff;color:var(--primary)}.hero-buttons .btn-outline:hover{background:var(--primary);border-color:var(--primary);color:#fff}.features{background:var(--background);padding:100px 0}.section-header{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1);margin-bottom:60px;text-align:center}.section-header h2{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;margin-bottom:16px}.section-header p{color:var(--text-muted);font-size:1.1rem;margin:0 auto;max-width:500px}.features-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.feature-card{animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) backwards;background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:40px 30px;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.feature-card:first-child{animation-delay:.1s}.feature-card:nth-child(2){animation-delay:.2s}.feature-card:nth-child(3){animation-delay:.3s}.feature-card:hover{border-color:var(--primary);box-shadow:0 15px 35px #0000004d;transform:translateY(-8px)}.feature-icon{align-items:center;background:var(--primary);border-radius:16px;display:flex;height:70px;justify-content:center;margin:0 auto 24px;width:70px}.feature-icon svg{color:#fff;height:32px;width:32px}.feature-card h3{font-size:1.25rem;font-weight:700;margin-bottom:12px}.feature-card p{color:var(--text-muted);font-size:.95rem;line-height:1.7}.facility{background:var(--secondary);padding:100px 0}.facility-grid{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1fr 1fr}.facility-image{border-radius:16px;overflow:hidden}.facility-image img{display:block;height:auto;width:100%}.facility-content h2{font-size:2rem;font-weight:700;margin-bottom:20px}.facility-content p{color:var(--text-muted);font-size:1.05rem;line-height:1.8;margin-bottom:24px}.facility-features{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;list-style:none;margin-bottom:30px}.facility-features li{color:var(--text);font-size:.95rem;padding-left:24px;position:relative}.facility-features li:before{background:var(--primary);border-radius:2px;content:"";height:12px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:12px}.community{background:var(--background);padding:100px 0}.community-grid{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1fr 1fr}.community-content h2{font-size:2rem;font-weight:700;margin-bottom:20px}.community-content p{color:var(--text-muted);font-size:1.05rem;line-height:1.8;margin-bottom:20px}.community-image{border-radius:16px;overflow:hidden}.community-image img{display:block;height:auto;width:100%}.classes-preview{background:var(--secondary);padding:100px 0}.classes-grid{grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.class-card{animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) backwards;background:var(--card-bg);border:1px solid var(--border);border-radius:16px;overflow:hidden;padding:30px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.class-card:first-child{animation-delay:.1s}.class-card:nth-child(2){animation-delay:.15s}.class-card:nth-child(3){animation-delay:.2s}.class-card:nth-child(4){animation-delay:.25s}.class-card:before{background:var(--accent-color);content:"";height:100%;left:0;position:absolute;top:0;width:4px}.class-card:hover{border-color:var(--accent-color);box-shadow:0 10px 25px #0000004d;transform:translateX(8px)}.class-header{margin-bottom:12px}.class-type{background:#ffffff0d;border-radius:6px;color:var(--accent-color);display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;padding:4px 10px;text-transform:uppercase}.class-card h3{font-size:1.2rem;font-weight:700}.class-card p{color:var(--text-muted);font-size:.9rem;line-height:1.6}.classes-cta{margin-top:50px;text-align:center}.cta-section{background:var(--primary);overflow:hidden;padding:100px 0;position:relative}.cta-content{animation:scaleIn .6s cubic-bezier(.4,0,.2,1);position:relative;text-align:center;z-index:1}.cta-content h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;margin-bottom:16px}.cta-content p{font-size:1.1rem;margin-bottom:32px;margin-left:auto;margin-right:auto;max-width:500px;opacity:.9}.cta-buttons{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.cta-section .btn-primary{background:#fff;color:var(--primary)}.cta-section .btn-primary:hover{background:#ffffffe6}.cta-section .btn-secondary{background:#0000;border:2px solid #fff}.cta-section .btn-secondary:hover{background:#ffffff1a}@media (max-width:900px){.community-grid,.facility-grid{gap:40px;grid-template-columns:1fr}.community-grid{direction:ltr}.community-image{order:-1}}@media (max-width:768px){.classes-preview,.community,.cta-section,.facility,.features{padding:60px 0}.cta-section{padding-bottom:calc(60px + env(safe-area-inset-bottom, 0))}.classes-grid,.facility-features,.features-grid{grid-template-columns:1fr}.hero-logo{max-width:280px}.hero-content{padding:0 24px}.class-card:hover,.feature-card:hover{transform:none}.class-card:active,.feature-card:active{background:var(--secondary-light)}.hero-buttons .btn{font-size:14px}.classes-cta .btn,.cta-buttons .btn,.hero-buttons .btn{min-height:48px;padding:14px 24px}.section-header{margin-bottom:40px}.section-header p{font-size:1rem;padding:0 16px}.feature-card{padding:32px 24px}.feature-icon{height:60px;margin-bottom:20px;width:60px}.feature-card h3{font-size:1.15rem}.feature-card p{font-size:.9rem}.class-card{padding:24px}.community-content h2,.facility-content h2{font-size:1.6rem}.community-content p,.facility-content p{font-size:1rem}.facility-features li{font-size:.95rem;padding:8px 0 8px 28px}.cta-content p{font-size:1rem;padding:0 16px}}@media (max-width:500px){.hero-content{padding:0 18px}.hero-logo{margin-bottom:20px;max-width:220px}.hero-title{margin-bottom:18px}.hero-subtitle{font-size:.95rem;line-height:1.6;margin-bottom:28px}.hero-buttons{gap:12px}.hero-buttons .btn{flex:1 1;font-size:13px;min-width:140px;padding:12px 20px}.classes-preview,.community,.cta-section,.facility,.features{padding:48px 0}.section-header{margin-bottom:32px}.section-header h2{margin-bottom:12px}.feature-card{padding:28px 20px}.feature-icon{height:54px;margin-bottom:18px;width:54px}.feature-icon svg{height:26px;width:26px}.class-card{padding:20px 18px}.class-type{font-size:10px;padding:4px 8px}.class-card h3{font-size:1.1rem}.class-card p{font-size:.85rem}.classes-cta{margin-top:36px}.cta-content h2{margin-bottom:12px}.cta-content p{margin-bottom:24px}.cta-buttons{gap:12px}.cta-buttons .btn{flex:1 1;font-size:13px;min-width:130px;padding:12px 20px}}@media (max-width:360px){.hero-content{padding:0 14px}.hero-logo{max-width:180px}.hero-subtitle{font-size:.9rem}.cta-buttons .btn,.hero-buttons .btn{font-size:12px;min-height:44px;padding:11px 16px}.classes-preview,.community,.cta-section,.facility,.features{padding:40px 0}.feature-card{padding:24px 18px}.community-content h2,.facility-content h2{font-size:1.4rem}.community-content p,.facility-content p{font-size:.95rem}}.toast-container{display:flex;flex-direction:column;gap:10px;max-width:400px;position:fixed;right:20px;top:20px;z-index:10000}.toast{align-items:center;animation:slideIn .3s ease;background:#1a1a1a;border-left:4px solid;border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;gap:12px;padding:14px 16px}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast-success{border-left-color:#22c55e}.toast-error{border-left-color:#ef4444}.toast-warning{border-left-color:#f59e0b}.toast-info{border-left-color:#3b82f6}.toast-icon{flex-shrink:0;height:22px;width:22px}.toast-icon svg{height:100%;width:100%}.toast-success .toast-icon svg{stroke:#22c55e}.toast-error .toast-icon svg{stroke:#ef4444}.toast-warning .toast-icon svg{stroke:#f59e0b}.toast-info .toast-icon svg{stroke:#3b82f6}.toast-message{color:#fff;flex:1 1;font-size:14px;line-height:1.4}.toast-close{background:none;border:none;cursor:pointer;flex-shrink:0;height:20px;opacity:.5;padding:0;transition:opacity .2s;width:20px}.toast-close:hover{opacity:1}.toast-close svg{stroke:#fff;height:100%;width:100%}.confirm-modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10001}.confirm-modal{animation:scaleIn .2s ease;background:#1a1a1a;border-radius:12px;max-width:400px;padding:32px;text-align:center;width:90%}.confirm-icon{align-items:center;background:#ef44441a;border-radius:50%;display:flex;height:56px;justify-content:center;margin:0 auto 20px;width:56px}.confirm-icon svg{stroke:#ef4444;height:28px;width:28px}.confirm-message{color:#fff;font-size:16px;line-height:1.5;margin-bottom:24px}.confirm-actions{display:flex;gap:12px;justify-content:center}.confirm-actions .btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;min-width:100px;padding:10px 20px;transition:all .2s}.confirm-actions .btn-secondary{background:#333;color:#fff}.confirm-actions .btn-secondary:hover{background:#444}.confirm-actions .btn-danger{background:#ef4444;color:#fff}.confirm-actions .btn-danger:hover{background:#dc2626}@media (max-width:600px){.toast-container{left:12px;max-width:none;right:12px;top:calc(16px + env(safe-area-inset-top, 0))}.toast{padding:16px}.toast-message{font-size:14px}.toast-close{height:28px;padding:4px;width:28px}.confirm-modal-overlay{padding:calc(16px + env(safe-area-inset-top, 0)) 16px calc(16px + env(safe-area-inset-bottom, 0))}.confirm-modal{padding:28px 24px}.confirm-icon{height:52px;margin-bottom:18px;width:52px}.confirm-icon svg{height:26px;width:26px}.confirm-message{font-size:15px;margin-bottom:22px}.confirm-actions{flex-direction:column-reverse;gap:10px}.confirm-actions .btn{font-size:15px;min-height:48px;padding:14px 20px;width:100%}}@media (max-width:360px){.toast-container{left:10px;right:10px;top:calc(12px + env(safe-area-inset-top, 0))}.toast{gap:10px;padding:14px}.toast-icon{height:20px;width:20px}.toast-message{font-size:13px}.confirm-modal{padding:24px 20px}.confirm-message{font-size:14px}.confirm-actions .btn{font-size:14px;min-height:46px;padding:12px 18px}}.timetable-page{animation:fadeIn .5s ease;background:var(--background);min-height:100vh;padding-top:70px}.timetable-container{margin:0 auto;max-width:1600px;padding:0 24px}.timetable-hero{margin-bottom:40px;overflow:hidden;padding:100px 0;position:relative;text-align:center}.timetable-hero:before{background-image:url(/static/media/slide-2.7d1e709fe02080e406ae.jpg);background-position:50%;background-size:cover;z-index:0}.timetable-hero:after,.timetable-hero:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0}.timetable-hero:after{background:linear-gradient(180deg,#000000b3 0,#000c);z-index:1}.timetable-hero .container{position:relative;z-index:2}.timetable-hero h1{animation:fadeInDown .7s cubic-bezier(.4,0,.2,1);font-size:clamp(2rem,5vw,3rem);font-weight:800;margin-bottom:16px}.timetable-hero p{animation:fadeInUp .7s cubic-bezier(.4,0,.2,1) .1s backwards;color:#fffc;font-size:1.2rem;margin:0 auto;max-width:600px}.week-nav-container{align-items:center;animation:scaleIn .5s cubic-bezier(.4,0,.2,1);background:var(--card-bg);border:1px solid var(--border);border-radius:16px;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px;padding:20px 30px}.week-nav-buttons{align-items:center;display:flex;gap:12px}.week-nav-btn{align-items:center;background:var(--secondary);border:1px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .2s ease}.week-nav-btn:hover{background:var(--primary);border-color:var(--primary)}.week-nav-btn svg{height:18px;width:18px}.today-btn{background:var(--primary);border-color:var(--primary)}.today-btn:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.week-info{text-align:center}.week-label{display:block;font-size:1.3rem;font-weight:700;margin-bottom:4px}.week-year{color:var(--text-muted);font-size:.9rem}.view-toggle{background:var(--secondary);border-radius:10px;display:flex;gap:4px;padding:4px}.view-btn{background:#0000;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px;transition:all .2s ease}.view-btn.active{background:var(--primary);color:#fff}.view-btn:hover:not(.active){color:var(--text)}.timetable-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(7,1fr);margin-bottom:40px}.day-column{animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) backwards;background:var(--card-bg);border:1px solid var(--border);border-radius:16px;min-height:500px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.day-column:first-child{animation-delay:.05s}.day-column:nth-child(2){animation-delay:.1s}.day-column:nth-child(3){animation-delay:.15s}.day-column:nth-child(4){animation-delay:.2s}.day-column:nth-child(5){animation-delay:.25s}.day-column:nth-child(6){animation-delay:.3s}.day-column:nth-child(7){animation-delay:.35s}.day-column:hover{border-color:var(--primary-light);box-shadow:0 12px 30px #0000004d;transform:translateY(-4px)}.day-column.past{opacity:.5}.day-column.past:hover{opacity:.6}.day-column.today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary),0 8px 30px #3d5a3d33}.day-header{background:var(--secondary);border-bottom:1px solid var(--border);padding:24px 20px;position:relative;text-align:center}.day-column.today .day-header{background:linear-gradient(135deg,var(--primary),var(--primary-dark))}.day-name{color:var(--text-muted);display:block;font-size:13px;font-weight:700;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.day-column.today .day-name{color:#ffffffd9}.day-date{align-items:center;background:var(--card-bg);border-radius:50%;display:flex;font-size:1.4rem;font-weight:800;height:48px;justify-content:center;margin:0 auto;width:48px}.day-column.today .day-date{background:#fff;color:var(--primary)}.today-badge{background:var(--success);border-radius:4px;color:#fff;font-size:10px;font-weight:700;padding:4px 8px;position:absolute;right:10px;text-transform:uppercase;top:10px}.day-sessions{display:flex;flex-direction:column;gap:12px;padding:16px}.no-sessions{background:var(--secondary);border-radius:12px;color:var(--text-muted);font-size:14px;margin:16px;padding:40px 20px;text-align:center}.no-sessions svg{height:40px;margin-bottom:12px;opacity:.4;width:40px}.no-sessions.gym-closed{background:#ef44441a;border:1px dashed #ef44444d}.no-sessions.gym-closed svg{color:var(--error);opacity:.6}.list-no-sessions.gym-closed{color:var(--error);opacity:.8}.session-card{animation:scaleIn .4s cubic-bezier(.4,0,.2,1) backwards;background:var(--secondary);border-left:4px solid var(--session-color);border-radius:12px;cursor:pointer;padding:16px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.session-card:hover{background:var(--secondary-light);box-shadow:0 4px 12px #0003;transform:translateX(3px)}.session-card.booked{background:#10b98126;border-left-color:var(--success)}.session-card.booked:after{background:var(--success);border-radius:50%;content:"";height:8px;position:absolute;right:10px;top:10px;width:8px}.session-card.past-session{cursor:default;opacity:.5}.session-card.past-session:hover{box-shadow:none;transform:none}.session-time{align-items:center;background:#ffffff0d;border-radius:6px;color:var(--session-color);display:inline-flex;font-size:12px;font-weight:700;gap:6px;margin-bottom:10px;padding:4px 10px}.session-time svg{height:14px;width:14px}.session-name{font-size:15px;font-weight:700;line-height:1.3;margin-bottom:4px}.session-instructor{align-items:center;color:var(--text-muted);display:flex;font-size:13px;gap:6px;margin-bottom:12px}.session-instructor svg{height:14px;opacity:.6;width:14px}.session-meta{align-items:center;border-top:1px solid var(--border);color:var(--text-muted);display:flex;font-size:12px;gap:12px;margin-bottom:12px;padding-top:10px}.session-meta span{align-items:center;display:flex;gap:4px}.session-meta svg{height:14px;opacity:.6;width:14px}.session-actions{margin-top:12px}.btn-book{align-items:center;background:var(--session-color);border:none;border-radius:8px;box-shadow:0 4px 12px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;justify-content:center;padding:10px 16px;transition:all .2s ease;width:100%}.btn-book:hover{box-shadow:0 6px 20px #0006;transform:translateY(-2px)}.btn-book.loading{cursor:not-allowed;opacity:.7}.btn-booked{align-items:center;background:var(--success);border:none;border-radius:8px;box-shadow:0 4px 12px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;justify-content:center;padding:10px 16px;transition:all .2s ease;width:100%}.btn-booked:hover{background:var(--error);box-shadow:0 6px 20px #0006;transform:translateY(-2px)}.btn-booked .booked-text,.btn-booked .check-icon{display:inline}.btn-booked .cancel-icon,.btn-booked .cancel-text,.btn-booked:hover .booked-text,.btn-booked:hover .check-icon{display:none}.btn-booked:hover .cancel-icon,.btn-booked:hover .cancel-text{display:inline}.btn-booked svg{height:16px;width:16px}.timetable-legend{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) .4s backwards;background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:30px}.legend-header{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:20px}.legend-header svg{color:var(--primary);height:24px;width:24px}.legend-header h3{font-size:1.1rem;font-weight:700;margin:0}.legend-items{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}.legend-item{align-items:center;display:flex;font-size:14px;font-weight:500;gap:10px}.legend-color{border-radius:6px;height:20px;width:20px}.loading{padding:100px 40px}.loading-spinner{animation:spin 1s linear infinite;height:50px;margin:0 auto 20px;width:50px}.timetable-list{display:flex;flex-direction:column;gap:20px;margin-bottom:40px}.list-day{animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) backwards;background:var(--card-bg);border:1px solid var(--border);border-radius:16px;overflow:hidden}.list-day:first-child{animation-delay:.05s}.list-day:nth-child(2){animation-delay:.1s}.list-day:nth-child(3){animation-delay:.15s}.list-day:nth-child(4){animation-delay:.2s}.list-day:nth-child(5){animation-delay:.25s}.list-day:nth-child(6){animation-delay:.3s}.list-day:nth-child(7){animation-delay:.35s}.list-day.today{border-color:var(--primary)}.list-day-header{align-items:center;background:var(--secondary);border-bottom:1px solid var(--border);display:flex;gap:20px;padding:20px 24px}.list-day.today .list-day-header{background:linear-gradient(135deg,var(--primary),var(--primary-dark))}.list-date-badge{align-items:center;background:var(--card-bg);border-radius:12px;display:flex;flex-direction:column;height:60px;justify-content:center;width:60px}.list-day.today .list-date-badge{background:#fff;color:var(--primary)}.list-date-badge .date-num{font-size:1.5rem;font-weight:800;line-height:1}.list-date-badge .date-month{font-size:11px;font-weight:600;opacity:.7;text-transform:uppercase}.list-day-info h3{font-size:1.2rem;font-weight:700;margin-bottom:4px}.list-day-info span{color:var(--text-muted);font-size:14px}.list-day.today .list-day-info span{color:#ffffffb3}.list-sessions{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:20px}.list-no-sessions{color:var(--text-muted);padding:40px;text-align:center}@media (max-width:1400px){.timetable-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:1100px){.timetable-grid{grid-template-columns:repeat(3,1fr)}.week-nav-container{justify-content:center}.view-toggle{display:none}}@media (max-width:800px){.timetable-grid{grid-template-columns:repeat(2,1fr)}.day-column{min-height:400px}.week-nav-container{flex-direction:column;text-align:center}.week-nav-buttons{order:2}.week-info{order:1}}@media (max-width:550px){.timetable-page{padding:70px 0 calc(30px + env(safe-area-inset-bottom, 0))}.timetable-hero{margin-bottom:20px;padding:30px 0}.timetable-hero h1{font-size:1.5rem}.timetable-hero p{font-size:.95rem;padding:0 16px}.timetable-container{padding:0 12px}.week-nav-container{border-radius:12px;gap:12px;margin-bottom:20px;padding:16px}.week-label{font-size:1.1rem}.week-year{font-size:.8rem}.week-nav-buttons{justify-content:center;width:100%}.week-nav-btn{flex:1 1;font-size:13px;min-height:48px;padding:14px 16px}.week-nav-btn span{display:none}.week-nav-btn svg{height:20px;width:20px}.timetable-grid{gap:12px;grid-template-columns:1fr}.day-column{border-radius:12px;min-height:auto}.day-column:hover{transform:none}.day-header{padding:16px}.day-name{font-size:11px;margin-bottom:4px}.day-date{font-size:1.2rem;height:44px;width:44px}.today-badge{font-size:9px;padding:4px 8px}.day-sessions{gap:12px;padding:12px}.no-sessions{font-size:13px;margin:8px;padding:24px 16px}.no-sessions svg{height:32px;margin-bottom:8px;width:32px}.session-card{border-radius:12px;padding:16px}.session-card:hover{transform:none}.session-card:active{background:var(--secondary-light)}.session-time{font-size:12px;margin-bottom:10px;padding:4px 10px}.session-time svg{height:14px;width:14px}.session-name{font-size:15px;margin-bottom:6px}.session-instructor{font-size:13px;margin-bottom:14px}.session-instructor svg{height:14px;width:14px}.btn-book,.btn-booked{font-size:14px;min-height:48px;padding:14px 16px}.btn-booked svg{height:18px;width:18px}.list-day-header{gap:12px;padding:16px}.list-date-badge{border-radius:10px;height:54px;width:54px}.list-date-badge .date-num{font-size:1.3rem}.list-date-badge .date-month{font-size:11px}.list-day-info h3{font-size:1.05rem}.list-day-info span{font-size:13px}.list-sessions{gap:12px;grid-template-columns:1fr;padding:12px}.list-no-sessions{font-size:14px;padding:28px}.timetable-legend{border-radius:12px;padding:20px}.legend-header{margin-bottom:16px}.legend-header svg{height:20px;width:20px}.legend-header h3{font-size:1rem}.legend-items{gap:14px 18px}.legend-item{font-size:13px;gap:10px}.legend-color{border-radius:4px;height:18px;width:18px}.timetable-about{margin-top:30px;padding-top:30px}.about-intro{margin-bottom:40px}.about-intro h2{font-size:1.3rem;margin-bottom:16px}.about-intro p{font-size:.95rem;line-height:1.7}.class-descriptions h2{font-size:1.3rem;margin-bottom:20px}.class-desc-card{padding:20px}.class-desc-card:hover{transform:none}.class-desc-card h3{font-size:1.05rem}.class-desc-card p{font-size:.9rem}.pt-section{border-radius:12px;padding:28px 18px}.pt-section h2{font-size:1.3rem;margin-bottom:16px}.pt-section p{font-size:.95rem;line-height:1.7;margin-bottom:20px}}@media (max-width:360px){.timetable-page{padding:65px 0 calc(24px + env(safe-area-inset-bottom, 0))}.timetable-hero{margin-bottom:16px;padding:24px 0}.timetable-hero h1{font-size:1.3rem}.timetable-hero p{font-size:.9rem}.timetable-container{padding:0 10px}.week-nav-container{border-radius:10px;gap:10px;margin-bottom:16px;padding:12px}.week-label{font-size:1rem}.week-year{font-size:.8rem}.week-nav-btn{border-radius:8px;font-size:12px;min-height:44px;padding:12px 10px}.week-nav-btn svg{height:18px;width:18px}.timetable-grid{gap:10px}.day-column{border-radius:10px}.day-header{padding:14px 12px}.day-name{font-size:10px}.day-date{font-size:1.1rem;height:40px;width:40px}.today-badge{font-size:8px;padding:3px 6px;right:6px;top:6px}.day-sessions{gap:10px;padding:10px}.no-sessions{font-size:12px;margin:6px;padding:20px 12px}.no-sessions svg{height:28px;margin-bottom:6px;width:28px}.session-card{border-radius:10px;padding:14px 12px}.session-time{font-size:11px;margin-bottom:8px;padding:3px 8px}.session-time svg{height:12px;width:12px}.session-name{font-size:14px;margin-bottom:4px}.session-instructor{font-size:12px;margin-bottom:12px}.session-instructor svg{height:12px;width:12px}.btn-book,.btn-booked{border-radius:8px;font-size:13px;min-height:44px;padding:12px 14px}.btn-booked svg{height:16px;width:16px}.list-day-header{gap:10px;padding:14px 12px}.list-date-badge{border-radius:8px;height:48px;width:48px}.list-date-badge .date-num{font-size:1.15rem}.list-date-badge .date-month{font-size:10px}.list-day-info h3{font-size:1rem}.list-day-info span{font-size:12px}.list-sessions{gap:10px;padding:10px}.list-no-sessions{font-size:13px;padding:24px}.timetable-legend{border-radius:10px;padding:16px}.legend-header{gap:8px;margin-bottom:12px}.legend-header svg{height:18px;width:18px}.legend-header h3{font-size:.95rem}.legend-items{gap:10px 14px}.legend-item{font-size:12px;gap:8px}.legend-color{border-radius:3px;height:16px;width:16px}.timetable-about{margin-top:24px;padding-top:24px}.about-intro{margin-bottom:30px}.about-intro h2{font-size:1.2rem;margin-bottom:12px}.about-intro p{font-size:.9rem;line-height:1.6}.class-descriptions h2{font-size:1.2rem;margin-bottom:16px}.class-desc-card{border-radius:10px;padding:18px}.class-desc-card h3{font-size:.95rem;margin-bottom:8px}.class-desc-card p{font-size:.85rem;line-height:1.6}.pt-section{border-radius:10px;padding:22px 16px}.pt-section h2{font-size:1.2rem;margin-bottom:12px}.pt-section p{font-size:.9rem;line-height:1.6;margin-bottom:16px}.pt-section .btn{font-size:13px;min-height:44px;padding:12px 18px}}.timetable-about{border-top:1px solid var(--border);margin-top:60px;padding-top:60px}.about-intro{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1);margin:0 auto 60px;max-width:800px;text-align:center}.about-intro h2{color:var(--text);font-size:2rem;font-weight:700;margin-bottom:24px}.about-intro p{color:var(--text-muted);font-size:1.1rem;line-height:1.8;margin-bottom:16px}.about-intro strong{color:var(--primary-light)}.class-descriptions{margin-bottom:60px}.class-descriptions h2{animation:fadeInUp .5s ease;font-size:1.75rem;font-weight:700;margin-bottom:30px;text-align:center}.class-desc-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.class-desc-card{animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) backwards;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:28px;transition:all .3s cubic-bezier(.4,0,.2,1)}.class-desc-card:first-child{animation-delay:.05s}.class-desc-card:nth-child(2){animation-delay:.1s}.class-desc-card:nth-child(3){animation-delay:.15s}.class-desc-card:nth-child(4){animation-delay:.2s}.class-desc-card:nth-child(5){animation-delay:.25s}.class-desc-card:nth-child(6){animation-delay:.3s}.class-desc-card:nth-child(7){animation-delay:.35s}.class-desc-card:hover{border-color:var(--primary);box-shadow:0 12px 30px #0000004d;transform:translateY(-4px)}.class-desc-card h3{color:var(--primary-light);font-size:1.25rem;font-weight:700;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.class-desc-card p{color:var(--text-muted);font-size:.95rem;line-height:1.7}.pt-section{animation:scaleIn .6s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:16px;padding:50px;text-align:center}.pt-section h2{color:#fff;font-size:2rem;font-weight:700;margin-bottom:20px}.pt-section p{color:#ffffffe6;font-size:1.1rem;line-height:1.8;margin:0 auto 30px;max-width:700px}.pt-section strong{color:#fff}.pt-section .btn{background:#fff;color:var(--primary)}.pt-section .btn:hover{background:#ffffffe6;box-shadow:0 8px 25px #0000004d;transform:translateY(-2px)}@media (max-width:768px){.timetable-about{margin-top:40px;padding-top:40px}.about-intro h2,.class-descriptions h2,.pt-section h2{font-size:1.5rem}.about-intro p,.pt-section p{font-size:1rem}.class-desc-grid{grid-template-columns:1fr}.pt-section{padding:30px 20px}}.about-page{padding-top:70px}.about-hero{overflow:hidden;padding:100px 0;position:relative;text-align:center}.about-hero:before{background-image:url(/static/media/slide-2.7d1e709fe02080e406ae.jpg);background-position:50%;background-size:cover;z-index:0}.about-hero:after,.about-hero:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0}.about-hero:after{background:linear-gradient(180deg,#000000b3 0,#000c);z-index:1}.about-hero .container{position:relative;z-index:2}.about-hero h1{font-size:clamp(2rem,5vw,3rem);font-weight:800;margin-bottom:16px}.about-hero p{color:#fffc;font-size:1.2rem}.about-story{padding:80px 0}.story-content{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1fr 1fr}.story-text h2{font-size:2rem;font-weight:700;margin-bottom:24px}.story-text p{color:var(--text-muted);font-size:1.1rem;line-height:1.8;margin-bottom:20px}.story-image{border-radius:4px;overflow:hidden}.story-image img{display:block;height:auto;width:100%}.about-mission{background:var(--secondary);padding:80px 0}.about-mission .mission-content{margin:0 auto;max-width:800px;text-align:center}.about-mission h2{font-size:2rem;font-weight:700;margin-bottom:24px}.mission-statement{color:var(--text-muted);font-size:1.25rem;line-height:1.8}.about-values{padding:80px 0}.about-values h2{font-size:2rem;font-weight:700;margin-bottom:50px;text-align:center}.values-grid{align-items:stretch;display:flex;position:relative}.value-card{background:var(--card-bg);border:1px solid var(--border);flex:1 1;padding:40px 30px;position:relative;transition:transform .3s ease,border-color .3s ease}.value-card:first-child{border-radius:16px 0 0 16px}.value-card:last-child{border-radius:0 16px 16px 0}.value-card:not(:last-child){border-right:none}.value-card:not(:last-child):after{background:var(--primary);border:3px solid var(--background);border-radius:50%;content:"";height:24px;position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:24px;z-index:2}.value-card:not(:last-child):before{background:var(--border);content:"";height:60%;position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px}.value-card:hover{border-color:var(--primary);transform:translateY(-5px)}.value-number{color:#fff;font-size:3rem;font-weight:800;margin-bottom:10px}.value-card h3{font-size:1.4rem;font-weight:700;margin-bottom:16px}.value-card p{color:var(--text-muted);line-height:1.7}.about-classes{background:var(--secondary);padding:80px 0}.about-classes h2{font-size:2rem;font-weight:700;margin-bottom:50px;text-align:center}.classes-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(3,1fr)}.class-category{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:30px;text-align:center;transition:transform .2s ease,border-color .2s ease}.class-category:hover{border-color:var(--primary);transform:translateY(-3px)}.class-category h3{color:var(--primary-light);font-size:1.2rem;font-weight:700;margin-bottom:20px}.class-category ul{list-style:none;margin:0;padding:0}.class-category li{border-bottom:1px solid var(--border);color:var(--text-muted);font-size:1rem;padding:10px 0}.class-category li:last-child{border-bottom:none}.about-cta{background:linear-gradient(135deg,var(--primary-dark),var(--primary));padding:80px 0;text-align:center}.about-cta .cta-content h2{font-size:2rem;font-weight:700;margin-bottom:16px}.about-cta .cta-content p{font-size:1.1rem;margin-bottom:30px;opacity:.9}.about-cta .cta-buttons{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.about-cta .btn-primary{background:#fff;color:var(--primary)}.about-cta .btn-secondary{background:#0000;border:2px solid #fff}@media (max-width:900px){.story-content{gap:40px;grid-template-columns:1fr}.values-grid{flex-direction:column}.value-card:first-child{border-radius:16px 16px 0 0}.value-card:last-child{border-radius:0 0 16px 16px}.value-card:not(:last-child){border-bottom:none;border-right:1px solid var(--border)}.value-card:not(:last-child):after{bottom:-12px;right:50%;top:auto;transform:translateX(50%)}.value-card:not(:last-child):before{bottom:0;height:1px;right:50%;top:auto;transform:translateX(50%);width:60%}.classes-grid{grid-template-columns:1fr}}@media (max-width:500px){.about-classes,.about-cta,.about-hero,.about-mission,.about-story,.about-values{padding:60px 0}.about-classes h2,.about-mission h2,.about-values h2,.story-text h2{font-size:1.75rem}.mission-statement,.story-text p{font-size:1rem}.value-card{padding:30px 24px}.class-category{padding:24px 20px}}.contact-page{padding-top:70px}.contact-hero{overflow:hidden;padding:100px 0;position:relative;text-align:center}.contact-hero:before{background-image:url(/static/media/slide-2.7d1e709fe02080e406ae.jpg);background-position:50%;background-size:cover;z-index:0}.contact-hero:after,.contact-hero:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0}.contact-hero:after{background:linear-gradient(180deg,#000000b3 0,#000c);z-index:1}.contact-hero .container{position:relative;z-index:2}.contact-hero h1{font-size:clamp(2rem,5vw,3rem);font-weight:800;margin-bottom:16px}.contact-hero p{color:#fffc;font-size:1.2rem}.contact-content{padding:80px 0}.contact-grid{grid-gap:60px;display:grid;gap:60px;grid-template-columns:1fr 1fr}.contact-info h2{font-size:1.8rem;font-weight:700;margin-bottom:16px}.contact-intro{color:var(--text-muted);font-size:1.05rem;line-height:1.7;margin-bottom:30px}.info-cards{display:flex;flex-direction:column;gap:20px;margin-bottom:30px}.info-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;display:flex;gap:20px;padding:20px;transition:transform .2s ease}.info-card:hover{transform:translateX(5px)}.info-icon{align-items:center;background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-radius:12px;display:flex;flex-shrink:0;height:50px;justify-content:center;width:50px}.info-icon svg{color:#fff;height:24px;width:24px}.info-content h4{font-size:1rem;font-weight:600;margin-bottom:8px}.info-content a,.info-content p{color:var(--text-muted);display:block;font-size:.95rem;line-height:1.6}.info-content a:hover{color:var(--primary)}.social-links h4{font-size:1rem;font-weight:600;margin-bottom:16px}.social-icons{display:flex;gap:12px}.social-icons a{align-items:center;background:var(--secondary-light);border:1px solid var(--border);border-radius:10px;color:var(--text-muted);display:flex;height:44px;justify-content:center;transition:all .2s ease;width:44px}.social-icons a:hover{background:var(--primary);border-color:var(--primary);color:#fff}.social-icons svg{height:20px;width:20px}.contact-form-wrapper{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:40px}.contact-form h3{font-size:1.4rem;font-weight:700;margin-bottom:30px}.contact-form textarea{min-height:120px;resize:vertical}.contact-form .btn{margin-top:10px;width:100%}.form-success{padding:60px 20px;text-align:center}.success-icon{align-items:center;background:linear-gradient(135deg,var(--success),#059669);border-radius:50%;display:flex;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.success-icon svg{color:#fff;height:40px;width:40px}.form-success h3{font-size:1.5rem;font-weight:700;margin-bottom:12px}.form-success p{color:var(--text-muted)}.map-section{padding:0 0 80px}.map-header{margin-bottom:30px;text-align:center}.map-header h2{font-size:1.8rem;font-weight:700;margin-bottom:12px}.map-header p{color:var(--text-muted);font-size:1.05rem}.map-container{border:1px solid var(--border);border-radius:16px;overflow:hidden}.map-container iframe{display:block;height:450px;width:100%}@media (max-width:900px){.contact-grid{gap:40px;grid-template-columns:1fr}.contact-form-wrapper{padding:30px}}@media (max-width:500px){.contact-content,.contact-hero{padding:60px 0}.info-card{align-items:center;flex-direction:column;text-align:center}.contact-form-wrapper{padding:24px}}.auth-page{align-items:flex-start;animation:fadeIn .5s ease;background:linear-gradient(135deg,var(--background) 0,var(--secondary) 100%);display:flex;justify-content:center;min-height:100vh;padding:140px 20px 40px}@media (min-height:800px){.auth-page{align-items:center;padding-top:100px}}.auth-container{animation:scaleIn .5s cubic-bezier(.4,0,.2,1);max-width:520px;width:100%}.auth-card{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1);background:var(--card-bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 25px 50px -12px #00000080;padding:40px}.auth-header{animation:fadeInDown .5s ease .2s backwards;margin-bottom:32px;text-align:center}.auth-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#ccc);-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:700;margin-bottom:8px}.auth-header p{color:var(--text-muted);font-size:.95rem}.auth-error{animation:shake .4s ease;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:var(--error)}.auth-error,.auth-success{font-size:14px;margin-bottom:20px;padding:12px 16px}.auth-success{animation:fadeIn .4s ease;background:#3d5a3d26;border:1px solid #3d5a3d66;border-radius:8px;color:var(--primary-light)}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.forgot-password-link{margin-bottom:8px;text-align:right}.forgot-password-link a{color:var(--text-muted);font-size:13px;transition:color .2s ease}.forgot-password-link a:hover{color:var(--primary-light)}.code-input{font-size:1.5rem!important;font-weight:700;letter-spacing:8px;text-align:center}.auth-card .form-group{animation:fadeIn .4s ease backwards;margin-bottom:18px}.auth-card .form-group:first-child{animation-delay:.1s}.auth-card .form-group:nth-child(2){animation-delay:.15s}.auth-card .form-group:nth-child(3){animation-delay:.2s}.auth-card .form-group:nth-child(4){animation-delay:.25s}.auth-card .form-group:nth-child(5){animation-delay:.3s}.auth-card .form-group label{color:var(--text-muted);font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.auth-card .form-group input{border-radius:8px;font-size:.95rem;padding:14px 16px;transition:all .3s ease}.auth-card .form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #3d5a3d26;transform:translateY(-1px)}.auth-card form .btn{animation:fadeInUp .4s ease .4s backwards;border-radius:8px;font-size:15px;margin-top:12px;padding:14px 24px;width:100%}.auth-card form .btn:active{transform:scale(.98)}.auth-footer{animation:fadeIn .4s ease .5s backwards;border-top:1px solid var(--border);margin-top:24px;padding-top:24px;text-align:center}.auth-footer p{color:var(--text-muted);font-size:14px}.auth-footer a{color:var(--primary-light);font-weight:600;transition:all .2s ease}.auth-footer a:hover{color:var(--primary);text-decoration:none}@media (max-width:500px){.auth-page{align-items:flex-start;padding:calc(110px + env(safe-area-inset-top, 0)) 16px calc(30px + env(safe-area-inset-bottom, 0))}.auth-card{padding:28px 22px}.auth-header h1{font-size:1.5rem}.auth-header p{font-size:.9rem}.auth-card .form-group{margin-bottom:16px}.auth-card .form-group label{font-size:.8rem;margin-bottom:8px}.auth-card .form-group input{font-size:16px;min-height:52px;padding:16px}.code-input{font-size:1.3rem!important;letter-spacing:6px}.auth-card form .btn{font-size:15px;min-height:52px;padding:16px 24px}.forgot-password-link{margin-bottom:10px}.forgot-password-link a{display:inline-block;font-size:14px;padding:8px 0}.auth-footer{margin-top:20px;padding-top:20px}.auth-footer p{font-size:14px;line-height:1.6}.auth-footer a{display:inline-block;padding:4px 0}.auth-error,.auth-success{font-size:14px;margin-bottom:18px;padding:14px 16px}}@media (max-width:360px){.auth-page{align-items:flex-start;padding:calc(100px + env(safe-area-inset-top, 0)) 12px calc(24px + env(safe-area-inset-bottom, 0))}.auth-card{padding:24px 18px}.auth-header{margin-bottom:24px}.auth-header h1{font-size:1.4rem}.auth-header p{font-size:.85rem}.auth-card .form-group input{min-height:50px;padding:14px}.auth-card form .btn{font-size:14px;min-height:50px;padding:14px 20px}.code-input{font-size:1.2rem!important;letter-spacing:5px}}.dashboard-page{animation:fadeIn .5s ease;min-height:100vh;padding:120px 0 60px}.dashboard-header{align-items:center;animation:fadeInDown .6s cubic-bezier(.4,0,.2,1);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:40px}.welcome-section h1{font-size:2rem;font-weight:700;margin-bottom:8px}.welcome-section p{color:var(--text-muted)}.dashboard-header .btn{align-items:center;display:flex;gap:8px}.dashboard-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.stat-card{align-items:center;animation:scaleIn .5s cubic-bezier(.4,0,.2,1) backwards;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;display:flex;gap:20px;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:first-child{animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:hover{border-color:var(--primary);box-shadow:0 12px 30px #0000004d;transform:translateY(-4px)}.stat-icon{align-items:center;border-radius:12px;display:flex;height:56px;justify-content:center;width:56px}.stat-icon.upcoming{background:linear-gradient(135deg,var(--primary),var(--primary-dark))}.stat-icon.total{background:linear-gradient(135deg,var(--success),#059669)}.stat-icon svg{color:#fff;height:28px;width:28px}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:2rem;font-weight:700}.stat-label{color:var(--text-muted);font-size:14px}.bookings-section{margin-bottom:40px}.bookings-section h2{animation:fadeInLeft .5s ease;font-size:1.4rem;font-weight:700;margin-bottom:20px}.bookings-section.past{opacity:.7}.no-bookings{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:60px 30px;text-align:center}.no-bookings p{color:var(--text-muted);margin-bottom:20px}.bookings-list{display:flex;flex-direction:column;gap:12px}.booking-card{align-items:center;animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) backwards;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;display:flex;gap:20px;overflow:hidden;padding:20px 24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.booking-card:first-child{animation-delay:.05s}.booking-card:nth-child(2){animation-delay:.1s}.booking-card:nth-child(3){animation-delay:.15s}.booking-card:nth-child(4){animation-delay:.2s}.booking-card:nth-child(5){animation-delay:.25s}.booking-card:hover{border-color:var(--primary);box-shadow:0 8px 25px #0000004d;transform:translateX(8px)}.booking-card.past{opacity:.6}.booking-card.past:hover{transform:none}.booking-color-bar{background:var(--session-color);bottom:0;left:0;position:absolute;top:0;width:4px}.booking-info{flex:1 1;padding-left:16px}.booking-date{color:var(--text-muted);font-size:13px;margin-bottom:4px}.booking-session{font-size:1.1rem;font-weight:600;margin-bottom:4px}.booking-time{color:var(--text-muted);font-size:14px}.booking-actions{align-items:center;display:flex;gap:12px}@media (max-width:768px){.dashboard-page{padding:100px 0 calc(40px + env(safe-area-inset-bottom, 0))}.dashboard-header{align-items:flex-start;flex-direction:column;margin-bottom:24px}.welcome-section h1{font-size:1.5rem}.dashboard-header .btn{justify-content:center;min-height:48px;padding:14px 20px;width:100%}.dashboard-stats{gap:12px;grid-template-columns:1fr 1fr;margin-bottom:24px}.stat-card{flex-direction:column;gap:14px;padding:18px 16px;text-align:center}.stat-card:hover{transform:none}.stat-card:active{background:var(--secondary-light)}.stat-icon{height:48px;width:48px}.stat-icon svg{height:24px;width:24px}.stat-value{font-size:1.6rem}.stat-label{font-size:13px}.bookings-section{margin-bottom:24px}.bookings-section h2{font-size:1.15rem;margin-bottom:16px}.no-bookings{padding:44px 20px}.no-bookings p{font-size:14px}.booking-card{align-items:flex-start;flex-direction:column;gap:14px;padding:18px 16px}.booking-card:hover{transform:none}.booking-card:active{background:var(--secondary-light)}.booking-info{padding-left:14px}.booking-date{font-size:13px;margin-bottom:6px}.booking-session{font-size:1.05rem}.booking-time{font-size:14px}.booking-actions{gap:12px;justify-content:space-between;width:100%}.booking-actions .badge{font-size:11px;padding:5px 10px}.booking-actions .btn{font-size:13px;min-height:44px;padding:12px 16px}}@media (max-width:480px){.dashboard-page{padding:90px 0 calc(30px + env(safe-area-inset-bottom, 0))}.dashboard-stats{grid-template-columns:1fr}.stat-card{flex-direction:row;text-align:left}}@media (max-width:360px){.dashboard-page{padding:85px 0 calc(24px + env(safe-area-inset-bottom, 0))}.container{padding:0 12px}.welcome-section h1{font-size:1.35rem}.welcome-section p{font-size:14px}.dashboard-header .btn{font-size:12px;min-height:44px;padding:12px 16px}.dashboard-header .btn svg{height:18px;width:18px}.stat-card{gap:12px;padding:14px 12px}.stat-icon{height:42px;width:42px}.stat-icon svg{height:20px;width:20px}.stat-value{font-size:1.4rem}.stat-label{font-size:12px}.bookings-section h2{font-size:1.05rem;margin-bottom:14px}.no-bookings{padding:36px 16px}.no-bookings p{font-size:14px}.booking-card{gap:12px;padding:14px 12px}.booking-info{padding-left:12px}.booking-date{font-size:12px}.booking-session{font-size:1rem}.booking-time{font-size:13px}.booking-actions .badge{font-size:10px;padding:4px 8px}.booking-actions .btn{font-size:12px;min-height:42px;padding:10px 14px}}.admin-loading-screen{align-items:center;background:var(--background);display:flex;justify-content:center;min-height:100vh}.admin-loading-content{align-items:center;animation:fadeIn .5s ease;display:flex;flex-direction:column;gap:24px}.admin-loading-logo img{height:80px;width:auto}.admin-loading-spinner{animation:spin .8s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}.admin-loading-content p{color:var(--text-muted);font-size:14px;letter-spacing:.5px}.admin-page{background:var(--background);display:flex;min-height:100vh}.superadmin-page{justify-content:center;padding:40px 24px}.superadmin-content{max-width:800px;width:100%}.superadmin-header{margin-bottom:40px}.superadmin-logo{align-items:center;display:flex;gap:12px}.superadmin-logo .logo-text{color:var(--primary);font-size:32px;font-weight:800}.superadmin-logo .logo-label{color:var(--text-muted);font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.admin-sidebar{background:var(--secondary);border-right:1px solid var(--border);bottom:0;display:flex;flex-direction:column;left:0;overflow-y:auto;padding:24px 0;position:fixed;top:0;width:260px}.admin-logo{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:8px;margin-bottom:24px;padding:0 24px 24px}.admin-logo .logo-text{color:var(--primary);font-size:24px;font-weight:800}.admin-logo .logo-label{color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.admin-nav{display:flex;flex-direction:column;gap:4px;padding:0 12px}.admin-nav button{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 16px;text-align:left;transition:all .2s ease}.admin-nav button:hover{background:var(--secondary-light);color:var(--text)}.admin-nav button.active{background:var(--primary);color:#fff}.admin-nav button svg{height:20px;width:20px}.admin-main{flex:1 1;margin-left:260px;padding:30px}.admin-content{max-width:1400px}.admin-content h1{font-size:1.8rem;font-weight:700;margin-bottom:30px}.content-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:30px}.content-header h1{margin-bottom:0}.header-actions{display:flex;flex-wrap:wrap;gap:12px}.header-actions .btn{align-items:center;display:flex;gap:8px;white-space:nowrap}.header-actions .btn svg{height:18px;width:18px}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;color:#fff}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:40px}.admin-content .stat-card{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:24px;text-align:center;transition:all .2s ease}.admin-content .stat-card:hover{border-color:var(--primary);transform:translateY(-2px)}.admin-content .stat-value{font-size:2.5rem;font-weight:700;line-height:1}.admin-content .stat-label{color:var(--text-muted);font-size:13px;letter-spacing:.5px;text-transform:uppercase}.table-wrapper{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;overflow:hidden}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid var(--border);padding:14px 16px;text-align:left}th{background:var(--secondary-light);color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}td{font-size:14px}tbody tr:hover{background:var(--secondary-light)}.session-badge{border-radius:4px;color:#fff;font-size:12px}.session-badge,.status-badge{display:inline-block;font-weight:600;padding:4px 10px}.status-badge{border-radius:20px;font-size:11px;text-transform:uppercase}.status-badge.confirmed{background:#10b98133;color:var(--success)}.status-badge.attended{background:#3b82f633;color:#3b82f6}.status-badge.cancelled{background:#ef444433;color:var(--error)}.role-badge{border-radius:20px;display:inline-block;font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase}.role-badge.admin{background:#8b5cf633;color:#8b5cf6}.role-badge.customer{background:#6b728033;color:#9ca3af}.btn-delete-user{align-items:center;background:#0000;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;display:inline-flex;justify-content:center;padding:8px;transition:all .2s ease}.btn-delete-user:hover{background:#ef44441a;border-color:var(--error);color:var(--error)}.btn-delete-user svg{height:16px;width:16px}td select{background:var(--secondary);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-size:13px;padding:6px 10px}.timetable-admin-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(7,1fr)}.timetable-admin-grid .day-column{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;min-height:400px;overflow:hidden}.timetable-admin-grid .day-header{background:var(--secondary-light);border-bottom:1px solid var(--border);font-size:13px;font-weight:600;padding:16px;text-align:center}.timetable-admin-grid .day-sessions{display:flex;flex-direction:column;gap:8px;padding:12px}.session-item{background:var(--secondary);border-left:3px solid;border-radius:8px;font-size:13px;padding:12px}.session-item .session-time{color:var(--text-muted);font-size:11px;margin-bottom:4px}.session-item .session-name{font-weight:600;margin-bottom:2px}.session-item .session-instructor{color:var(--text-muted);font-size:11px;margin-bottom:8px}.session-item .session-actions{display:flex;gap:8px}.session-item .session-actions button{background:var(--secondary-light);border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:11px;padding:4px 8px;transition:all .2s ease}.session-item .session-actions button:hover{background:var(--primary);border-color:var(--primary);color:#fff}.types-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.type-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;padding:24px;position:relative}.type-color{background:var(--type-color);height:4px;left:0;position:absolute;right:0;top:0}.type-info h3{font-size:1.1rem;font-weight:600;margin-bottom:8px}.type-info p{color:var(--text-muted);font-size:14px;margin-bottom:12px}.type-meta{display:flex;gap:16px}.type-meta span{background:var(--secondary);border-radius:4px;color:var(--text-muted);font-size:12px;padding:4px 10px}.type-actions{margin-top:16px}.type-actions button{background:var(--secondary-light);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-size:13px;padding:8px 16px;transition:all .2s ease}.type-actions button:hover{background:var(--primary);border-color:var(--primary)}.modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;max-height:90vh;max-width:500px;overflow-y:auto;padding:30px;width:100%}.modal h2{font-size:1.4rem;font-weight:700;margin-bottom:24px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.modal-actions{border-top:1px solid var(--border);display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px}.date-filter input{background:var(--secondary);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;padding:10px 16px}.today-classes-section{margin-bottom:40px}.today-classes-section h2{font-size:1.2rem;font-weight:600;margin-bottom:4px}.section-subtitle{color:var(--text-muted);font-size:14px;margin-bottom:20px}.no-classes-today{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.no-classes-today svg{height:48px;margin-bottom:16px;opacity:.5;width:48px}.no-classes-today p{font-size:16px}.today-classes-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.today-class-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;overflow:hidden}.today-class-card .class-header{border-bottom:1px solid var(--border);display:flex;gap:16px;padding:20px}.today-class-card .class-color-bar{background:var(--class-color);border-radius:2px;flex-shrink:0;width:4px}.today-class-card .class-info{flex:1 1}.today-class-card .class-info h3{color:var(--text);font-size:16px;font-weight:600;margin-bottom:8px}.today-class-card .class-instructor,.today-class-card .class-time{align-items:center;color:var(--text-muted);display:flex;font-size:13px;gap:8px;margin-bottom:4px}.today-class-card .class-instructor svg,.today-class-card .class-time svg{height:14px;width:14px}.today-class-card .class-capacity{text-align:right}.today-class-card .capacity-count{color:var(--class-color);display:block;font-size:28px;font-weight:700;line-height:1}.today-class-card .capacity-max{color:var(--text-muted);font-size:13px}.today-class-card .attendees-section{padding:16px 20px}.today-class-card .attendees-section h4{color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.today-class-card .no-attendees{color:var(--text-muted);font-size:13px;font-style:italic}.today-class-card .attendees-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;max-height:200px;overflow-y:auto;padding:0}.today-class-card .attendee-item{align-items:center;display:flex;gap:12px}.today-class-card .attendee-avatar{align-items:center;background:var(--class-color);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:36px;justify-content:center;width:36px}.today-class-card .attendee-details{display:flex;flex-direction:column;min-width:0}.today-class-card .attendee-name{color:var(--text);font-size:14px;font-weight:500}.today-class-card .attendee-contact{color:var(--text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-section{margin-top:40px}.recent-section h2{font-size:1.2rem;font-weight:600;margin-bottom:16px}.loading{color:var(--text-muted);padding:60px;text-align:center}.settings-intro{color:var(--text-muted);font-size:1rem;margin-bottom:30px}.settings-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;padding:30px}.settings-card h2{border-bottom:1px solid var(--border);font-size:1.2rem;font-weight:600;padding-bottom:16px}.settings-card .form-group,.settings-card h2{margin-bottom:20px}.settings-card .form-group small{color:var(--text-muted);display:block;font-size:12px;margin-top:6px}.settings-help{background:#3d5a3d1a;border:1px solid #3d5a3d33;border-radius:8px;margin-top:20px;padding:16px 20px}.settings-help h3{color:var(--primary);font-size:14px;font-weight:600;margin-bottom:8px}.settings-help p{color:var(--text-muted);font-size:13px;margin-bottom:8px}.settings-help ul{margin:8px 0;padding-left:20px}.settings-help li{color:var(--text);font-size:13px;margin-bottom:4px}.form-select{-webkit-appearance:none;appearance:none;background-color:var(--input-bg);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236b7280' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-size:16px;padding:12px 40px 12px 16px;width:100%}.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #3d5a3d1a;outline:none}.settings-actions{align-items:center;border-top:1px solid var(--border);display:flex;gap:16px;margin-top:24px;padding-top:24px}.save-success{color:var(--success);font-size:14px;font-weight:500}.notification-list{list-style:none;margin:16px 0 0;padding:0}.notification-list li{background:var(--secondary);border-radius:8px;display:flex;flex-direction:column;margin-bottom:12px;padding:16px}.notification-list li strong{font-size:14px;margin-bottom:4px}.notification-list li span{color:var(--text-muted);font-size:13px}.role-badge.superadmin{background:linear-gradient(135deg,#8b5cf6,#6366f1)}.test-buttons{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:20px}.btn-test{align-items:center;background:var(--secondary);border:1px solid var(--border);border-radius:8px;color:var(--text);display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:14px 16px;transition:all .2s ease}.btn-test:hover:not(:disabled){background:var(--secondary-light);border-color:var(--primary)}.btn-test:disabled{cursor:not-allowed;opacity:.5}.test-icon{font-size:16px}.test-result{border-radius:8px;font-size:14px;margin-top:16px;padding:12px 16px}.test-result.success{background:#3d5a3d33;border:1px solid var(--primary);color:var(--primary)}.test-result.error{background:#ef44441a;border:1px solid var(--error);color:var(--error)}.test-loading{color:var(--text-muted);font-size:14px;margin-top:16px;padding:12px;text-align:center}.admin-nav-footer{border-top:1px solid var(--border);margin-top:auto;padding:16px 12px}.back-to-site{align-items:center;background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 16px;text-decoration:none;transition:all .2s ease}.back-to-site:hover{background:var(--secondary-light);border-color:var(--primary);color:var(--text)}.back-to-site svg{height:18px;width:18px}.closures-intro{color:var(--text-muted);font-size:14px;margin-bottom:24px}.closures-list{gap:12px}.closures-list,.no-closures{display:flex;flex-direction:column}.no-closures{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;color:var(--text-muted);justify-content:center;padding:60px 20px}.no-closures svg{height:48px;margin-bottom:16px;opacity:.5;width:48px}.no-closures p{font-size:16px}.closure-item{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;display:flex;gap:20px;padding:20px;transition:all .2s ease}.closure-item:hover{border-color:var(--primary)}.closure-item.past{opacity:.6}.closure-date{align-items:center;background:var(--secondary);border-radius:8px;display:flex;flex-direction:column;min-width:80px;padding:12px 16px}.closure-day{color:var(--error);font-size:28px;font-weight:700;line-height:1}.closure-month{font-size:12px}.closure-month,.closure-weekday{color:var(--text-muted);margin-top:4px}.closure-weekday{font-size:11px;text-transform:uppercase}.closure-info{align-items:center;display:flex;flex:1 1;gap:12px}.closure-reason{font-size:16px;font-weight:500}.closure-past-badge{background:#6b728033;border-radius:20px;color:var(--text-muted);font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase}.closure-delete{background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;padding:10px;transition:all .2s ease}.closure-delete:hover{background:#ef44441a;border-color:var(--error);color:var(--error)}.closure-delete svg{display:block;height:18px;width:18px}.closure-warning{align-items:flex-start;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:var(--error);display:flex;font-size:13px;gap:12px;margin-bottom:20px;padding:16px}.closure-warning svg{flex-shrink:0;height:20px;margin-top:2px;width:20px}.mobile-admin-header{align-items:center;background:var(--secondary);border-bottom:1px solid var(--border);display:none!important;height:60px;justify-content:space-between;left:0;padding:env(safe-area-inset-top,0) 16px 0;position:fixed;right:0;top:0;z-index:1000}.mobile-logo{align-items:center;display:flex;gap:8px}.mobile-logo .logo-text{color:var(--primary);font-size:20px;font-weight:800}.mobile-logo .logo-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.admin-page .mobile-menu-btn{align-items:center;background:var(--secondary-light);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:8px 14px;transition:all .2s ease}.admin-page .mobile-menu-btn:hover{background:var(--primary);border-color:var(--primary)}.admin-page .mobile-menu-btn svg{height:16px;transition:transform .2s ease;width:16px}.admin-page .mobile-menu-btn.open svg{transform:rotate(180deg)}.mobile-menu-overlay{animation:fadeIn .2s ease;background:#000000b3;bottom:0;left:0;overflow:visible;position:fixed;right:0;top:calc(60px + env(safe-area-inset-top, 0px));z-index:999}.mobile-menu-dropdown{animation:slideDown .2s ease;background:var(--card-bg);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:4px;left:0;max-height:calc(100vh - 60px - env(safe-area-inset-top, 0px));overflow-y:auto;padding:12px;position:relative;right:0;top:0;width:100%}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-menu-dropdown .back-link,.mobile-menu-dropdown button{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 16px;text-align:left;transition:all .2s ease}.mobile-menu-dropdown .back-link:hover,.mobile-menu-dropdown button:hover{background:var(--secondary-light);color:var(--text)}.mobile-menu-dropdown button.active{background:var(--primary);color:#fff}.mobile-menu-dropdown .back-link svg,.mobile-menu-dropdown button svg{height:18px;width:18px}.mobile-menu-dropdown .back-link{border-top:1px solid var(--border);margin-top:8px;padding-top:16px}@media (max-width:1200px){.timetable-admin-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:900px){.admin-sidebar{padding:16px 0;width:70px}.admin-logo{flex-direction:column;gap:4px;padding:0 10px 16px}.admin-logo .logo-label{display:none}.admin-nav button{justify-content:center;padding:12px}.admin-nav button span{display:none}.admin-nav-footer{padding:12px 8px}.back-to-site{font-size:0;justify-content:center;padding:12px}.back-to-site svg{height:20px;width:20px}.admin-main{margin-left:70px;padding:20px}.timetable-admin-grid{grid-template-columns:repeat(2,1fr)}.closure-item{text-align:center}.closure-info,.closure-item{flex-direction:column}.header-actions{width:100%}.header-actions .btn{flex:1 1;font-size:12px;padding:8px 12px}}@media (max-width:600px){.mobile-admin-header{display:flex!important}.admin-sidebar{display:none}.admin-main{margin-left:0;padding:76px 16px calc(24px + env(safe-area-inset-bottom, 0))}.admin-content h1{font-size:1.4rem;margin-bottom:20px}.content-header{align-items:stretch;flex-direction:column;gap:12px}.content-header h1{text-align:center}.header-actions{flex-direction:column;gap:10px}.header-actions .btn{font-size:13px;justify-content:center;min-height:48px;padding:14px 16px}.form-row,.timetable-admin-grid{grid-template-columns:1fr}.stats-grid{gap:12px;grid-template-columns:1fr 1fr}.admin-content .stat-card{flex-direction:column;gap:12px;padding:18px 16px;text-align:center}.admin-content .stat-card:hover{transform:none}.admin-content .stat-icon{height:46px;width:46px}.admin-content .stat-icon svg{height:22px;width:22px}.admin-content .stat-value{font-size:1.6rem}.admin-content .stat-label{font-size:12px}.today-classes-grid{grid-template-columns:1fr}.today-class-card .class-header{padding:18px 16px}.today-class-card .class-info h3{font-size:15px}.today-class-card .class-instructor,.today-class-card .class-time{font-size:13px}.today-class-card .capacity-count{font-size:24px}.today-class-card .attendees-section{padding:14px 16px}.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-wrapper table{min-width:700px}td,th{font-size:13px;padding:12px}.btn-delete-user{min-height:44px;min-width:44px;padding:10px}.types-grid{grid-template-columns:1fr}.type-card{padding:18px}.type-actions button{min-height:44px;padding:12px 18px}.modal-overlay{padding:16px 16px calc(16px + env(safe-area-inset-bottom, 0))}.modal{padding:22px 20px}.modal h2{font-size:1.2rem}.modal-actions{flex-direction:column;gap:10px}.modal-actions .btn{min-height:48px;padding:14px 20px;width:100%}.closure-item{gap:14px;padding:16px}.closure-date{min-width:70px;padding:12px 14px}.closure-day{font-size:24px}.closure-reason{font-size:15px}.closure-delete{min-height:44px;min-width:44px;padding:12px}.recent-section h2{font-size:1.05rem}.superadmin-page{padding:24px 16px calc(24px + env(safe-area-inset-bottom, 0))}.superadmin-header{margin-bottom:24px}.settings-card{padding:22px 20px}.settings-card h2{font-size:1.05rem}.test-buttons{grid-template-columns:1fr}.btn-test{font-size:13px;min-height:48px;padding:14px}.mobile-menu-dropdown .back-link,.mobile-menu-dropdown button{min-height:48px;padding:14px 16px}}@media (max-width:400px){.mobile-admin-header{height:54px;padding:0 12px}.mobile-logo .logo-text{font-size:18px}.mobile-logo .logo-label{font-size:10px}.admin-page .mobile-menu-btn{font-size:12px;gap:6px;padding:6px 10px}.admin-page .mobile-menu-btn svg{height:14px;width:14px}.mobile-menu-overlay{top:calc(54px + env(safe-area-inset-top, 0px))}.mobile-menu-dropdown{gap:2px;padding:8px}.mobile-menu-dropdown .back-link,.mobile-menu-dropdown button{font-size:13px;gap:10px;padding:10px 12px}.mobile-menu-dropdown .back-link svg,.mobile-menu-dropdown button svg{height:16px;width:16px}.admin-main{padding:66px 10px 20px}.admin-content h1{font-size:1.2rem;margin-bottom:16px}.content-header{gap:10px;margin-bottom:16px}.header-actions .btn{font-size:11px;padding:8px 10px}.header-actions .btn svg{height:14px;width:14px}.stats-grid{gap:8px;grid-template-columns:1fr 1fr}.admin-content .stat-card{flex-direction:column;gap:0;padding:12px 8px;text-align:center}.admin-content .stat-icon{display:none}.admin-content .stat-value{font-size:1.4rem;margin-bottom:2px}.admin-content .stat-label{font-size:10px}.today-classes-section h2{font-size:1rem}.section-subtitle{font-size:12px;margin-bottom:12px}.today-class-card .class-header{gap:10px;padding:12px}.today-class-card .class-info h3{font-size:13px}.today-class-card .class-instructor,.today-class-card .class-time{font-size:11px;gap:6px}.today-class-card .class-instructor svg,.today-class-card .class-time svg{height:12px;width:12px}.today-class-card .capacity-count{font-size:20px}.today-class-card .capacity-max{font-size:11px}.today-class-card .attendees-section{padding:10px 12px}.today-class-card .attendees-section h4{font-size:10px;margin-bottom:10px}.today-class-card .attendee-avatar{font-size:12px;height:30px;width:30px}.today-class-card .attendee-name{font-size:13px}.today-class-card .attendee-contact{font-size:11px}.no-classes-today{padding:40px 16px}.no-classes-today svg{height:40px;width:40px}.no-classes-today p{font-size:13px}.recent-section{margin-top:24px}.recent-section h2{font-size:.95rem;margin-bottom:12px}.modal-overlay{padding:10px}.modal{border-radius:12px;padding:16px}.modal h2{font-size:1.1rem;margin-bottom:16px}.form-group{margin-bottom:14px}.form-group label{font-size:13px;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{font-size:14px;padding:10px 12px}.modal-actions{margin-top:16px;padding-top:16px}.modal-actions .btn{font-size:12px;padding:10px}.closures-intro{font-size:12px;margin-bottom:16px}.closure-item{gap:10px;padding:12px}.closure-date{min-width:60px;padding:8px 10px}.closure-day{font-size:18px}.closure-month{font-size:10px}.closure-weekday{font-size:9px}.closure-reason{font-size:13px}.closure-past-badge{font-size:9px;padding:3px 8px}.closure-delete{padding:8px}.closure-delete svg{height:16px;width:16px}.closure-warning{font-size:12px;gap:10px;padding:12px}.closure-warning svg{height:18px;width:18px}.type-card{padding:14px}.type-info h3{font-size:1rem}.type-info p{font-size:12px}.type-meta{gap:10px}.type-meta span{font-size:11px;padding:3px 8px}.session-item{font-size:12px;padding:10px}.session-item .session-time{font-size:10px}.session-item .session-name{font-size:13px}.session-item .session-instructor{font-size:10px}.session-item .session-actions{gap:6px}.session-item .session-actions button{font-size:10px;padding:3px 6px}.timetable-admin-grid .day-column{min-height:300px}.timetable-admin-grid .day-header{font-size:12px;padding:10px}.timetable-admin-grid .day-sessions{gap:6px;padding:8px}.superadmin-page{padding:16px 10px}.superadmin-logo .logo-text{font-size:26px}.superadmin-logo .logo-label{font-size:12px}.settings-card{border-radius:10px;padding:14px}.settings-card h2{font-size:.95rem;margin-bottom:14px;padding-bottom:12px}.settings-help{margin-top:14px;padding:12px}.settings-help h3{font-size:12px}.settings-help li,.settings-help p{font-size:11px}.settings-actions{flex-direction:column;gap:10px;margin-top:16px;padding-top:16px}.btn-test{font-size:11px;padding:10px}.test-icon{font-size:14px}.notification-list li{padding:12px}.notification-list li strong{font-size:13px}.notification-list li span{font-size:11px}}*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#3d5a3d;--primary-dark:#2d4a2d;--primary-light:#4a6b4a;--secondary:#1a1a1a;--secondary-light:#2a2a2a;--accent:#4a6b4a;--text:#fff;--text-muted:#9ca3af;--background:#000;--card-bg:#111;--border:#333;--success:#3d5a3d;--error:#ef4444}body{-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;background-color:#000;background-color:var(--background);color:#fff;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;padding-bottom:env(safe-area-inset-bottom,0)}body.menu-open{height:100%;left:0;overflow:hidden;position:fixed;top:0;width:100%}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input,select,textarea{font-family:inherit}.container{margin:0 auto;max-width:1200px;padding:0 20px}.btn{align-items:center;border:none;border-radius:4px;display:inline-flex;font-size:13px;font-weight:600;gap:6px;justify-content:center;letter-spacing:.5px;overflow:hidden;padding:10px 18px;position:relative;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn:after{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .5s ease}.btn:hover:after{transform:translateX(100%)}.btn-primary{background:#3d5a3d;background:var(--primary);color:#fff}.btn-primary:hover{background:#4a6b4a;background:var(--primary-light);box-shadow:0 8px 25px #3d5a3d66;transform:translateY(-2px)}.btn-secondary{background:#2a2a2a;background:var(--secondary-light);border:1px solid #333;border:1px solid var(--border);color:#fff}.btn-secondary:hover{background:#333;background:var(--border);transform:translateY(-2px)}.btn-outline{background:#0000;border:2px solid #3d5a3d;border:2px solid var(--primary);color:#3d5a3d;color:var(--primary)}.btn-outline:hover{background:#3d5a3d;background:var(--primary);color:#fff;transform:translateY(-2px)}.btn-small{font-size:12px;padding:6px 12px}.btn-large{font-size:14px;padding:12px 24px}.form-group{margin-bottom:20px}.form-group label{color:#fff;color:var(--text);display:block;font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{background:#1a1a1a;background:var(--secondary);border:1px solid #333;border:1px solid var(--border);border-radius:4px;color:#fff;color:var(--text);font-size:14px;padding:12px 16px;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3d5a3d;border-color:var(--primary);box-shadow:0 0 0 3px #3d5a3d33;outline:none}.form-group input::placeholder{color:#9ca3af;color:var(--text-muted)}.card{background:#111;background:var(--card-bg);border:1px solid #333;border:1px solid var(--border);border-radius:8px;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{border-color:#3d5a3d80;box-shadow:0 8px 30px #0000004d}.badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase;transition:all .2s ease}.badge-success{background:#3d5a3d4d;color:#6b8e6b}.badge-error{background:#ef444433;color:#ef4444;color:var(--error)}.badge-warning{background:#4a6b4a4d;color:#8baf8b}.text-center{text-align:center}.text-muted{color:#9ca3af;color:var(--text-muted)}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 5px #3d5a3d4d}50%{box-shadow:0 0 25px #3d5a3d99}}@keyframes borderGlow{0%,to{border-color:#333;border-color:var(--border)}50%{border-color:#3d5a3d;border-color:var(--primary)}}.fade-in{animation:fadeIn .6s cubic-bezier(.4,0,.2,1) forwards}.fade-in-up{animation:fadeInUp .7s cubic-bezier(.4,0,.2,1) forwards}.fade-in-down{animation:fadeInDown .5s cubic-bezier(.4,0,.2,1) forwards}.scale-in{animation:scaleIn .4s cubic-bezier(.4,0,.2,1) forwards}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.stagger-7{animation-delay:.35s}.hover-lift{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease}.hover-lift:hover{box-shadow:0 20px 40px #0006;transform:translateY(-6px)}.loading-screen{align-items:center;background:#000;background:var(--background);display:flex;justify-content:center;min-height:100vh}.loading-content{align-items:center;animation:fadeIn .5s ease;display:flex;flex-direction:column;gap:24px}.loading-logo{height:80px;width:auto}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #333;border-top-color:#3d5a3d;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.skeleton{animation:shimmer 1.5s ease infinite;background:linear-gradient(90deg,#1a1a1a 25%,#2a2a2a 50%,#1a1a1a 75%);background:linear-gradient(90deg,var(--secondary) 25%,var(--secondary-light) 50%,var(--secondary) 75%);background-size:200% 100%;border-radius:4px}html{background:#000;scroll-behavior:smooth}html.menu-open{overflow:hidden}:focus-visible{outline:2px solid #3d5a3d;outline:2px solid var(--primary);outline-offset:2px}::selection{background:#3d5a3d;background:var(--primary);color:#fff}@media (max-width:768px){.container{padding:0 16px}.btn{font-size:13px;min-height:44px;padding:12px 16px}.btn-large{font-size:14px;min-height:48px;padding:14px 20px}.btn-small{font-size:12px;min-height:40px;padding:10px 14px}.form-group input,.form-group select,.form-group textarea{font-size:16px;min-height:48px;padding:14px 16px}}@media (max-width:400px){.container{padding:0 12px}.btn{font-size:12px;gap:5px;min-height:44px;padding:11px 14px}.btn-large{font-size:13px;min-height:46px;padding:12px 16px}.btn-small{font-size:11px;min-height:38px;padding:9px 12px}.form-group input,.form-group select,.form-group textarea{font-size:16px;min-height:46px;padding:12px 14px}.form-group label{font-size:13px}.badge{font-size:10px;padding:4px 10px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/*# sourceMappingURL=main.700766e9.css.map*/