@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box}html,body{overflow-x:hidden;max-width:100vw}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}:root{--bg-primary: #0A0A0A;--bg-secondary: #141414;--bg-card: #141414;--bg-hover: rgba(255, 255, 255, .05);--bg-hover-strong: rgba(255, 255, 255, .1);--border: rgba(255, 255, 255, .1);--border-subtle: rgba(255, 255, 255, .05);--text-primary: #fff;--text-secondary: #E4E4E7;--text-muted: #A1A1AA;--blue: #007AFF;--green: #39FF14;--red: #FF3B30;--strava: #FC4C02}[data-theme=light]{--bg-primary: #F5F5F7;--bg-secondary: #E5E5E5;--bg-card: #FFFFFF;--bg-hover: rgba(0, 0, 0, .04);--bg-hover-strong: rgba(0, 0, 0, .08);--border: rgba(0, 0, 0, .12);--border-subtle: rgba(0, 0, 0, .06);--text-primary: #111;--text-secondary: #374151;--text-muted: #6B7280}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased}.font-heading,.stat-number{font-family:Space Grotesk,sans-serif;font-weight:700}.glass{background:#0a0a0acc;backdrop-filter:blur(12px)}[data-theme=light] .glass{background:#ffffffe6;border-color:var(--border)!important}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:.5rem;transition:border-color .2s}.card:hover{border-color:var(--bg-hover-strong)}.input-field{background:var(--bg-primary);border:1px solid var(--border);border-radius:.375rem;padding:.625rem .75rem;color:var(--text-primary);font-size:.875rem;outline:none;transition:border-color .2s,box-shadow .2s}.input-field:focus{border-color:var(--blue);box-shadow:0 0 0 2px #007aff33}.input-field::placeholder{color:var(--text-muted)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;border:none;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s,box-shadow .2s;text-decoration:none}.btn-primary:hover{background:#06d;box-shadow:0 0 20px #007aff4d}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{display:inline-flex;align-items:center;background:transparent;color:var(--text-primary);border:none;padding:.5rem 1rem;font-size:.875rem;cursor:pointer;text-decoration:none}.btn-ghost:hover{background:var(--bg-hover);border-radius:.375rem}.btn-filter,.btn-filter-active{padding:.375rem 1rem;border-radius:.375rem;font-size:.875rem;cursor:pointer;border:1px solid var(--border);transition:all .2s}.btn-filter{background:var(--bg-card);color:var(--text-muted)}.btn-filter:hover{color:var(--text-primary);background:var(--bg-hover)}.btn-filter-active{background:var(--bg-hover-strong);color:var(--text-primary);border-color:var(--border)}.badge-run{background:#007aff26;color:var(--blue);border:1px solid rgba(0,122,255,.3)}.badge-hike{background:#39ff1426;color:var(--green);border:1px solid rgba(57,255,20,.3)}.rank-1{background:linear-gradient(135deg,gold,orange);color:#000}.rank-2{background:linear-gradient(135deg,silver,#a0a0a0);color:#000}.rank-3{background:linear-gradient(135deg,#cd7f32,sienna);color:#fff}.spinner{width:2rem;height:2rem;border:3px solid var(--border);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hero-bg{background-image:linear-gradient(to bottom,#0a0a0ab3,#0a0a0af2),url(https://images.pexels.com/photos/54326/runners-male-sport-run-54326.jpeg);background-size:cover;background-position:center}.leaflet-popup-content-wrapper{background:var(--bg-card)!important;color:var(--text-primary)!important;border:1px solid var(--border)!important;border-radius:.5rem!important}.leaflet-popup-tip{background:var(--bg-card)!important}.leaflet-top,.leaflet-bottom{z-index:999!important}a{color:inherit;text-decoration:none}.themed-bg{background:var(--bg-primary)}.text-muted{color:var(--text-muted)}.btn-logout{color:#f87171;background:transparent;border:1px solid rgba(248,113,113,.2);border-radius:.375rem;padding:.375rem .75rem;cursor:pointer;transition:all .2s}.btn-logout:hover{background:#f871711a;color:#fca5a5;border-color:#f8717166}.nav-link{color:var(--text-muted);position:relative}.nav-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--blue);transition:width .2s}.nav-link:hover{color:var(--text-primary)}.nav-link:hover:after{width:100%}.nav-active{color:var(--text-primary)!important}.nav-active:after{width:100%!important}.btn-strava{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#fc4c02;border:2px solid #FC4C02;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none}.btn-strava:hover{background:#fc4c021a;box-shadow:0 0 20px #fc4c024d}.card-hover{transition:transform .2s,border-color .2s}.card-hover:hover{transform:translateY(-2px)}.-translate-y-1\/2{transform:translateY(-50%)}.top-1\/2{top:50%}.pl-10{padding-left:2.5rem}.pr-10{padding-right:2.5rem}.shadow-lg{box-shadow:0 10px 25px #0000004d}[data-theme=light] .border-b,[data-theme=light] .border-t,[data-theme=light] .border-white\/10,[data-theme=light] .border-white\/5{border-color:var(--border)!important}[data-theme=light] .text-white{color:var(--text-primary)}[data-theme=light] .hover\:text-white:hover{color:var(--text-primary)!important}[data-theme=light] .text-muted{color:var(--text-muted)}[data-theme=light] .bg-\[\#0A0A0A\]{background:var(--bg-primary)}[data-theme=light] .bg-\[\#141414\]{background:var(--bg-secondary)}[data-theme=light] .bg-white\/5{background:var(--bg-hover)}[data-theme=light] .bg-white\/10{background:var(--bg-hover-strong)}[data-theme=light] .hover\:bg-white\/5:hover{background:var(--bg-hover)!important}[data-theme=light] .hover\:bg-white\/10:hover{background:var(--bg-hover-strong)!important}[data-theme=light] select option{background:#fff;color:#111}[data-theme=light] .card .text-red-400{color:#dc2626}[data-theme=light] .card .hover\:bg-red-500\/10:hover{background:#dc262614!important}[data-theme=light] .text-on-color{color:#fff!important}[data-theme=light] .leaflet-popup-content-wrapper{background:var(--bg-card)!important;color:var(--text-primary)!important}[data-theme=light] .leaflet-popup-tip{background:var(--bg-card)!important}[data-theme=light] .glass{background:#ffffffe6}[data-theme=light] .hero-bg{background-image:linear-gradient(to bottom,#f5f5f7b3,#f5f5f7f2),url(https://images.pexels.com/photos/54326/runners-male-sport-run-54326.jpeg)}.min-h-screen{min-height:100vh}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-12{grid-template-columns:repeat(12,1fr)}.col-span-1{grid-column:span 1}.col-span-2{grid-column:span 2}.col-span-4{grid-column:span 4}.col-span-7{grid-column:span 7}.space-y-1>*+*{margin-top:.25rem}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.w-full{width:100%}.h-full{height:100%}.h-16{height:4rem}.h-48{height:12rem}.w-2{width:.5rem}.h-2{height:.5rem}.w-3{width:.75rem}.h-3{height:.75rem}.w-4{width:1rem}.h-4{height:1rem}.w-5{width:1.25rem}.h-5{height:1.25rem}.w-6{width:1.5rem}.h-6{height:1.5rem}.w-7{width:1.75rem}.h-7{height:1.75rem}.w-8{width:2rem}.h-8{height:2rem}.w-10{width:2.5rem}.h-10{height:2.5rem}.w-12{width:3rem}.h-12{height:3rem}.w-32{width:8rem}.h-32{height:8rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-20{padding-top:5rem;padding-bottom:5rem}.pt-20{padding-top:5rem}.pb-8{padding-bottom:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-16{margin-bottom:4rem}.ml-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mr-2{margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.text-center{text-align:center}.text-right{text-align:right}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.text-white{color:var(--text-primary)}.font-medium{font-weight:500}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.leading-tight{line-height:1.25}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.border-b{border-bottom:1px solid var(--border)}.border-t{border-top:1px solid var(--border)}.border-4{border-width:4px;border-style:solid}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}.top-0{top:0}.top-1{top:.25rem}.right-1{right:.25rem}.bottom-4{bottom:1rem}.left-4{left:1rem}.left-8{left:2rem}.-bottom-16{bottom:-4rem}.z-50{z-index:50}.inline-flex{display:inline-flex}.inline-block{display:inline-block}.block{display:block}.hidden{display:none}.resize-none{resize:none}.transition-colors{transition:color .2s,background-color .2s,border-color .2s}.cursor-pointer{cursor:pointer}.max-w-md{max-width:28rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.text-\[\#A1A1AA\]{color:#a1a1aa}.text-\[\#007AFF\]{color:#007aff}.text-\[\#39FF14\]{color:#39ff14}.text-\[\#FF3B30\]{color:#ff3b30}.text-\[\#FC4C02\]{color:#fc4c02}.text-red-400{color:#f87171}.text-red-300{color:#fca5a5}.bg-\[\#0A0A0A\]{background:var(--bg-primary)}.bg-\[\#141414\]{background:var(--bg-secondary)}.bg-\[\#007AFF\]{background:#007aff}.bg-gradient-to-br{background:linear-gradient(to bottom right,var(--tw-gradient-from),var(--tw-gradient-to))}.from-\[\#007AFF\]{--tw-gradient-from: #007AFF}.to-\[\#39FF14\]{--tw-gradient-to: #39FF14}.bg-gradient-to-r{background:linear-gradient(to right,var(--tw-gradient-from),var(--tw-gradient-via, transparent),var(--tw-gradient-to))}.from-\[\#39FF14\]{--tw-gradient-from: #39FF14}.via-\[\#007AFF\]{--tw-gradient-via: #007AFF}.to-\[\#FF3B30\]{--tw-gradient-to: #FF3B30}.bg-gradient-to-b{background:linear-gradient(to bottom,var(--tw-gradient-from),var(--tw-gradient-to))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.text-transparent{color:transparent}.border-\[\#0A0A0A\]{border-color:var(--bg-primary)}.border-white\/10{border-color:var(--border)}.border-white\/5{border-color:var(--border-subtle)}.bg-white\/5{background:var(--bg-hover)}.bg-white\/10{background:var(--bg-hover-strong)}.hover\:bg-white\/5:hover{background:var(--bg-hover)}.hover\:bg-white\/10:hover{background:var(--bg-hover-strong)}.hover\:text-white:hover{color:var(--text-primary)}.hover\:underline:hover{text-decoration:underline}.hover\:opacity-80:hover{opacity:.8}.last\:border-0:last-child{border:0}@media (min-width: 640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:block{display:block}.sm\:text-6xl{font-size:3.75rem}.sm\:text-xl{font-size:1.25rem}.sm\:flex-row{flex-direction:row}}@media (min-width: 768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:flex-row{flex-direction:row}.lg\:w-80{width:20rem}.lg\:p-6{padding:1.5rem}.lg\:border-b-0{border-bottom:0}.lg\:border-r{border-right:1px solid var(--border)}.lg\:text-7xl{font-size:4.5rem}}.z-\[1000\]{z-index:1000}@media (max-width: 1023px){.dashboard-sidebar{max-height:30vh!important;overflow-y:auto}.dashboard-map{min-height:60vh}}
