.flightline-logo{display:block}.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}.nav-logo:hover{opacity:.85}.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:hover{background:var(--bg-elevated)}.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}}.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)}.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:hidden;z-index:100}.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{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}.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)}.hero-title{font-size:2.5rem}.hero-image{order:-1}.phone-mockup{width:240px;height:480px}}@media (max-width: 640px){.hero{padding:var(--space-8) 0}.hero-title{font-size:2rem}.hero-subtitle{font-size:var(--text-body)}.hero-buttons{flex-direction:column}.phone-mockup{width:200px;height:400px}}.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:calc(64px + var(--space-8));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}.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:calc(64px + var(--space-6))}.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}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.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}@media (max-width: 540px){.modal-backdrop{padding:var(--space-3)}.form-row{grid-template-columns:1fr}}.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-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.chart-title{font-size:var(--text-headline);font-weight:var(--font-bold);color:var(--text);margin:0}.chart-content{flex:1;padding:var(--space-4);min-height:300px;height:350px;position:relative}.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-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: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:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);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:relative}.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}.metrics-group{background:var(--bg-elevated);border-radius:var(--radius-lg);padding:var(--space-4)}.metrics-group-title{font-size:var(--text-subheadline);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-3) 0}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-3)}.metric-item{display:flex;flex-direction:column;gap:var(--space-1)}.metric-label{font-size:var(--text-caption-1);color:var(--text-subtle)}.metric-value{font-size:var(--text-body);font-weight:var(--font-bold);color:var(--text);font-family:var(--font-family-mono)}.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}}.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{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);overflow-x:auto;-webkit-overflow-scrolling:touch}.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)}.chart-area{min-height:400px;height:450px}.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}}.event-detail{max-width:1000px;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-6)}.back-btn{display:flex;align-items:center;gap:var(--space-2);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}.back-btn:hover{color:var(--text)}.back-btn svg{width:20px;height:20px}.header-actions{display:flex;gap:var(--space-3)}.delete-event-btn{padding:var(--space-2) var(--space-4);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}.event-info-card{background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft);position:relative}.event-info-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-info-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-5)}.event-title{font-size:var(--text-title-2);font-weight:var(--font-bold);color:var(--text);margin:0 0 var(--space-2) 0}.event-desc{font-size:var(--text-body);color:var(--text-muted);max-width:600px}.event-status-large .status-badge{padding:var(--space-2) var(--space-4);font-size:var(--text-callout)}.event-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.meta-item{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-lg)}.meta-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--brand-blue)}.meta-icon svg{width:100%;height:100%}.meta-label{font-size:var(--text-caption-1);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.05em}.meta-value{font-size:var(--text-callout);font-weight:var(--font-semibold);color:var(--text)}.detail-section{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}.detail-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{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.section-title{font-size:var(--text-headline);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-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}.invite-btn:hover,.compare-btn:hover{background:var(--brand-blue-light)}.invite-btn svg{width:18px;height:18px}.empty-section{text-align:center;padding:var(--space-8)}.empty-section p{color:var(--text-muted);margin-bottom:var(--space-2)}.empty-hint{font-size:var(--text-caption-1);color:var(--text-subtle)}.invite-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}.invite-btn-secondary:hover{background:var(--brand-blue);color:#fff}.loading-section{display:flex;flex-direction:column;align-items:center;padding:var(--space-8)}.loading-section .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;margin-bottom:var(--space-3)}.loading-section p{color:var(--text-muted)}.students-list{display:flex;flex-direction:column;gap:var(--space-2)}.student-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-lg)}.student-avatar{width:36px;height:36px;border-radius:50%;background:var(--brand-blue);display:flex;align-items:center;justify-content:center}.student-avatar span{font-size:var(--text-subheadline);font-weight:var(--font-bold);color:#fff}.student-id{flex:1;font-size:var(--text-callout);color:var(--text);font-family:var(--font-family-mono)}.remove-student-btn{padding:var(--space-1) var(--space-3);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-caption-1);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-2)}.flight-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-lg);border:2px solid transparent;transition:all .2s ease}.flight-item.selected{border-color:var(--brand-blue);background:#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:20px;height:20px;background:var(--bg-dark);border:2px solid var(--border);border-radius:var(--radius-sm);transition:all .2s ease}.flight-checkbox input:checked~.checkmark{background:var(--brand-blue);border-color:var(--brand-blue)}.flight-checkbox input:checked~.checkmark:after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.flight-info{flex:1;cursor:pointer}.flight-name{font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--text);margin-bottom:var(--space-1)}.flight-meta{display:flex;gap:var(--space-4);font-size:var(--text-caption-1);color:var(--text-muted)}.practice-badge{padding:var(--space-1) var(--space-2);background:#ff800033;color:var(--brand-orange);border-radius:var(--radius-sm);font-weight:var(--font-semibold)}.view-flight-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--bg-dark);border:none;border-radius:var(--radius-md);color:var(--text);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease}.view-flight-btn:hover{background:var(--brand-blue);color:#fff}.view-flight-btn svg{width:16px;height:16px}@media (max-width: 768px){.event-meta{grid-template-columns:repeat(2,1fr)}.event-info-header{flex-direction:column;gap:var(--space-3)}.flight-meta{flex-direction:column;gap:var(--space-1)}}@media (max-width: 480px){.detail-header,.section-header{flex-direction:column;gap:var(--space-3);align-items:flex-start}}.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)}.header-content{flex:1}.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}}.placeholder-page{min-height:100vh;padding-top:calc(64px + var(--space-10));padding-bottom:var(--space-10);background:var(--bg-dark);display:flex;align-items:center}.placeholder-content{text-align:center;max-width:800px;margin:0 auto}.placeholder-icon{display:flex;justify-content:center;align-items:center;margin-bottom:var(--space-6);color:var(--brand-blue)}.placeholder-icon svg{width:64px;height:64px}.placeholder-title{font-size:3rem;font-weight:var(--font-bold);margin-bottom:var(--space-4)}.placeholder-subtitle{font-size:var(--text-title-3);color:var(--text-muted);margin-bottom:var(--space-10)}.placeholder-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-5);margin-bottom:var(--space-10)}.placeholder-feature{background:var(--bg-light);padding:var(--space-6);border-radius:var(--radius-xl);text-align:center;box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft);position:relative}.placeholder-feature: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-feature .feature-icon{display:flex;justify-content:center;align-items:center;margin-bottom:var(--space-4);color:var(--brand-blue)}.placeholder-feature .feature-icon svg{width:32px;height:32px}.placeholder-feature h3{font-size:var(--text-body);font-weight:var(--font-bold);color:var(--text);margin-bottom:var(--space-2)}.placeholder-feature p{font-size:var(--text-callout);color:var(--text-muted);line-height:1.5}.placeholder-cta{background:var(--bg-light);padding:var(--space-6);border-radius:var(--radius-xl);display:inline-block}.placeholder-cta p{color:var(--text-muted);font-size:var(--text-callout);margin-bottom:var(--space-4)}.placeholder-cta .btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.placeholder-page{padding-top:calc(64px + var(--space-8))}.placeholder-icon svg{width:48px;height:48px}.placeholder-title{font-size:2rem}.placeholder-subtitle{font-size:var(--text-body)}.placeholder-features{grid-template-columns:1fr}}.my-flights-page{min-height:100vh;padding:calc(64px + var(--space-8)) 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{margin-bottom:var(--space-6)}.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)}.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:transform .2s ease,box-shadow .2s ease}.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-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-link{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-caption-1);font-weight:var(--font-medium);color:var(--text-muted)}.view-link svg{width:14px;height:14px;transition:transform .2s ease}.flight-card:hover .view-link svg{transform:translate(4px)}.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){.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}}body:has(.impersonation-banner) .my-flights-page{padding-top:calc(64px + 44px + var(--space-8))}.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:calc(64px + var(--space-8));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{display:flex;flex-direction:column;gap:var(--space-2)}.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-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:calc(64px + var(--space-6))}.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:calc(64px + 44px + var(--space-8))}.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 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 input::placeholder,.form-group textarea::placeholder{color:var(--text-subtle)}.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)}.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: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}.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-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:calc(64px + var(--space-6))}.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:calc(64px + 44px + var(--space-8))}.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}@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)}.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)}.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}.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}.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}.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}.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)}.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.ended{background:var(--bg-light);color:var(--text-muted)}.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:calc(64px + var(--space-6))}.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:calc(64px + 44px + var(--space-8))}.event-manage-page{min-height:100vh;padding:calc(64px + var(--space-8)) var(--space-5) var(--space-8);background:var(--bg-dark)}.page-container{max-width:900px;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-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)}.event-header{margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--border-subtle)}.header-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.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-subheadline);font-weight:var(--font-semibold);box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.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)}.visibility-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-subheadline);font-weight:var(--font-semibold);background:var(--bg-light);box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.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-full);font-size:var(--text-caption-1);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em}.status-badge.live{background:var(--success);color:#fff;animation:pulse 2s infinite}.status-badge.ended{background:var(--bg-elevated);color:var(--text-muted)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.event-header h1{margin:0 0 var(--space-2);font-size:clamp(var(--text-title-1),5vw,42px);font-weight:var(--font-bold);color:var(--text)}.event-org{margin:0;font-size:var(--text-callout);color:var(--text-muted)}.event-org a{color:var(--brand-blue);text-decoration:none}.event-org a:hover{text-decoration:underline}.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)}.event-details{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)}.event-details: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}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-5);margin-bottom:var(--space-5)}.detail-item{display:flex;flex-direction:column;gap:var(--space-1)}.detail-label{font-size:var(--text-caption-1);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.08em;font-weight:var(--font-semibold)}.detail-value{font-weight:var(--font-semibold);color:var(--text);font-size:var(--text-body)}.event-description{padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}.event-description h3{margin:0 0 var(--space-2);font-size:var(--text-caption-1);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.08em}.event-description p{margin:0;color:var(--text-muted);font-size:var(--text-body);line-height:1.6}.invite-section{position:relative;background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-5);border-left:4px solid var(--brand-orange);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.invite-section h2{margin:0 0 var(--space-4);font-size:var(--text-title-3);color:var(--brand-orange)}.invite-box{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.invite-code{display:flex;align-items:center;gap:var(--space-3)}.code-label{color:var(--text-muted);font-size:var(--text-callout)}.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:.15em;color:var(--text)}.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;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.copy-btn:hover{background:var(--brand-blue-light);transform:translateY(-1px)}.regen-btn{background:transparent;border:1px solid var(--border-muted);color:var(--text-muted)}.regen-btn:hover{border-color:var(--text);color:var(--text)}.invite-note{margin:var(--space-4) 0 0;font-size:var(--text-caption-1);color:var(--text-subtle)}.coaches-section,.registrations-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)}.coaches-section:before,.registrations-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)}.section-header h2{margin:0;font-size:var(--text-title-3);font-weight:var(--font-bold);color:var(--text)}.add-btn{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;box-shadow:0 1px 1px var(--shadow-hard),0 2px 4px var(--shadow-soft)}.add-btn:hover{background:var(--brand-blue-light);transform:translateY(-1px)}.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-medium)}.empty-message{color:var(--text-subtle);text-align:center;padding:var(--space-6);font-size:var(--text-callout)}.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);background:var(--bg-elevated);border-radius:var(--radius-lg);border-left:3px solid transparent}.coach-card.pending{border-left-color:var(--warning)}.coach-card.accepted{border-left-color:var(--success)}.coach-card.declined{border-left-color:var(--danger);opacity:.6}.coach-avatar{width:44px;height:44px;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)}.coach-info{flex:1;display:flex;flex-direction:column;min-width:0}.coach-name{font-weight:var(--font-semibold);color:var(--text)}.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-semibold)}.withdraw-btn{padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--border-muted);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}.withdraw-btn:hover{border-color:var(--danger);color:var(--danger)}.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{background:var(--bg-light);border:1px solid var(--border-muted);border-radius:var(--radius-xl);padding:var(--space-5);width:100%;max-width:400px;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)}.coach-picker{max-height:300px;overflow-y:auto}.coach-option{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-option:hover{border-color:var(--brand-blue);background:var(--bg-inner)}.option-name{font-weight:var(--font-semibold);color:var(--text)}.option-email{font-size:var(--text-caption-1);color:var(--text-muted)}.pending-approvals{margin-bottom:var(--space-5);padding:var(--space-4);background:#bab0781a;border:1px solid var(--warning);border-radius:var(--radius-lg)}.pending-approvals h3{margin:0 0 var(--space-3);font-size:var(--text-headline);color:var(--warning)}.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);background:var(--bg-elevated);border-radius:var(--radius-lg)}.registration-card.pending{background:#bab0781a}.reg-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}.reg-info{flex:1;display:flex;flex-direction:column;min-width:0}.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-semibold)}.reg-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);border:none;cursor:pointer;transition:all .2s}.approve-btn{background:var(--success);color:#fff}.approve-btn:hover{opacity:.9}.reject-btn{background:var(--danger);color:#fff}.reject-btn:hover{opacity:.9}.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}.confirm-box{margin-top:var(--space-4);padding:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-md)}.confirm-box.danger{background:#d6998f1a;border-color:var(--danger)}.confirm-box p{margin:0 0 var(--space-3);color:var(--text-muted);font-size:var(--text-callout)}.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-muted);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)}.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{opacity:.9}.danger-btn:disabled,.cancel-btn:disabled{opacity:.6;cursor:not-allowed}.danger-zone{position:relative;background:var(--bg-light);border-radius:var(--radius-xl);padding:var(--space-5);border:1px solid var(--danger);box-shadow:0 1px 1px var(--shadow-hard),0 4px 8px var(--shadow-soft)}.danger-zone h2{margin:0 0 var(--space-4);font-size:var(--text-title-3);color:var(--danger)}.danger-content{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.danger-info{flex:1}.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)}@media (max-width: 768px){.event-manage-page{padding-top:calc(64px + var(--space-6))}.event-header h1{font-size:var(--text-title-2)}.detail-grid{grid-template-columns:1fr 1fr}.invite-box,.danger-content{flex-direction:column;align-items:flex-start}.registration-card{flex-wrap:wrap}.reg-actions{width:100%;margin-top:var(--space-2)}}body:has(.impersonation-banner) .event-manage-page{padding-top:calc(64px + 44px + var(--space-8))}.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;--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)}
