@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--color-bg-primary:#0a0e1a;--color-bg-secondary:#111827;--color-bg-tertiary:#1a2236;--color-bg-card:#111827b3;--color-bg-card-hover:#1a2236e6;--color-bg-input:#11182780;--glass-bg:#11182799;--glass-border:#63b3ed26;--glass-shadow:0 8px 32px #0000004d;--color-text-primary:#f0f4f8;--color-text-secondary:#94a3b8;--color-text-muted:#64748b;--color-text-inverse:#0a0e1a;--color-accent:#3b82f6;--color-accent-light:#60a5fa;--color-accent-dark:#2563eb;--color-accent-glow:#3b82f64d;--color-running:#f97316;--color-trail:#84cc16;--color-cycling:#06b6d4;--color-mtb:#8b5cf6;--color-swimming:#0ea5e9;--color-strength:#ef4444;--color-hiit:#f43f5e;--color-skiing:#a5b4fc;--color-mountaineering:#fbbf24;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--gradient-accent:linear-gradient(135deg, #3b82f6, #8b5cf6);--gradient-warm:linear-gradient(135deg, #f97316, #f43f5e);--gradient-cool:linear-gradient(135deg, #06b6d4, #3b82f6);--gradient-nature:linear-gradient(135deg, #10b981, #84cc16);--gradient-card:linear-gradient(145deg, #111827cc, #1a223699);--gradient-hero:linear-gradient(135deg, #0a0e1a 0%, #1a2236 50%, #0f172a 100%);--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0000004d;--shadow-lg:0 10px 25px #0006;--shadow-xl:0 20px 50px #00000080;--shadow-glow:0 0 20px var(--color-accent-glow);--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);background:var(--gradient-hero);color:var(--color-text-primary);min-height:100vh;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--color-accent-light);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent)}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.container{width:100%;max-width:1280px;padding:0 var(--space-lg);margin:0 auto}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);transition:all var(--transition-base)}.glass-card:hover{box-shadow:var(--glass-shadow), var(--shadow-glow);border-color:#63b3ed4d;transform:translateY(-2px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes glow{0%,to{box-shadow:0 0 5px var(--color-accent-glow)}50%{box-shadow:0 0 20px var(--color-accent-glow), 0 0 40px #3b82f61a}}.animate-fade-in{animation:.5s forwards fadeIn}.animate-slide-up{animation:.6s forwards slideUp}.animate-pulse{animation:2s ease-in-out infinite pulse}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}input,textarea,select{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-input);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);transition:all var(--transition-fast);outline:none;width:100%}input:focus,textarea:focus,select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}button{font-family:var(--font-family);cursor:pointer;transition:all var(--transition-base);border:none;outline:none}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-weight:600;font-size:var(--font-size-sm);transition:all var(--transition-base);line-height:1.5;display:inline-flex}.btn-primary{background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{box-shadow:var(--shadow-lg), var(--shadow-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--glass-border)}.btn-secondary:hover{background:var(--color-bg-card-hover);border-color:var(--color-accent)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover{color:var(--color-text-primary);background:#ffffff0d}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-base);border-radius:var(--radius-lg)}.btn-icon{padding:var(--space-sm);border-radius:var(--radius-md)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-outline-primary{color:var(--color-accent-light);background:0 0;border:1px solid #60a5fa4d}.btn-outline-primary:hover{border-color:var(--color-accent-light);color:#fff;background:#60a5fa14;box-shadow:0 0 12px #60a5fa26}.btn-outline-success{color:var(--color-success);background:0 0;border:1px solid #10b9814d}.btn-outline-success:hover{border-color:var(--color-success);color:#fff;background:#10b98114;box-shadow:0 0 12px #10b98126}.btn-outline-accent{color:#a855f7;background:0 0;border:1px solid #a855f74d}.btn-outline-accent:hover{color:#fff;background:#a855f714;border-color:#a855f7;box-shadow:0 0 12px #a855f726}.btn-outline-danger{color:var(--color-error);background:0 0;border:1px solid #ef44444d}.btn-outline-danger:hover{border-color:var(--color-error);color:#fff;background:#ef444414;box-shadow:0 0 12px #ef444426}.btn-success{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);box-shadow:0 4px 12px #10b98133}.btn-success:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b9814d}.btn-sm{font-size:var(--font-size-xs);border-radius:var(--radius-sm);padding:6px 12px}.spinner{border:3px solid var(--glass-border);border-top-color:var(--color-accent);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);letter-spacing:.02em;align-items:center;gap:4px;padding:2px 10px;font-weight:600;display:inline-flex}.badge-success{color:var(--color-success);background:#10b98126;border:1px solid #10b9814d}.badge-warning{color:var(--color-warning);background:#f59e0b26;border:1px solid #f59e0b4d}.badge-error{color:var(--color-error);background:#ef444426;border:1px solid #ef44444d}@media (width<=768px){:root{--font-size-4xl:1.875rem;--font-size-5xl:2.25rem}.container{padding:0 var(--space-md)}}.app-shell{background:var(--gradient-hero);min-height:100vh;color:var(--color-text-primary);flex-direction:column;display:flex;position:relative}.app-header{z-index:999;-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);background:#0a0e1ab3;border-radius:0;height:70px;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 30px #0003}.app-header:hover{border-color:var(--glass-border)!important;transform:none!important;box-shadow:0 4px 30px #0003!important}.header-container{max-width:1280px;height:100%;padding:0 var(--space-lg);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.header-logo-container{align-items:center;gap:var(--space-sm);transition:transform var(--transition-fast);text-decoration:none;display:flex}.header-logo-container:hover{transform:scale(1.02)}.header-logo-icon{background:var(--gradient-accent);border-radius:var(--radius-lg);color:#fff;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 0 15px #3b82f666}.header-logo-img-new{object-fit:contain;filter:drop-shadow(0 0 8px #863bff66);width:28px;height:28px}.header-title-text{font-size:var(--font-size-lg);letter-spacing:-.03em;background:var(--gradient-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:800}.header-nav{align-items:center;gap:var(--space-sm);height:100%;display:flex}.nav-link-item{align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);border-radius:var(--radius-md);transition:all var(--transition-base);font-weight:600;text-decoration:none;display:flex}.nav-link-item:hover{color:var(--color-text-primary);background:#ffffff0d}.nav-link-item.active{color:#fff;background:#3b82f626;border:1px solid #3b82f64d;box-shadow:0 0 15px #3b82f61a}.header-actions-area{align-items:center;gap:var(--space-md);display:flex}.garmin-status-badge{align-items:center;gap:var(--space-xs);border-radius:var(--radius-full);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-base);border:1px solid #0000;padding:6px 14px;font-weight:700;text-decoration:none;display:flex}.garmin-status-badge.connected{color:var(--color-success);background:#10b9811a;border-color:#10b98140}.garmin-status-badge.connected:hover{background:#10b9812e;border-color:#10b98180;box-shadow:0 0 15px #10b98133}.garmin-status-badge.disconnected{color:var(--color-warning);background:#f59e0b1a;border-color:#f59e0b40}.garmin-status-badge.disconnected:hover{background:#f59e0b2e;border-color:#f59e0b80}.garmin-status-badge.syncing{opacity:.8;cursor:not-allowed}.user-dropdown-container{position:relative}.user-profile-button{align-items:center;gap:var(--space-sm);color:var(--color-text-primary);cursor:pointer;border-radius:var(--radius-full);transition:background var(--transition-fast);background:0 0;border:none;padding:4px 8px;display:flex}.user-profile-button:hover{background:#ffffff0d}.user-avatar{background:var(--gradient-accent);color:#fff;width:32px;height:32px;font-weight:700;font-size:var(--font-size-sm);border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 0 8px #3b82f64d}.user-name-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:600}.dropdown-chevron{color:var(--color-text-muted);transition:transform var(--transition-fast)}.dropdown-chevron.open{transform:rotate(180deg)}.dropdown-menu-list{min-width:190px;padding:var(--space-xs);z-index:1000;box-shadow:var(--shadow-xl);background:#111827f2;flex-direction:column;gap:2px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.dropdown-menu-list:hover{box-shadow:var(--shadow-xl)!important;transform:none!important}.dropdown-item{align-items:center;gap:var(--space-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);border-radius:var(--radius-md);text-align:left;cursor:pointer;width:100%;transition:all var(--transition-fast);background:0 0;border:none;padding:10px 14px;font-weight:500;text-decoration:none;display:flex}.dropdown-item:hover{color:#fff;background:#ffffff0f}.dropdown-item.admin{color:var(--color-accent-light)}.dropdown-item.admin:hover{background:#3b82f61a}.dropdown-item.logout{color:#ef4444}.dropdown-item.logout:hover{background:#ef44441a}.dropdown-divider{background:var(--glass-border);height:1px;margin:var(--space-xs) 0}.app-main-content{z-index:1;flex:1;padding-top:90px;padding-bottom:2rem}.mobile-bottom-nav{-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);z-index:999;background:#0a0e1ad9;height:64px;display:none;position:fixed;bottom:0;left:0;right:0}.bottom-nav-container{justify-content:space-around;align-items:center;max-width:600px;height:100%;margin:0 auto;display:flex}.bottom-nav-item{color:var(--color-text-secondary);height:100%;transition:all var(--transition-fast);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;text-decoration:none;display:flex}.bottom-nav-item:hover{color:var(--color-text-primary)}.bottom-nav-item.active{color:var(--color-accent-light)}.bottom-nav-label{font-size:10px;font-weight:700}.show-mobile-flex,.show-mobile{display:none}@media (width<=768px){.hide-mobile{display:none!important}.show-mobile-flex{display:flex!important}.show-mobile{display:block!important}.mobile-menu-trigger{display:flex}.app-main-content{padding-top:80px;padding-bottom:80px}.mobile-bottom-nav{display:block}.header-container{padding:0 var(--space-md)}}.offline-status-banner{color:#fff;text-align:center;padding:var(--space-xs) var(--space-md);font-size:var(--font-size-xs);z-index:998;-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#ef4444f2,#dc2626f2);border-bottom:1px solid #ffffff1a;font-weight:700;animation:.3s ease-out forwards slideDown;position:fixed;top:70px;left:0;right:0;box-shadow:0 4px 15px #0000004d}.dropdown-item.install-pwa{color:var(--color-success)}.dropdown-item.install-pwa:hover{background:#10b9811a}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.app-loading{background:var(--gradient-hero);justify-content:center;align-items:center;min-height:100vh;display:flex}
