.site-header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--header-height);background:#1b4332f7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);transition:box-shadow var(--transition-base)}.site-header.scrolled{box-shadow:0 4px 24px #00000040}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.header-brand{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0;transition:opacity var(--transition-fast)}.header-brand:hover{opacity:.88}.header-logo{height:44px;width:auto;filter:brightness(0) invert(1)}.header-brand-text{display:flex;flex-direction:column;line-height:1.15}.header-club-name{font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--color-white);letter-spacing:.01em}.header-club-sub{font-size:.7rem;color:var(--color-accent-light);letter-spacing:.08em;text-transform:uppercase}.header-nav{display:flex;align-items:center;gap:var(--space-1);flex:1;justify-content:center}.nav-link{padding:6px 14px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;color:#ffffffbf;transition:all var(--transition-fast);position:relative}.nav-link:hover{color:var(--color-white);background:#ffffff14}.nav-link.active{color:var(--color-white);background:#ffffff1f}.nav-link-vip{color:var(--color-accent-light)!important;font-weight:600}.nav-link-vip:hover{background:#d4af3726!important}.nav-link-vip.active{background:#d4af3733!important}.nav-link-admin{color:#fff9!important;font-size:.8rem}.lang-toggle{font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:var(--radius-full);background:#ffffff1f;color:var(--color-white);letter-spacing:.04em;transition:background var(--transition-fast);margin-right:var(--space-3);min-width:40px;text-align:center}.lang-toggle:hover{background:#ffffff38}.header-auth{flex-shrink:0;display:flex;align-items:center}.user-menu-wrap{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:var(--space-2);padding:6px 12px 6px 6px;border-radius:var(--radius-full);background:#ffffff1a;color:var(--color-white);transition:background var(--transition-fast);font-size:.875rem;font-weight:500}.user-menu-trigger:hover{background:#ffffff2e}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-accent);color:var(--color-primary-dark);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}.user-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:220px;background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--color-gray-100);overflow:hidden;z-index:200}.user-dropdown-header{padding:var(--space-4);display:flex;flex-direction:column;gap:2px;background:var(--color-gray-50)}.user-dropdown-divider{height:1px;background:var(--color-gray-100)}.user-dropdown-item{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-4);font-size:.875rem;color:var(--color-gray-700);width:100%;text-align:left;transition:background var(--transition-fast)}.user-dropdown-item:hover{background:var(--color-gray-50);color:var(--color-gray-900)}.user-dropdown-item--danger{color:var(--color-error)}.user-dropdown-item--danger:hover{background:var(--color-error-bg)}.hamburger{display:none;flex-direction:column;gap:5px;padding:8px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.hamburger:hover{background:#ffffff1a}.hamburger-bar{display:block;width:24px;height:2px;background:var(--color-white);border-radius:2px;transition:all var(--transition-base);transform-origin:center}.hamburger-bar.open:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger-bar.open:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger-bar.open:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-menu{background:var(--color-primary-dark);border-top:1px solid rgba(255,255,255,.08);padding:var(--space-4) 0}.mobile-nav-link{display:block;padding:12px var(--space-6);color:#fffc;font-size:1rem;font-weight:500;transition:all var(--transition-fast);width:100%;text-align:left}.mobile-nav-link:hover,.mobile-nav-link.active{background:#ffffff14;color:var(--color-white)}.mobile-nav-link--vip{color:var(--color-accent-light)}.mobile-nav-link--danger{color:#fca5a5}.mobile-menu-divider{height:1px;background:#ffffff14;margin:var(--space-3) 0}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-slide-down{animation:slideDown var(--transition-base)}@media (max-width: 768px){.hamburger{display:flex}.hide-mobile{display:none!important}.header-logo{height:36px}.header-club-name{font-size:.85rem}}.site-footer{background:var(--color-primary-dark);color:#ffffffbf;margin-top:var(--space-20)}.footer-inner{display:grid;grid-template-columns:1fr auto;gap:var(--space-16);padding:var(--space-12) 0;align-items:start}.footer-brand{display:flex;align-items:center;gap:var(--space-3)}.footer-logo{height:48px;width:auto;filter:brightness(0) invert(1);opacity:.9}.footer-club-name{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--color-white);margin-bottom:2px}.footer-tagline{font-size:.8rem;color:var(--color-accent-light);opacity:.8}.footer-links{display:flex;gap:var(--space-12)}.footer-col{display:flex;flex-direction:column;gap:var(--space-3)}.footer-col-title{font-family:var(--font-body);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent-light);margin-bottom:var(--space-1)}.footer-col a{font-size:.875rem;color:#ffffffa6;transition:color var(--transition-fast)}.footer-col a:hover{color:var(--color-white)}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:var(--space-4) 0;font-size:.8rem;color:#ffffff73;display:flex;flex-direction:column;gap:4px}.footer-bottom .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.footer-legal{font-size:.75rem}@media (max-width: 768px){.footer-inner{grid-template-columns:1fr;gap:var(--space-8);padding:var(--space-8) 0}.footer-links{flex-wrap:wrap;gap:var(--space-8)}.footer-bottom .container{flex-direction:column;align-items:flex-start}}.calendar-wrap{overflow:hidden;background:var(--color-white)}.calendar-nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-gray-100)}.calendar-range{font-weight:600;font-size:.95rem;color:var(--color-gray-700);text-transform:capitalize}.calendar-scroll{overflow-x:auto}.calendar-grid{display:grid;grid-template-columns:80px repeat(var(--days),minmax(60px,1fr));min-width:560px}.cal-corner{background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200)}.cal-day-header{display:flex;flex-direction:column;align-items:center;padding:var(--space-3) var(--space-2);background:var(--color-gray-50);border-left:1px solid var(--color-gray-200);border-bottom:1px solid var(--color-gray-200);gap:2px}.cal-day-header.today .cal-day-num{background:var(--color-primary);color:var(--color-white);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.cal-day-name{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-gray-500)}.cal-day-num{font-size:1rem;font-weight:700;color:var(--color-gray-700)}.cal-hour-label{display:flex;align-items:center;justify-content:flex-end;padding:0 var(--space-3) 0 var(--space-2);font-size:.7rem;color:var(--color-gray-400);background:var(--color-gray-50);border-right:1px solid var(--color-gray-200);border-bottom:1px solid var(--color-gray-100);height:44px;text-align:right;line-height:1.2}.cal-slot{height:44px;border-left:1px solid var(--color-gray-100);border-bottom:1px solid var(--color-gray-100);transition:all var(--transition-fast);position:relative;display:flex;align-items:center;justify-content:center}.cal-slot.available{background:var(--color-primary-pale);cursor:pointer}.cal-slot.available:hover{background:#1b43321f;border-color:var(--color-primary-light);z-index:1;transform:scale(1.04)}.cal-slot.taken{background:#777f84;cursor:not-allowed}.cal-slot.my-slot{background:#d4af371f;cursor:default;border-color:var(--color-accent-light)}.cal-slot.loading{animation:pulse 1.2s infinite;background:var(--color-gray-100)}.slot-dot{width:8px;height:8px;border-radius:50%;background:var(--color-accent-dark)}.calendar-legend{display:flex;gap:var(--space-6);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-gray-100);background:var(--color-gray-50);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:.8rem;color:var(--color-gray-600)}.legend-dot{width:16px;height:16px;border-radius:3px;flex-shrink:0}.available-dot{background:var(--color-primary-pale);border:1.5px solid var(--color-primary-light)}.taken-dot{background:#777f84}.my-dot{background:#d4af371f;border:1.5px solid var(--color-accent);position:relative;display:flex;align-items:center;justify-content:center}.my-dot:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-accent-dark)}.home-page{overflow-x:hidden}.hero{position:relative;height:92vh;min-height:560px;max-height:860px;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0}.hero-img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transform:scale(1.04);transition:transform 8s ease}.hero:hover .hero-img{transform:scale(1)}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,#0d2b1fe0,#0d2b1fb8,#0d2b1f59)}.hero-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--space-10);padding-top:var(--header-height)}.hero-text{max-width:640px}.hero-eyebrow{display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-light);margin-bottom:var(--space-3)}.hero-title{color:var(--color-white);text-shadow:0 2px 24px rgba(0,0,0,.3);margin-bottom:var(--space-5);line-height:1.05}.hero-subtitle{font-size:1.125rem;color:#ffffffd1;margin-bottom:var(--space-8);max-width:520px;line-height:1.7}.hero-cta{display:flex;gap:var(--space-4);flex-wrap:wrap}.hero-stats{display:flex;align-items:center;gap:var(--space-6);background:#ffffff14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-xl);padding:var(--space-5) var(--space-8);width:fit-content}.hero-stat{text-align:center}.hero-stat-value{display:block;font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--color-accent-light);line-height:1}.hero-stat-label{display:block;font-size:.8rem;color:#ffffffa6;text-transform:uppercase;letter-spacing:.06em;margin-top:4px}.hero-stat-divider{width:1px;height:40px;background:#fff3}.section{padding:var(--space-20) 0}.section-header{margin-bottom:var(--space-12)}.section-header h2{margin-bottom:var(--space-3)}.courts-section{background:var(--color-white)}.courts-grid{margin-top:0}.court-card{cursor:pointer;transition:all var(--transition-base);border:2px solid transparent}.court-card--selected{border-color:var(--color-primary-light)}.court-card-img-wrap{height:200px;overflow:hidden;position:relative}.court-card-img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.court-card:hover .court-card-img{transform:scale(1.05)}.court-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.court-card-name{font-size:1.35rem}.court-card-price{margin-bottom:var(--space-4)}.price-amount{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--color-primary)}.court-card-features{display:flex;flex-direction:column;gap:var(--space-2)}.court-feature{font-size:.875rem;color:var(--color-gray-600)}.calendar-section{background:var(--color-off-white)}.court-tabs{display:flex;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap}.court-tab{padding:10px 24px;border-radius:var(--radius-full);font-weight:600;font-size:.9rem;background:var(--color-white);color:var(--color-gray-600);border:1.5px solid var(--color-gray-200);transition:all var(--transition-fast)}.court-tab:hover{border-color:var(--color-primary-light);color:var(--color-primary)}.court-tab.active{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.vip-banner-section{background:var(--color-white)}.vip-banner{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 60%,var(--color-primary-light) 100%);border-radius:var(--radius-xl);padding:var(--space-12);display:grid;grid-template-columns:1fr auto;gap:var(--space-12);align-items:center;position:relative;overflow:hidden}.vip-banner:before{content:"✦";position:absolute;right:-60px;top:-80px;font-size:280px;color:#d4af370f;pointer-events:none;line-height:1}.vip-banner-content{display:flex;flex-direction:column;gap:var(--space-5)}.vip-badge-hero{display:inline-flex;width:fit-content;padding:6px 16px;background:#d4af3733;color:var(--color-accent-light);border:1px solid rgba(212,175,55,.3);border-radius:var(--radius-full);font-size:.75rem;font-weight:700;letter-spacing:.1em}.vip-banner-perks{display:flex;flex-direction:column;gap:var(--space-4);flex-shrink:0}.vip-perk{display:flex;align-items:center;gap:var(--space-3);background:#ffffff14;border:1px solid rgba(255,255,255,.12);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:#ffffffe6;font-size:.9rem;min-width:220px}.vip-perk-icon{font-size:1.25rem}@media (max-width: 1024px){.vip-banner{grid-template-columns:1fr}.vip-banner-perks{flex-direction:row;flex-wrap:wrap}.vip-perk{min-width:unset;flex:1 1 180px}}.contact-section{background:var(--color-white)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:start;max-width:800px;margin:0 auto}.contact-info{display:flex;flex-direction:column;gap:var(--space-5)}.contact-card{padding:var(--space-6);text-align:center;border:1px solid var(--color-gray-100)}.contact-icon{font-size:2rem;margin-bottom:var(--space-3)}.contact-card h3{font-size:1rem;margin-bottom:var(--space-2)}.contact-card a{color:var(--color-primary);font-weight:600;font-size:.95rem;word-break:break-all}.contact-card a:hover{color:var(--color-primary-light)}.contact-form{border:1px solid var(--color-gray-100)}@media (max-width: 768px){.contact-grid{grid-template-columns:1fr}}.map-section{background:var(--color-off-white)}.map-wrap{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);max-width:800px;margin:0 auto}.map-wrap iframe{display:block;width:100%;height:400px;border:0}@media (max-width: 768px){.hero{height:100vh;max-height:none}.hero-stats{flex-wrap:wrap}.vip-banner{padding:var(--space-8)}.section{padding:var(--space-12) 0}.map-wrap iframe{height:280px}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%)}.auth-card{width:100%;max-width:460px;border-radius:var(--radius-xl);overflow:visible;box-shadow:var(--shadow-xl)}.auth-card-header{text-align:center;padding:var(--space-8) var(--space-6) var(--space-6);background:linear-gradient(to bottom,var(--color-primary-pale),var(--color-white));border-bottom:1px solid var(--color-gray-100)}.auth-logo{height:52px;margin:0 auto var(--space-4);filter:none}.auth-title{font-size:1.75rem;margin-bottom:var(--space-2)}.auth-subtitle{font-size:.9rem}.auth-form{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6)}.auth-footer{text-align:center;padding:var(--space-5) var(--space-6);border-top:1px solid var(--color-gray-100);font-size:.9rem;color:var(--color-gray-600);background:var(--color-gray-50)}.auth-link{color:var(--color-primary);font-weight:600;transition:color var(--transition-fast)}.auth-link:hover{color:var(--color-primary-light);text-decoration:underline}.auth-forgot{display:flex;justify-content:flex-end;margin-top:calc(-1 * var(--space-3));padding:0 var(--space-6);font-size:.85rem}.success-icon{width:72px;height:72px;border-radius:50%;background:var(--color-success-bg);color:var(--color-success);font-size:2rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-5)}.booking-page{padding-top:var(--header-height)}.booking-container{max-width:860px;padding-top:var(--space-10);padding-bottom:var(--space-16)}.booking-header{margin-bottom:var(--space-8)}.booking-steps{display:flex;align-items:center;gap:0;margin-bottom:var(--space-8)}.booking-step{display:flex;align-items:center;gap:var(--space-3)}.step-num{width:32px;height:32px;border-radius:50%;border:2px solid var(--color-gray-300);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;color:var(--color-gray-400);transition:all var(--transition-base);flex-shrink:0}.booking-step.active .step-num{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-white)}.step-label{font-size:.875rem;font-weight:600;color:var(--color-gray-400)}.booking-step.active .step-label{color:var(--color-gray-800)}.step-connector{flex:1;height:2px;background:var(--color-gray-200);margin:0 var(--space-4)}.court-selector{display:flex;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.court-pick-btn{display:flex;flex-direction:column;gap:2px;padding:var(--space-3) var(--space-5);border:2px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-white);cursor:pointer;transition:all var(--transition-fast);text-align:left}.court-pick-btn:hover{border-color:var(--color-primary-light)}.court-pick-btn.selected{border-color:var(--color-primary);background:var(--color-primary-pale)}.court-pick-name{font-weight:700;font-size:.9rem;color:var(--color-gray-800)}.court-pick-price{font-size:.8rem;color:var(--color-primary);font-weight:600}.booking-cal-hint{margin-bottom:var(--space-4)}.booking-confirm{display:flex;flex-direction:column;gap:var(--space-5)}.booking-summary-body{display:flex;flex-direction:column;gap:var(--space-4)}.summary-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-gray-100);font-size:.9375rem}.summary-row:last-child{border-bottom:none;padding-bottom:0}.booking-payment .card-body{padding-top:0}.booking-bank-body{padding-top:var(--space-4)}.bank-details{display:flex;flex-direction:column;gap:var(--space-3);background:var(--color-gray-50);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid var(--color-gray-200)}.bank-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.bank-label{color:var(--color-gray-500);font-weight:500}.bank-value{color:var(--color-gray-800);font-weight:600}.bank-value.mono{font-family:Courier New,Courier,monospace;letter-spacing:.03em;font-size:.95rem}.booking-success{text-align:center;padding:var(--space-12);display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}.booking-success-icon{width:80px;height:80px;border-radius:50%;background:var(--color-success-bg);color:var(--color-success);font-size:2.25rem;display:flex;align-items:center;justify-content:center}.booking-success-details{background:var(--color-gray-50);border-radius:var(--radius-md);padding:var(--space-4) var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);text-align:left;width:100%;max-width:320px;font-size:.9rem;color:var(--color-gray-700)}.vip-page{padding-top:var(--header-height)}.vip-hero{text-align:center;padding:var(--space-16) 0 var(--space-10);background:linear-gradient(to bottom,var(--color-primary-pale),transparent);border-radius:var(--radius-xl);margin-bottom:var(--space-10)}.vip-hero-badge{display:inline-block;padding:6px 18px;background:#d4af3726;color:var(--color-accent-dark);border:1px solid rgba(212,175,55,.35);border-radius:var(--radius-full);font-size:.75rem;font-weight:700;letter-spacing:.1em;margin-bottom:var(--space-5)}.vip-hero-title{background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-4)}.vip-hero-sub{font-size:1.125rem;color:var(--color-gray-600);max-width:480px;margin:0 auto}.vip-status-card{margin-bottom:var(--space-8);border:2px solid rgba(212,175,55,.35);background:linear-gradient(135deg,#d4af370f,#d4af3705)}.vip-status-icon{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent-light),var(--color-accent));display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.vip-layout{display:grid;grid-template-columns:1fr 380px;gap:var(--space-8);align-items:start;padding-bottom:var(--space-16)}.vip-benefits{display:flex;flex-direction:column;gap:var(--space-5)}.benefits-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.benefit-card{transition:all var(--transition-base)}.benefit-card:hover{transform:translateY(-2px)}.benefit-icon{font-size:2rem;margin-bottom:var(--space-3)}.price-card{background:linear-gradient(135deg,var(--color-primary-pale),var(--color-white));border:2px solid var(--color-primary-pale)}.vip-form-card{position:sticky;top:calc(var(--header-height) + var(--space-6))}.plan-selector{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.plan-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-4);border:2px solid var(--color-gray-200);border-radius:var(--radius-lg);background:var(--color-white);cursor:pointer;transition:all var(--transition-base);text-align:center;position:relative}.plan-option:hover{border-color:var(--color-primary-light);transform:translateY(-2px)}.plan-option--active{border-color:var(--color-primary);background:var(--color-primary-pale);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.15)}.plan-option-badge{position:absolute;top:-10px;right:var(--space-2);background:var(--color-accent);color:var(--color-white);font-size:.65rem;font-weight:800;letter-spacing:.05em;padding:2px 10px;border-radius:var(--radius-full)}.plan-option-name{font-size:.85rem;font-weight:700;color:var(--color-gray-500)}.plan-option--active .plan-option-name{color:var(--color-primary-dark)}.plan-option-price{font-family:var(--font-display);font-size:2rem;font-weight:800;color:var(--color-primary);line-height:1.1}.plan-option-dur{font-size:.75rem;color:var(--color-gray-500)}@media (max-width: 1024px){.vip-layout{grid-template-columns:1fr}.vip-form-card{position:static}}@media (max-width: 768px){.benefits-grid{grid-template-columns:1fr}.vip-hero{padding:var(--space-10) var(--space-4) var(--space-8)}}.profile-page{padding-top:var(--header-height)}.profile-container{padding-top:var(--space-10);padding-bottom:var(--space-16)}.profile-title{margin-bottom:var(--space-8)}.profile-grid{display:grid;grid-template-columns:340px 1fr;gap:var(--space-6);align-items:start}.profile-sidebar{display:flex;flex-direction:column;gap:var(--space-5);position:sticky;top:calc(var(--header-height) + var(--space-5))}.profile-card-top{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--color-gray-100);flex-wrap:wrap}.profile-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:var(--color-white);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;flex-shrink:0}.vip-info-strip{background:linear-gradient(90deg,#d4af371f,#d4af370a);border-top:1px solid rgba(212,175,55,.2);padding:var(--space-3) var(--space-5);font-size:.8rem;color:var(--color-accent-dark);font-weight:600;display:flex;flex-direction:column;gap:2px}.profile-info{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5)}.profile-info-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.profile-edit-form{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);text-align:center;gap:var(--space-3)}.empty-icon{font-size:3rem}@media (max-width: 1024px){.profile-grid{grid-template-columns:1fr}.profile-sidebar{position:static}}.admin-page{padding-top:var(--header-height);background:var(--color-off-white);min-height:100vh}.admin-container{padding-top:var(--space-8);padding-bottom:var(--space-16)}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-6);gap:var(--space-4)}.admin-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.admin-stat-value{font-family:var(--font-display);font-size:2.5rem;font-weight:700}.tabs{margin-bottom:var(--space-5)}.tab-content{margin-top:var(--space-5)}.admin-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-4)}.admin-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.admin-card-name{font-weight:700;font-size:1rem}.admin-card-details{display:flex;flex-direction:column;gap:var(--space-2);font-size:.875rem;color:var(--color-gray-600);margin-bottom:var(--space-4)}.proof-btn{width:100%;justify-content:center;border:1px solid var(--color-gray-200);margin-bottom:var(--space-3)}.admin-card-actions{display:flex;gap:var(--space-3)}.admin-card-actions .btn{flex:1}@media (max-width: 768px){.admin-stats,.admin-cards{grid-template-columns:1fr}.admin-header{flex-direction:column}}:root{--color-primary: #1B4332;--color-primary-dark: #0d2b1f;--color-primary-light: #2D6A4F;--color-primary-pale: #e8f5ee;--color-accent: #D4AF37;--color-accent-dark: #b8941f;--color-accent-light: #f0d060;--color-white: #ffffff;--color-off-white: #f8faf9;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-success: #16a34a;--color-success-bg: #dcfce7;--color-warning: #ca8a04;--color-warning-bg: #fef9c3;--color-error: #dc2626;--color-error-bg: #fee2e2;--color-pending: #d97706;--color-pending-bg: #fef3c7;--font-display: "Playfair Display", Georgia, serif;--font-body: "Inter", system-ui, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 16px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.06);--shadow-lg: 0 10px 40px rgba(0,0,0,.12), 0 4px 12px rgba(0,0,0,.08);--shadow-xl: 0 20px 60px rgba(0,0,0,.15);--shadow-green: 0 4px 24px rgba(27, 67, 50, .25);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--container-max: 1280px;--header-height: 72px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--color-gray-800);background:var(--color-off-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}ul,ol{list-style:none}h1,h2,h3,h4,h5{font-family:var(--font-display);line-height:1.2}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6)}.page-wrapper{min-height:calc(100vh - var(--header-height));padding-top:var(--header-height)}.display-xl{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700}.display-lg{font-size:clamp(2rem,4vw,3rem);font-weight:700}.display-md{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:600}.text-xl{font-size:1.25rem}.text-lg{font-size:1.125rem}.text-md{font-size:1rem}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-primary{color:var(--color-primary)}.text-accent{color:var(--color-accent)}.text-muted{color:var(--color-gray-500)}.text-center{text-align:center}.font-display{font-family:var(--font-display)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:12px 24px;border-radius:var(--radius-md);font-weight:600;font-size:.9375rem;transition:all var(--transition-base);white-space:nowrap;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff1a;opacity:0;transition:opacity var(--transition-fast)}.btn:hover:after{opacity:1}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-green)}.btn-primary:hover{background:var(--color-primary-light);transform:translateY(-1px)}.btn-accent{background:var(--color-accent);color:var(--color-primary-dark);box-shadow:0 4px 16px #d4af3759}.btn-accent:hover{background:var(--color-accent-dark);transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover{background:var(--color-primary-pale)}.btn-outline-white{background:transparent;color:var(--color-white);border:2px solid rgba(255,255,255,.6)}.btn-outline-white:hover{background:#ffffff1f;border-color:var(--color-white)}.btn-ghost{background:transparent;color:var(--color-gray-600)}.btn-ghost:hover{background:var(--color-gray-100);color:var(--color-gray-900)}.btn-danger{background:var(--color-error);color:var(--color-white)}.btn-danger:hover{background:#b91c1c}.btn-sm{padding:8px 16px;font-size:.8125rem;border-radius:var(--radius-sm)}.btn-lg{padding:16px 32px;font-size:1.0625rem}.btn-block{width:100%}.card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:box-shadow var(--transition-base),transform var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg)}.card-body{padding:var(--space-6)}.card-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-gray-100);display:flex;align-items:center;justify-content:space-between}.card-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-gray-100);background:var(--color-gray-50)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:.875rem;font-weight:600;color:var(--color-gray-700)}.form-input,.form-select,.form-textarea{width:100%;padding:11px 16px;border:1.5px solid var(--color-gray-200);border-radius:var(--radius-md);font-size:.9375rem;color:var(--color-gray-800);background:var(--color-white);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary-light);box-shadow:0 0 0 3px #2d6a4f1f}.form-input::placeholder{color:var(--color-gray-400)}.form-textarea{resize:vertical;min-height:100px}.form-error{font-size:.8125rem;color:var(--color-error);margin-top:var(--space-1)}.form-hint{font-size:.8125rem;color:var(--color-gray-500)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge-pending{background:var(--color-pending-bg);color:var(--color-pending)}.badge-approved{background:var(--color-success-bg);color:var(--color-success)}.badge-rejected{background:var(--color-error-bg);color:var(--color-error)}.badge-cancelled{background:var(--color-gray-100);color:var(--color-gray-600)}.badge-vip{background:linear-gradient(135deg,var(--color-accent-light),var(--color-accent));color:var(--color-primary-dark)}.badge-regular{background:var(--color-gray-100);color:var(--color-gray-600)}.badge-admin{background:var(--color-primary-pale);color:var(--color-primary)}.badge-instructor{background-color:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.alert{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);font-size:.9rem;display:flex;align-items:flex-start;gap:var(--space-3);border-left:4px solid}.alert-success{background:var(--color-success-bg);color:#15803d;border-color:var(--color-success)}.alert-error{background:var(--color-error-bg);color:#b91c1c;border-color:var(--color-error)}.alert-warning{background:var(--color-warning-bg);color:#92400e;border-color:var(--color-warning)}.alert-info{background:var(--color-primary-pale);color:var(--color-primary);border-color:var(--color-primary-light)}.divider{height:1px;background:var(--color-gray-200);margin:var(--space-6) 0}.divider-text{display:flex;align-items:center;gap:var(--space-4);color:var(--color-gray-400);font-size:.875rem;margin:var(--space-6) 0}.divider-text:before,.divider-text:after{content:"";flex:1;height:1px;background:var(--color-gray-200)}.spinner{width:24px;height:24px;border:3px solid rgba(27,67,50,.2);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}.spinner-sm{width:16px;height:16px;border-width:2px}.spinner-lg{width:40px;height:40px;border-width:4px}.spinner-white{border-color:#ffffff4d;border-top-color:var(--color-white)}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fadeIn var(--transition-base)}.modal{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;animation:slideUp var(--transition-base)}.modal-header{padding:var(--space-6);border-bottom:1px solid var(--color-gray-100);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:var(--space-6)}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-gray-100);display:flex;gap:var(--space-3);justify-content:flex-end}.modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-gray-400);transition:all var(--transition-fast)}.modal-close:hover{background:var(--color-gray-100);color:var(--color-gray-700)}.tabs{display:flex;gap:0;border-bottom:2px solid var(--color-gray-200)}.tab-btn{padding:var(--space-3) var(--space-5);font-weight:600;font-size:.9rem;color:var(--color-gray-500);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-2)}.tab-btn:hover{color:var(--color-primary)}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-count{background:var(--color-primary-pale);color:var(--color-primary);padding:1px 7px;border-radius:var(--radius-full);font-size:.75rem}.file-upload-area{border:2px dashed var(--color-gray-300);border-radius:var(--radius-md);padding:var(--space-8) var(--space-6);text-align:center;cursor:pointer;transition:all var(--transition-base);background:var(--color-gray-50)}.file-upload-area:hover{border-color:var(--color-primary-light);background:var(--color-primary-pale)}.file-upload-area.dragging{border-color:var(--color-primary);background:var(--color-primary-pale);transform:scale(1.01)}.file-upload-area.has-file{border-color:var(--color-success);background:var(--color-success-bg)}.file-upload-icon{width:48px;height:48px;margin:0 auto var(--space-3);color:var(--color-gray-400)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn var(--transition-base)}.animate-slide-up{animation:slideUp var(--transition-base)}.skeleton{background:linear-gradient(90deg,var(--color-gray-100) 25%,var(--color-gray-200) 50%,var(--color-gray-100) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--radius-sm)}@keyframes shimmer{to{background-position:-200% 0}}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th{text-align:left;padding:var(--space-3) var(--space-4);background:var(--color-gray-50);font-weight:600;color:var(--color-gray-600);font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-gray-200)}.table td{padding:var(--space-4);border-bottom:1px solid var(--color-gray-100);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--color-gray-50)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.w-full{width:100%}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.rounded{border-radius:var(--radius-md)}.rounded-full{border-radius:var(--radius-full)}.overflow-hidden{overflow:hidden}.relative{position:relative}.absolute{position:absolute}.inset-0{top:0;right:0;bottom:0;left:0}.hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}@media (max-width: 1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.container{padding:0 var(--space-4)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.hide-mobile{display:none}}
