.flightline-logo{display:block;max-width:100%;height:auto}.nav-logo:hover .flightline-logo{opacity:.9}.navigation{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--bg-dark);border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav-container{max-width:1200px;margin:0 auto;padding:0 var(--space-6);height:64px;display:flex;align-items:center;justify-content:space-between}.nav-logo{text-decoration:none;display:flex;align-items:center;gap:var(--space-2);transition:opacity .2s ease;flex-shrink:0}.nav-logo:hover{opacity:.85}.nav-logo-svg{width:clamp(130px,25vw,200px);height:auto}@media (max-width: 480px){.nav-logo-svg{width:120px}}.nav-links{display:none;align-items:center;gap:var(--space-2)}@media (min-width: 768px){.nav-links{display:flex}}.nav-link{padding:var(--space-3) var(--space-4);color:var(--text-muted);text-decoration:none;font-size:var(--text-callout);font-weight:var(--font-medium);border-radius:var(--radius-md);transition:all .2s ease}.nav-link:hover{color:var(--text);background:var(--bg-light)}.nav-link.active{color:var(--brand-blue);background:var(--bg-light)}.nav-auth{display:none}@media (min-width: 768px){.nav-auth{display:flex;align-items:center}}.sign-in-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:#000;color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.sign-in-btn:hover{background:#1a1a1a}.sign-in-btn:disabled{opacity:.6;cursor:not-allowed}.sign-in-btn .apple-icon{width:16px;height:16px}.user-menu-container{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-light);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.user-menu-trigger:hover{background:var(--bg-elevated)}.user-avatar-small{width:28px;height:28px;border-radius:50%;background:var(--brand-blue);display:flex;align-items:center;justify-content:center;overflow:hidden}.user-avatar-small img{width:100%;height:100%;object-fit:cover}.user-avatar-small span{color:#fff;font-size:var(--text-subheadline);font-weight:var(--font-semibold)}.user-greeting{font-size:var(--text-callout);color:var(--text-muted)}.user-greeting strong{color:var(--text)}.chevron{width:16px;height:16px;color:var(--text-muted);transition:transform .2s ease}.chevron.open{transform:rotate(180deg)}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:var(--bg-light);border-radius:var(--radius-lg);box-shadow:0 4px 8px var(--shadow-hard),0 16px 32px var(--shadow-soft);overflow:hidden;z-index:100}.dropdown-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:none;border:none;color:var(--text);font-size:var(--text-callout);text-decoration:none;cursor:pointer;transition:background .2s ease}.dropdown-item svg{width:18px;height:18px;color:var(--text-muted)}.dropdown-item.danger{color:var(--danger)}.dropdown-item.danger svg{color:var(--danger)}.dropdown-item.admin-link{color:var(--accent-primary);border-top:1px solid var(--border-color);margin-top:var(--space-1);padding-top:calc(var(--space-3) + var(--space-1))}.dropdown-item.admin-link svg{color:var(--accent-primary)}.mobile-nav-link.admin{color:var(--accent-primary);border-top:1px solid var(--border-color);margin-top:var(--space-2);padding-top:var(--space-4)}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;cursor:pointer}@media (min-width: 768px){.mobile-menu-btn{display:none}}.mobile-settings-btn-container{position:relative;display:flex;margin-right:-8px}@media (min-width: 768px){.mobile-settings-btn-container{display:none}}.mobile-settings-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;cursor:pointer}.mobile-settings-btn svg{width:22px;height:22px;color:var(--text-muted);transition:color .2s ease}.mobile-settings-btn:hover svg{color:var(--text)}.mobile-settings-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;background:var(--bg-light);border-radius:var(--radius-lg);box-shadow:0 4px 8px var(--shadow-hard),0 16px 32px var(--shadow-soft);overflow:hidden;z-index:100}.hamburger{display:flex;flex-direction:column;gap:5px;width:24px}.hamburger span{display:block;height:2px;background:var(--text);border-radius:1px;transition:all .3s ease}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-menu{position:absolute;top:100%;left:0;right:0;background:var(--bg-dark);border-bottom:1px solid var(--border-subtle);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);max-height:calc(100vh - 64px);overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-nav-link{padding:var(--space-4);color:var(--text-muted);text-decoration:none;font-size:var(--text-body);font-weight:var(--font-medium);border-radius:var(--radius-md);transition:all .2s ease}.mobile-nav-link:hover{color:var(--text);background:var(--bg-light)}.mobile-nav-link.active{color:var(--brand-blue);background:var(--bg-light)}.mobile-auth{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-2)}.mobile-sign-in,.mobile-sign-out{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-body);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.mobile-sign-in{background:#000;color:#fff;border:none}.mobile-sign-in .apple-icon{width:18px;height:18px}.mobile-sign-out{background:var(--bg-light);color:var(--danger);border:none}.settings-menu-container{position:relative;margin-left:var(--space-3)}.settings-trigger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-light);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.settings-trigger:hover{background:var(--bg-elevated)}.settings-trigger svg{width:20px;height:20px;color:var(--text-muted);transition:transform .3s ease,color .2s ease}.settings-trigger:hover svg{color:var(--text);transform:rotate(45deg)}.settings-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;background:var(--bg-light);border-radius:var(--radius-lg);box-shadow:0 4px 8px var(--shadow-hard),0 16px 32px var(--shadow-soft);overflow:visible;z-index:10000}.settings-header{padding:var(--space-4);font-size:var(--text-callout);font-weight:var(--font-semibold);color:var(--text);border-bottom:1px solid var(--border-subtle);text-transform:uppercase;letter-spacing:.5px}.settings-group{padding:var(--space-4);border-bottom:1px solid var(--border-subtle)}.settings-group:last-child{border-bottom:none}.settings-label{display:block;font-size:var(--text-subheadline);font-weight:var(--font-medium);color:var(--text-muted);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.5px}.settings-options{display:flex;gap:var(--space-2)}.settings-option{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-3);background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.settings-option:hover{background:var(--bg-elevated);color:var(--text);border-color:var(--border)}.settings-option.active{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue)}.settings-option svg{width:14px;height:14px}.mobile-settings{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.mobile-settings-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--text)}.mobile-settings-header svg{width:20px;height:20px;color:var(--text-muted)}.mobile-settings-group{padding:var(--space-3) var(--space-4)}.mobile-settings-label{display:block;font-size:var(--text-subheadline);font-weight:var(--font-medium);color:var(--text-muted);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.5px}.mobile-settings-options{display:flex;gap:var(--space-2)}.mobile-settings-option{flex:1;padding:var(--space-3);background:var(--bg-light);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease;text-align:center}.mobile-settings-option:hover{background:var(--bg-elevated);color:var(--text)}.mobile-settings-option.active{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue)}.footer{background:var(--bg-dark);color:var(--text);padding:var(--space-10) 0 var(--space-6);position:relative}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--border) 50%,transparent 100%)}.footer-content{display:grid;grid-template-columns:2fr 3fr;gap:var(--space-10);margin-bottom:var(--space-8);padding-bottom:var(--space-8);border-bottom:1px solid var(--border-subtle)}.footer-brand{max-width:300px}.footer-logo{width:clamp(140px,30vw,180px);height:auto;margin-bottom:var(--space-3)}.footer-tagline{color:var(--text-muted);font-size:var(--text-body);line-height:1.6}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.footer-heading{font-size:var(--text-body);font-weight:var(--font-bold);margin-bottom:var(--space-4);color:var(--text)}.footer-list{list-style:none;padding:0;margin:0}.footer-list li{margin-bottom:var(--space-3)}.footer-list a{color:var(--text-muted);text-decoration:none;font-size:var(--text-callout);transition:color .2s ease;display:inline-block}.footer-list a:hover{color:var(--text)}.footer-bottom{display:flex;justify-content:space-between;align-items:center}.footer-copyright{color:var(--text-subtle);font-size:var(--text-callout)}.footer-social{display:flex;gap:var(--space-5)}.footer-social a{color:var(--text-muted);text-decoration:none;font-size:var(--text-title-3);transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--bg-light)}.footer-social a:hover{color:var(--text);background:var(--bg-elevated);transform:translateY(-2px)}@media (max-width: 968px){.footer-content{grid-template-columns:1fr;gap:var(--space-8)}.footer-links{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.footer{padding:var(--space-8) 0 var(--space-5)}.footer-links{grid-template-columns:1fr;gap:var(--space-6)}.footer-bottom{flex-direction:column;gap:var(--space-5);text-align:center}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding-top:calc(64px + var(--space-10));padding-bottom:var(--space-10);background:linear-gradient(180deg,var(--bg) 0%,var(--bg-dark) 100%)}.hero-background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;overflow:hidden}.hero-gradient{position:absolute;top:-50%;left:-25%;width:150%;height:150%;background:radial-gradient(ellipse at center,var(--brand-blue-10) 0%,transparent 70%);animation:pulse 8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.hero .container{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-10);align-items:center}.hero-content{z-index:1;position:relative}.hero-welcome{display:block;font-size:var(--text-title-2);font-weight:var(--font-medium);color:var(--text-muted);margin-bottom:var(--space-2);letter-spacing:.5px}.hero-title{font-size:3.5rem;font-weight:var(--font-bold);line-height:1.15;margin-bottom:var(--space-6);color:var(--text)}.hero-title .gradient-text{background:linear-gradient(135deg,var(--brand-blue-light) 0%,var(--brand-blue) 50%,var(--brand-sky-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-logo{margin-bottom:var(--space-6);margin-left:-10px;width:100%;max-width:600px}.hero-logo-svg{width:100%;height:auto}.hero-subtitle{font-size:var(--text-title-3);color:var(--text-muted);margin-bottom:var(--space-8);max-width:500px;line-height:1.6}.hero-buttons{display:flex;gap:var(--space-4);margin-bottom:var(--space-6)}.hero-badge{display:inline-block}.badge{display:inline-flex;align-items:center;gap:var(--space-2)}.badge-icon{width:16px;height:16px;color:var(--brand-blue)}.hero-image{display:flex;justify-content:center;align-items:center;z-index:10;position:relative}.phone-mockup{width:280px;height:560px;background:var(--bg-dark);border-radius:40px;padding:12px;box-shadow:0 8px 16px var(--shadow-hard),0 32px 64px var(--shadow-soft),0 64px 128px #00000026,inset 0 1px 0 var(--highlight-top);position:relative;transform:scale(1.05) translateZ(0)}.phone-mockup:before{content:"";position:absolute;top:20px;left:50%;transform:translate(-50%);width:60px;height:6px;background:var(--bg-light);border-radius:3px}.phone-screen{width:100%;height:100%;background:linear-gradient(180deg,var(--bg) 0%,var(--bg-dark) 100%);border-radius:32px;overflow:hidden;position:relative}.phone-screen:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,var(--brand-sky-light) 0%,var(--brand-sky-dark) 100%);opacity:.15;pointer-events:none}.app-preview{padding:3rem 1.5rem;height:100%;position:relative;z-index:1}.app-header{width:100%;height:40px;background:var(--bg-light);border-radius:var(--radius-xl);margin-bottom:var(--space-6);box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft);position:relative}.app-header:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.app-content{display:flex;flex-direction:column;gap:var(--space-5)}.content-block{width:100%;height:100px;background:var(--bg-light);border-radius:var(--radius-xl);position:relative;box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.content-block:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.content-block.small{height:60px}@media (max-width: 968px){.hero .container{grid-template-columns:1fr;gap:var(--space-8);text-align:center}.hero-content{display:flex;flex-direction:column;align-items:center}.hero-title{font-size:2.5rem}.hero-logo{max-width:500px;margin-left:0}.hero-subtitle{max-width:100%}.hero-image{order:-1}.phone-mockup{width:240px;height:480px}}@media (max-width: 640px){.hero{padding:var(--space-8) 0;padding-top:calc(64px + var(--space-6))}.hero-title{font-size:2rem}.hero-welcome{font-size:var(--text-headline)}.hero-logo{max-width:100%;width:calc(100% + var(--space-5) * 2);margin-left:calc(-1 * var(--space-5));margin-right:calc(-1 * var(--space-5));margin-bottom:var(--space-4)}.hero-subtitle{font-size:var(--text-body)}.hero-buttons{flex-direction:column;width:100%}.hero-buttons .btn{width:100%}.phone-mockup{width:180px;height:360px;border-radius:32px;padding:8px}.phone-mockup:before{width:48px;height:5px;top:14px}.phone-screen{border-radius:26px}.app-preview{padding:2rem 1rem}}@media (max-width: 400px){.phone-mockup{width:160px;height:320px;border-radius:28px;padding:6px}.phone-screen{border-radius:24px}}.features{padding:var(--space-10) 0;background:var(--bg-dark);position:relative}.features:before{content:"";position:absolute;top:0;left:0;right:0;height:200px;background:linear-gradient(180deg,var(--bg) 0%,transparent 100%);opacity:.2;pointer-events:none}.features-header{text-align:center;margin-bottom:var(--space-10);position:relative;z-index:1}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6);position:relative;z-index:1}.feature-card{position:relative;background:var(--bg-light);padding:var(--space-7);border-radius:var(--radius-xl);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft);transition:all .3s ease;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);pointer-events:none}.feature-card:hover{transform:translateY(-4px);box-shadow:0 2px 1px var(--shadow-hard),0 8px 16px var(--shadow-soft)}.feature-card:hover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,var(--highlight-gradient-start),var(--highlight-gradient-end));border-radius:inherit;pointer-events:none}.feature-icon{width:24px;height:24px;margin-bottom:var(--space-4);display:block;color:var(--brand-blue)}.feature-icon svg{width:100%;height:100%}.feature-title{font-size:var(--text-title-3);font-weight:var(--font-bold);margin-bottom:var(--space-3);color:var(--text)}.feature-description{color:var(--text-muted);font-size:var(--text-body);line-height:1.7}@media (max-width: 768px){.features{padding:var(--space-9) 0}.features-header{margin-bottom:var(--space-8)}.features-grid{grid-template-columns:1fr;gap:var(--space-5)}.feature-card{padding:var(--space-6)}}.screenshots{padding:var(--space-10) 0;background:var(--bg-dark);position:relative}.screenshots:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center top,var(--brand-blue-10) 0%,transparent 60%);pointer-events:none}.screenshots-header{text-align:center;margin-bottom:var(--space-10);position:relative;z-index:1}.screenshots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-8);max-width:1000px;margin:0 auto;position:relative;z-index:1}.screenshot-card{text-align:center}.screenshot-placeholder{background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-6);height:400px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 1px var(--shadow-hard),0 8px 16px var(--shadow-soft);transition:all .3s ease;position:relative;overflow:hidden}.screenshot-placeholder:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.screenshot-placeholder:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,var(--brand-sky-light) 0%,var(--brand-sky-dark) 100%);opacity:.1;pointer-events:none}.screenshot-card:hover .screenshot-placeholder{transform:scale(1.02);box-shadow:0 4px 8px var(--shadow-hard),0 16px 32px var(--shadow-soft)}.placeholder-content{width:100%;height:100%;display:flex;flex-direction:column;gap:var(--space-5);position:relative;z-index:1}.placeholder-header{width:100%;height:60px;background:var(--bg-elevated);border-radius:var(--radius-xl);position:relative;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.placeholder-header:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.placeholder-body{flex:1;display:flex;flex-direction:column;gap:var(--space-4);justify-content:center}.placeholder-line{width:100%;height:20px;background:var(--bg-elevated);border-radius:var(--radius-lg)}.placeholder-line.short{width:60%}.placeholder-circle{width:80px;height:80px;background:var(--bg-elevated);border-radius:50%;margin:0 auto var(--space-4);box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.placeholder-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);height:100%}.grid-item{background:var(--bg-elevated);border-radius:var(--radius-xl);position:relative;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.grid-item:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.screenshot-caption{margin-top:var(--space-5);font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--text)}@media (max-width: 768px){.screenshots{padding:var(--space-9) 0}.screenshots-header{margin-bottom:var(--space-8)}.screenshots-grid{grid-template-columns:1fr;gap:var(--space-6)}.screenshot-placeholder{height:350px}}.cta{position:relative;padding:var(--space-10) 0;overflow:hidden}.cta-background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1}.cta-gradient{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--cta-bg-start) 0%,var(--cta-bg-mid) 50%,var(--cta-bg-end) 100%)}.cta-gradient:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 30% 50%,var(--brand-sky-light) 0%,transparent 60%);opacity:.2;animation:ctaPulse 6s ease-in-out infinite}@keyframes ctaPulse{0%,to{opacity:.15;transform:scale(1)}50%{opacity:.25;transform:scale(1.1)}}.cta:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,hsla(0,0%,100%,.3) 50%,transparent 100%);z-index:1}.cta-content{text-align:center;color:var(--cta-text);position:relative;z-index:1}.cta-title{font-size:3rem;font-weight:var(--font-bold);margin-bottom:var(--space-5);text-shadow:0 2px 4px hsla(0,0%,0%,.2);color:var(--cta-text)}.cta-subtitle{font-size:var(--text-title-3);margin-bottom:var(--space-8);opacity:.95;max-width:600px;margin-left:auto;margin-right:auto;color:var(--cta-text)}.cta .btn-large{background:var(--cta-btn-bg);color:var(--cta-btn-text);padding:var(--space-5) var(--space-9);font-size:var(--text-headline);border-radius:var(--radius-full);box-shadow:0 2px 1px var(--shadow-hard),0 8px 16px #00000040}.cta .btn-large:hover{background:var(--cta-btn-bg);filter:brightness(.95);transform:translateY(-4px);box-shadow:0 4px 8px var(--shadow-hard),0 16px 32px #0000004d}.cta-note{margin-top:var(--space-5);font-size:var(--text-callout);opacity:.85;color:var(--cta-text)}@media (max-width: 768px){.cta{padding:var(--space-9) 0}.cta-title{font-size:2rem}.cta-subtitle{font-size:var(--text-body)}.cta .btn-large{padding:var(--space-4) var(--space-7);font-size:var(--text-body)}}.leaderboards-page{min-height:100vh;padding-top:var(--page-top-padding);padding-bottom:var(--space-10);background:var(--bg-dark)}.page-header{text-align:center;margin-bottom:var(--space-8)}.page-title{font-size:2.5rem;font-weight:var(--font-bold);margin-bottom:var(--space-3)}.page-subtitle{font-size:var(--text-body);color:var(--text-muted);max-width:500px;margin:0 auto}.filter-bar{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.filter-toggle{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-light);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.filter-toggle svg{width:16px;height:16px}.filter-toggle:hover{background:var(--bg-elevated);color:var(--text);border-color:var(--border)}.filter-toggle.active{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue)}.filter-toggle.has-filters{border-color:var(--brand-blue)}.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 var(--space-1);background:var(--brand-blue);color:#fff;font-size:var(--text-caption-2);font-weight:var(--font-bold);border-radius:var(--radius-full)}.filter-toggle.active .filter-count{background:#fff;color:var(--brand-blue)}.active-filters{display:flex;align-items:center;gap:var(--space-3);flex:1}.filter-summary{font-size:var(--text-callout);color:var(--text-muted)}.clear-filters{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:none;border:none;color:var(--text-muted);font-size:var(--text-caption-1);cursor:pointer;transition:color .2s ease}.clear-filters:hover{color:var(--danger)}.clear-filters svg{width:14px;height:14px}.filter-panel{background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-6);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.filter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4)}.filter-group{display:flex;flex-direction:column;gap:var(--space-2)}.filter-label{font-size:var(--text-subheadline);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.filter-select{padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-callout);font-family:var(--font-family);cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-8)}.filter-select:hover{border-color:var(--border)}.filter-select:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px var(--brand-blue-20)}.filtered-badge{padding:var(--space-1) var(--space-3);background:var(--brand-blue-20);color:var(--brand-blue);font-size:var(--text-caption-1);font-weight:var(--font-semibold);border-radius:var(--radius-full);margin-left:auto}@media (max-width: 640px){.filter-bar{flex-direction:column;align-items:stretch}.active-filters{flex-direction:column;align-items:flex-start}.filter-grid{grid-template-columns:1fr}}.leaderboards-layout{display:grid;grid-template-columns:280px 1fr;gap:var(--space-6)}@media (max-width: 968px){.leaderboards-layout{grid-template-columns:1fr}}.leaderboards-sidebar{background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-5);height:fit-content;position:sticky;top:calc(64px + var(--space-6));box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.sidebar-title{font-size:var(--text-subheadline);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-4);padding:0 var(--space-3)}.category-list{display:flex;flex-direction:column;gap:var(--space-2)}.category-btn{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:none;border:none;border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:all .2s ease}.category-btn:hover{background:var(--bg-elevated)}.category-btn.active{background:var(--brand-blue)}.category-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border-radius:var(--radius-sm);padding:6px;color:var(--brand-blue)}.category-icon svg{width:100%;height:100%}.category-btn.active .category-icon{background:#fff3}.category-text{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.category-title{font-size:var(--text-callout);font-weight:var(--font-semibold);color:var(--text)}.category-btn.active .category-title{color:#fff}.category-desc{font-size:var(--text-caption-1);color:var(--text-subtle);display:none}@media (min-width: 968px){.category-desc{display:block}}.category-btn.active .category-desc{color:#fffc}@media (max-width: 968px){.leaderboards-sidebar{position:static;padding:var(--space-4)}.sidebar-title{display:none}.category-list{flex-direction:row;overflow-x:auto;gap:var(--space-2);margin:0 calc(-1 * var(--space-4));padding:0 var(--space-4);scrollbar-width:none}.category-list::-webkit-scrollbar{display:none}.category-btn{flex-shrink:0;flex-direction:column;align-items:center;padding:var(--space-3);min-width:80px}.category-icon{width:40px;height:40px;padding:8px}.category-text{align-items:center}.category-title{font-size:var(--text-caption-1);white-space:nowrap}}.leaderboard-card{background:var(--bg-light);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.leaderboard-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-6);border-bottom:1px solid var(--border-subtle);background:linear-gradient(to bottom,var(--bg-elevated),var(--bg-light))}.header-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--brand-blue)}.header-icon svg{width:100%;height:100%}.header-text h2{font-size:var(--text-title-3);font-weight:var(--font-bold);color:var(--text);margin-bottom:var(--space-1)}.header-text p{font-size:var(--text-callout);color:var(--text-muted)}.leaderboard-loading,.leaderboard-error,.leaderboard-empty{text-align:center;padding:var(--space-10);color:var(--text-muted)}.leaderboard-table{width:100%}.table-header{display:grid;grid-template-columns:60px 1fr 100px;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--bg-elevated);font-size:var(--text-subheadline);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.table-body{display:flex;flex-direction:column}.table-row{display:grid;grid-template-columns:60px 1fr 100px;gap:var(--space-4);padding:var(--space-4) var(--space-6);align-items:center;border-bottom:1px solid var(--border-subtle);transition:background .2s ease}.table-row:last-child{border-bottom:none}.table-row:hover{background:var(--bg-elevated)}.table-row.rank-1{background:linear-gradient(90deg,hsla(45,100%,50%,.1) 0%,transparent 50%)}.table-row.rank-2{background:linear-gradient(90deg,hsla(0,0%,75%,.08) 0%,transparent 50%)}.table-row.rank-3{background:linear-gradient(90deg,hsla(30,70%,45%,.08) 0%,transparent 50%)}.col-rank{text-align:center}.rank-medal{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.rank-medal svg{width:100%;height:100%}.rank-medal.gold{color:#ffbf00}.rank-medal.silver{color:#bfbfbf}.rank-medal.bronze{color:#d98026}.rank-number{font-size:var(--text-body);font-weight:var(--font-bold);color:var(--text-muted)}.col-pilot{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.pilot-name{font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flight-name{font-size:var(--text-caption-1);color:var(--text-subtle)}.progress-bar{height:4px;background:var(--bg-dark);border-radius:2px;overflow:hidden;margin-top:var(--space-2)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--brand-blue),var(--brand-blue-light));border-radius:2px;transition:width .4s ease}.col-value{text-align:right}.value-main{font-size:var(--text-title-3);font-weight:var(--font-bold);color:var(--text);font-family:var(--font-family-mono)}.value-unit{display:block;font-size:var(--text-caption-1);color:var(--text-muted);margin-top:var(--space-1)}@media (max-width: 640px){.leaderboards-page{padding-top:var(--page-top-padding)}.page-title{font-size:2rem}.table-header,.table-row{grid-template-columns:50px 1fr 80px;padding:var(--space-3) var(--space-4)}.value-main{font-size:var(--text-body)}}.coach-card{background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft);position:relative;transition:transform .2s ease,box-shadow .2s ease}.coach-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.coach-card:hover{transform:translateY(-2px);box-shadow:0 2px 1px var(--shadow-hard),0 6px 12px var(--shadow-soft)}.coach-card-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.coach-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#b152e0,#8e22c3);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.coach-avatar span{font-size:var(--text-headline);font-weight:var(--font-bold);color:#fff}.coach-main-info{flex:1;min-width:0}.coach-name{font-size:var(--text-headline);font-weight:var(--font-bold);color:var(--text);margin:0 0 var(--space-1) 0}.coach-distance{font-size:var(--text-callout);color:var(--text-muted)}.visiting-badge{padding:var(--space-1) var(--space-3);background:#79b99833;color:var(--success);font-size:var(--text-caption-1);font-weight:var(--font-semibold);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.coach-bio{font-size:var(--text-callout);color:var(--text-muted);line-height:1.6;margin-bottom:var(--space-4);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.coach-locations{margin-bottom:var(--space-4)}.location-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0}.location-item.visiting{padding-left:var(--space-4)}.location-icon{font-size:var(--text-body)}.location-name{font-size:var(--text-callout);font-weight:var(--font-medium);color:var(--text);flex:1}.location-label{font-size:var(--text-caption-1);color:var(--text-subtle)}.upcoming-visits{margin-top:var(--space-2)}.upcoming-label{font-size:var(--text-caption-1);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:var(--space-2)}.visit-dates{font-size:var(--text-caption-1);color:var(--text-subtle)}.coach-contact{display:flex;gap:var(--space-3);flex-wrap:wrap;padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.contact-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-md);font-size:var(--text-callout);font-weight:var(--font-medium);color:var(--text);text-decoration:none;transition:all .2s ease}.contact-link svg{width:16px;height:16px}.contact-link.email:hover{background:var(--brand-blue);color:#fff}.contact-link.facebook:hover{background:#1877f2;color:#fff}.contact-link.instagram:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff}.coach-search{position:relative;display:flex;align-items:center;width:100%;max-width:500px}.search-icon{position:absolute;left:var(--space-4);width:20px;height:20px;color:var(--text-subtle);pointer-events:none}.search-icon svg{width:100%;height:100%}.search-input{width:100%;padding:var(--space-3) var(--space-4);padding-left:calc(var(--space-4) + 28px);padding-right:calc(var(--space-4) + 32px);background:var(--bg-light);border:1px solid var(--border-muted);border-radius:var(--radius-full);color:var(--text);font-size:var(--text-body);font-family:var(--font-family);transition:all .2s ease;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.search-input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px var(--brand-blue-20),0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.clear-btn{position:absolute;right:var(--space-3);width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.clear-btn:hover{background:var(--bg-dark);color:var(--text)}.clear-btn svg{width:14px;height:14px}.coach-discovery{max-width:1200px;margin:0 auto;padding:calc(64px + var(--space-8)) var(--space-5) var(--space-8);min-height:100vh}.discovery-header{text-align:center;margin-bottom:var(--space-8)}.discovery-title{font-size:clamp(var(--text-title-1),5vw,42px);font-weight:var(--font-bold);margin-bottom:var(--space-3)}.discovery-title .gradient-text{background:linear-gradient(135deg,var(--brand-blue-light) 0%,var(--brand-blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.discovery-subtitle{font-size:var(--text-headline);color:var(--text-muted)}.discovery-search{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-bottom:var(--space-8)}.location-info{font-size:var(--text-callout);color:var(--text-subtle)}.discovery-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);gap:var(--space-4)}.discovery-loading .loading-spinner{width:48px;height:48px;border:3px solid var(--border-muted);border-top-color:var(--brand-blue);border-radius:50%;animation:spin 1s linear infinite}.discovery-loading p{color:var(--text-muted)}.discovery-error{text-align:center;padding:var(--space-8);background:#d6998f1a;border:1px solid var(--danger);border-radius:var(--radius-xl)}.discovery-error p{color:var(--danger)}.discovery-empty{text-align:center;padding:var(--space-10);background:var(--bg-light);border-radius:var(--radius-xl);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.discovery-empty .empty-icon{display:flex;justify-content:center;margin-bottom:var(--space-4);color:var(--brand-blue)}.discovery-empty .empty-icon svg{width:64px;height:64px}.discovery-empty h3{font-size:var(--text-title-3);color:var(--text);margin-bottom:var(--space-2)}.discovery-empty p{color:var(--text-muted)}.coach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-5)}@media (max-width: 768px){.coach-discovery{padding:var(--space-5) var(--space-4)}.discovery-header{margin-bottom:var(--space-6)}.coach-grid{grid-template-columns:1fr}}.event-card{background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft);position:relative;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.event-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.event-card.active{border:1px solid var(--success)}.event-card.active:before{background:linear-gradient(to bottom,var(--success),transparent)}.event-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.event-status{display:flex;gap:var(--space-2)}.status-badge{padding:var(--space-1) var(--space-3);font-size:var(--text-caption-1);font-weight:var(--font-semibold);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.status-badge.active{background:#79b99833;color:var(--success)}.status-badge.upcoming{background:#0062ff33;color:var(--brand-blue)}.status-badge.past{background:#4075bf33;color:var(--text-muted)}.status-badge.ongoing{background:#b152e033;color:#b152e0}.status-badge.online{background:#269dd933;color:#269dd9;text-transform:none}.card-actions{display:flex;gap:var(--space-1)}.edit-btn,.delete-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all .2s ease}.edit-btn:hover{background:var(--brand-blue-20);color:var(--brand-blue)}.delete-btn:hover{background:#d6998f33;color:var(--danger)}.edit-btn svg,.delete-btn svg{width:18px;height:18px}.ongoing-label{color:#b152e0;font-style:italic}.event-name{font-size:var(--text-headline);font-weight:var(--font-bold);color:var(--text);margin:0 0 var(--space-2) 0}.event-description{font-size:var(--text-callout);color:var(--text-muted);margin-bottom:var(--space-4);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.event-detail{display:flex;align-items:center;gap:var(--space-2)}.detail-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--text-muted)}.detail-icon svg{width:100%;height:100%}.detail-text{font-size:var(--text-callout);color:var(--text)}.event-action{padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.view-details{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-callout);font-weight:var(--font-medium);color:var(--brand-blue)}.view-details svg{width:16px;height:16px;transition:transform .2s ease}.event-card:hover .view-details svg{transform:translate(4px)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-5);animation:fadeIn .2s ease}.modal-content{background:var(--bg-light);border-radius:var(--radius-xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 8px var(--shadow-hard),0 16px 32px var(--shadow-soft);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5);border-bottom:1px solid var(--border-subtle)}.modal-title{font-size:var(--text-headline);font-weight:var(--font-bold);color:var(--text);margin:0}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all .2s ease}.modal-close:hover{background:var(--bg-elevated);color:var(--text)}.modal-close svg{width:20px;height:20px}.modal-content form{padding:var(--space-5)}.modal-error{padding:var(--space-3) var(--space-4);background:#d6998f1a;border:1px solid var(--danger);border-radius:var(--radius-md);color:var(--danger);font-size:var(--text-callout);margin-bottom:var(--space-4)}.modal-content .form-group{margin-bottom:var(--space-4)}.modal-content .form-group label{display:block;font-size:var(--text-subheadline);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.modal-content .form-input,.modal-content .form-textarea{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-body);font-family:var(--font-family);transition:all .2s ease}.modal-content .form-input:focus,.modal-content .form-textarea:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px var(--brand-blue-20)}.modal-content .form-input::placeholder,.modal-content .form-textarea::placeholder{color:var(--text-subtle)}.modal-content .form-textarea{resize:vertical;min-height:80px}.toggle-label{display:flex;align-items:center;cursor:pointer}.toggle-label.inline-toggle{margin-bottom:var(--space-2)}.toggle-checkbox{width:18px;height:18px;margin-right:var(--space-2);accent-color:var(--brand-blue);cursor:pointer}.toggle-text{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-callout);font-weight:var(--font-medium);color:var(--text);text-transform:none;letter-spacing:normal}.toggle-icon{font-size:var(--text-body)}.form-hint{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-md);margin-bottom:var(--space-4);color:var(--text-muted);font-size:var(--text-caption-1);line-height:1.4}.hint-icon{flex-shrink:0}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}.modal-actions .btn-cancel{padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.modal-actions .btn-cancel:hover{background:var(--bg-elevated);color:var(--text)}.modal-actions .btn-create{padding:var(--space-2) var(--space-5);background:var(--brand-blue);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s ease}.modal-actions .btn-create:hover{background:var(--brand-blue-light)}.modal-actions .btn-create:disabled,.modal-actions .btn-cancel:disabled{opacity:.5;cursor:not-allowed}.invite-tabs{display:flex;gap:var(--space-2);padding:0 var(--space-5);margin-top:var(--space-4)}.invite-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.invite-tab svg{width:18px;height:18px}.invite-tab:hover{background:var(--bg-light);color:var(--text)}.invite-tab.active{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.invite-search-section{padding:var(--space-5)}.search-input-wrapper{position:relative}.search-input-wrapper .search-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-subtle);pointer-events:none}.search-input-wrapper .search-input{padding-left:calc(var(--space-3) + 24px)}.search-results{margin-top:var(--space-4);min-height:200px}.search-loading,.search-empty,.search-hint{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6);color:var(--text-muted);text-align:center;font-size:var(--text-callout)}.loading-spinner-small{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--brand-blue);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--space-2)}.search-results-list{display:flex;flex-direction:column;gap:var(--space-2)}.search-result-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-md);transition:background .2s ease}.search-result-item:hover{background:var(--bg-dark)}.result-avatar{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--brand-blue-20);color:var(--brand-blue);border-radius:50%;font-weight:var(--font-semibold);font-size:var(--text-body);flex-shrink:0}.result-name{display:block;font-weight:var(--font-medium);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-dz{display:block;font-size:var(--text-caption-1);color:var(--text-subtle)}.invite-user-btn{padding:var(--space-2) var(--space-4);background:var(--brand-blue);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-caption-1);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s ease;flex-shrink:0}.invite-user-btn:hover{background:var(--brand-blue-light)}.invite-user-btn:disabled{opacity:.5;cursor:not-allowed}.invite-code-section{padding:var(--space-5)}.code-description{color:var(--text-muted);font-size:var(--text-callout);margin-bottom:var(--space-5);text-align:center}.invite-code-display{display:flex;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-5);background:var(--bg-elevated);border:2px dashed var(--border);border-radius:var(--radius-lg);margin-bottom:var(--space-5)}.invite-code{font-size:var(--text-title-1);font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--brand-blue);letter-spacing:.15em}.copy-code-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--brand-blue);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.copy-code-btn svg{width:16px;height:16px}.copy-code-btn:hover{background:var(--brand-blue-light)}.no-code-message{text-align:center;padding:var(--space-5);color:var(--text-muted)}.no-code-message .hint{font-size:var(--text-caption-1);color:var(--text-subtle);margin-top:var(--space-2)}.code-instructions{background:var(--bg-elevated);border-radius:var(--radius-md);padding:var(--space-4)}.code-instructions h4{font-size:var(--text-callout);font-weight:var(--font-semibold);color:var(--text);margin:0 0 var(--space-3) 0}.code-instructions ol{margin:0;padding-left:var(--space-5);color:var(--text-muted);font-size:var(--text-caption-1);line-height:1.8}@media (max-width: 540px){.modal-backdrop{padding:var(--space-3)}.form-row{grid-template-columns:1fr}.invite-tabs{padding:0 var(--space-4)}.invite-tab{padding:var(--space-2) var(--space-3);font-size:var(--text-caption-1)}.invite-code-display{flex-direction:column;gap:var(--space-3)}.invite-code{font-size:var(--text-title-2)}}.comparison-picker-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-5);animation:fadeIn .2s ease-out}.comparison-picker-modal{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:700px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 24px 48px #0006;animation:slideUp .3s ease-out}.picker-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-5);border-bottom:1px solid var(--border-subtle)}.header-content h3{margin:0 0 var(--space-1);font-size:var(--text-title-3);font-weight:var(--font-bold);color:var(--text)}.selection-count{margin:0;font-size:var(--text-caption-1);color:var(--text-muted)}.search-mode-tabs{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle)}.mode-tab{flex:1;padding:var(--space-2) var(--space-4);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-caption-1);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.mode-tab:hover{background:var(--bg-dark);color:var(--text)}.mode-tab.active{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue)}.picker-filters{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.event-select{flex:1;padding:var(--space-2) var(--space-3);background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-callout);cursor:pointer}.event-select:focus{outline:none;border-color:var(--brand-blue)}.search-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.search-input-wrapper svg{position:absolute;left:var(--space-3);width:18px;height:18px;color:var(--text-muted);pointer-events:none}.search-input{width:100%;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-9);background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-callout)}.search-input:focus{outline:none;border-color:var(--brand-blue)}.selected-flights{padding:var(--space-4) var(--space-5);background:#0062ff0d;border-bottom:1px solid var(--border-subtle)}.selected-flights h4{margin:0 0 var(--space-3);font-size:var(--text-caption-1);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.selected-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.selected-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-light);border:1px solid var(--border-subtle);border-radius:var(--radius-full)}.flight-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.selected-name{font-size:var(--text-caption-1);color:var(--text);max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remove-selected{width:20px;height:20px;padding:0;background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s}.remove-selected:hover{color:var(--danger)}.remove-selected svg{width:14px;height:14px}.flights-list-container{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-5);min-height:200px}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:var(--space-3);color:var(--text-muted)}.loading-state .loading-spinner{width:32px;height:32px;border:3px solid var(--border-muted);border-top-color:var(--brand-blue);border-radius:50%;animation:spin 1s linear infinite}.empty-state span{font-size:var(--text-caption-1);color:var(--text-subtle)}.flight-results{display:flex;flex-direction:column;gap:var(--space-2)}.flight-result-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s}.flight-result-item:hover{background:var(--bg-dark);border-color:var(--border)}.flight-result-item.selected{background:#0062ff1a;border-color:var(--brand-blue)}.flight-result-item.disabled{opacity:.5;cursor:not-allowed}.result-checkbox{width:22px;height:22px;background:var(--bg-dark);border:2px solid var(--border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.flight-result-item.selected .result-checkbox{background:var(--brand-blue);border-color:var(--brand-blue)}.result-checkbox svg{width:14px;height:14px;color:#fff}.result-info{flex:1;min-width:0}.result-name{display:block;font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--text);margin-bottom:var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--text-caption-1);color:var(--text-muted)}.result-meta span{display:flex;align-items:center;gap:var(--space-1)}.picker-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle);background:var(--bg-elevated);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.cancel-btn{padding:var(--space-3) var(--space-5);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.cancel-btn:hover{border-color:var(--text);color:var(--text)}.compare-btn{padding:var(--space-3) var(--space-6);background:linear-gradient(135deg,#a0f,#73f);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s}.compare-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #a0f6}.compare-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.comparison-picker-modal{max-height:95vh}.picker-filters{flex-direction:column}.result-meta{flex-direction:column;gap:var(--space-1)}}.chart-container{background:var(--bg-light);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft);position:relative;height:100%;display:flex;flex-direction:column}.chart-container:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0;z-index:1}.chart-header{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border-subtle);text-align:center}.chart-title{font-size:var(--text-callout);font-weight:var(--font-semibold);color:var(--text-muted);margin:0;text-transform:uppercase;letter-spacing:.05em}.chart-title-input{font-size:var(--text-callout);font-weight:var(--font-semibold);color:var(--text);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);text-align:center;text-transform:uppercase;letter-spacing:.05em;width:100%;max-width:200px}.chart-title-input:focus{outline:none;border-color:var(--brand-blue)}.chart-content{flex:1;padding:var(--space-4);min-height:0;position:relative}.chart-container:not(.in-widget) .chart-content{min-height:300px;height:350px}.chart-container .recharts-wrapper{font-family:var(--font-family)}.chart-container .recharts-cartesian-axis-tick-value{fill:var(--text-muted);font-size:var(--text-caption-1)}.chart-container .recharts-cartesian-axis-line,.chart-container .recharts-cartesian-axis-tick-line{stroke:var(--border-muted)}.chart-container .recharts-cartesian-grid-horizontal line,.chart-container .recharts-cartesian-grid-vertical line{stroke:var(--border-subtle)}.chart-container .recharts-tooltip-wrapper{z-index:10}.chart-container .recharts-default-tooltip{background:var(--bg-dark)!important;border:1px solid var(--border)!important;border-radius:var(--radius-md)!important;padding:var(--space-3)!important}.chart-container .recharts-tooltip-label{color:var(--text)!important;font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.chart-container .recharts-tooltip-item{color:var(--text-muted)!important;font-size:var(--text-callout)}.chart-container .recharts-legend-wrapper{padding-top:var(--space-2)!important}.chart-container .recharts-legend-item-text{color:var(--text)!important;font-size:var(--text-callout)}.chart-container .recharts-reference-line,.chart-container .recharts-reference-line-line{z-index:10}.chart-container .recharts-label{z-index:20!important}.chart-loading{display:flex;align-items:center;justify-content:center;height:100%;min-height:200px}.chart-loading-spinner{width:32px;height:32px;border:3px solid var(--border-muted);border-top-color:var(--brand-blue);border-radius:50%;animation:spin 1s linear infinite}.chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:200px;color:var(--text-muted);text-align:center}.chart-empty-icon{font-size:48px;margin-bottom:var(--space-3)}.chart-empty p{margin:0}.path-view-container{position:relative;width:100%;height:100%;min-height:0;flex:1}.chart-container:not(.in-widget) .path-view-container{min-height:300px}.path-canvas{position:absolute;top:0;left:0;width:100%;height:100%}.path-legend{position:absolute;bottom:10px;left:10px;display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--bg-dark);border-radius:var(--radius-md);border:1px solid var(--border)}.legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-caption-1);color:var(--text-muted)}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.initiation{background:#0f0}.legend-dot.snap{background:#00f}.legend-dot.plane-out{background:red}.legend-dot.landing{background:#a62b2b}.metrics-bar{display:flex;flex-wrap:wrap;align-content:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--bg-light);border-radius:var(--radius-xl);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft);position:relative;height:100%;overflow:auto}.metrics-bar:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0;z-index:1}.metrics-group{background:var(--bg-elevated);border-radius:var(--radius-lg);padding:var(--space-2)}.metrics-group-title{font-size:10px;font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-2) 0}.metrics-grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.metrics-grid-flat{display:flex;flex-wrap:wrap;gap:var(--space-2);width:100%}.metric-item{display:flex;flex-direction:column;gap:2px;min-width:70px;flex:0 0 auto;padding:var(--space-1) var(--space-2);background:var(--bg-elevated);border-radius:var(--radius-sm)}.metric-label{display:flex;align-items:center;gap:4px;font-size:9px;color:var(--text-subtle);white-space:nowrap}.metric-icon{font-size:10px;flex-shrink:0}.metric-value{font-size:11px;font-weight:var(--font-bold);color:var(--text);font-family:var(--font-family-mono);white-space:nowrap}.metric-value.initiation{color:#0f0}.metric-value.snap{color:#66f}.metric-value.plane-out{color:#f33}.metrics-bar-empty{display:flex;align-items:center;justify-content:center;min-height:80px}.no-metrics-message{font-size:var(--text-body);color:var(--text-subtle);margin:0}@media (max-width: 640px){.metrics-bar{grid-template-columns:1fr}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.satellite-map-container{position:relative;width:100%;height:100%;min-height:200px;border-radius:var(--radius-lg);overflow:hidden}.chart-container:not(.in-widget) .satellite-map-container{min-height:400px;height:400px}.widget-content .satellite-map-container,.chart-content .satellite-map-container{position:absolute;top:0;left:0;right:0;bottom:0;min-height:0}.chart-content{position:relative}.satellite-map-container .leaflet-container{background:var(--bg-dark);font-family:inherit}.satellite-map-container .leaflet-control-zoom{border:none;box-shadow:0 1px 4px #0000004d}.satellite-map-container .leaflet-control-zoom a{background:var(--bg-light);color:var(--text);border:1px solid var(--border-subtle);width:24px;height:24px;line-height:22px;font-size:14px;transition:all .2s}.satellite-map-container .leaflet-control-zoom a:hover{background:var(--bg-elevated);color:var(--brand-blue)}.satellite-map-container .leaflet-control-zoom a:first-child{border-radius:var(--radius-sm) var(--radius-sm) 0 0}.satellite-map-container .leaflet-control-zoom a:last-child{border-radius:0 0 var(--radius-sm) var(--radius-sm)}.satellite-map-container .leaflet-control-attribution{background:#0009;color:var(--text-muted);font-size:10px;padding:2px 6px}.satellite-map-container .leaflet-control-attribution a{color:var(--brand-blue)}.satellite-map-container .leaflet-popup-content-wrapper{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 4px 16px #0006}.satellite-map-container .leaflet-popup-content{margin:12px;color:var(--text);font-size:var(--text-callout);line-height:1.5}.satellite-map-container .leaflet-popup-tip{background:var(--bg-light);border:1px solid var(--border);box-shadow:none}.satellite-map-container .leaflet-popup-close-button{color:var(--text-muted);font-size:20px;padding:4px 8px}.satellite-map-container .leaflet-popup-close-button:hover{color:var(--text)}.satellite-map-container .keypoint-tooltip{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.satellite-map-container .keypoint-tooltip:before{display:none}.keypoint-label{display:inline-block;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;border-left:3px solid;text-transform:uppercase;letter-spacing:.5px}.satellite-map-container .pattern-tooltip{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.satellite-map-container .pattern-tooltip:before{display:none}.pattern-label{display:inline-block;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#ffd966;font-size:9px;font-weight:600;padding:2px 5px;border-radius:3px;white-space:nowrap}.map-popup{min-width:140px}.map-popup strong{display:block;margin-bottom:8px;font-size:var(--text-callout);letter-spacing:.3px}.popup-detail{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-top:1px solid var(--border-subtle)}.popup-detail:first-of-type{border-top:none;padding-top:0}.popup-label{color:var(--text-muted);font-size:var(--text-caption-1)}.popup-value{color:var(--text);font-weight:500;font-size:var(--text-caption-1)}.map-legend{position:absolute;bottom:8px;left:8px;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid hsla(255,255%,255%,.1);border-radius:var(--radius-md);padding:6px 8px;z-index:1000;display:flex;flex-direction:column;gap:3px}.legend-item{display:flex;align-items:center;gap:6px;font-size:9px;font-weight:500;color:#ffffffe6;letter-spacing:.2px}.legend-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;border:1px solid hsla(0,0%,100%,.8)}@media (max-width: 768px){.map-legend{bottom:4px;left:4px;padding:4px 6px;gap:2px}.legend-item{font-size:8px}.legend-dot{width:5px;height:5px}}.chart-settings-panel{background:var(--bg-dark);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;width:320px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px var(--shadow-soft)}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--border-subtle);background:var(--bg-light)}.header-info{display:flex;align-items:center;gap:var(--space-3)}.chart-icon{font-size:24px}.settings-title{font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--text);margin:0}.settings-header .close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all .2s ease}.settings-header .close-btn:hover{background:var(--bg-elevated);color:var(--text)}.settings-header .close-btn svg{width:18px;height:18px}.settings-content{flex:1;overflow-y:auto;padding:var(--space-4)}.settings-section{margin-bottom:var(--space-5)}.settings-section:last-child{margin-bottom:0}.section-title{font-size:var(--text-caption-1);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-3) 0}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0}.setting-label{font-size:var(--text-callout);color:var(--text)}.toggle-btn{position:relative;width:52px;height:28px;background:var(--bg-elevated);border:none;border-radius:14px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 1px 3px #0000004d}.toggle-btn:hover{background:#4d4d4d}.toggle-btn.active{background:var(--brand-blue);box-shadow:inset 0 1px 3px #0003}.toggle-slider{position:absolute;top:2px;left:2px;width:24px;height:24px;background:#fff;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000004d}.toggle-btn:hover .toggle-slider{box-shadow:0 3px 6px #0006}.toggle-btn.active .toggle-slider{transform:translate(24px)}.setting-row.color-setting{flex-direction:column;align-items:stretch;gap:var(--space-2)}.setting-row.color-setting .setting-label{margin-bottom:var(--space-1)}.color-picker{display:flex;flex-direction:column;gap:var(--space-2)}.color-picker-row{display:flex;align-items:center;gap:var(--space-2)}.color-preview{width:36px;height:36px;border-radius:var(--radius-md);border:2px solid var(--border-muted);flex-shrink:0}.hex-input{flex:1;padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-md);color:var(--text);font-family:monospace;font-size:var(--text-callout);text-transform:uppercase}.hex-input:focus{outline:none;border-color:var(--brand-blue)}.hex-input::placeholder{color:var(--text-subtle);text-transform:none}.color-presets{display:flex;gap:6px;flex-wrap:wrap}.color-preset{width:28px;height:28px;border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;transition:all .15s ease}.color-preset:hover{transform:scale(1.1);border-color:#ffffff4d}.color-preset.active{border-color:#fff;box-shadow:0 0 0 2px var(--brand-blue);transform:scale(1.1)}.metrics-toggles{display:flex;flex-wrap:wrap;gap:var(--space-2)}.metric-toggle{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;font-size:var(--text-caption-1);color:var(--text-muted);border:1px solid transparent}.metric-toggle:hover{background:var(--bg-light)}.metric-toggle:has(input:checked){background:var(--brand-blue-20);border-color:var(--brand-blue);color:var(--brand-blue)}.metric-toggle input{display:none}.metric-icon{font-size:14px}.metric-name{white-space:nowrap}.no-settings-message{color:var(--text-subtle);font-size:var(--text-callout);text-align:center;padding:var(--space-4)}.chart-settings-btn{position:absolute;top:var(--space-3);right:var(--space-3);display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-dark);border:1px solid var(--border-muted);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all .2s ease;z-index:10}.chart-settings-btn:hover{background:var(--bg-elevated);border-color:var(--brand-blue);color:var(--brand-blue)}.chart-settings-btn svg{width:18px;height:18px}@media (max-width: 480px){.chart-settings-panel{width:100%;max-height:70vh}}.flight-analysis{max-width:1200px;margin:0 auto;padding:var(--space-6) var(--space-5)}.analysis-header{display:flex;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5)}.analysis-header .back-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:transparent;border:none;color:var(--text-muted);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:color .2s ease}.analysis-header .back-btn:hover{color:var(--text)}.analysis-header .back-btn svg{width:20px;height:20px}.flight-info{flex:1}.flight-title{font-size:var(--text-title-2);font-weight:var(--font-bold);color:var(--text);margin:0 0 var(--space-1) 0}.flight-date{font-size:var(--text-callout);color:var(--text-muted)}.comparison-legend{display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-4);background:var(--bg-light);border-radius:var(--radius-lg);margin-bottom:var(--space-5);box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.comparison-legend .legend-item{display:flex;align-items:center;gap:var(--space-2)}.comparison-legend .legend-color{width:12px;height:12px;border-radius:2px}.comparison-legend .legend-name{font-size:var(--text-callout);color:var(--text)}.flight-analysis .metrics-bar{margin-bottom:var(--space-5)}.chart-tabs-container{display:flex;gap:var(--space-3);align-items:center;margin-bottom:var(--space-5)}.chart-tabs{display:flex;flex:1;gap:var(--space-2);background:var(--bg-light);padding:var(--space-2);border-radius:var(--radius-lg);box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft);overflow-x:auto;-webkit-overflow-scrolling:touch}.chart-settings-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--bg-light);border:1px solid var(--border-muted);border-radius:var(--radius-lg);color:var(--text-muted);cursor:pointer;transition:all .2s ease;flex-shrink:0}.chart-settings-toggle:hover{background:var(--bg-elevated);border-color:var(--brand-blue);color:var(--brand-blue)}.chart-settings-toggle svg{width:20px;height:20px}.chart-tab{flex:1;min-width:100px;padding:var(--space-3) var(--space-4);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease;white-space:nowrap}.chart-tab:hover{color:var(--text);background:var(--bg-elevated)}.chart-tab.active{background:var(--bg-elevated);color:var(--text);box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.speed-type-selector{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-2);background:var(--bg-light);border-radius:var(--radius-md);width:fit-content}.type-btn{padding:var(--space-2) var(--space-4);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.type-btn:hover{color:var(--text);background:var(--bg-elevated)}.type-btn.active{color:#fff;background:var(--brand-blue)}.zoom-controls{display:flex;align-items:center;gap:var(--space-1);background:var(--bg-light);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-1)}.zoom-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all .15s ease}.zoom-btn:hover:not(:disabled){background:var(--bg-elevated);color:var(--text)}.zoom-btn:disabled{opacity:.3;cursor:not-allowed}.zoom-btn:active:not(:disabled){transform:scale(.95)}.chart-area-container{position:relative;display:flex;gap:var(--space-4)}.chart-area{flex:1;min-height:400px;height:450px}.chart-settings-overlay{position:sticky;top:80px;height:fit-content;z-index:10;flex-shrink:0}.analysis-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);text-align:center}.analysis-empty p{color:var(--text-muted);margin-bottom:var(--space-4)}.analysis-empty button{padding:var(--space-2) var(--space-4);background:var(--brand-blue);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:background .2s ease}.analysis-empty button:hover{background:var(--brand-blue-light)}@media (max-width: 768px){.analysis-header{flex-direction:column;align-items:flex-start}.chart-tabs{flex-wrap:nowrap}.chart-tab{flex:none;min-width:80px}}@media (max-width: 480px){.flight-analysis{padding:var(--space-4) var(--space-3)}.chart-area{min-height:300px;height:350px}}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.chart-widget{display:flex;flex-direction:column;height:100%;background:var(--bg-light);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);overflow:hidden;transition:border-color .2s,box-shadow .2s}.chart-widget.editing{border-color:var(--border);box-shadow:0 2px 8px var(--shadow-soft)}.chart-widget.editing:hover{border-color:var(--brand-blue);box-shadow:0 4px 16px #0062ff33}.widget-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);cursor:move;-webkit-user-select:none;user-select:none}.widget-icon{font-size:14px}.widget-title{flex:1;font-size:var(--text-caption-2);font-weight:var(--font-semibold);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.05em}.widget-title-input{flex:1;font-size:var(--text-caption-2);font-weight:var(--font-semibold);color:var(--text);background:var(--bg-light);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);text-transform:uppercase;letter-spacing:.05em;min-width:80px;max-width:150px}.widget-title-input:focus{outline:none;border-color:var(--brand-blue)}.widget-settings,.widget-remove{width:24px;height:24px;padding:4px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.widget-settings:hover{background:#0062ff26;color:var(--brand-blue)}.widget-remove:hover{background:#d6998f26;color:var(--danger)}.widget-settings svg,.widget-remove svg{width:14px;height:14px}.widget-content{flex:1;min-height:0;overflow:hidden;position:relative}.widget-content>*{height:100%}.widget-content .chart-container{height:100%;display:flex;flex-direction:column}.widget-content .chart-container .chart-content{flex:1;min-height:0;position:relative}.chart-widget .chart-container{border-radius:0;border:none;box-shadow:none}.chart-widget .chart-container:before{display:none}.chart-widget-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:var(--space-4);color:var(--text-muted);text-align:center}.placeholder-icon{font-size:32px;margin-bottom:var(--space-2)}.chart-widget-placeholder p{margin:0;font-size:var(--text-caption-1)}.chart-settings-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.chart-settings-modal{max-width:480px;width:100%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.chart-settings-modal .chart-settings-panel{border-radius:var(--radius-xl);box-shadow:0 20px 60px #00000080}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.template-builder{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-dark);padding:calc(64px + var(--space-4)) var(--space-4) var(--space-4)}.builder-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);background:var(--bg-light);border-radius:var(--radius-lg);margin-bottom:var(--space-4);border:1px solid var(--border-subtle)}.header-left,.header-right{display:flex;align-items:center;gap:var(--space-3)}.header-center{flex:1;display:flex;justify-content:center}.template-name-input{padding:var(--space-3) var(--space-5);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-headline);font-weight:var(--font-bold);text-align:center;min-width:300px;transition:all .2s}.template-name-input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px #0062ff26}.add-chart-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--bg-elevated);border:1px solid var(--brand-blue);border-radius:var(--radius-md);color:var(--brand-blue);font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s}.add-chart-btn:hover{background:var(--brand-blue);color:#fff}.add-chart-btn svg{width:18px;height:18px}.save-btn{padding:var(--space-3) var(--space-5);background:var(--brand-blue);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s}.save-btn:hover{background:var(--brand-blue-light);transform:translateY(-1px);box-shadow:0 4px 12px #0062ff4d}.builder-description{margin-bottom:var(--space-4)}.description-input{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-light);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-callout);transition:all .2s}.description-input:focus{outline:none;border-color:var(--brand-blue);color:var(--text)}.builder-grid-container{flex:1;min-height:600px;background:var(--bg-light);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);padding:var(--space-4);overflow:auto}.builder-grid-container .react-grid-layout{min-height:100%}.builder-grid-container .react-grid-item{transition:all .2s ease}.builder-grid-container .react-grid-item.react-grid-placeholder{background:#0062ff33;border:2px dashed var(--brand-blue);border-radius:var(--radius-lg);transition:all .2s}.builder-grid-container .react-grid-item>.react-resizable-handle{width:20px;height:20px;background:transparent}.builder-grid-container .react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:4px;bottom:4px;width:8px;height:8px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);opacity:0;transition:opacity .2s}.builder-grid-container .react-grid-item:hover>.react-resizable-handle:after{opacity:1}.empty-template{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:var(--space-10);text-align:center}.empty-icon{font-size:64px;margin-bottom:var(--space-4)}.empty-template h3{margin:0 0 var(--space-2);font-size:var(--text-title-3);color:var(--text)}.empty-template p{margin:0 0 var(--space-5);color:var(--text-muted);font-size:var(--text-body)}.add-first-chart-btn{padding:var(--space-4) var(--space-6);background:var(--brand-blue);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-body);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s}.add-first-chart-btn:hover{background:var(--brand-blue-light);transform:translateY(-2px);box-shadow:0 6px 16px #0062ff4d}.chart-picker-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-5);animation:fadeIn .2s ease-out}.chart-picker-modal{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-6);width:100%;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 24px 48px #0006;animation:slideUp .3s ease-out}.picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.picker-header h3{margin:0;font-size:var(--text-title-3);font-weight:var(--font-bold);color:var(--text)}.close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all .2s}.close-btn:hover{background:var(--bg-dark);color:var(--text)}.close-btn svg{width:18px;height:18px}.chart-options{display:flex;flex-direction:column;gap:var(--space-3)}.chart-option{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:all .2s}.chart-option:hover{border-color:var(--brand-blue);background:#0062ff0d;transform:translate(4px)}.option-icon{font-size:28px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-dark);border-radius:var(--radius-md);flex-shrink:0}.option-content{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.option-label{font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--text)}.option-desc{font-size:var(--text-caption-1);color:var(--text-muted)}@media (max-width: 768px){.builder-header{flex-direction:column;gap:var(--space-3)}.header-left,.header-center,.header-right{width:100%;justify-content:center}.template-name-input{min-width:100%}.chart-picker-modal{max-height:90vh}}.template-selector{min-height:100vh;padding:var(--page-top-padding) var(--space-5) var(--space-8);background:radial-gradient(ellipse 80% 50% at 50% -20%,hsla(280,100%,50%,.08),transparent),var(--bg-dark)}body:has(.impersonation-banner) .template-selector{padding-top:var(--page-top-padding-with-banner)}.selector-header{max-width:1200px;margin:0 auto var(--space-8);display:flex;align-items:flex-start;gap:var(--space-5)}.selector-title{margin:0 0 var(--space-2);font-size:clamp(28px,4vw,40px);font-weight:var(--font-bold);color:var(--text);letter-spacing:-.02em}.selector-subtitle{margin:0;font-size:var(--text-body);color:var(--text-muted);max-width:500px}.create-template-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:linear-gradient(135deg,#a0f,#73f);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s;white-space:nowrap}.create-template-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #a0f6}.create-template-btn svg{width:18px;height:18px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--space-4)}.loading-state .loading-spinner{width:40px;height:40px;border:3px solid var(--border-muted);border-top-color:var(--brand-blue);border-radius:50%;animation:spin 1s linear infinite}.templates-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-5)}.template-card{background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-5);border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-4);transition:all .2s}.template-card:hover{border-color:var(--border);transform:translateY(-4px);box-shadow:0 8px 24px var(--shadow-soft)}.template-card.custom{border-left:4px solid hsl(280,100%,50%)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.card-title{margin:0;font-size:var(--text-headline);font-weight:var(--font-bold);color:var(--text)}.default-badge{padding:var(--space-1) var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-full);font-size:var(--text-caption-2);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.card-description{margin:0;font-size:var(--text-callout);color:var(--text-muted);line-height:1.5}.card-preview{display:flex;flex-wrap:wrap;gap:var(--space-2)}.preview-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-full);font-size:var(--text-caption-1);color:var(--text-muted)}.preview-more{padding:var(--space-1) var(--space-3);font-size:var(--text-caption-1);color:var(--text-subtle);font-style:italic}.card-actions{display:flex;gap:var(--space-2);margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.use-btn{flex:1;padding:var(--space-3) var(--space-4);background:var(--brand-blue);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s}.use-btn:hover{background:var(--brand-blue-light)}.edit-btn{padding:var(--space-3) var(--space-4);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.edit-btn:hover{border-color:var(--brand-blue);color:var(--brand-blue)}.delete-btn{width:40px;height:40px;padding:0;background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.delete-btn:hover{border-color:var(--danger);color:var(--danger);background:#d6998f1a}.delete-btn svg{width:18px;height:18px}.template-view{min-height:100vh;padding:calc(64px + var(--space-6)) var(--space-4) var(--space-6);background:var(--bg-dark)}.view-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);max-width:1600px;margin:0 auto var(--space-6);padding:var(--space-4);background:var(--bg-light);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.view-header .header-left,.view-header .header-right{display:flex;align-items:center;gap:var(--space-3)}.view-header .header-center{flex:1;display:flex;flex-direction:column;align-items:center}.template-dropdown-container{position:relative}.template-dropdown-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.template-dropdown-btn:hover{border-color:var(--brand-blue)}.current-template-name{font-size:var(--text-headline);font-weight:var(--font-bold);color:var(--text)}.default-indicator{color:#ffbf00;font-size:14px}.dropdown-arrow{width:16px;height:16px;color:var(--text-muted)}.template-dropdown-menu{position:absolute;top:calc(100% + var(--space-2));left:50%;transform:translate(-50%);min-width:280px;max-height:400px;overflow-y:auto;background:var(--bg-dark);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 32px var(--shadow-soft);z-index:100}.dropdown-section{padding:var(--space-2)}.dropdown-section-title{display:block;padding:var(--space-2) var(--space-3);font-size:var(--text-caption-2);font-weight:var(--font-semibold);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.05em}.dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-3) var(--space-4);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text);font-size:var(--text-callout);text-align:left;cursor:pointer;transition:all .15s}.dropdown-item:hover{background:var(--bg-elevated)}.dropdown-item.active{background:var(--brand-blue-20);color:var(--brand-blue)}.dropdown-item .item-name{flex:1}.dropdown-item .builtin-badge{padding:2px 6px;background:var(--bg-light);border-radius:var(--radius-sm);font-size:var(--text-caption-2);color:var(--text-muted)}.dropdown-divider{height:1px;margin:var(--space-2);background:var(--border-subtle)}.dropdown-item.manage-btn{gap:var(--space-2);color:var(--text-muted)}.dropdown-item.manage-btn svg{width:16px;height:16px}.dropdown-item.manage-btn:hover{color:var(--brand-blue)}.set-default-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.set-default-btn:hover{border-color:#ffbf00;color:#ffbf00;background:#ffbf001a}.set-default-btn svg{width:16px;height:16px}.is-default-badge{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:#ffbf0026;border-radius:var(--radius-md);color:#ffbf00;font-size:var(--text-caption-1);font-weight:var(--font-semibold)}.is-default-badge svg{width:14px;height:14px}.template-title{margin:0;font-size:var(--text-title-3);font-weight:var(--font-bold);color:var(--text)}.template-desc{margin:var(--space-1) 0 0;font-size:var(--text-caption-1);color:var(--text-muted)}.change-template-btn{padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.change-template-btn:hover{border-color:var(--text);color:var(--text)}.edit-template-btn,.duplicate-btn{padding:var(--space-2) var(--space-4);background:var(--brand-blue);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.edit-template-btn:hover,.duplicate-btn:hover{background:var(--brand-blue-light)}.duplicate-btn{background:linear-gradient(135deg,#a0f,#73f)}.duplicate-btn:hover{box-shadow:0 4px 12px #aa00ff4d}.template-grid-container{max-width:1600px;margin:0 auto}.template-grid-layout{background:transparent}.template-grid-layout>div{background:var(--bg-light);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);overflow:hidden}.template-grid-layout>div>.chart-widget,.template-grid-layout>div>.chart-widget .widget-content,.template-grid-layout>div>.chart-widget .chart-container,.template-grid-layout>div>.chart-widget .chart-content{height:100%}.template-grid-layout .chart-content{min-height:0!important}.template-grid-layout .recharts-responsive-container{height:100%!important}.empty-template-view{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);background:var(--bg-light);border-radius:var(--radius-xl);border:2px dashed var(--border-muted);text-align:center}.empty-template-view .empty-icon{font-size:48px;margin-bottom:var(--space-4)}.empty-template-view h3{margin:0 0 var(--space-2);font-size:var(--text-title-3);color:var(--text)}.empty-template-view p{margin:0;color:var(--text-muted)}.template-charts-grid{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-4)}.template-chart-item{background:var(--bg-light);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);overflow:hidden}.template-chart-item>*{height:100%}.back-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.back-btn:hover{border-color:var(--border);color:var(--text);background:var(--bg-elevated)}@media (max-width: 900px){.template-charts-grid{grid-template-columns:repeat(6,1fr)}.template-chart-item{grid-column:span 6!important}}@media (max-width: 768px){.selector-header{flex-direction:column;align-items:stretch}.create-template-btn{width:100%;justify-content:center}.templates-grid{grid-template-columns:1fr}.view-header{flex-direction:column;gap:var(--space-3)}.view-header .header-left,.view-header .header-center,.view-header .header-right{width:100%;justify-content:center}.template-charts-grid{grid-template-columns:1fr}.template-chart-item{grid-column:span 1!important;min-height:300px!important}}.event-detail{max-width:1200px;margin:0 auto;padding:calc(64px + var(--space-8)) var(--space-5) var(--space-8);min-height:100vh}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8)}.back-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.back-btn:hover{color:var(--text);background:var(--bg-light);border-color:var(--border);transform:translate(-2px)}.delete-event-btn{padding:var(--space-3) var(--space-5);background:transparent;border:1px solid var(--danger);border-radius:var(--radius-md);color:var(--danger);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.delete-event-btn:hover{background:var(--danger);color:#fff;transform:translateY(-1px)}.event-info-card{background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-7);margin-bottom:var(--space-6);border:1px solid var(--border-subtle);position:relative;overflow:hidden}.event-info-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand-blue),hsl(200,100%,50%),var(--brand-blue-light));background-size:200% 100%;animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.event-info-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6);gap:var(--space-4)}.event-title{font-size:clamp(28px,4vw,36px);font-weight:var(--font-bold);color:var(--text);margin:0 0 var(--space-3) 0;letter-spacing:-.02em;line-height:1.2}.event-desc{font-size:var(--text-body);color:var(--text-muted);max-width:600px;line-height:1.6;margin:0}.event-status-large .status-badge{padding:var(--space-2) var(--space-5);font-size:var(--text-callout);border-radius:var(--radius-md)}.status-badge.active{background:linear-gradient(135deg,var(--success),hsl(120,100%,35%));color:#fff;box-shadow:0 0 20px #00e6004d;animation:pulse-glow 2s infinite}.status-badge.upcoming{background:linear-gradient(135deg,var(--brand-blue),var(--brand-blue-light));color:#fff}.status-badge.past{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border-subtle)}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #00e6004d}50%{box-shadow:0 0 30px #00e60080}}.ongoing-label{color:var(--success);font-weight:var(--font-medium)}.event-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.meta-item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);transition:all .2s}.meta-item:hover{border-color:var(--border);transform:translateY(-2px)}.meta-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#0062ff1a;border-radius:var(--radius-md);color:var(--brand-blue)}.meta-icon svg{width:18px;height:18px}.meta-label{font-size:var(--text-caption-2);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.1em;font-weight:var(--font-semibold)}.meta-value{font-size:var(--text-body);font-weight:var(--font-bold);color:var(--text)}.invite-code-bar{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-5);padding:var(--space-4) var(--space-5);background:linear-gradient(135deg,#ff800014,#ff800008);border:1px solid hsla(30,100%,50%,.2);border-radius:var(--radius-lg)}.code-info{display:flex;align-items:center;gap:var(--space-4)}.code-label{font-size:var(--text-caption-1);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.08em;font-weight:var(--font-semibold)}.code-value{font-size:var(--text-title-3);font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--brand-orange);letter-spacing:.15em;padding:var(--space-2) var(--space-4);background:var(--bg-dark);border-radius:var(--radius-md)}.copy-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--brand-blue);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s ease}.copy-btn svg{width:16px;height:16px}.detail-section{background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);border:1px solid var(--border-subtle);position:relative;overflow:hidden}.detail-section:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-blue),var(--brand-blue-light))}.section-title{font-size:var(--text-title-3);font-weight:var(--font-bold);color:var(--text);margin:0}.invite-btn,.compare-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--brand-blue);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s ease}.invite-btn:hover,.compare-btn:hover{background:var(--brand-blue-light);transform:translateY(-1px);box-shadow:0 4px 12px #0062ff4d}.compare-btn{background:linear-gradient(135deg,#a0f,#73f)}.compare-btn:hover{background:linear-gradient(135deg,#b31aff,#884dff);box-shadow:0 4px 12px #a0f6}.invite-btn svg{width:18px;height:18px}.empty-section{text-align:center;padding:var(--space-10);background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px dashed var(--border)}.empty-section p{color:var(--text-muted);margin-bottom:var(--space-2);font-size:var(--text-body)}.empty-hint{font-size:var(--text-caption-1);color:var(--text-subtle)}.invite-btn-secondary{margin-top:var(--space-5);padding:var(--space-3) var(--space-5);background:transparent;border:1px solid var(--brand-blue);border-radius:var(--radius-md);color:var(--brand-blue);font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s ease}.invite-btn-secondary:hover{background:var(--brand-blue);color:#fff;transform:translateY(-1px)}.loading-section{display:flex;flex-direction:column;align-items:center;padding:var(--space-10)}.loading-section .loading-spinner{width:40px;height:40px;border:3px solid var(--border-muted);border-top-color:var(--brand-blue);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-4)}.loading-section p{color:var(--text-muted);font-size:var(--text-body)}.students-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-3)}.student-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);transition:all .2s}.student-item:hover{border-color:var(--border);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-soft)}.student-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--brand-blue),var(--brand-blue-light));display:flex;align-items:center;justify-content:center;flex-shrink:0}.student-avatar span{font-size:var(--text-headline);font-weight:var(--font-bold);color:#fff}.student-info{flex:1;display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.student-name{font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-dz{font-size:var(--text-caption-1);color:var(--text-subtle);display:flex;align-items:center;gap:var(--space-1)}.student-dz:before{content:"📍";font-size:.8em}.student-id{flex:1;font-size:var(--text-callout);color:var(--text);font-family:var(--font-family-mono)}.remove-student-btn{padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-caption-1);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.remove-student-btn:hover{background:#d6998f1a;border-color:var(--danger);color:var(--danger)}.flights-list{display:flex;flex-direction:column;gap:var(--space-3)}.flight-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--bg-elevated);border-radius:var(--radius-lg);border:2px solid var(--border-subtle);transition:all .2s ease}.flight-item:hover{border-color:var(--border);background:var(--bg-light)}.flight-item.selected{border-color:var(--brand-blue);background:#0062ff14;box-shadow:0 0 0 4px #0062ff1a}.flight-checkbox{position:relative;display:flex;align-items:center;cursor:pointer}.flight-checkbox input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{width:22px;height:22px;background:var(--bg-dark);border:2px solid var(--border);border-radius:var(--radius-sm);transition:all .2s ease}.flight-checkbox:hover .checkmark{border-color:var(--brand-blue)}.flight-checkbox input:checked~.checkmark{background:var(--brand-blue);border-color:var(--brand-blue)}.flight-checkbox input:checked~.checkmark:after{content:"";position:absolute;left:8px;top:4px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.flight-info{flex:1;cursor:pointer;min-width:0}.flight-name{font-size:var(--text-body);font-weight:var(--font-bold);color:var(--text);margin-bottom:var(--space-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flight-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--text-caption-1);color:var(--text-muted)}.flight-meta span{display:flex;align-items:center;gap:var(--space-1)}.practice-badge{padding:var(--space-1) var(--space-3);background:linear-gradient(135deg,#ff800033,#ff80001a);color:var(--brand-orange);border-radius:var(--radius-sm);font-weight:var(--font-bold);font-size:var(--text-caption-2);text-transform:uppercase;letter-spacing:.05em}.view-flight-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s ease}.view-flight-btn:hover{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff;transform:translate(2px)}.view-flight-btn svg{width:16px;height:16px}.filters-bar{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.filter-group{display:flex;flex-direction:column;gap:var(--space-1)}.filter-label{font-size:var(--text-caption-2);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.08em;font-weight:var(--font-semibold)}.filter-select,.filter-input{padding:var(--space-2) var(--space-3);background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-callout);min-width:150px;cursor:pointer;transition:all .2s}.filter-select:hover,.filter-input:hover{border-color:var(--border)}.filter-select:focus,.filter-input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px #0062ff1a}.filter-input[type=date]{color-scheme:dark}.sort-toggle{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s;margin-left:auto}.sort-toggle:hover{border-color:var(--brand-blue);color:var(--brand-blue)}.sort-toggle svg{width:16px;height:16px;transition:transform .2s}.sort-toggle.desc svg{transform:rotate(180deg)}.clear-filters{padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-caption-1);cursor:pointer;transition:all .2s}.clear-filters:hover{border-color:var(--danger);color:var(--danger)}.flight-count{font-size:var(--text-caption-1);color:var(--text-subtle);padding:var(--space-2) var(--space-4);background:var(--bg-dark);border-radius:var(--radius-full)}@media (max-width: 900px){.event-meta{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.event-detail{padding-left:var(--space-4);padding-right:var(--space-4)}.event-info-header{flex-direction:column;gap:var(--space-4)}.flight-meta{flex-direction:column;gap:var(--space-2)}.students-list{grid-template-columns:1fr}.filters-bar{flex-direction:column}.filter-group,.filter-select,.filter-input{width:100%}.sort-toggle{margin-left:0;width:100%;justify-content:center}}@media (max-width: 480px){.detail-header{flex-direction:column;gap:var(--space-4);align-items:flex-start}.header-actions{width:100%}.delete-event-btn{flex:1;justify-content:center}.section-header{flex-direction:column;gap:var(--space-3);align-items:flex-start}.invite-btn,.compare-btn{width:100%;justify-content:center}.flight-item{flex-wrap:wrap;gap:var(--space-3)}.view-flight-btn{width:100%;justify-content:center;order:4}.invite-code-bar{flex-direction:column;gap:var(--space-4);align-items:stretch}.code-info{flex-direction:column;align-items:center}.copy-btn{width:100%;justify-content:center}}.coach-dashboard{max-width:1200px;margin:0 auto;padding:calc(64px + var(--space-8)) var(--space-5) var(--space-8);min-height:100vh}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6);gap:var(--space-4)}.dashboard-title{font-size:clamp(var(--text-title-1),5vw,42px);font-weight:var(--font-bold);margin-bottom:var(--space-2)}.dashboard-title .gradient-text{background:linear-gradient(135deg,var(--brand-blue-light) 0%,var(--brand-blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-subtitle{font-size:var(--text-headline);color:var(--text-muted)}.create-event-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--brand-blue);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-body);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s ease;box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.create-event-btn svg{width:20px;height:20px}.dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.dashboard-stats .stat-card{background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-5);text-align:center;box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft);position:relative}.dashboard-stats .stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.dashboard-stats .stat-value{display:block;font-size:var(--text-title-1);font-weight:var(--font-bold);color:var(--text);font-family:var(--font-family-mono);margin-bottom:var(--space-1)}.dashboard-stats .stat-label{font-size:var(--text-callout);color:var(--text-muted)}.event-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-5);background:var(--bg-light);padding:var(--space-2);border-radius:var(--radius-lg);box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.tab-btn{flex:1;padding:var(--space-3) var(--space-4);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.tab-btn:hover{color:var(--text);background:var(--bg-elevated)}.tab-btn.active{background:var(--bg-elevated);color:var(--text);box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.tab-btn.active:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,hsla(0,0%,100%,.2),transparent);border-radius:var(--radius-md) var(--radius-md) 0 0}.dashboard-loading,.dashboard-error,.dashboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);background:var(--bg-light);border-radius:var(--radius-xl);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.dashboard-loading .loading-spinner{width:48px;height:48px;border:3px solid var(--border-muted);border-top-color:var(--brand-blue);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-4)}.dashboard-loading p,.dashboard-error p,.dashboard-empty p{color:var(--text-muted)}.dashboard-error{border:1px solid var(--danger)}.dashboard-error p{color:var(--danger)}.dashboard-empty .empty-icon{display:flex;justify-content:center;margin-bottom:var(--space-4);color:var(--brand-blue)}.dashboard-empty .empty-icon svg{width:64px;height:64px}.dashboard-empty h3{font-size:var(--text-title-3);color:var(--text);margin-bottom:var(--space-2)}.create-btn-secondary{margin-top:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--bg-elevated);border:1px solid var(--brand-blue);border-radius:var(--radius-md);color:var(--brand-blue);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.create-btn-secondary:hover{background:var(--brand-blue);color:#fff}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-5)}@media (max-width: 900px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.coach-dashboard{padding:var(--space-5) var(--space-4)}.dashboard-header{flex-direction:column}.create-event-btn{width:100%;justify-content:center}.dashboard-stats{grid-template-columns:repeat(2,1fr)}.event-tabs{flex-wrap:wrap}.tab-btn{flex:none;width:calc(33.33% - var(--space-2))}.events-grid{grid-template-columns:1fr}}.coaching-page{min-height:100vh;background:var(--bg-dark)}.coaching-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);text-align:center;color:var(--text-muted)}.coaching-tabs-container{position:sticky;top:64px;z-index:50;background:var(--bg-dark);border-bottom:1px solid var(--border-subtle);padding:var(--space-4) 0}.coaching-tabs{display:flex;gap:var(--space-2);background:var(--bg-light);padding:var(--space-1);border-radius:var(--radius-lg);width:fit-content}.coaching-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:none;border:none;border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease;white-space:nowrap}.coaching-tab:hover{color:var(--text);background:var(--bg-elevated)}.coaching-tab.active{background:var(--brand-blue);color:#fff}@media (max-width: 640px){.coaching-tabs-container{padding:var(--space-3) 0}.coaching-tabs{width:100%}.coaching-tab{flex:1;justify-content:center;padding:var(--space-3);font-size:var(--text-caption-1)}.coaching-tab svg{width:16px;height:16px}}.comparison-view{display:flex;flex-direction:column;min-height:100vh;padding-top:var(--page-top-padding);background:var(--bg-dark)}body:has(.impersonation-banner) .comparison-view{padding-top:var(--page-top-padding-with-banner)}.comparison-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);background:var(--bg-light);border-bottom:1px solid var(--border-subtle)}.comparison-header .header-left,.comparison-header .header-right{display:flex;align-items:center;gap:var(--space-3);min-width:200px}.comparison-header .header-right{justify-content:flex-end}.comparison-header .header-center{flex:1;text-align:center}.comparison-title{font-size:var(--text-title-3);font-weight:var(--font-bold);color:var(--text);margin:0}.comparison-header .back-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-callout);cursor:pointer;transition:all .2s}.comparison-header .back-btn:hover{border-color:var(--brand-blue);color:var(--brand-blue)}.comparison-header .back-btn svg{width:16px;height:16px}.template-select{padding:var(--space-2) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-callout);cursor:pointer}.template-select:focus{outline:none;border-color:var(--brand-blue)}.comparison-controls{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-6);background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);gap:var(--space-6);flex-wrap:wrap}.selector-label{font-size:var(--text-caption-1);color:var(--text-muted);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;margin-right:var(--space-3)}.flight-selector{display:flex;align-items:center;gap:var(--space-3)}.flight-pills{display:flex;gap:var(--space-2)}.flight-pill{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--bg-dark);border:2px solid transparent;border-radius:var(--radius-full);color:var(--text);font-size:var(--text-caption-1);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.flight-pill:hover{background:var(--bg-light)}.flight-pill.active{border-color:var(--flight-color, var(--brand-blue));background:var(--bg-light);opacity:1!important}.pill-dot{width:10px;height:10px;border-radius:50%}.pill-label{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-nav{display:flex;gap:var(--space-1)}.nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-dark);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all .2s}.nav-btn:hover{background:var(--bg-light);border-color:var(--brand-blue);color:var(--brand-blue)}.nav-btn svg{width:16px;height:16px}.alignment-selector{display:flex;align-items:center;gap:var(--space-3)}.alignment-options{display:flex;gap:var(--space-1);background:var(--bg-dark);border-radius:var(--radius-md);padding:2px}.alignment-btn{padding:var(--space-2) var(--space-4);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-caption-1);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.alignment-btn:hover{color:var(--text);background:var(--bg-elevated)}.alignment-btn.active{background:var(--brand-blue);color:#fff}.comparison-grid-container{flex:1;padding:var(--space-4);overflow-y:auto}.comparison-grid-layout{background:transparent}.comparison-chart-widget{background:var(--bg-light);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);overflow:hidden;height:100%}.comparison-chart-widget>*{height:100%}.comparison-empty,.no-template{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:var(--space-8);text-align:center;color:var(--text-muted)}.comparison-empty .empty-icon,.no-template .empty-icon{font-size:48px;margin-bottom:var(--space-4)}.comparison-empty h3{font-size:var(--text-title-3);color:var(--text);margin:0 0 var(--space-2)}.comparison-empty p,.no-template p{margin:0;font-size:var(--text-body)}@media (max-width: 768px){.comparison-header{flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.comparison-header .header-left,.comparison-header .header-right{min-width:auto;width:100%;justify-content:center}.comparison-controls{flex-direction:column;align-items:stretch;gap:var(--space-4);padding:var(--space-4)}.flight-selector,.flight-pills,.alignment-selector,.alignment-options{flex-wrap:wrap;justify-content:center}}.my-flights-page{min-height:100vh;padding:var(--page-top-padding) var(--space-5) var(--space-8);background:var(--bg-dark)}.my-flights-page .container{max-width:1200px;margin:0 auto}.auth-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);text-align:center}.auth-prompt .auth-icon{font-size:64px;margin-bottom:var(--space-5)}.auth-prompt h2{font-size:var(--text-title-2);color:var(--text);margin-bottom:var(--space-3)}.auth-prompt p{color:var(--text-muted);margin-bottom:var(--space-5)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6)}.header-content{flex:1}.header-actions{display:flex;gap:var(--space-3)}.compare-mode-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:linear-gradient(135deg,var(--brand-blue),hsl(240,80%,55%));border:none;border-radius:var(--radius-lg);color:#fff;font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0062ff4d}.compare-mode-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0062ff66}.compare-mode-btn.active{background:linear-gradient(135deg,#dd3c3c,#cf1717);box-shadow:0 2px 8px #d926264d}.page-title{font-size:clamp(var(--text-title-1),5vw,42px);font-weight:var(--font-bold);margin-bottom:var(--space-2)}.page-title .gradient-text{background:linear-gradient(135deg,var(--brand-blue-light) 0%,var(--brand-blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-subtitle{font-size:var(--text-headline);color:var(--text-muted)}.compare-mode-banner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:linear-gradient(135deg,var(--brand-blue-20),hsla(280,70%,60%,.15));border:1px solid var(--brand-blue-40);border-radius:var(--radius-xl);margin-bottom:var(--space-6)}.banner-content{display:flex;align-items:center;gap:var(--space-4)}.banner-icon{font-size:28px}.banner-text{display:flex;flex-direction:column;gap:2px}.banner-text strong{color:var(--text);font-size:var(--text-body);font-weight:var(--font-semibold)}.banner-text span{color:var(--text-muted);font-size:var(--text-caption-1)}.banner-actions{display:flex;align-items:center;gap:var(--space-4)}.selection-count{font-size:var(--text-callout);font-weight:var(--font-medium);color:var(--brand-blue);font-family:var(--font-family-mono)}.start-compare-btn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:linear-gradient(135deg,#0062ff,#3381ff);border:none;border-radius:var(--radius-lg);color:#fff;font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0062ff4d}.start-compare-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0062ff66}.start-compare-btn svg{width:18px;height:18px}.flights-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.flights-stats .stat-card{background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-5);text-align:center;box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft);position:relative}.flights-stats .stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.flights-stats .stat-value{display:block;font-size:var(--text-title-1);font-weight:var(--font-bold);color:var(--text);font-family:var(--font-family-mono);margin-bottom:var(--space-1)}.flights-stats .stat-label{font-size:var(--text-callout);color:var(--text-muted)}.flights-filters{display:flex;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}.search-box{flex:1;min-width:200px;position:relative}.search-box svg{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--text-muted)}.search-box .search-input{width:100%;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-10);background:var(--bg-light);border:1px solid var(--border-muted);border-radius:var(--radius-lg);color:var(--text);font-size:var(--text-body);font-family:var(--font-family);transition:all .2s ease}.search-box .search-input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px var(--brand-blue-20)}.search-box .search-input::placeholder{color:var(--text-subtle)}.filter-controls{display:flex;gap:var(--space-3)}.filter-select{padding:var(--space-3) var(--space-4);background:var(--bg-light);border:1px solid var(--border-muted);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-callout);font-family:var(--font-family);cursor:pointer;min-width:150px}.filter-select:focus{outline:none;border-color:var(--brand-blue)}.sort-buttons{display:flex;background:var(--bg-light);border-radius:var(--radius-md);padding:var(--space-1)}.sort-btn{padding:var(--space-2) var(--space-4);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-caption-1);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.sort-btn.active{background:var(--bg-elevated);color:var(--text)}.sort-btn:hover:not(.active){color:var(--text)}.empty-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);background:var(--bg-light);border-radius:var(--radius-xl);text-align:center}.empty-state .empty-icon{font-size:64px;margin-bottom:var(--space-4)}.empty-state h3{font-size:var(--text-title-3);color:var(--text);margin-bottom:var(--space-2)}.empty-state p,.error-state p{color:var(--text-muted)}.error-state{border:1px solid var(--danger)}.error-state p{color:var(--danger)}.flights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4)}.flight-card{background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft);position:relative;cursor:pointer;transition:all .2s ease;border:2px solid transparent;display:flex;gap:var(--space-3)}.flight-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.flight-card:hover{transform:translateY(-2px);box-shadow:0 2px 1px var(--shadow-hard),0 6px 12px var(--shadow-soft)}.flight-card.compare-mode{padding-left:var(--space-4)}.flight-card.compare-mode.selected{border-color:var(--brand-blue);background:var(--brand-blue-10)}.flight-card.compare-mode.selected:before{background:var(--brand-blue)}.flight-checkbox{display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;border:2px solid var(--border-muted);border-radius:var(--radius-md);background:var(--bg-elevated);transition:all .2s ease;margin-top:2px}.flight-card.selected .flight-checkbox{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.flight-card-content{flex:1;min-width:0}.flight-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-2)}.flight-title{font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.practice-badge{padding:var(--space-1) var(--space-2);background:#b152e033;color:#b152e0;font-size:var(--text-caption-2);font-weight:var(--font-semibold);border-radius:var(--radius-full);white-space:nowrap}.flight-date{font-size:var(--text-caption-1);color:var(--text-muted);margin-bottom:var(--space-2)}.flight-folder{display:inline-block;padding:var(--space-1) var(--space-2);background:var(--bg-elevated);color:var(--text-muted);font-size:var(--text-caption-2);border-radius:var(--radius-sm);margin-bottom:var(--space-3)}.flight-metrics-preview{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-md)}.metric-item{display:flex;flex-direction:column;gap:2px}.metric-label{font-size:var(--text-caption-2);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.05em}.metric-value{font-size:var(--text-callout);font-weight:var(--font-semibold);color:var(--text);font-family:var(--font-family-mono)}.flight-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.data-points{font-size:var(--text-caption-1);color:var(--text-subtle)}.view-actions{display:flex;align-items:center;gap:var(--space-2)}.view-link{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:transparent;border:none;font-size:var(--text-caption-1);font-weight:var(--font-medium);color:var(--text-muted);cursor:pointer;transition:all .2s ease;border-radius:var(--radius-sm)}.view-link:hover{background:var(--bg-elevated);color:var(--text)}.view-link svg{width:14px;height:14px;transition:transform .2s ease}.flight-card:hover .view-link svg{transform:translate(4px)}.template-link{display:flex;align-items:center;justify-content:center;padding:var(--space-2);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all .2s ease}.template-link:hover{background:var(--brand-blue-20);border-color:var(--brand-blue);color:var(--brand-blue)}.template-btn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:linear-gradient(135deg,#a73cdd,#5e19e6);border:none;border-radius:var(--radius-lg);color:#fff;font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #9d26d94d}.template-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #9d26d980}.template-btn svg{width:18px;height:18px}.flight-detail-header{display:flex;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6)}.back-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-light);border:none;border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease;white-space:nowrap}.back-btn:hover{background:var(--bg-elevated);color:var(--text)}.back-btn svg{width:18px;height:18px}.flight-detail-info{flex:1}.flight-name{font-size:var(--text-title-2);font-weight:var(--font-bold);color:var(--text);margin:0 0 var(--space-2) 0}.flight-meta{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-callout);color:var(--text-muted);margin:0}.folder-tag{padding:var(--space-1) var(--space-3);background:var(--bg-light);border-radius:var(--radius-sm);font-size:var(--text-caption-1)}@media (max-width: 768px){.page-header{flex-direction:column}.header-actions{width:100%}.compare-mode-btn{flex:1;justify-content:center}.compare-mode-banner{flex-direction:column;text-align:center;gap:var(--space-3)}.banner-content{flex-direction:column}.banner-actions{flex-direction:column;width:100%}.start-compare-btn{width:100%;justify-content:center}.flights-stats{grid-template-columns:repeat(3,1fr)}.flights-filters{flex-direction:column}.filter-controls{flex-wrap:wrap}.flights-grid{grid-template-columns:1fr}.flight-detail-header{flex-direction:column}.template-btn{width:100%;justify-content:center}}body:has(.impersonation-banner) .my-flights-page{padding-top:var(--page-top-padding-with-banner)}.admin-impersonation-panel{background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-5);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft);position:relative;border:1px solid hsl(45,100%,50%,.3)}.admin-impersonation-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#ffbf00,#ff8000);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.panel-header{margin-bottom:var(--space-4)}.panel-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-headline);font-weight:var(--font-bold);color:#ffbf00;margin:0}.admin-icon{font-size:var(--text-title-3)}.search-section{display:flex;flex-direction:column;gap:var(--space-3)}.search-input-group{display:flex;gap:var(--space-2)}.search-input{flex:1;padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-body);font-family:var(--font-family);transition:all .2s ease}.search-input:focus{outline:none;border-color:#ffbf00;box-shadow:0 0 0 3px #ffbf0033}.search-input::placeholder{color:var(--text-subtle)}.search-btn{padding:var(--space-3) var(--space-5);background:#ffbf00;border:none;border-radius:var(--radius-md);color:#000;font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s ease;white-space:nowrap}.search-btn:hover:not(:disabled){background:#fc3}.search-btn:disabled{opacity:.5;cursor:not-allowed}.search-error{color:var(--danger);font-size:var(--text-callout);margin:0}.no-results{color:var(--text-muted);font-size:var(--text-callout);text-align:center;padding:var(--space-4);margin:0}.search-results{display:flex;flex-direction:column;gap:var(--space-2);max-height:300px;overflow-y:auto}.user-result{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-lg);transition:background .2s ease}.user-result:hover{background:var(--bg-dark)}.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--brand-blue);display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-avatar span{font-size:var(--text-body);font-weight:var(--font-bold);color:#fff}.user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.user-name{font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:var(--text-caption-1);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-family-mono)}.user-role{padding:var(--space-1) var(--space-2);font-size:var(--text-caption-1);font-weight:var(--font-semibold);color:#fff;border-radius:var(--radius-full);white-space:nowrap}.impersonate-btn{padding:var(--space-2) var(--space-3);background:var(--brand-blue);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-caption-1);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s ease;white-space:nowrap}.impersonate-btn:hover{background:var(--brand-blue-light)}@media (max-width: 640px){.search-input-group{flex-direction:column}.user-result{flex-wrap:wrap}.user-role{order:3;margin-left:52px}.impersonate-btn{order:4;margin-left:auto}}.profile-page{min-height:100vh;padding-top:var(--page-top-padding);padding-bottom:var(--space-10);background:var(--bg-dark)}.profile-content{max-width:800px;margin:0 auto}.profile-header{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-6);background:var(--bg-light);border-radius:var(--radius-xl);margin-bottom:var(--space-6);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft);position:relative}.profile-header:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.profile-avatar{width:80px;height:80px;border-radius:50%;background:var(--brand-blue);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;box-shadow:0 2px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar span{font-size:2rem;font-weight:var(--font-bold);color:#fff}.profile-info{flex:1;min-width:0}.profile-name-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.profile-name{font-size:var(--text-title-2);font-weight:var(--font-bold);color:var(--text)}.role-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--text-subheadline);font-weight:var(--font-semibold);color:#fff;border-radius:var(--radius-full);text-shadow:0 1px 2px rgba(0,0,0,.2)}.profile-email{font-size:var(--text-callout);color:var(--text-muted);margin-bottom:var(--space-3)}.profile-level{display:flex;align-items:center;gap:var(--space-3)}.level-badge{padding:var(--space-1) var(--space-3);background:var(--brand-blue);color:#fff;font-size:var(--text-subheadline);font-weight:var(--font-semibold);border-radius:var(--radius-full)}.level-progress{flex:1;height:6px;background:var(--bg-dark);border-radius:3px;overflow:hidden;max-width:150px}.level-progress-fill{height:100%;background:linear-gradient(90deg,var(--brand-blue),var(--brand-blue-light));border-radius:3px;transition:width .3s ease}.level-percent{font-size:var(--text-caption-1);color:var(--text-muted);font-family:var(--font-family-mono)}.edit-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.edit-btn:hover{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.profile-section{background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-5);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft);position:relative}.profile-section:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.section-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.section-header-row .section-heading{margin-bottom:0;padding-bottom:0;border-bottom:none}.section-heading{font-size:var(--text-body);font-weight:var(--font-bold);color:var(--text);margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}.form-group label{font-size:var(--text-subheadline);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.form-value{font-size:var(--text-body);color:var(--text)}.form-value-readonly{color:var(--text-muted)}.form-input,.form-select{padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-body);font-family:var(--font-family);transition:all .2s ease}.form-input:focus,.form-select:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px var(--brand-blue-20)}.form-input::placeholder{color:var(--text-subtle)}.form-select{cursor:pointer}.toggle-switch{position:relative;display:inline-block;width:48px;height:28px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-dark);transition:.3s;border-radius:28px}.toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:var(--text-muted);transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:var(--brand-blue)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px);background-color:#fff}.add-btn{padding:var(--space-2) var(--space-4);background:var(--brand-blue);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.add-btn:hover{background:var(--brand-blue-light)}.empty-state{color:var(--text-muted);font-size:var(--text-callout);text-align:center;padding:var(--space-6)}.canopy-list{display:flex;flex-direction:column;gap:var(--space-3)}.canopy-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-lg)}.canopy-icon{font-size:1.5rem}.canopy-info{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.canopy-name{font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--text)}.canopy-details{font-size:var(--text-callout);color:var(--text-muted)}.remove-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-dark);border:none;border-radius:50%;color:var(--text-muted);font-size:1.25rem;cursor:pointer;transition:all .2s ease}.remove-btn:hover{background:var(--danger);color:#fff}.add-canopy-form{margin-top:var(--space-5);padding:var(--space-5);background:var(--bg-elevated);border-radius:var(--radius-lg)}.add-canopy-form h3{font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--text);margin-bottom:var(--space-4)}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4)}.btn-cancel{padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:var(--bg-dark);color:var(--text)}.btn-add,.btn-save{padding:var(--space-2) var(--space-4);background:var(--brand-blue);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.btn-add:hover,.btn-save:hover{background:var(--brand-blue-light)}.btn-add:disabled,.btn-save:disabled{opacity:.5;cursor:not-allowed}.save-message{padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-5);font-size:var(--text-callout);font-weight:var(--font-medium);text-align:center}.save-message.success{background:#79b99833;color:var(--success);border:1px solid var(--success)}.save-message.error{background:#d6998f33;color:var(--danger);border:1px solid var(--danger)}.edit-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-5);background:var(--bg-light);border-radius:var(--radius-xl);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft);position:sticky;bottom:var(--space-5)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4)}.stat-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-lg);text-align:center}.stat-icon{font-size:1.5rem}.stat-value{font-size:var(--text-title-3);font-weight:var(--font-bold);color:var(--text);font-family:var(--font-family-mono)}.stat-label{font-size:var(--text-caption-1);color:var(--text-muted)}.personal-bests-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.pb-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-lg)}.pb-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-dark);border-radius:var(--radius-md)}.pb-info{display:flex;flex-direction:column;gap:var(--space-1)}.pb-label{font-size:var(--text-caption-1);color:var(--text-muted)}.pb-value{font-size:var(--text-body);font-weight:var(--font-bold);color:var(--text);font-family:var(--font-family-mono)}.account-actions{display:flex;flex-direction:column;gap:var(--space-4)}.btn-signout{padding:var(--space-3) var(--space-5);background:var(--bg-elevated);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-md);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease;align-self:flex-start}.btn-signout:hover{background:var(--danger);color:#fff}.profile-loading,.profile-empty{text-align:center;padding:var(--space-10);background:var(--bg-light);border-radius:var(--radius-xl);margin-bottom:var(--space-5)}.profile-loading p,.profile-empty p{color:var(--text-muted);margin-bottom:var(--space-4)}.loading-spinner{width:48px;height:48px;border:3px solid var(--border-muted);border-top-color:var(--brand-blue);border-radius:50%;margin:0 auto var(--space-4);animation:spin 1s linear infinite}.coach-section{border:1px solid hsla(280,70%,60%,.3)}.section-description{font-size:var(--text-callout);color:var(--text-muted);margin-bottom:var(--space-5)}.form-group-full{grid-column:1 / -1;margin-top:var(--space-3)}.form-textarea{padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-body);font-family:var(--font-family);resize:vertical;min-height:100px;transition:all .2s ease}.form-textarea:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px var(--brand-blue-20)}.form-textarea::placeholder{color:var(--text-subtle)}.bio-text{white-space:pre-wrap;line-height:1.6}.social-link{color:var(--brand-blue);text-decoration:none;transition:color .2s ease}.social-link:hover{color:var(--brand-blue-light);text-decoration:underline}.subsection-heading{font-size:var(--text-callout);font-weight:var(--font-semibold);color:var(--text);margin:0}.visiting-dz-section{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}.visiting-dz-list{display:flex;flex-direction:column;gap:var(--space-3)}.visiting-dz-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-lg)}.visiting-dz-icon{font-size:1.5rem}.visiting-dz-info{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.visiting-dz-name{font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--text)}.visiting-dz-dates{font-size:var(--text-callout);color:var(--text-muted)}@media (max-width: 640px){.profile-header{flex-direction:column;text-align:center}.profile-level{flex-direction:column}.level-progress{width:100%;max-width:none}.edit-btn{position:absolute;top:var(--space-4);right:var(--space-4)}.form-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.personal-bests-grid{grid-template-columns:1fr}.edit-actions{flex-direction:column}.edit-actions button{width:100%}}.events-page{min-height:100vh;padding:calc(64px + var(--space-8)) var(--space-5) var(--space-8);background:var(--bg-dark)}.events-container{max-width:1200px;margin:0 auto}.events-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6);gap:var(--space-4)}.events-title{font-size:clamp(var(--text-title-1),5vw,42px);font-weight:var(--font-bold);margin:0}.events-title .gradient-text{background:linear-gradient(135deg,var(--brand-blue-light) 0%,var(--brand-blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.events-subtitle{color:var(--text-muted);margin:var(--space-2) 0 0;font-size:var(--text-headline)}.join-code-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);background:var(--brand-blue);color:#fff;border:none;border-radius:var(--radius-md);font-weight:var(--font-semibold);font-size:var(--text-callout);cursor:pointer;transition:all .2s;box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.join-code-btn:hover{background:var(--brand-blue-light);transform:translateY(-2px);box-shadow:0 2px 1px var(--shadow-hard),0 6px 12px var(--shadow-soft)}.join-code-btn svg{width:18px;height:18px}.filter-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);padding:var(--space-1);background:var(--bg-light);border-radius:var(--radius-lg);width:fit-content;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.filter-tab{padding:var(--space-3) var(--space-5);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);font-weight:var(--font-medium);font-size:var(--text-callout);cursor:pointer;transition:all .2s}.filter-tab:hover{color:var(--text)}.filter-tab.active{background:var(--brand-blue);color:#fff;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.events-loading,.events-empty,.events-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);text-align:center}.events-loading .loading-spinner{width:48px;height:48px;border:3px solid var(--border-muted);border-top-color:var(--brand-blue);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-4)}.events-loading p{color:var(--text-muted)}.events-empty svg{width:64px;height:64px;color:var(--text-subtle);margin-bottom:var(--space-4)}.events-empty h3{margin:0 0 var(--space-2);color:var(--text);font-size:var(--text-title-3)}.events-empty p{color:var(--text-muted);margin:0 0 var(--space-5)}.join-code-btn-secondary{padding:var(--space-4) var(--space-5);background:var(--bg-light);color:var(--text);border:1px solid var(--border-muted);border-radius:var(--radius-md);font-weight:var(--font-medium);cursor:pointer;transition:all .2s;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.join-code-btn-secondary:hover{background:var(--bg-elevated);border-color:var(--brand-blue)}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-5)}.event-card{position:relative;background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-5);cursor:pointer;transition:all .2s;box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.event-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0;pointer-events:none}.event-card:hover{transform:translateY(-4px);box-shadow:0 4px 2px var(--shadow-hard),0 12px 24px var(--shadow-soft)}.event-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.event-date-badge{display:flex;flex-direction:column;align-items:center;padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,var(--brand-blue-light),var(--brand-blue));border-radius:var(--radius-md);color:#fff;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.date-month{font-size:var(--text-caption-2);font-weight:var(--font-semibold);opacity:.9;text-transform:uppercase;letter-spacing:.05em}.date-day{font-size:var(--text-title-2);font-weight:var(--font-bold);line-height:1}.event-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.event-type-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-caption-1);font-weight:var(--font-semibold);box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.event-type-badge.coaching_event{background:var(--brand-blue-20);color:var(--brand-blue-light)}.event-type-badge.competition{background:var(--brand-orange-bg);color:var(--brand-orange)}.status-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-caption-2);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em}.status-badge.ongoing{background:var(--success);color:#fff;animation:pulse 2s infinite}.event-name{font-size:var(--text-title-3);font-weight:var(--font-semibold);margin:0 0 var(--space-1);color:var(--text)}.event-org{color:var(--brand-blue);font-size:var(--text-callout);margin:0 0 var(--space-4)}.event-details{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.event-date,.event-location{display:flex;align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-callout)}.event-date svg,.event-location svg{width:16px;height:16px;color:var(--text-subtle);flex-shrink:0}.event-card-footer{display:flex;justify-content:flex-end;padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.register-btn{padding:var(--space-3) var(--space-5);background:var(--brand-blue);color:#fff;border:none;border-radius:var(--radius-md);font-weight:var(--font-semibold);font-size:var(--text-callout);cursor:pointer;transition:all .2s;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.register-btn:hover{background:var(--brand-blue-light);transform:translateY(-1px)}.register-btn.large{padding:var(--space-4) var(--space-8);font-size:var(--text-body)}.registration-status{font-weight:var(--font-semibold);color:var(--success)}.registration-status.large{font-size:var(--text-headline)}.sign-in-prompt{color:var(--text-subtle);font-size:var(--text-callout)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-dark);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-5)}.modal-content{position:relative;background:var(--bg-light);border:1px solid var(--border-muted);border-radius:var(--radius-xl);padding:var(--space-6);max-width:480px;width:100%;box-shadow:0 20px 40px #0006}.modal-content h2{margin:0 0 var(--space-2);font-size:var(--text-title-2);color:var(--text)}.modal-description{color:var(--text-muted);margin:0 0 var(--space-5);font-size:var(--text-callout)}.code-input-group{display:flex;gap:var(--space-3)}.code-input{flex:1;padding:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-title-3);font-family:var(--font-family-mono);font-weight:var(--font-semibold);text-align:center;letter-spacing:.2em}.code-input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px var(--brand-blue-20)}.code-input::placeholder{color:var(--text-subtle)}.lookup-btn{padding:var(--space-4) var(--space-5);background:var(--brand-blue);color:#fff;border:none;border-radius:var(--radius-md);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.lookup-btn:hover{background:var(--brand-blue-light)}.lookup-btn:disabled{opacity:.5;cursor:not-allowed}.error-message{color:var(--danger);margin:var(--space-4) 0 0;font-size:var(--text-callout)}.event-preview{background:var(--bg-elevated);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.preview-header{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.visibility-badge.private{background:var(--brand-orange-bg);color:var(--brand-orange);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-caption-1);font-weight:var(--font-semibold)}.event-preview h3{margin:0 0 var(--space-2);font-size:var(--text-title-3);color:var(--text)}.preview-date,.preview-location{color:var(--text-muted);margin:0 0 var(--space-1);font-size:var(--text-callout)}.preview-description{color:var(--text-muted);margin:var(--space-4) 0;font-size:var(--text-callout)}.preview-actions{display:flex;gap:var(--space-4);margin-top:var(--space-5)}.back-btn{padding:var(--space-4) var(--space-5);background:var(--bg-elevated);color:var(--text);border:1px solid var(--border-muted);border-radius:var(--radius-md);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.back-btn:hover{background:var(--bg-light);border-color:var(--text-muted)}.join-btn{flex:1;padding:var(--space-4) var(--space-5);background:var(--success);color:#fff;border:none;border-radius:var(--radius-md);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.join-btn:hover{opacity:.9}.approval-note{color:var(--text-subtle);font-size:var(--text-caption-1);margin:var(--space-4) 0 0;text-align:center}.sign-in-message{color:var(--text-subtle);text-align:center;flex:1;font-size:var(--text-callout)}.event-detail-modal{max-width:560px}.detail-header{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.event-detail-modal h2{font-size:var(--text-title-1);margin-bottom:var(--space-1)}.detail-org{color:var(--brand-blue);margin:0 0 var(--space-5);font-size:var(--text-callout)}.detail-info{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}.info-row{display:flex;align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--text-callout)}.info-row svg{width:20px;height:20px;color:var(--text-subtle);flex-shrink:0}.detail-description{padding:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-md);margin-bottom:var(--space-5)}.detail-description h4{margin:0 0 var(--space-2);font-size:var(--text-caption-1);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.05em}.detail-description p{margin:0;color:var(--text);font-size:var(--text-body)}.detail-actions{display:flex;justify-content:center;padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}@media (max-width: 768px){.events-page{padding-top:var(--page-top-padding)}.events-header{flex-direction:column}.events-title{font-size:var(--text-title-1)}.filter-tabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.filter-tab{white-space:nowrap}.events-grid{grid-template-columns:1fr}}body:has(.impersonation-banner) .events-page{padding-top:var(--page-top-padding-with-banner)}.dashboard-section{min-height:400px}.section-header h2{font-size:var(--text-title-2);font-weight:var(--font-bold);color:var(--text);margin:0}.section-header-small{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.section-header-small h3,.section-header-small h4{margin:0;font-size:var(--text-headline);color:var(--text)}.primary-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);background:var(--brand-blue);color:#fff;border:none;border-radius:var(--radius-md);font-weight:var(--font-semibold);font-size:var(--text-callout);cursor:pointer;transition:all .2s;box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.primary-btn:hover:not(:disabled){background:var(--brand-blue-light);transform:translateY(-1px);box-shadow:0 2px 1px var(--shadow-hard),0 6px 12px var(--shadow-soft)}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.primary-btn svg{width:18px;height:18px}.secondary-btn{padding:var(--space-4) var(--space-5);background:var(--bg-elevated);color:var(--text);border:1px solid var(--border-muted);border-radius:var(--radius-md);font-weight:var(--font-medium);font-size:var(--text-callout);cursor:pointer;transition:all .2s}.secondary-btn:hover{background:var(--bg-light);border-color:var(--text-muted)}.small-btn{padding:var(--space-3) var(--space-4);background:var(--brand-blue);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.small-btn:hover{background:var(--brand-blue-light)}.icon-btn{padding:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all .2s}.icon-btn:hover{color:var(--text);border-color:var(--brand-blue)}.icon-btn svg{width:18px;height:18px}.sub-tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-5);border-bottom:1px solid var(--border-subtle)}.sub-tab{padding:var(--space-4) var(--space-5);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-weight:var(--font-medium);font-size:var(--text-callout);cursor:pointer;transition:all .2s}.sub-tab:hover{color:var(--text)}.sub-tab.active{color:var(--brand-blue);border-bottom-color:var(--brand-blue)}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);text-align:center}.loading-state.small{padding:var(--space-4)}.loading-state .loading-spinner{width:48px;height:48px;border:3px solid var(--border-muted);border-top-color:var(--brand-blue);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-4)}.loading-state p{color:var(--text-muted)}.empty-state svg{width:64px;height:64px;color:var(--text-subtle);margin-bottom:var(--space-4)}.empty-state h3{margin:0 0 var(--space-2);color:var(--text);font-size:var(--text-title-3)}.empty-state p{margin:0;color:var(--text-muted)}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4)}.item-card{position:relative;background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-5);cursor:pointer;transition:all .2s;box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.item-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0;pointer-events:none}.item-card:hover{transform:translateY(-2px);box-shadow:0 4px 2px var(--shadow-hard),0 12px 24px var(--shadow-soft)}.item-card.clickable{text-decoration:none;color:inherit}.arrow-icon{width:20px;height:20px;color:var(--text-subtle);margin-left:auto}.list-item.clickable{text-decoration:none;color:inherit}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.org-icon{width:48px;height:48px;background:var(--brand-blue-20);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}.org-icon svg{width:24px;height:24px;color:var(--brand-blue)}.card-badges{display:flex;gap:var(--space-2)}.badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-caption-2);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.badge.admin{background:#d6998f33;color:var(--danger)}.badge.organiser{background:var(--brand-orange-bg);color:var(--brand-orange)}.badge.coaching_event{background:var(--brand-blue-20);color:var(--brand-blue-light)}.badge.competition{background:var(--brand-orange-bg);color:var(--brand-orange)}.badge.public{background:#79b99833;color:var(--success)}.badge.private{background:var(--brand-orange-bg);color:var(--brand-orange)}.badge.live{background:var(--success);color:#fff;animation:pulse 2s infinite}.item-title{margin:0 0 var(--space-1);font-size:var(--text-headline);font-weight:var(--font-semibold);color:var(--text)}.item-description{margin:0 0 var(--space-4);color:var(--text-muted);font-size:var(--text-callout);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-footer{display:flex;align-items:center;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.stat{display:flex;align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-callout)}.stat svg{width:16px;height:16px;color:var(--text-subtle)}.items-list{display:flex;flex-direction:column;gap:var(--space-3)}.list-item{position:relative;display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);background:var(--bg-elevated);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.list-item:hover{transform:translateY(-1px);box-shadow:0 2px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.list-item-main{flex:1}.list-item-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2)}.list-item-title{margin:0 0 var(--space-1);font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--text)}.list-item-subtitle{margin:0;color:var(--text-muted);font-size:var(--text-callout)}.list-item-location{margin:var(--space-1) 0 0;color:var(--text-subtle);font-size:var(--text-caption-1)}.list-item-arrow svg{width:20px;height:20px;color:var(--text-subtle)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-dark);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-5);overflow-y:auto}.modal-content{position:relative;background:var(--bg-light);border:1px solid var(--border-muted);border-radius:var(--radius-xl);padding:var(--space-6);max-width:480px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0006}.modal-content.large{max-width:600px}.modal-content.xlarge{max-width:800px}.modal-close{position:absolute;top:var(--space-4);right:var(--space-4);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-2);transition:color .2s}.modal-close:hover{color:var(--text)}.modal-close svg{width:24px;height:24px}.modal-content h2{margin:0 0 var(--space-5);font-size:var(--text-title-2);color:var(--text)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-4);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-medium);color:var(--text-muted);font-size:var(--text-callout)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-body);font-family:var(--font-family);transition:border-color .2s,box-shadow .2s}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.radio-group{display:flex;gap:var(--space-4)}.radio-option{flex:1;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--bg-elevated);border:2px solid var(--border-muted);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s}.radio-option.selected{border-color:var(--brand-blue);background:var(--brand-blue-10)}.radio-option input{margin-top:2px}.radio-content{display:flex;flex-direction:column}.radio-title{font-weight:var(--font-semibold);color:var(--text)}.radio-desc{font-size:var(--text-caption-1);color:var(--text-muted)}.error-message{color:var(--danger);margin:var(--space-4) 0;font-size:var(--text-callout)}.success-message{color:var(--success);margin:var(--space-4) 0;font-size:var(--text-callout)}.info-message{color:var(--text-subtle);font-size:var(--text-callout);font-style:italic}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.detail-header h2{margin:0}.detail-description{color:var(--text-muted);margin-bottom:var(--space-5);font-size:var(--text-callout)}.members-section{margin-bottom:var(--space-5);padding:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-lg)}.members-section h3{font-size:var(--text-caption-1);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.08em;margin:0}.members-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.member-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--bg-inner);border-radius:var(--radius-md)}.member-info{display:flex;flex-direction:column}.member-name{font-weight:var(--font-medium);color:var(--text)}.member-email{font-size:var(--text-caption-1);color:var(--text-muted)}.remove-btn{padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--danger);border-radius:var(--radius-sm);color:var(--danger);font-size:var(--text-caption-1);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.remove-btn:hover{background:#d6998f26}.no-members{color:var(--text-subtle);font-size:var(--text-callout);margin:var(--space-2) 0 0}.user-picker{margin-top:var(--space-4);padding:var(--space-4);background:var(--bg);border:1px solid var(--brand-blue);border-radius:var(--radius-lg)}.user-picker h4{margin:0 0 var(--space-4);color:var(--text);font-size:var(--text-headline)}.user-picker input{width:100%;padding:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-body)}.user-picker input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px var(--brand-blue-20)}.searching{color:var(--text-subtle);font-size:var(--text-callout);margin:var(--space-2) 0}.search-results{margin-top:var(--space-3);max-height:200px;overflow-y:auto}.search-result-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid transparent;border-radius:var(--radius-md);margin-bottom:var(--space-2);cursor:pointer;text-align:left;transition:all .2s}.search-result-item:hover:not(:disabled){border-color:var(--brand-blue);background:var(--bg-inner)}.search-result-item:disabled{opacity:.6;cursor:not-allowed}.result-name{font-weight:var(--font-medium);color:var(--text)}.already-member{font-size:var(--text-caption-2);color:var(--brand-blue);margin-top:var(--space-1)}.cancel-picker{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:transparent;border:1px solid var(--border-muted);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;width:100%;transition:all .2s}.cancel-picker:hover{background:var(--bg-light);color:var(--text)}.event-detail-header{margin-bottom:var(--space-5)}.event-badges-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.event-org-name{color:var(--brand-blue);margin:var(--space-2) 0 0;font-size:var(--text-callout)}.event-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4);margin-bottom:var(--space-5);padding:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-lg)}.info-item{display:flex;flex-direction:column;gap:var(--space-1)}.info-label{font-size:var(--text-caption-1);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.08em}.info-value{font-weight:var(--font-medium);color:var(--text)}.event-description{margin-bottom:var(--space-5)}.event-description h4{margin:0 0 var(--space-2);font-size:var(--text-caption-1);color:var(--text-subtle);text-transform:uppercase}.event-description p{margin:0;color:var(--text-muted);font-size:var(--text-body)}.invite-code-section{margin-bottom:var(--space-5);padding:var(--space-4);background:var(--bg-light);border-left:4px solid var(--brand-orange);border-radius:var(--radius-lg)}.invite-code-section h4{margin:0 0 var(--space-3);color:var(--brand-orange);font-size:var(--text-headline)}.invite-code-row{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.invite-code{padding:var(--space-3) var(--space-5);background:var(--bg-elevated);border-radius:var(--radius-md);font-family:var(--font-family-mono);font-size:var(--text-headline);letter-spacing:.15em;color:var(--text)}.copy-btn,.regenerate-btn{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.copy-btn{background:var(--brand-blue);color:#fff;border:none;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.copy-btn:hover{background:var(--brand-blue-light)}.regenerate-btn{background:transparent;border:1px solid var(--border-muted);color:var(--text-muted)}.regenerate-btn:hover{border-color:var(--text);color:var(--text)}.invite-note{margin:var(--space-3) 0 0;font-size:var(--text-caption-1);color:var(--text-subtle)}.section-panel{margin-bottom:var(--space-5);padding:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-lg)}.section-panel h4{margin:0;font-size:var(--text-headline);color:var(--text)}.count-badge{padding:var(--space-2) var(--space-4);background:var(--bg-light);border-radius:var(--radius-full);font-size:var(--text-caption-1);color:var(--text-muted);font-weight:var(--font-medium)}.no-items{color:var(--text-subtle);font-size:var(--text-callout);margin:var(--space-3) 0 0}.invitations-list,.registrations-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.invitation-item,.registration-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--bg-inner);border-radius:var(--radius-md)}.invitation-info,.registration-info{display:flex;flex-direction:column}.person-name{font-weight:var(--font-medium);color:var(--text)}.person-email{font-size:var(--text-caption-1);color:var(--text-muted)}.invitation-status,.registration-status{font-weight:var(--font-semibold);font-size:var(--text-caption-1)}.inline-modal{margin-top:var(--space-4);padding:var(--space-4);background:var(--bg-light);border:1px solid var(--border-muted);border-radius:var(--radius-md)}.inline-modal h5{margin:0 0 var(--space-4);font-size:var(--text-headline);color:var(--text)}.coach-list{max-height:200px;overflow-y:auto}.coach-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid transparent;border-radius:var(--radius-md);margin-bottom:var(--space-2);cursor:pointer;text-align:left;transition:all .2s}.coach-item:hover{border-color:var(--brand-blue);background:var(--bg-inner)}.coach-name{font-weight:var(--font-medium);color:var(--text)}.coach-email{font-size:var(--text-caption-1);color:var(--text-muted)}.cancel-btn{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);background:transparent;border:1px solid var(--border-muted);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all .2s}.cancel-btn:hover{background:var(--bg-elevated);color:var(--text)}.pending-section{margin-bottom:var(--space-4);padding:var(--space-4);background:#bab0781a;border:1px solid var(--warning);border-radius:var(--radius-md)}.pending-section h5{margin:0 0 var(--space-3);color:var(--warning);font-size:var(--text-headline)}.registration-item.pending{background:#bab0781a}.approval-actions{display:flex;gap:var(--space-2)}.approve-btn,.reject-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-caption-1);font-weight:var(--font-semibold);cursor:pointer;border:none;transition:opacity .2s}.reject-btn{background:var(--danger);color:#fff}.approve-btn:hover,.reject-btn:hover{opacity:.9}.search-section{margin-bottom:var(--space-5)}.search-input-wrapper{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-light);border:1px solid var(--border-muted);border-radius:var(--radius-lg);box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.search-input-wrapper svg{width:20px;height:20px;color:var(--text-subtle)}.search-input-wrapper input{flex:1;background:transparent;border:none;color:var(--text);font-size:var(--text-body);font-family:var(--font-family)}.search-input-wrapper input:focus{outline:none}.search-input-wrapper input::placeholder{color:var(--text-subtle)}.user-management-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--space-5)}.users-list-panel{position:relative;background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-4);max-height:600px;overflow-y:auto;box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.users-list-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.users-list{display:flex;flex-direction:column;gap:var(--space-2)}.user-list-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;transition:all .2s}.user-list-item:hover{border-color:var(--border)}.user-list-item.selected{border-color:var(--brand-blue);background:var(--brand-blue-10)}.user-info{display:flex;flex-direction:column}.user-name{font-weight:var(--font-medium);color:var(--text)}.user-email{font-size:var(--text-caption-1);color:var(--text-muted)}.role-tag{padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-caption-2);font-weight:var(--font-semibold)}.user-detail-panel{position:relative;background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-5);min-height:400px;box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.user-detail-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-subtle)}.no-selection svg{width:48px;height:48px;margin-bottom:var(--space-4)}.user-detail-content{display:flex;flex-direction:column;gap:var(--space-5)}.user-header{display:flex;align-items:center;gap:var(--space-4)}.user-avatar{width:64px;height:64px;background:linear-gradient(135deg,var(--brand-blue-light),var(--brand-blue));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-title-2);font-weight:var(--font-bold);color:#fff}.user-title h3{margin:0;font-size:var(--text-title-3);color:var(--text)}.user-title p{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:var(--text-callout)}.user-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.stat-item{display:flex;flex-direction:column;padding:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-md)}.stat-label{font-size:var(--text-caption-1);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-1)}.stat-value{font-weight:var(--font-semibold);color:var(--text)}.stat-value.mono{font-family:var(--font-family-mono);font-size:var(--text-callout)}.role-section h4{margin:0 0 var(--space-4);font-size:var(--text-headline);color:var(--text)}.current-role{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.role-badge-large{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:var(--font-semibold)}.role-description{color:var(--text-muted);font-size:var(--text-callout);margin:0 0 var(--space-4)}.role-selector{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.role-selector label{color:var(--text-muted);font-size:var(--text-callout)}.role-selector select{padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-body)}.role-change-preview{padding:var(--space-4);background:var(--brand-blue-10);border:1px solid var(--brand-blue-20);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.role-change-preview p{margin:0;color:var(--text)}.new-role-desc{margin-top:var(--space-2)!important;font-size:var(--text-callout);color:var(--text-muted)}.registration-actions{display:flex;align-items:center;gap:var(--space-3)}.remove-btn-small{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-subtle);cursor:pointer;border-radius:var(--radius-sm);font-size:var(--text-caption-1);transition:all .2s}.remove-btn-small:hover{background:#d6998f33;color:var(--danger)}.inline-confirm{margin-top:var(--space-4);padding:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-md)}.inline-confirm.danger{background:#d6998f1a;border-color:var(--danger)}.inline-confirm p{margin:0 0 var(--space-3);color:var(--text-muted);font-size:var(--text-callout)}.confirm-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.danger-zone{margin-top:var(--space-5);padding:var(--space-4);background:#d6998f0d;border:1px solid var(--danger);border-radius:var(--radius-lg)}.danger-zone h4{margin:0 0 var(--space-4);color:var(--danger);font-size:var(--text-headline)}.danger-content{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.danger-info strong{display:block;margin-bottom:var(--space-1);color:var(--text)}.danger-info p{margin:0;font-size:var(--text-caption-1);color:var(--text-muted)}.danger-btn{padding:var(--space-3) var(--space-5);background:var(--danger);color:#fff;border:none;border-radius:var(--radius-md);font-weight:var(--font-semibold);font-size:var(--text-callout);cursor:pointer;white-space:nowrap;transition:opacity .2s}.danger-btn:hover:not(:disabled){opacity:.9}.danger-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.radio-group{flex-direction:column}.user-management-layout,.user-stats{grid-template-columns:1fr}}.admin-page{min-height:100vh;padding:calc(64px + var(--space-8)) var(--space-5) var(--space-8);background:var(--bg-dark)}.admin-container{max-width:1400px;margin:0 auto}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh}.admin-loading .loading-spinner{width:48px;height:48px;border:3px solid var(--border-muted);border-top-color:var(--brand-blue);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-4)}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--border-subtle)}.admin-header h1{font-size:clamp(var(--text-title-1),5vw,42px);font-weight:var(--font-bold);margin:0}.admin-header h1 .gradient-text{background:linear-gradient(135deg,var(--brand-blue-light) 0%,var(--brand-blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.admin-user-info{display:flex;align-items:center;gap:var(--space-4);color:var(--text-muted);font-size:var(--text-callout)}.role-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--brand-blue-20);color:var(--brand-blue-light);border-radius:var(--radius-full);font-size:var(--text-caption-1);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.admin-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);padding:var(--space-1);background:var(--bg-light);border-radius:var(--radius-lg);width:fit-content;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.admin-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);font-weight:var(--font-medium);font-size:var(--text-callout);cursor:pointer;transition:all .2s}.admin-tab svg{width:18px;height:18px}.admin-tab:hover:not(.active){color:var(--text);background:var(--bg-elevated)}.admin-tab.active{background:var(--brand-blue);color:#fff;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.admin-content{position:relative;background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.admin-content:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0;pointer-events:none}@media (max-width: 768px){.admin-page{padding-top:var(--page-top-padding)}.admin-header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.admin-tabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-tab{white-space:nowrap;padding:var(--space-4)}.admin-content{padding:var(--space-4)}}body:has(.impersonation-banner) .admin-page{padding-top:var(--page-top-padding-with-banner)}.my-coaching-page{min-height:100vh;padding:2rem 0}.coaching-container{max-width:900px;margin:0 auto;padding:0 1.5rem}.coaching-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh}.coaching-header{margin-bottom:2rem}.coaching-header h1{font-size:2.5rem;margin:0;background:linear-gradient(135deg,#22c55e,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.coaching-subtitle{color:var(--text-secondary);margin:.5rem 0 0}.coaching-tabs{display:flex;gap:.5rem;margin-bottom:2rem;padding:.25rem;background:var(--bg-secondary);border-radius:12px;width:fit-content}.coaching-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .2s;position:relative}.coaching-tab svg{width:18px;height:18px}.coaching-tab:hover{color:var(--text-primary)}.coaching-tab.active{background:#22c55e;color:#fff}.notification-badge{position:absolute;top:4px;right:4px;width:20px;height:20px;background:#ef4444;border-radius:50%;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;color:#fff}.error-banner{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:10px;margin-bottom:1.5rem}.error-banner p{margin:0;color:#ef4444}.error-banner button{background:transparent;border:none;color:#ef4444;cursor:pointer;font-weight:500}.tab-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem}.empty-state p{margin:0;color:var(--text-secondary)}.invitations-list{display:flex;flex-direction:column;gap:1rem}.invitation-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .2s}.invitation-card:hover{border-color:#22c55e}.invitation-card.loading{display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.invitation-badges{display:flex;gap:.5rem;margin-bottom:.75rem}.event-type-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.status-badge{padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase}.status-badge.live{background:#22c55e;color:#fff;animation:pulse 2s infinite}.invitation-title{margin:0 0 .25rem;font-size:1.25rem}.invitation-org{color:var(--accent-primary);margin:0 0 1rem;font-size:.875rem}.invitation-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.detail-item{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem}.detail-item svg{width:16px;height:16px;flex-shrink:0}.invitation-message{color:var(--text-secondary);font-style:italic;margin:0 0 1rem;padding:.75rem;background:var(--bg-secondary);border-radius:8px;font-size:.875rem}.invitation-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border-color)}.decline-btn,.accept-btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.decline-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.decline-btn:hover:not(:disabled){border-color:#ef4444;color:#ef4444}.accept-btn{background:#22c55e;border:none;color:#fff}.accept-btn:hover:not(:disabled){background:#16a34a;transform:translateY(-1px)}.decline-btn:disabled,.accept-btn:disabled{opacity:.5;cursor:not-allowed}.past-invitations{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.past-invitations h3{font-size:1rem;color:var(--text-muted);margin:0 0 1rem}.past-list{display:flex;flex-direction:column;gap:.5rem}.past-invitation-item{padding:.75rem 1rem;background:var(--bg-tertiary);border-radius:8px}.past-info{display:flex;justify-content:space-between;align-items:center}.past-event-name{color:var(--text-secondary)}.past-status{font-size:.8rem;font-weight:600}.schedule-list{display:flex;flex-direction:column;gap:1rem}.schedule-card{display:flex;gap:1.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;transition:all .2s}.schedule-card:hover{border-color:#22c55e}.schedule-card.ended{opacity:.7}.schedule-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:60px;padding:.75rem;background:#22c55e;border-radius:8px;color:#fff}.date-month{font-size:.7rem;font-weight:600;opacity:.9}.now-badge,.ended-badge{margin-top:.5rem;padding:.15rem .4rem;border-radius:3px;font-size:.6rem;font-weight:700}.now-badge{background:#fff;color:#22c55e}.ended-badge{background:#fff3;color:#fff}.schedule-content{flex:1}.schedule-badges{display:flex;gap:.5rem;margin-bottom:.5rem}.schedule-title{margin:0 0 .25rem;font-size:1.125rem}.schedule-org{color:var(--accent-primary);margin:0 0 .5rem;font-size:.875rem}.schedule-details{display:flex;flex-wrap:wrap;gap:.5rem;color:var(--text-secondary);font-size:.875rem}@media (max-width: 768px){.coaching-header h1{font-size:2rem}.coaching-tabs{width:100%}.coaching-tab{flex:1;justify-content:center;padding:.75rem 1rem}.schedule-card{flex-direction:column;gap:1rem}.schedule-date{flex-direction:row;gap:.5rem;min-width:auto;padding:.5rem 1rem}.invitation-actions{flex-direction:column}.decline-btn,.accept-btn{width:100%}}.my-events-page{min-height:100vh;padding:2rem 0}.events-container{max-width:900px;margin:0 auto;padding:0 1.5rem}.events-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh}.sign-in-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem}.sign-in-prompt h2{margin:0 0 .5rem}.sign-in-prompt p{color:var(--text-secondary);margin:0}.events-header{margin-bottom:2rem}.events-header h1{font-size:2.5rem;margin:0;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.events-subtitle{color:var(--text-secondary);margin:.5rem 0 0}.events-tabs{display:flex;gap:.5rem;margin-bottom:2rem;padding:.25rem;background:var(--bg-secondary);border-radius:12px;width:fit-content}.events-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .2s}.events-tab:hover{color:var(--text-primary)}.events-tab.active{background:var(--accent-primary);color:#fff}.count-badge{background:#fff3;padding:.15rem .5rem;border-radius:20px;font-size:.75rem;font-weight:600}.events-tab:not(.active) .count-badge{background:var(--bg-tertiary);color:var(--text-secondary)}.events-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.empty-state svg{width:64px;height:64px;color:var(--text-muted);margin-bottom:1rem}.empty-state h3{margin:0 0 .5rem;color:var(--text-primary)}.empty-state p{margin:0 0 1.5rem;color:var(--text-secondary)}.browse-events-btn{padding:.75rem 1.5rem;background:var(--accent-primary);color:#fff;border-radius:8px;text-decoration:none;font-weight:500;transition:all .2s}.browse-events-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.registrations-list{display:flex;flex-direction:column;gap:1rem}.registration-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:all .2s}.registration-card:hover{border-color:var(--accent-primary)}.registration-card.pending{opacity:.8}.registration-card.loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--text-muted)}.card-main{display:flex;gap:1.25rem;padding:1.25rem}.card-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:56px;padding:.75rem;background:var(--accent-primary);border-radius:8px;color:#fff}.date-month{font-size:.65rem;font-weight:600;opacity:.9}.date-day{font-size:1.5rem;font-weight:700;line-height:1}.card-content{flex:1}.card-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.event-type-badge{padding:.2rem .6rem;border-radius:20px;font-size:.7rem;font-weight:600}.event-type-badge.coaching_event{background:#3b82f633;color:#60a5fa}.event-type-badge.competition{background:#f9731633;color:#fb923c}.status-badge{padding:.2rem .6rem;border-radius:20px;font-size:.7rem;font-weight:600}.live-badge{padding:.2rem .5rem;background:#22c55e;border-radius:4px;font-size:.65rem;font-weight:700;color:#fff}.card-title{margin:0 0 .25rem;font-size:1.1rem}.card-org{color:var(--accent-primary);margin:0 0 .5rem;font-size:.875rem}.card-details{display:flex;flex-wrap:wrap;gap:.5rem;color:var(--text-secondary);font-size:.8rem}.separator{color:var(--text-muted)}.card-actions{display:flex;justify-content:flex-end;padding:.75rem 1.25rem;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.cancel-btn{padding:.5rem 1rem;background:transparent;border:1px solid #ef4444;border-radius:6px;color:#ef4444;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:#ef44441a}.section-label{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:1.5rem 0 .75rem}.section-label:first-child{margin-top:0}.coaching-card{border-left:3px solid var(--brand-blue)}.coaching-card.active{border-left-color:#22c55e}.coaching-card.active .card-date{background:linear-gradient(135deg,#22c55e,#16a34a)}.now-indicator{display:block;font-size:.65rem;font-weight:700;color:#fff;margin-top:.25rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.online-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#6366f133;color:#818cf8;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}@media (max-width: 768px){.events-header h1{font-size:2rem}.events-tabs{width:100%}.events-tab{flex:1;justify-content:center}.card-main{flex-direction:column;gap:1rem}.card-date{flex-direction:row;gap:.5rem;min-width:auto;padding:.5rem 1rem;width:fit-content}}.org-page{min-height:100vh;padding:calc(64px + var(--space-8)) var(--space-5) var(--space-8);background:var(--bg-dark)}.org-container{max-width:1000px;margin:0 auto}.org-loading,.org-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center}.org-loading .loading-spinner{width:48px;height:48px;border:3px solid var(--border-muted);border-top-color:var(--brand-blue);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-4)}.org-loading p,.org-error p{color:var(--text-muted)}.org-error h2{color:var(--text);margin-bottom:var(--space-3)}.org-error button{margin-top:var(--space-5);padding:var(--space-4) var(--space-6);background:var(--brand-blue);color:#fff;border:none;border-radius:var(--radius-md);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s}.org-error button:hover{background:var(--brand-blue-light);transform:translateY(-2px)}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);font-size:var(--text-callout);color:var(--text-muted);flex-wrap:wrap}.breadcrumb a{color:var(--brand-blue);text-decoration:none;transition:color .2s}.breadcrumb a:hover{color:var(--brand-blue-light)}.org-header{margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--border-subtle)}.org-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.org-header h1{margin:0;font-size:clamp(var(--text-title-1),5vw,42px);font-weight:var(--font-bold);color:var(--text)}.org-description{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:var(--text-headline)}.edit-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-light);border:1px solid var(--border-muted);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.edit-btn svg{width:16px;height:16px}.edit-btn:hover{background:var(--bg-elevated);color:var(--text);border-color:var(--brand-blue)}.edit-form{display:flex;flex-direction:column;gap:var(--space-4)}.edit-name-input{font-size:var(--text-title-1);font-weight:var(--font-bold);padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:2px solid var(--border-muted);border-radius:var(--radius-md);color:var(--text);font-family:var(--font-family)}.edit-name-input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px var(--brand-blue-20)}.edit-desc-input{padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-md);color:var(--text);font-family:var(--font-family);font-size:var(--text-body);resize:vertical}.edit-desc-input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px var(--brand-blue-20)}.edit-actions{display:flex;gap:var(--space-3);justify-content:flex-end}.cancel-btn,.save-btn{padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-weight:var(--font-semibold);font-size:var(--text-callout);cursor:pointer;transition:all .2s}.cancel-btn{background:transparent;border:1px solid var(--border-muted);color:var(--text-muted)}.cancel-btn:hover{background:var(--bg-light);color:var(--text)}.save-btn{background:var(--brand-blue);border:none;color:#fff;box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.save-btn:hover{background:var(--brand-blue-light);transform:translateY(-2px)}.save-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-banner{padding:var(--space-4);background:#d6998f26;border:1px solid var(--danger);border-radius:var(--radius-md);color:var(--danger);margin-bottom:var(--space-5);font-size:var(--text-callout)}.org-section{position:relative;background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-5);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.org-section:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0;pointer-events:none}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.member-group{margin-bottom:var(--space-5)}.member-group:last-child{margin-bottom:0}.member-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.member-group-header h3{margin:0;font-size:var(--text-caption-1);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.08em;font-weight:var(--font-semibold)}.add-btn{padding:var(--space-2) var(--space-4);background:var(--brand-blue);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-caption-1);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s}.add-btn:hover{background:var(--brand-blue-light);transform:translateY(-1px)}.members-list{display:flex;flex-direction:column;gap:var(--space-3)}.member-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-lg)}.member-avatar{width:40px;height:40px;background:linear-gradient(135deg,var(--brand-blue-light),var(--brand-blue));border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:var(--font-semibold);color:#fff;font-size:var(--text-headline)}.member-info{flex:1;display:flex;flex-direction:column;min-width:0}.member-name{font-weight:var(--font-semibold);color:var(--text);font-size:var(--text-body)}.member-email{font-size:var(--text-caption-1);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-role{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-caption-2);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em}.member-role.admin{background:#d6998f33;color:var(--danger)}.member-role.organiser{background:#ff800033;color:var(--brand-orange)}.remove-member-btn{padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--danger);border-radius:var(--radius-sm);color:var(--danger);font-size:var(--text-caption-1);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.remove-member-btn:hover{background:#d6998f26}.no-members{color:var(--text-subtle);font-size:var(--text-callout);padding:var(--space-5);text-align:center;background:var(--bg-elevated);border-radius:var(--radius-md)}.add-user-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-light);border:1px solid var(--border-muted);border-radius:var(--radius-xl);padding:var(--space-5);width:90%;max-width:400px;z-index:1001;box-shadow:0 20px 40px #0006}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.modal-header h3{margin:0;font-size:var(--text-title-3);color:var(--text)}.close-btn{background:none;border:none;color:var(--text-muted);font-size:var(--text-headline);cursor:pointer;padding:var(--space-2);transition:color .2s}.close-btn:hover{color:var(--text)}.add-user-modal input{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-body);font-family:var(--font-family)}.add-user-modal input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px var(--brand-blue-20)}.add-user-modal input::placeholder{color:var(--text-subtle)}.search-results{margin-top:var(--space-3);max-height:250px;overflow-y:auto}.search-result{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid transparent;border-radius:var(--radius-md);margin-bottom:var(--space-2);cursor:pointer;text-align:left;transition:all .2s}.search-result:hover{border-color:var(--brand-blue);background:var(--bg-inner)}.result-name{font-weight:var(--font-semibold);color:var(--text)}.result-email{font-size:var(--text-caption-1);color:var(--text-muted)}.create-event-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--brand-blue);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-caption-1);font-weight:var(--font-semibold);text-decoration:none;cursor:pointer;transition:all .2s}.create-event-btn:hover{background:var(--brand-blue-light);transform:translateY(-1px)}.no-events{text-align:center;padding:var(--space-8);color:var(--text-muted)}.create-event-link{color:var(--brand-blue);text-decoration:none}.create-event-link:hover{text-decoration:underline}.events-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.event-card{position:relative;display:block;padding:var(--space-5);background:var(--bg-elevated);border-radius:var(--radius-lg);text-decoration:none;transition:all .2s;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.event-card:hover{transform:translateY(-2px);box-shadow:0 2px 1px var(--shadow-hard),0 6px 12px var(--shadow-soft)}.event-card.ended{opacity:.7}.event-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.type-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-caption-2);font-weight:var(--font-semibold)}.type-badge.coaching_event{background:var(--brand-blue-20);color:var(--brand-blue-light)}.type-badge.competition{background:var(--brand-orange-bg);color:var(--brand-orange)}.status-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-caption-2);font-weight:var(--font-bold)}.status-badge.live{background:var(--success);color:#fff;animation:pulse 2s infinite}.status-badge.ended{background:var(--bg-light);color:var(--text-muted)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.event-card h3{margin:0 0 var(--space-2);font-size:var(--text-headline);font-weight:var(--font-semibold);color:var(--text)}.event-date{margin:0;font-size:var(--text-callout);color:var(--text-muted)}.event-location{margin:var(--space-1) 0 0;font-size:var(--text-caption-1);color:var(--text-subtle)}@media (max-width: 768px){.org-page{padding-top:var(--page-top-padding)}.org-header h1{font-size:var(--text-title-2)}.org-title-row{flex-direction:column}.events-list{grid-template-columns:1fr}.member-card{flex-wrap:wrap}}body:has(.impersonation-banner) .org-page{padding-top:var(--page-top-padding-with-banner)}.event-manage-page{min-height:100vh;padding:calc(64px + var(--space-8)) var(--space-5) var(--space-8);background:radial-gradient(ellipse 80% 50% at 50% -20%,hsla(217,100%,50%,.08),transparent),var(--bg-dark)}.page-container{max-width:1000px;margin:0 auto}.page-loading,.page-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center}.page-loading .loading-spinner{width:48px;height:48px;border:3px solid var(--border-muted);border-top-color:var(--brand-blue);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-4)}@keyframes spin{to{transform:rotate(360deg)}}.page-loading p,.page-error p{color:var(--text-muted)}.page-error h2{color:var(--text);margin-bottom:var(--space-3)}.page-error button{margin-top:var(--space-5);padding:var(--space-4) var(--space-6);background:var(--brand-blue);color:#fff;border:none;border-radius:var(--radius-md);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s}.page-error button:hover{background:var(--brand-blue-light);transform:translateY(-2px)}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);font-size:var(--text-callout);color:var(--text-subtle);flex-wrap:wrap}.breadcrumb a{color:var(--text-muted);text-decoration:none;transition:color .2s}.breadcrumb a:hover{color:var(--brand-blue)}.breadcrumb span:last-child{color:var(--text);font-weight:var(--font-medium)}.event-header{margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-subtle)}.header-badges{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}.type-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-caption-1);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em}.type-badge.coaching_event{background:linear-gradient(135deg,#0062ff33,#0062ff1a);color:var(--brand-blue-light);border:1px solid hsla(217,100%,50%,.3)}.type-badge.competition{background:linear-gradient(135deg,#ff800033,#ff80001a);color:var(--brand-orange);border:1px solid hsla(30,100%,50%,.3)}.visibility-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-caption-1);font-weight:var(--font-semibold);background:var(--bg-elevated);border:1px solid var(--border-subtle)}.visibility-badge.public{color:var(--success)}.visibility-badge.private{color:var(--brand-orange)}.status-badge{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-caption-1);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em}.status-badge.live{background:linear-gradient(135deg,var(--success),hsl(120,100%,35%));color:#fff;animation:pulse-glow 2s infinite;box-shadow:0 0 20px #00e60066}.status-badge.ended{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border-subtle)}@keyframes pulse-glow{0%,to{opacity:1;box-shadow:0 0 20px #00e60066}50%{opacity:.85;box-shadow:0 0 30px #00e60099}}.event-header h1{margin:0 0 var(--space-3);font-size:clamp(32px,5vw,48px);font-weight:var(--font-bold);color:var(--text);letter-spacing:-.02em;line-height:1.1}.event-org{margin:0;font-size:var(--text-body);color:var(--text-muted)}.event-org a{color:var(--brand-blue);text-decoration:none;transition:color .2s}.event-org a:hover{color:var(--brand-blue-light);text-decoration:underline}.error-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:#d6998f1a;border:1px solid hsla(9,47%,70%,.3);border-radius:var(--radius-lg);color:var(--danger);margin-bottom:var(--space-6);font-size:var(--text-callout)}.error-banner:before{content:"⚠️";font-size:1.2em}.event-details{position:relative;background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);border:1px solid var(--border-subtle);overflow:hidden}.event-details:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-blue),var(--brand-blue-light))}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.detail-item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.detail-label{font-size:var(--text-caption-2);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.1em;font-weight:var(--font-semibold)}.detail-value{font-weight:var(--font-bold);color:var(--text);font-size:var(--text-headline)}.event-description{padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}.event-description h3{margin:0 0 var(--space-3);font-size:var(--text-caption-1);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.1em;font-weight:var(--font-semibold)}.event-description p{margin:0;color:var(--text-muted);font-size:var(--text-body);line-height:1.7}.invite-section{position:relative;background:linear-gradient(135deg,#ff800014,#ff800008);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);border:1px solid hsla(30,100%,50%,.2);overflow:hidden}.invite-section:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-orange),hsl(40,100%,50%))}.invite-section h2{margin:0 0 var(--space-5);font-size:var(--text-title-3);font-weight:var(--font-bold);color:var(--text);display:flex;align-items:center;gap:var(--space-3)}.invite-section h2:before{content:"🔗"}.invite-box{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-4);background:var(--bg-dark);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.invite-code{display:flex;align-items:center;gap:var(--space-3)}.code-label{color:var(--text-subtle);font-size:var(--text-caption-1);text-transform:uppercase;letter-spacing:.05em}.invite-code code{padding:var(--space-3) var(--space-5);background:var(--bg-elevated);border-radius:var(--radius-md);font-family:var(--font-family-mono);font-size:var(--text-title-3);letter-spacing:.2em;color:var(--brand-orange);font-weight:var(--font-bold);border:1px solid var(--border-subtle)}.invite-actions{display:flex;gap:var(--space-3)}.copy-btn,.regen-btn{padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s}.copy-btn{background:var(--brand-blue);color:#fff;border:none}.copy-btn:hover{background:var(--brand-blue-light);transform:translateY(-1px);box-shadow:0 4px 12px #0062ff4d}.regen-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted)}.regen-btn:hover{border-color:var(--text);color:var(--text);background:var(--bg-elevated)}.invite-note{margin:var(--space-4) 0 0;font-size:var(--text-caption-1);color:var(--text-subtle);display:flex;align-items:center;gap:var(--space-2)}.invite-note:before{content:"ℹ️"}.coaches-section,.registrations-section{position:relative;background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);border:1px solid var(--border-subtle);overflow:hidden}.coaches-section:before,.registrations-section:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-blue),var(--brand-blue-light))}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.section-header h2{margin:0;font-size:var(--text-title-3);font-weight:var(--font-bold);color:var(--text)}.add-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--brand-blue);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s}.add-btn:hover{background:var(--brand-blue-light);transform:translateY(-1px);box-shadow:0 4px 12px #0062ff4d}.count-badge{padding:var(--space-2) var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-full);font-size:var(--text-caption-1);color:var(--text-muted);font-weight:var(--font-semibold);border:1px solid var(--border-subtle)}.empty-message{color:var(--text-subtle);text-align:center;padding:var(--space-8);font-size:var(--text-body);background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px dashed var(--border)}.coaches-list{display:flex;flex-direction:column;gap:var(--space-3)}.coach-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);transition:all .2s}.coach-card:hover{border-color:var(--border);transform:translate(4px)}.coach-card.pending{border-left:4px solid var(--warning)}.coach-card.accepted{border-left:4px solid var(--success)}.coach-card.declined{border-left:4px solid var(--danger);opacity:.6}.coach-avatar{width:48px;height:48px;background:linear-gradient(135deg,var(--brand-blue),var(--brand-blue-light));border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:var(--font-bold);color:#fff;font-size:var(--text-title-3);flex-shrink:0}.coach-info{flex:1;display:flex;flex-direction:column;min-width:0;gap:var(--space-1)}.coach-name{font-weight:var(--font-semibold);color:var(--text);font-size:var(--text-body)}.coach-email{font-size:var(--text-caption-1);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-status{font-size:var(--text-caption-1);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background:var(--bg-dark)}.withdraw-btn{padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-caption-1);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.withdraw-btn:hover{border-color:var(--danger);color:var(--danger);background:#d6998f1a}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-5);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-6);width:100%;max-width:480px;box-shadow:0 24px 48px #0006;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.modal-header h3{margin:0;font-size:var(--text-title-3);font-weight:var(--font-bold);color:var(--text)}.close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-headline);cursor:pointer;transition:all .2s}.close-btn:hover{background:var(--bg-dark);color:var(--text);border-color:var(--border)}.coach-picker{max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2)}.coach-option{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:all .2s}.coach-option:hover{border-color:var(--brand-blue);background:#0062ff0d;transform:translate(4px)}.option-name{font-weight:var(--font-semibold);color:var(--text);margin-bottom:var(--space-1)}.option-email{font-size:var(--text-caption-1);color:var(--text-muted)}.pending-approvals{margin-bottom:var(--space-5);padding:var(--space-5);background:linear-gradient(135deg,#ffd90014,#ffd90008);border:1px solid hsla(51,100%,50%,.3);border-radius:var(--radius-lg)}.pending-approvals h3{margin:0 0 var(--space-4);font-size:var(--text-headline);color:var(--warning);display:flex;align-items:center;gap:var(--space-2)}.pending-approvals h3:before{content:"⏳"}.registrations-list{display:flex;flex-direction:column;gap:var(--space-3)}.registration-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);transition:all .2s}.registration-card:hover{border-color:var(--border)}.registration-card.pending{background:#ffd9000d;border-color:#ffd90033}.reg-avatar{width:44px;height:44px;background:linear-gradient(135deg,var(--brand-blue),var(--brand-blue-light));border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:var(--font-bold);color:#fff;font-size:var(--text-headline);flex-shrink:0}.reg-info{flex:1;display:flex;flex-direction:column;min-width:0;gap:var(--space-1)}.reg-name{font-weight:var(--font-semibold);color:var(--text)}.reg-email{font-size:var(--text-caption-1);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reg-status{font-size:var(--text-caption-1);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em}.reg-actions{display:flex;gap:var(--space-2)}.approve-btn,.reject-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-caption-1);font-weight:var(--font-semibold);border:none;cursor:pointer;transition:all .2s}.approve-btn{background:var(--success);color:#fff}.approve-btn:hover{background:#00b300;transform:translateY(-1px)}.reject-btn{background:transparent;border:1px solid var(--danger);color:var(--danger)}.reject-btn:hover{background:var(--danger);color:#fff}.remove-btn{padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-caption-1);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.remove-btn:hover{border-color:var(--danger);color:var(--danger);background:#d6998f1a}.confirm-box{margin-top:var(--space-4);padding:var(--space-5);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg)}.confirm-box.danger{background:#d6998f0d;border-color:#d6998f4d}.confirm-box p{margin:0 0 var(--space-4);color:var(--text-muted);font-size:var(--text-body)}.confirm-actions{display:flex;gap:var(--space-3);justify-content:flex-end}.cancel-btn{padding:var(--space-3) var(--space-5);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-weight:var(--font-medium);cursor:pointer;transition:all .2s}.cancel-btn:hover{background:var(--bg-light);color:var(--text);border-color:var(--border)}.danger-btn{padding:var(--space-3) var(--space-5);background:var(--danger);border:none;border-radius:var(--radius-md);color:#fff;font-weight:var(--font-semibold);cursor:pointer;transition:all .2s}.danger-btn:hover{background:#d5442a;transform:translateY(-1px)}.danger-btn:disabled,.cancel-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.danger-zone{position:relative;background:#d6998f08;border-radius:var(--radius-xl);padding:var(--space-6);border:1px solid hsla(9,47%,70%,.2);overflow:hidden}.danger-zone:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--danger),hsl(20,80%,50%))}.danger-zone h2{margin:0 0 var(--space-5);font-size:var(--text-title-3);font-weight:var(--font-bold);color:var(--danger);display:flex;align-items:center;gap:var(--space-3)}.danger-zone h2:before{content:"⚠️"}.danger-content{display:flex;justify-content:space-between;align-items:center;gap:var(--space-5)}.danger-info{flex:1}.danger-info strong{display:block;margin-bottom:var(--space-2);color:var(--text);font-size:var(--text-body)}.danger-info p{margin:0;font-size:var(--text-callout);color:var(--text-muted);line-height:1.5}@media (max-width: 768px){.event-manage-page{padding-top:var(--page-top-padding);padding-left:var(--space-4);padding-right:var(--space-4)}.event-header h1{font-size:28px}.detail-grid{grid-template-columns:1fr 1fr}.detail-item{padding:var(--space-3)}.invite-box{flex-direction:column;align-items:stretch}.invite-code,.invite-actions{justify-content:center}.danger-content{flex-direction:column;align-items:stretch;gap:var(--space-4)}.registration-card{flex-wrap:wrap}.reg-actions{width:100%;margin-top:var(--space-3);justify-content:flex-end}.section-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.coach-card{flex-wrap:wrap}.coach-status{order:3;width:100%;text-align:center;margin-top:var(--space-2)}}@media (max-width: 480px){.detail-grid{grid-template-columns:1fr}.header-badges{flex-direction:column;align-items:flex-start}}body:has(.impersonation-banner) .event-manage-page{padding-top:var(--page-top-padding-with-banner)}.support-page{min-height:100vh;padding:calc(var(--nav-height) + var(--space-10)) 0 var(--space-10);background:var(--bg-dark)}.support-header{text-align:center;margin-bottom:var(--space-10)}.support-title{font-size:clamp(var(--text-title-1),5vw,var(--text-display));font-weight:var(--font-bold);color:var(--text);margin-bottom:var(--space-4);background:linear-gradient(135deg,var(--text) 0%,var(--brand-blue-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.support-subtitle{font-size:var(--text-title-3);color:var(--text-muted);max-width:600px;margin:0 auto}.section-title{font-size:var(--text-title-2);font-weight:var(--font-bold);color:var(--text);margin-bottom:var(--space-6);position:relative;display:inline-block}.section-title:after{content:"";position:absolute;bottom:-8px;left:0;width:60px;height:3px;background:var(--brand-blue);border-radius:2px}.faq-section{margin-bottom:var(--space-10)}.faq-list{display:flex;flex-direction:column;gap:var(--space-3)}.faq-item{background:var(--bg-light);border-radius:var(--radius-xl);overflow:hidden;transition:all .3s ease;box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.faq-item:hover{box-shadow:0 2px 1px var(--shadow-hard),0 6px 12px var(--shadow-soft)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);background:transparent;border:none;cursor:pointer;text-align:left;font-size:var(--text-headline);font-weight:var(--font-semibold);color:var(--text);transition:color .2s ease}.faq-question:hover{color:var(--brand-blue-light)}.faq-icon{width:20px;height:20px;flex-shrink:0;color:var(--text-muted);transition:transform .3s ease}.faq-item.expanded .faq-icon{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.faq-item.expanded .faq-answer{max-height:500px}.faq-answer p{padding:0 var(--space-6) var(--space-5);font-size:var(--text-body);color:var(--text-muted);line-height:1.7}.contact-section{background:var(--bg-light);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft);position:relative}.contact-section:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;pointer-events:none}.contact-intro{font-size:var(--text-body);color:var(--text-muted);margin-bottom:var(--space-6);max-width:600px}.contact-form{display:flex;flex-direction:column;gap:var(--space-5)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-size:var(--text-callout);font-weight:var(--font-semibold);color:var(--text);text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select,.form-group textarea{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4);font-size:var(--text-body);color:var(--text);font-family:var(--font-family);transition:all .2s ease}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-subtle)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px var(--brand-blue-20)}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238da4bf' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.form-group textarea{resize:vertical;min-height:120px}.submit-btn{align-self:flex-start;background:linear-gradient(to bottom,var(--brand-blue),var(--brand-blue-dark));color:#fff;border:none;border-radius:var(--radius-md);padding:var(--space-4) var(--space-8);font-size:var(--text-headline);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-hard),0 8px 16px var(--shadow-soft)}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.form-success{color:var(--success);font-size:var(--text-body);padding:var(--space-4);background:#79b99826;border-radius:var(--radius-md);border:1px solid hsla(149,31%,60%,.3)}@media (max-width: 768px){.support-page{padding:calc(var(--nav-height) + var(--space-8)) 0 var(--space-8)}.form-row{grid-template-columns:1fr}.contact-section{padding:var(--space-6)}.faq-question{padding:var(--space-4) var(--space-5);font-size:var(--text-body)}.faq-answer p{padding:0 var(--space-5) var(--space-4)}.submit-btn{width:100%;justify-content:center}}.privacy-page{min-height:100vh;padding:calc(var(--nav-height) + var(--space-10)) 0 var(--space-10);background:var(--bg-dark)}.privacy-header{text-align:center;margin-bottom:var(--space-10)}.privacy-title{font-size:clamp(var(--text-title-1),5vw,var(--text-display));font-weight:var(--font-bold);color:var(--text);margin-bottom:var(--space-3);background:linear-gradient(135deg,var(--text) 0%,var(--brand-blue-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.privacy-updated{font-size:var(--text-callout);color:var(--text-subtle);text-transform:uppercase;letter-spacing:1px}.privacy-content{max-width:800px;margin:0 auto;background:var(--bg-light);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft);position:relative}.privacy-content:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;pointer-events:none}.privacy-section{margin-bottom:var(--space-8);padding-bottom:var(--space-8);border-bottom:1px solid var(--border-subtle)}.privacy-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.privacy-section h2{font-size:var(--text-title-2);font-weight:var(--font-bold);color:var(--text);margin-bottom:var(--space-5);position:relative;padding-left:var(--space-5)}.privacy-section h2:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:24px;background:var(--brand-blue);border-radius:2px}.privacy-section h3{font-size:var(--text-title-3);font-weight:var(--font-semibold);color:var(--text);margin-top:var(--space-5);margin-bottom:var(--space-3)}.privacy-section p{font-size:var(--text-body);color:var(--text-muted);line-height:1.8;margin-bottom:var(--space-4)}.privacy-section p:last-child{margin-bottom:0}.privacy-section p strong{color:var(--text);font-weight:var(--font-semibold)}.privacy-section ul{list-style:none;padding:0;margin:0 0 var(--space-4) 0}.privacy-section ul li{position:relative;padding-left:var(--space-6);margin-bottom:var(--space-3);font-size:var(--text-body);color:var(--text-muted);line-height:1.7}.privacy-section ul li:before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;background:var(--brand-blue);border-radius:50%}.privacy-section ul li:last-child{margin-bottom:0}.privacy-section ul li strong{color:var(--text);font-weight:var(--font-semibold)}.contact-list li:before{display:none}.contact-list li{padding-left:0;background:var(--bg-elevated);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.privacy-section a{color:var(--brand-blue-light);text-decoration:none;transition:color .2s ease;font-weight:var(--font-medium)}.privacy-section a:hover{color:var(--brand-blue);text-decoration:underline}@media (max-width: 768px){.privacy-page{padding:calc(var(--nav-height) + var(--space-8)) 0 var(--space-8)}.privacy-content{padding:var(--space-6);border-radius:var(--radius-xl)}.privacy-section{margin-bottom:var(--space-6);padding-bottom:var(--space-6)}.privacy-section h2{font-size:var(--text-title-3)}.privacy-section h3{font-size:var(--text-headline)}}.terms-page{min-height:100vh;padding:calc(var(--nav-height) + var(--space-10)) 0 var(--space-10);background:var(--bg-dark)}.terms-header{text-align:center;margin-bottom:var(--space-10)}.terms-title{font-size:clamp(var(--text-title-1),5vw,var(--text-display));font-weight:var(--font-bold);color:var(--text);margin-bottom:var(--space-3);background:linear-gradient(135deg,var(--text) 0%,var(--brand-blue-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.terms-updated{font-size:var(--text-callout);color:var(--text-subtle);text-transform:uppercase;letter-spacing:1px}.terms-content{max-width:800px;margin:0 auto;background:var(--bg-light);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft);position:relative}.terms-content:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;pointer-events:none}.terms-section{margin-bottom:var(--space-8);padding-bottom:var(--space-8);border-bottom:1px solid var(--border-subtle)}.terms-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.terms-section h2{font-size:var(--text-title-2);font-weight:var(--font-bold);color:var(--text);margin-bottom:var(--space-5);position:relative;padding-left:var(--space-5)}.terms-section h2:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:24px;background:var(--brand-blue);border-radius:2px}.terms-section h3{font-size:var(--text-title-3);font-weight:var(--font-semibold);color:var(--text);margin-top:var(--space-5);margin-bottom:var(--space-3)}.terms-section p{font-size:var(--text-body);color:var(--text-muted);line-height:1.8;margin-bottom:var(--space-4)}.terms-section p:last-child{margin-bottom:0}.terms-section p strong{color:var(--text);font-weight:var(--font-semibold)}.terms-section ul{list-style:none;padding:0;margin:0 0 var(--space-4) 0}.terms-section ul li{position:relative;padding-left:var(--space-6);margin-bottom:var(--space-3);font-size:var(--text-body);color:var(--text-muted);line-height:1.7}.terms-section ul li:before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;background:var(--brand-blue);border-radius:50%}.terms-section ul li:last-child{margin-bottom:0}.terms-section ul li strong{color:var(--text);font-weight:var(--font-semibold)}.terms-section .contact-list li:before{display:none}.terms-section .contact-list li{padding-left:0;background:var(--bg-elevated);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.terms-section a{color:var(--brand-blue-light);text-decoration:none;transition:color .2s ease;font-weight:var(--font-medium)}.terms-section a:hover{color:var(--brand-blue);text-decoration:underline}@media (max-width: 768px){.terms-page{padding:calc(var(--nav-height) + var(--space-8)) 0 var(--space-8)}.terms-content{padding:var(--space-6);border-radius:var(--radius-xl)}.terms-section{margin-bottom:var(--space-6);padding-bottom:var(--space-6)}.terms-section h2{font-size:var(--text-title-3)}.terms-section h3{font-size:var(--text-headline)}}.impersonation-banner{position:fixed;top:0;left:0;right:0;z-index:9999;background:linear-gradient(135deg,#ffbf00,#ff8000);color:#000;padding:var(--space-2) var(--space-4);box-shadow:0 2px 8px #0000004d}.banner-content{display:flex;align-items:center;justify-content:center;gap:var(--space-3);max-width:1200px;margin:0 auto}.banner-icon{font-size:var(--text-headline)}.banner-text{font-size:var(--text-callout);font-weight:var(--font-medium)}.banner-text strong{font-weight:var(--font-bold)}.stop-btn{padding:var(--space-1) var(--space-3);background:#0003;border:1px solid rgba(0,0,0,.3);border-radius:var(--radius-md);color:#000;font-size:var(--text-caption-1);font-weight:var(--font-semibold);cursor:pointer;transition:all .2s ease}.stop-btn:hover{background:#0000004d}body:has(.impersonation-banner) .navigation{top:44px}body:has(.impersonation-banner) .profile-page,body:has(.impersonation-banner) .coach-dashboard,body:has(.impersonation-banner) .coach-discovery,body:has(.impersonation-banner) .event-detail{padding-top:calc(64px + 44px + var(--space-8))}@supports not selector(:has(*)){.app:has(.impersonation-banner) .navigation{top:44px}}.app{min-height:100vh;width:100%;background:var(--bg-dark)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-8)}@media (max-width: 768px){.container{padding:0 var(--space-5)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);font-size:var(--text-body);font-weight:var(--font-semibold);text-decoration:none;transition:all .2s ease;border:none;cursor:pointer;font-family:var(--font-family)}.btn-primary{background:var(--brand-blue);color:#fff;box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.btn-primary:hover{background:var(--brand-blue-light);transform:translateY(-2px);box-shadow:0 2px 1px var(--shadow-hard),0 6px 12px var(--shadow-soft)}.btn-secondary{background:transparent;color:var(--text-muted);border:2px solid var(--border)}.btn-secondary:hover{background:var(--bg-light);color:var(--text);border-color:var(--text-muted);transform:translateY(-2px)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-gradient-start{background:linear-gradient(to bottom,var(--brand-blue-light),var(--brand-blue));color:#fff;box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.btn-gradient-start:hover{background:linear-gradient(to bottom,var(--brand-blue),var(--brand-blue-dark));transform:translateY(-2px)}.btn-ghost{background:transparent;color:var(--text);border:none}.btn-ghost:hover{background:var(--bg-elevated)}.btn-large{padding:var(--space-5) var(--space-8);font-size:var(--text-headline);border-radius:var(--radius-lg)}@media (max-width: 768px){.btn{padding:var(--space-3) var(--space-5);font-size:var(--text-callout)}.btn-large{padding:var(--space-4) var(--space-6);font-size:var(--text-body)}}.input{background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text);font-size:var(--text-body);font-family:var(--font-family);transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--brand-blue);outline:none;box-shadow:0 0 0 3px var(--brand-blue-20)}.input::placeholder{color:var(--text-subtle)}.badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-subheadline);font-weight:var(--font-semibold);border-radius:var(--radius-full);background:var(--bg-light);color:var(--text);box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.badge-info{color:var(--brand-blue);background:var(--brand-blue-20)}.status-dot{width:8px;height:8px;border-radius:50%}.status-active{background:var(--success)}.status-warning{background:var(--warning)}.status-error{background:var(--danger)}.status-inactive{background:var(--text-subtle)}.nav-item{color:var(--text-muted);font-size:var(--text-body);font-weight:var(--font-medium);padding:var(--space-3);transition:color .2s;text-decoration:none}.nav-item.active,.nav-item:hover{color:var(--text)}.tab-button{background:var(--bg-light);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);min-width:70px;border:none;color:var(--text-muted);font-weight:var(--font-medium);cursor:pointer;transition:all .2s;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.tab-button.active{color:var(--text);box-shadow:0 2px 1px var(--shadow-hard),0 6px 12px var(--shadow-soft);position:relative}.tab-button.active:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,var(--highlight-gradient-start),var(--highlight-gradient-end));border-radius:inherit;pointer-events:none}.tab-button:hover:not(.active){color:var(--text);background:var(--bg-elevated)}.section-title{font-size:var(--text-title-1);font-weight:var(--font-bold);color:var(--text);margin-bottom:var(--space-4)}.section-subtitle{font-size:var(--text-body);color:var(--text-muted);max-width:600px}@media (max-width: 768px){.section-title{font-size:var(--text-title-2)}}.gradient-text{background:linear-gradient(135deg,var(--brand-blue-light),var(--brand-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.divider{height:1px;background:var(--border-subtle)}.divider-muted{height:1px;background:var(--border-muted)}:root{--brand-blue: hsl(217, 100%, 50%);--brand-blue-light: hsl(217, 100%, 60%);--brand-blue-dark: hsl(217, 100%, 40%);--brand-blue-10: hsla(217, 100%, 50%, .1);--brand-blue-20: hsla(217, 100%, 50%, .2);--brand-blue-30: hsla(217, 100%, 50%, .3);--brand-orange: hsl(30, 100%, 50%);--brand-orange-bg: hsla(30, 100%, 50%, .2);--brand-sky-light: hsl(210, 100%, 88%);--brand-sky-dark: hsl(214, 73%, 65%);--blue-100: hsl(215, 33%, 98%);--blue-200: hsl(215, 67%, 90%);--blue-300: hsl(215, 100%, 84%);--blue-400: hsl(215, 81%, 80%);--blue-500: hsl(215, 70%, 60%);--blue-600: hsl(215, 65%, 43%);--blue-700: hsl(215, 52%, 38%);--blue-800: hsl(215, 82%, 37%);--blue-900: hsl(215, 85%, 28%);--blue-1000: hsl(215, 90%, 20%);--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, monospace;--text-display: 50px;--text-title-1: 28px;--text-title-2: 24px;--text-title-3: 18px;--text-headline: 16px;--text-body: 15px;--text-callout: 13px;--text-subheadline: 12px;--text-footnote: 11px;--text-caption-1: 10px;--text-caption-2: 9px;--text-micro: 8px;--font-light: 300;--font-regular: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--space-1: 2px;--space-2: 4px;--space-3: 8px;--space-4: 12px;--space-5: 16px;--space-6: 20px;--space-7: 24px;--space-8: 32px;--space-9: 40px;--space-10: 48px;--nav-height: 64px;--impersonation-banner-height: 44px;--page-top-padding: calc(var(--nav-height) + var(--space-8));--page-top-padding-with-banner: calc(var(--nav-height) + var(--impersonation-banner-height) + var(--space-8));--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-2xl: 20px;--radius-full: 25px;--opacity-very-strong: .9;--opacity-strong: .8;--opacity-medium: .7;--opacity-moderate: .5;--opacity-light: .4;--opacity-very-light: .3;--opacity-subtle: .2;--opacity-very-subtle: .15;--opacity-barely-visible: .1;--chart-series-1: hsl(9, 70%, 95%);--chart-series-2: hsl(217, 65%, 90%);--chart-series-3: hsl(280, 60%, 85%);--chart-red: hsl(0, 100%, 50%);--chart-blue: hsl(240, 100%, 50%);--chart-purple: hsl(300, 100%, 25%);--chart-gray: hsl(0, 0%, 50%);--marker-initiation: hsl(120, 100%, 50%);--marker-snap-point: hsl(240, 100%, 50%);--marker-plane-out: hsl(0, 100%, 50%);--marker-downwind: hsl(30, 100%, 50%);--marker-base-leg: hsl(60, 100%, 50%);--marker-final: hsl(300, 100%, 25%);--marker-landing: hsl(0, 59%, 41%);--metric-cyan: hsl(180, 100%, 50%);--metric-blue: hsl(240, 100%, 50%);--metric-teal: hsl(175, 100%, 40%);--metric-orange: hsl(30, 100%, 50%);--metric-purple: hsl(280, 100%, 50%);--metric-yellow: hsl(60, 100%, 50%);--metric-red: hsl(0, 100%, 50%);--metric-green: hsl(120, 100%, 50%);--color-red: hsl(0, 100%, 50%);--color-blue: hsl(217, 100%, 50%);--color-green: hsl(120, 100%, 50%);--color-yellow: hsl(60, 100%, 50%);--color-purple: hsl(280, 100%, 50%);--color-orange: hsl(30, 100%, 50%);--color-cyan: hsl(180, 100%, 50%);--color-teal: hsl(175, 100%, 40%);--color-brown: hsl(0, 59%, 41%)}:root,[data-theme=dark],.dark-theme{--bg-dark: hsl(215, 40%, 18%);--bg: hsl(215, 38%, 24%);--bg-light: hsl(215, 36%, 32%);--bg-elevated: hsl(215, 34%, 40%);--bg-inner: hsl(215, 32%, 48%);--bg-gradient-top: hsl(215, 36%, 32%);--bg-gradient-bottom: hsl(215, 40%, 18%);--text: hsl(215, 20%, 95%);--text-muted: hsl(215, 25%, 75%);--text-subtle: hsl(215, 30%, 60%);--border: hsl(215, 35%, 55%);--border-muted: hsl(215, 32%, 45%);--border-subtle: hsla(215, 20%, 50%, .25);--highlight: hsl(215, 35%, 50%);--highlight-active: hsla(215, 30%, 60%, .3);--primary: hsl(215, 81%, 80%);--secondary: hsl(26, 65%, 75%);--danger: hsl(9, 47%, 70%);--warning: hsl(51, 32%, 60%);--success: hsl(149, 31%, 60%);--info: hsl(217, 52%, 75%);--overlay: hsla(0, 0%, 0%, .4);--overlay-dark: hsla(0, 0%, 0%, .8);--shadow: hsla(0, 0%, 0%, .3);--shadow-light: hsla(0, 0%, 0%, .2);--shadow-hard: hsla(0, 0%, 0%, .25);--shadow-soft: hsla(0, 0%, 0%, .1);--highlight-top: hsla(0, 0%, 100%, .08);--highlight-gradient-start: hsla(0, 0%, 100%, .2);--highlight-gradient-end: transparent;--highlight-text-subtle: hsla(215, 100%, 84%, .15);--cta-text: white;--cta-bg-start: var(--brand-blue);--cta-bg-mid: var(--brand-blue-dark);--cta-bg-end: hsl(215, 85%, 28%);--cta-btn-bg: white;--cta-btn-text: var(--brand-blue)}[data-theme=light],.light-theme{--bg-dark: hsl(215, 8%, 90%);--bg: hsl(215, 5%, 95%);--bg-light: hsl(215, 3%, 100%);--bg-elevated: hsl(215, 4%, 97%);--bg-gradient-top: hsl(215, 10%, 90%);--bg-gradient-bottom: hsl(215, 12%, 85%);--text: hsl(215, 90%, 20%);--text-muted: hsl(215, 52%, 38%);--text-subtle: hsl(215, 65%, 43%);--border: hsl(215, 70%, 60%);--border-muted: hsl(215, 81%, 80%);--border-subtle: hsla(215, 50%, 50%, .2);--highlight: hsl(215, 100%, 84%);--highlight-active: hsla(215, 100%, 50%, .15);--primary: hsl(215, 65%, 43%);--secondary: hsl(32, 100%, 28%);--danger: hsl(8, 36%, 41%);--warning: hsl(52, 58%, 35%);--success: hsl(152, 45%, 35%);--info: hsl(217, 38%, 43%);--overlay: hsla(0, 0%, 0%, .4);--overlay-dark: hsla(0, 0%, 0%, .8);--shadow: hsla(0, 0%, 0%, .15);--shadow-light: hsla(0, 0%, 0%, .1);--shadow-hard: hsla(0, 0%, 0%, .12);--shadow-soft: hsla(0, 0%, 0%, .06);--highlight-top: hsla(0, 0%, 100%, .5);--highlight-gradient-start: hsla(215, 100%, 50%, .1);--highlight-gradient-end: transparent;--highlight-text-subtle: hsla(215, 65%, 43%, .15);--cta-text: hsl(215, 90%, 20%);--cta-bg-start: hsl(215, 100%, 95%);--cta-bg-mid: hsl(215, 80%, 90%);--cta-bg-end: hsl(215, 70%, 85%);--cta-btn-bg: var(--brand-blue);--cta-btn-text: white}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-dark);color:var(--text);line-height:1.6;overflow-x:hidden}.text-primary{color:var(--text);font-weight:var(--font-semibold)}.text-secondary{color:var(--text-muted);font-weight:var(--font-medium)}.text-tertiary{color:var(--text-subtle);font-weight:var(--font-regular)}.text-brand{color:var(--brand-blue)}.shadow-standard{box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.shadow-selected{box-shadow:0 2px 1px var(--shadow-hard),0 6px 12px var(--shadow-soft)}.elevation-1{box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.elevation-2{box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.elevation-3{box-shadow:0 2px 1px var(--shadow-hard),0 6px 12px var(--shadow-soft)}.elevation-4{box-shadow:0 4px 8px var(--shadow-hard),0 16px 32px var(--shadow-soft)}.card{position:relative;background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to bottom,var(--highlight-top),transparent);border-radius:var(--radius-xl) var(--radius-xl) 0 0;pointer-events:none}.card-selected{box-shadow:0 2px 1px var(--shadow-hard),0 6px 12px var(--shadow-soft)}.card-selected:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,var(--highlight-gradient-start),var(--highlight-gradient-end));border-radius:inherit;pointer-events:none}.card-inner{background:var(--bg-elevated);border-radius:var(--radius-md);padding:var(--space-3)}.card-header{padding:var(--space-4)}.card-divider{height:1px;background:var(--border-subtle)}.card-body{padding:var(--space-4)}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:var(--text-subheadline);border-radius:var(--radius-md)}.badge-default{color:var(--brand-orange);background:var(--brand-orange-bg)}.badge-primary{color:var(--brand-blue);background:var(--brand-blue-20)}.badge-success{color:var(--success);background:#79b99833}.badge-warning{color:var(--warning);background:#bab07833}.badge-danger{color:var(--danger);background:#d6998f33}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:var(--font-semibold);border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .2s ease}.btn-primary{background:var(--primary);color:var(--bg-dark);padding:var(--space-3) var(--space-5)}.btn-primary:hover{opacity:.9}.btn-secondary{background:transparent;color:var(--text-muted);border:1px solid var(--border-muted);padding:var(--space-3) var(--space-5)}.btn-secondary:hover{border-color:var(--border);color:var(--text)}.btn-danger{background:var(--danger);color:#fff;padding:var(--space-3) var(--space-5)}.btn-gradient-start{background:linear-gradient(to bottom,#0062ff,#004ecc);color:#fff;padding:var(--space-3) var(--space-5)}.btn-gradient-stop{background:linear-gradient(to bottom,red,#c00);color:#fff;padding:var(--space-3) var(--space-5)}
