@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes hover-pulse{0%,to{filter:drop-shadow(0 0 4px rgba(249,115,22,.8))}50%{filter:drop-shadow(0 0 12px #f97316)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes glowPulse{0%,to{filter:drop-shadow(0 0 20px var(--accent-glow))}50%{filter:drop-shadow(0 0 40px var(--accent-glow))}}@keyframes messageAppear{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translate(0,0) scale(1)}25%{transform:translate(20px,-30px) scale(1.05)}50%{transform:translate(-10px,20px) scale(.95)}75%{transform:translate(-30px,-10px) scale(1.02)}}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:1000px;transform:translateY(0)}}@keyframes progressPulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes glitchText{0%,90%,to{opacity:1;transform:translate(0)}92%{opacity:.8;transform:translate(-2px,1px)}94%{opacity:.8;transform:translate(2px,-1px)}96%{opacity:.8;transform:translate(-1px,2px)}}@keyframes trailFloat{0%,to{transform:translate(0,0) rotate(0deg)}25%{transform:translate(20px,-30px) rotate(5deg)}50%{transform:translate(-10px,20px) rotate(-3deg)}75%{transform:translate(-30px,-10px) rotate(2deg)}}@keyframes dropdownSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes progress-slide{0%{transform:translateX(-100%)}to{transform:translateX(400%)}}@keyframes notificationPulse{0%,to{box-shadow:0 0 0 0 rgba(239,68,68,.4)}50%{box-shadow:0 0 0 6px transparent}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}:root{--blue-900:#0a1628;--blue-800:#0f2444;--blue-700:#1a3a5c;--blue-600:#1e4d7b;--blue-500:#2563eb;--blue-400:#3b82f6;--blue-300:#60a5fa;--blue-200:#93c5fd;--blue-100:#dbeafe;--accent:#00d4ff;--accent-glow:rgba(0, 212, 255, 0.4);--white:#ffffff;--text-muted:rgba(255, 255, 255, 0.6);--font-display:'Bebas Neue', sans-serif;--font-body:'Outfit', sans-serif}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{height:100%;-webkit-text-size-adjust:100%}body{min-height:100%;font-family:var(--font-body);font-weight:400;line-height:1.6;background:var(--blue-900);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page-with-nav{min-height:100vh;background:radial-gradient(ellipse 80% 50%at 50% -20%,var(--blue-600),transparent),radial-gradient(ellipse 60% 40%at 80% 100%,var(--blue-700),transparent),var(--blue-900)}.page-content{max-width:1400px;margin:0 auto;padding:2rem}@media (max-width:768px){.page-content{padding:1rem}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.manual-page-main{max-width:680px;margin:0 auto;padding:1.5rem}.manual-page-header{margin-bottom:1.5rem}.manual-back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);text-decoration:none;font-size:.875rem;transition:color .2s ease}.manual-back-link:hover,body{color:var(--white)}.manual-page-title-section{text-align:center;margin-bottom:2rem}.manual-page-title{font-family:var(--font-display);font-size:2.5rem;font-weight:400;letter-spacing:.02em;margin:0 0 .5rem;color:var(--white)}.manual-page-subtitle{font-size:1rem;color:var(--text-muted);margin:0}.manual-page-form{display:flex;flex-direction:column;gap:1.5rem}.manual-card{background:rgba(255,255,255,.03);border-radius:12px;padding:1.5rem;border:1px solid rgba(255,255,255,.08)}.manual-card-title{font-family:var(--font-display);font-size:1.25rem;font-weight:400;letter-spacing:.02em;margin:0 0 1rem;color:var(--white)}.manual-field{margin-bottom:1rem}.manual-field:last-child{margin-bottom:0}.manual-field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media (max-width:480px){.manual-field-row{grid-template-columns:1fr}}.manual-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-muted);margin-bottom:.5rem}.manual-label .label-hint{font-weight:400;color:rgba(255,255,255,.4);font-size:.75rem;margin-left:.5rem}.manual-input{width:100%;padding:.625rem .875rem;border:1px solid rgba(255,255,255,.15);border-radius:8px;font-size:1rem;background:rgba(255,255,255,.05);color:var(--white);transition:border-color .2s ease,box-shadow .2s ease}.manual-input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,212,255,.15)}.manual-input::placeholder{color:rgba(255,255,255,.4)}.manual-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;padding-right:calc(.875rem*2 + 12px);cursor:pointer}.manual-textarea{resize:vertical;min-height:80px}.manual-input-small{max-width:200px}.manual-input-with-unit{display:flex;gap:.5rem}.manual-input-with-unit .manual-input{flex:1}.manual-unit-select{width:auto;min-width:70px;padding:.625rem .5rem;padding-right:calc(.5rem + 16px);border:1px solid rgba(255,255,255,.15);border-radius:8px;font-size:.875rem;background:rgba(255,255,255,.08);color:var(--text-muted);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;cursor:pointer}.manual-duration-inputs{display:flex;align-items:center;gap:.5rem}.manual-duration-part{width:60px;text-align:center;padding:.625rem}.duration-separator{font-size:1.125rem;color:rgba(255,255,255,.4);font-weight:600}.duration-label{color:rgba(255,255,255,.4);margin-left:.625rem}.manual-rpe-selector{display:flex;gap:.5rem;margin-bottom:.5rem}.rpe-btn{width:48px;height:48px;border:2px solid rgba(255,255,255,.15);border-radius:8px;background:rgba(255,255,255,.03);color:var(--text-muted);font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .2s ease}.rpe-btn.selected,.rpe-btn:hover{border-color:var(--accent);color:var(--accent)}.rpe-btn.selected{background:var(--accent);color:var(--blue-900)}.rpe-btn[data-value="1"].selected{background:#22c55e;border-color:#22c55e;color:var(--blue-900)}.rpe-btn[data-value="2"].selected{background:#84cc16;border-color:#84cc16;color:var(--blue-900)}.rpe-btn[data-value="3"].selected{background:#eab308;border-color:#eab308;color:var(--blue-900)}.rpe-btn[data-value="4"].selected{background:#f97316;border-color:#f97316;color:var(--blue-900)}.rpe-btn[data-value="5"].selected{background:#ef4444;border-color:#ef4444;color:var(--white)}.rpe-labels{display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.4);padding:0 .5rem}.manual-gear-row{display:flex;gap:.625rem}.manual-gear-row .manual-select{flex:1}.quick-add-form{background:rgba(255,255,255,.02)}.manual-tags-container,.manual-tags-group{display:flex;flex-direction:column;gap:1.5rem}.manual-tags-group{gap:.625rem}.manual-tags-label{font-size:.875rem;font-weight:500;color:var(--text-muted)}.manual-tags-list{display:flex;flex-wrap:wrap;gap:.5rem}.manual-tag-chip{display:inline-flex;align-items:center;padding:.375rem .75rem;border:1px solid rgba(255,255,255,.15);border-radius:9999px;font-size:.875rem;color:var(--text-muted);cursor:pointer;transition:all .2s ease;user-select:none}.manual-tag-chip input{display:none}.manual-tag-chip.selected,.manual-tag-chip:hover{border-color:var(--accent);color:var(--accent)}.manual-tag-chip.selected{background:var(--accent);color:var(--blue-900)}.manual-add-tag-row{display:flex;gap:.625rem;margin-top:.5rem}.manual-radio-group{display:flex;gap:1.5rem}.manual-radio-item{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--text-muted)}.manual-checkbox-item input[type=checkbox],.manual-radio-item input[type=radio]{width:18px;height:18px;accent-color:var(--accent)}.manual-checkbox-group{display:flex;flex-wrap:wrap;gap:1rem}.manual-checkbox-item{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--text-muted)}.manual-page-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem}.manual-btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.5rem;background:var(--accent);color:var(--blue-900);border:0;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.manual-btn-primary:hover{background:#00b8d9}.manual-btn-primary:disabled{opacity:.6;cursor:not-allowed}.manual-btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.5rem;background:rgba(255,255,255,.05);color:var(--text-muted);border:1px solid rgba(255,255,255,.15);border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.manual-btn-secondary:hover{background:rgba(255,255,255,.1);color:var(--white)}.manual-btn-small{padding:.375rem .75rem;font-size:.875rem}@media (max-width:640px){.manual-page-main{padding:1rem}.manual-page-title{font-size:2rem}.manual-card{padding:1rem}.manual-duration-inputs{flex-wrap:wrap}.duration-label{width:100%;margin-left:0;margin-top:.5rem}.manual-radio-group{flex-direction:column;gap:.625rem}.manual-page-actions{flex-direction:column-reverse}.manual-page-actions>*{width:100%}}.activity-page{min-height:100vh;background:radial-gradient(ellipse 80% 50%at 50% -20%,var(--blue-600),transparent),linear-gradient(180deg,var(--blue-900) 0%,var(--blue-800) 100%)}.activity-header,.activity-header .header-left,.back-btn{display:flex;align-items:center}.activity-header{justify-content:space-between;padding:1rem 2rem;background:rgba(0,0,0,.2);border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(10px)}.activity-header .header-left{gap:1rem}.back-btn{justify-content:center;width:36px;height:36px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-muted);text-decoration:none;transition:all .2s ease}.back-btn:hover{background:rgba(255,255,255,.1);color:var(--white);border-color:rgba(255,255,255,.2)}.back-btn svg,.kudo-btn-compact svg{width:18px;height:18px}.activity-main{max-width:1200px;margin:0 auto;padding:2rem}.activity-hero-compact{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;animation:fadeInUp .6s ease-out}.hero-top-row{display:flex;align-items:flex-start;gap:1rem}.hero-info-compact{flex:1;min-width:0}.hero-title-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.375rem}.hero-title-row .activity-title{font-size:1.5rem;margin:0;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-actions,.hero-meta-row{display:flex;align-items:center;gap:.5rem}.hero-actions{flex-shrink:0}.hero-meta-row{flex-wrap:wrap;color:var(--text-muted);font-size:.9rem}.meta-separator{color:rgba(255,255,255,.3)}.stat-inline strong{color:var(--white);font-family:"JetBrains Mono","SF Mono",monospace;font-weight:600}.kudo-btn-compact{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .2s ease;font-size:.85rem}.kudo-btn-compact:hover{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#ef4444}.kudo-btn-compact.kudoed{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.4);color:#ef4444}.kudo-btn-compact.kudoed svg{fill:#ef4444}.kudo-btn-compact[data-is-owner=true]:not(.kudoed):hover{background:rgba(239,68,68,.08);cursor:pointer}.kudo-btn-compact .kudo-count{font-weight:600}.activity-sidebar-photos{display:flex;gap:1.5rem;margin-bottom:1.5rem;animation:fadeInUp .5s ease-out backwards;animation-delay:.05s}.activity-sidebar{flex:0 0 200px;display:flex;flex-direction:column;gap:1rem}.sidebar-description,.sidebar-gear{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:.875rem 1rem}.sidebar-description p{color:rgba(255,255,255,.85);font-size:.9rem;line-height:1.5;margin:0}.sidebar-gear{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem}.gear-icon{flex-shrink:0}.gear-icon.gear-shoe{color:#fb923c}.gear-icon.gear-bike{color:#4ade80}.details-description p,.gear-name{color:rgba(255,255,255,.9);line-height:1.3}.sidebar-tags{display:flex;flex-wrap:wrap;gap:.375rem}.activity-sidebar-photos .activity-images-section{flex:1;min-width:0;margin-bottom:0}@media (max-width:768px){.activity-sidebar-photos{flex-direction:column}.activity-sidebar{flex:none;width:100%}.hero-title-row .activity-title{font-size:1.25rem}.hero-meta-row{font-size:.85rem}.hero-top-row .sport-icon{width:48px;height:48px}.hero-top-row .sport-icon svg{width:24px;height:24px}}.activity-hero{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:2rem;margin-bottom:2rem;animation:fadeInUp .6s ease-out}.hero-content,.sport-icon{display:flex;align-items:center}.hero-content{gap:1.5rem;margin-bottom:2rem}.sport-icon{height:64px;justify-content:center;border-radius:16px;background:rgba(37,99,235,.15);color:var(--blue-300)}.sport-icon svg{width:32px;height:32px}.sport-icon.sport-run,.sport-icon.sport-trailrun,.sport-icon.sport-virtualrun{background:rgba(249,115,22,.15);color:#fb923c}.sport-icon.sport-cycling,.sport-icon.sport-gravelride,.sport-icon.sport-mountainbikeride,.sport-icon.sport-ride,.sport-icon.sport-virtualride{background:rgba(34,197,94,.15);color:#4ade80}.sport-icon.sport-swim{background:rgba(6,182,212,.15);color:#22d3ee}.sport-icon.sport-hike,.sport-icon.sport-walk{background:rgba(234,179,8,.15);color:#facc15}.hero-info,.splits-column-toggle span{flex:1}.activity-title{font-family:var(--font-display);letter-spacing:.02em}.hero-stats{display:flex;gap:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);flex-wrap:wrap}.hero-stat{display:flex;flex-direction:column;gap:.25rem}.hero-stat .stat-value{font-family:"JetBrains Mono","SF Mono",monospace;font-size:1.5rem;font-weight:600;color:var(--white)}.hero-stat .stat-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.activity-details{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:2rem;animation:fadeInUp .5s ease-out backwards;animation-delay:.05s}.details-description{margin-bottom:1rem}.details-description p{font-size:.95rem;line-height:1.6;margin:0;white-space:pre-wrap}.details-description:last-child{margin-bottom:0}.details-meta{display:flex;flex-wrap:wrap;gap:1.5rem}.details-item{display:flex;flex-direction:column;gap:.375rem}.details-item-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.details-gear{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:8px;font-size:.85rem;color:rgba(255,255,255,.9)}.details-gear svg{width:14px;height:14px;color:var(--blue-400);flex-shrink:0}.details-tags{display:flex;flex-wrap:wrap;gap:.5rem}.activity-tag{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:12px;font-size:.8rem;font-weight:500}.activity-tag.tag-predefined{background:rgba(249,115,22,.12);border:1px solid rgba(249,115,22,.25);color:#fb923c}.activity-tag.tag-custom{background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.25);color:#a78bfa}@media (max-width:768px){.activity-details{padding:1rem 1.25rem}.details-meta{flex-direction:column;align-items:flex-start;gap:.75rem}}.activity-section{margin-bottom:2rem;animation:fadeInUp .6s ease-out backwards}.activity-section:nth-child(2){animation-delay:.1s}.activity-section:nth-child(3){animation-delay:.2s}.activity-section:nth-child(4){animation-delay:.3s}.activity-section:nth-child(5){animation-delay:.4s}.section-title{margin:0}.gps-toggle{display:flex;gap:.5rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.25rem}.gps-toggle-btn{padding:.5rem 1rem;border:0;background:0 0;color:var(--text-muted);font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease}.gps-toggle-btn:hover{color:var(--white);background:rgba(255,255,255,.05)}.gps-toggle-btn.active{background:rgba(255,255,255,.1);color:var(--white)}.activity-map{height:400px;border-radius:12px;overflow:hidden;background:rgba(0,0,0,.3)}.chart-container,.no-data-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:12px}.no-data-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.no-data-card svg{width:48px;height:48px;color:var(--text-muted);margin-bottom:1rem}.no-data-card p{color:var(--text-muted);font-size:.95rem}.chart-container{padding:1.5rem}.chart-container canvas{height:300px!important}.chart-toggles{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.06);flex-wrap:wrap}.chart-toggle{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1.25rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;transition:all .2s ease;min-width:100px}.chart-toggle:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15)}.chart-toggle.active{border-color:var(--accent);background:rgba(0,212,255,.1)}.chart-toggle[data-metric=pace].active{border-color:#f97316;background:rgba(249,115,22,.1)}.chart-toggle[data-metric=hr].active{border-color:#ef4444;background:rgba(239,68,68,.1)}.chart-toggle[data-metric=cadence].active{border-color:#a855f7;background:rgba(168,85,247,.1)}.chart-toggle[data-metric=hrv].active{border-color:#10b981;background:rgba(16,185,129,.1)}.toggle-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.chart-toggle.active .toggle-label,.toggle-value{color:var(--white)}.toggle-value{font-family:"JetBrains Mono","SF Mono",monospace;font-size:.9rem;font-weight:600}.chart-zoom-controls{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;gap:.25rem;z-index:10}.chart-nav-btn,.chart-reset-zoom-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:6px;color:var(--white);cursor:pointer;transition:all .2s ease}.chart-nav-btn:hover,.chart-reset-zoom-btn:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3)}.chart-nav-btn:active,.chart-reset-zoom-btn:active{background:rgba(255,255,255,.2);transform:scale(.95)}.chart-nav-btn svg,.chart-reset-zoom-btn svg,.stat-card-header svg{width:16px;height:16px}.chart-hint{text-align:center;font-size:.75rem;color:var(--text-muted);margin:.75rem 0 0;opacity:.7}.gps-point-tooltip{background:rgba(15,23,42,.95)!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:8px!important;padding:0!important;box-shadow:0 4px 12px rgba(0,0,0,.3)!important}.gps-point-tooltip .leaflet-tooltip-content{margin:0!important}.gps-point-label{padding:8px 12px;font-family:"JetBrains Mono","SF Mono",monospace;font-size:.75rem;line-height:1.5}.gps-label-row{display:flex;justify-content:space-between;gap:1rem}.gps-label-key{color:var(--text-muted)}.gps-label-value{color:var(--white);font-weight:600}.hover-marker-pulse{animation:hover-pulse 1s ease-in-out infinite}.hrv-details-panel{margin-top:1.5rem;padding:1.25rem;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.2);border-radius:12px}.hrv-details-grid{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.hrv-detail{display:flex;flex-direction:column;align-items:center;min-width:80px}.hrv-detail-value{font-family:"JetBrains Mono","SF Mono",monospace;font-size:1.5rem;font-weight:700;color:#10b981}.hrv-detail-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-top:.25rem}.stat-card{background:rgba(255,255,255,.02);overflow:hidden}.stat-card-header{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;background:rgba(0,0,0,.15);border-bottom:1px solid rgba(255,255,255,.04);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.stat-card-header svg{color:var(--accent)}.stat-card-body{padding:1rem}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.stat-row:not(:last-child){border-bottom:1px solid rgba(255,255,255,.04)}.splits-table th,.stat-name{font-size:.85rem;color:var(--text-muted)}.splits-table td,.stat-val{color:var(--white);font-family:"JetBrains Mono","SF Mono",monospace}.stat-val{font-size:.9rem;font-weight:600}.splits-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.splits-controls{position:relative}.splits-columns-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.splits-columns-btn:hover{background:rgba(255,255,255,.1);color:var(--white);border-color:rgba(255,255,255,.2)}.splits-columns-dropdown{display:none;position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:var(--blue-800);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.5rem;z-index:100;box-shadow:0 8px 24px rgba(0,0,0,.4)}.splits-columns-dropdown.show{display:block;animation:fadeIn .15s ease-out}.column-toggle,.splits-column-toggle{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;border-radius:6px;cursor:pointer;transition:background .15s ease;font-size:.85rem;color:var(--white)}.column-toggle:hover,.splits-column-toggle:hover{background:rgba(255,255,255,.06)}.column-toggle input[type=checkbox],.splits-column-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.splits-table-wrapper{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden;overflow-x:auto}.splits-table{width:100%;border-collapse:collapse}.splits-table th{background:rgba(0,0,0,.2);padding:.75rem .875rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;text-align:left;border-bottom:1px solid rgba(255,255,255,.06);white-space:nowrap}.splits-table td{padding:.75rem .875rem;font-size:.875rem;border-bottom:1px solid rgba(255,255,255,.04)}.splits-table tbody tr{cursor:pointer;transition:background .15s ease}.splits-table tbody tr:hover{background:rgba(255,255,255,.04)}.splits-table tbody tr.selected{background:rgba(0,212,255,.12);border-left:3px solid var(--accent)}.splits-table tbody tr.selected td:first-child{padding-left:calc(.875rem - 3px)}.laps-table tbody tr:last-child td,.splits-table tbody tr:last-child td{border-bottom:none}.split-number{font-weight:600;color:var(--blue-200);min-width:2rem}.split-pace.pace-fast,.split-pace.split-better{color:#4ade80}.split-better,.split-worse{color:#4ade80;font-weight:500}.split-pace.pace-slow,.split-pace.split-worse,.split-worse{color:#f87171}.split-elevation{white-space:nowrap}.elev-gain{color:#f87171}.elev-gain,.elev-loss{font-weight:500}.elev-loss,.split-cadence.cadence-high{color:#4ade80}.split-cadence.cadence-low{color:#f87171}@media (max-width:768px){.splits-table td,.splits-table th{padding:.625rem .5rem;font-size:.65rem}.splits-table td{font-size:.8rem}}.laps-table-wrapper{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden;overflow-x:auto}.laps-table{width:100%;border-collapse:collapse}.laps-table th{background:rgba(0,0,0,.2);padding:.875rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);text-align:left;border-bottom:1px solid rgba(255,255,255,.06)}.laps-table td{padding:.875rem 1rem;font-size:.9rem;color:var(--white);border-bottom:1px solid rgba(255,255,255,.04);font-family:"JetBrains Mono","SF Mono",monospace}.laps-table tbody tr:hover{background:rgba(255,255,255,.02)}.lap-number{font-weight:600;color:var(--blue-200)}.lap-pace.pace-fast{color:#4ade80}.lap-pace.pace-slow{color:#f87171}.lap-elevation,.laps-table th{white-space:nowrap}.lap-cadence.cadence-high{color:#4ade80}.lap-cadence.cadence-low{color:#f87171}.device-section{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.06)}.device-info{display:flex;flex-wrap:wrap;gap:2rem}.device-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted)}.device-item svg{width:16px;height:16px;color:var(--blue-400)}.activity-owner-section{margin-bottom:1.5rem}.activity-owner-link{display:inline-flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;text-decoration:none;color:inherit;transition:all .2s ease}.activity-owner-link:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}.owner-avatar,.owner-avatar-placeholder{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.1)}.owner-avatar-placeholder{background:linear-gradient(135deg,var(--blue-500),var(--accent));display:flex;align-items:center;justify-content:center;font-size:.9rem}.owner-avatar-placeholder,.owner-name{font-weight:600;color:var(--white)}.activity-kudos-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.06)}.kudo-btn-large{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--text-muted);cursor:pointer;transition:all .2s ease;font-size:1rem;font-weight:500}.kudo-btn-large svg{width:24px;height:24px}.kudo-btn-large:hover{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#ef4444}.kudo-btn-large.kudoed{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.4);color:#ef4444}.kudo-btn-large.kudoed svg{fill:#ef4444}.activities-table tbody tr:last-child td,.preview-list li:last-child{border-bottom:none}@media (max-width:768px){.activity-header{padding:.875rem 1rem}.activity-main{padding:1.5rem 1rem}.activity-hero{padding:1.5rem}.hero-content{flex-direction:column;align-items:flex-start;text-align:left}.sport-icon{width:48px;height:48px}.sport-icon svg{width:24px;height:24px}.activity-title{font-size:1.5rem}.hero-stats{gap:1.5rem}.hero-stat .stat-value{font-size:1.25rem}.activity-map{height:280px}.chart-container canvas{height:250px!important}.chart-toggles{justify-content:center}.stats-grid{grid-template-columns:1fr 1fr}.device-info{flex-direction:column;gap:1rem}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}}.comments-section{margin-top:2rem}.comments-section .section-title{display:flex;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:600;color:var(--white);margin-bottom:1.5rem}.comments-section .section-title svg{width:20px;height:20px;color:var(--accent)}.comment-count-badge{background:rgba(255,255,255,.1);padding:.2rem .6rem;border-radius:10px;font-size:.8rem;font-weight:600;color:var(--text-muted)}.comments-container{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:1.5rem}.comment-form{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.06)}.comment-input-wrapper{display:flex;gap:.75rem;align-items:flex-end}.comment-input{flex:1;padding:.875rem 1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--white);font-size:.95rem;font-family:inherit;resize:none;min-height:48px;transition:border-color .2s ease,background .2s ease}.comment-input::placeholder,.edit-input::placeholder,.email-form #email-input::placeholder,.friend-search-input::placeholder,.magic-link-form #email-input::placeholder{color:var(--text-muted)}.comment-input:focus{outline:0;border-color:var(--accent);background:rgba(255,255,255,.07)}.comment-submit-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--accent);border:0;border-radius:10px;color:var(--white);cursor:pointer;transition:background .2s ease,transform .15s ease;flex-shrink:0}.comment-submit-btn:hover{background:#00b8d9;transform:scale(1.02)}.comment-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.comment-submit-btn svg{width:20px;height:20px}.comments-list{display:flex;flex-direction:column;gap:1rem}.comment-item{display:flex;gap:.875rem;padding:1rem;background:rgba(255,255,255,.02);border-radius:10px;transition:background .2s ease}.comment-item:hover{background:rgba(255,255,255,.04)}.comment-avatar{flex-shrink:0}.comment-avatar .avatar-img,.comment-avatar .avatar-placeholder{width:40px;height:40px;border-radius:50%;object-fit:cover}.comment-avatar .avatar-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue-500),var(--accent));font-size:.8rem;font-weight:600;color:var(--white)}.comment-body{flex:1;min-width:0}.comment-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.375rem}.comment-author{font-weight:600;color:var(--white);text-decoration:none;transition:color .2s ease}.comment-author:hover,.leaderboard-table th.col-sortable:hover{color:var(--accent)}.comment-time{font-size:.8rem;color:var(--text-muted)}.comment-text{color:rgba(255,255,255,.9);font-size:.95rem;line-height:1.5;margin:0;word-break:break-word}.comment-actions{display:flex;align-items:center;gap:.75rem;margin-top:.75rem}.comment-delete-btn,.comment-like-btn{display:flex;align-items:center;background:0 0;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.comment-like-btn{gap:.375rem;padding:.375rem .625rem;border:1px solid rgba(255,255,255,.1);font-size:.8rem}.calendar-grid-container.view-4day .calendar-activity-icon svg,.comment-delete-btn svg,.comment-like-btn svg{width:14px;height:14px}.comment-like-btn:hover{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#ef4444}.comment-like-btn.liked{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.4);color:#ef4444}.comment-like-btn.liked svg{fill:#ef4444}.comment-delete-btn{justify-content:center;padding:.375rem;border:1px solid transparent;opacity:0}.comment-item:hover .comment-delete-btn,.invited-item:hover .remove-member-btn{opacity:1}.comment-delete-btn:hover{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#ef4444}.no-comments{text-align:center;color:var(--text-muted);font-size:.95rem;padding:1.5rem}@media (max-width:768px){.comment-item{padding:.875rem}.comment-avatar .avatar-img,.comment-avatar .avatar-placeholder{width:36px;height:36px}.comment-delete-btn{opacity:1}}.edit-activity-btn,.edit-modal{align-items:center;justify-content:center}.edit-activity-btn{display:flex;width:40px;height:40px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--text-muted);cursor:pointer;transition:all .2s ease;margin-left:auto;flex-shrink:0}.edit-activity-btn:hover{background:rgba(0,212,255,.1);border-color:var(--accent);color:var(--accent)}.edit-modal{display:none;position:fixed;inset:0;z-index:1000;padding:1rem}.edit-modal.show{display:flex}.edit-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px)}.edit-modal-content{position:relative;background:var(--blue-900);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}.edit-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;background:var(--blue-900);z-index:10}.edit-modal-title{font-size:1.25rem;font-weight:600;color:var(--white)}.edit-modal-close{background:0 0;border:0;color:var(--text-muted);font-size:1.75rem;cursor:pointer;padding:0;line-height:1;transition:color .2s ease}.edit-modal-close:hover{color:var(--white)}.edit-modal-body{padding:1.5rem}.edit-section{margin-bottom:2rem}.edit-field:last-child,.edit-section:last-child,.import-warning-content li:last-child{margin-bottom:0}.edit-section-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:1rem}.edit-field{margin-bottom:1rem}.edit-label{display:block;font-size:.9rem;font-weight:500;color:var(--white);margin-bottom:.5rem}.edit-input{width:100%;padding:.75rem 1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--white);font-size:.95rem;font-family:inherit;transition:border-color .2s ease,background .2s ease}.edit-input:focus{outline:0;border-color:var(--accent);background:rgba(255,255,255,.07)}.edit-textarea{resize:vertical;min-height:80px}.edit-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem;cursor:pointer}.edit-input-small{padding:.5rem .75rem;font-size:.85rem}.edit-hint{display:block;font-size:.8rem;color:var(--text-muted);margin-top:.375rem}.edit-gear-row{display:flex;gap:.5rem}.edit-gear-row .edit-input{flex:1}.quick-add-form{margin-top:1rem;padding:1rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:8px}.quick-add-actions{display:flex;gap:.5rem;margin-top:.75rem}.edit-tags-container,.edit-tags-group{display:flex;flex-direction:column;gap:1.25rem}.edit-tags-group{gap:.5rem}.edit-tags-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.edit-tags-list{display:flex;flex-wrap:wrap;gap:.5rem}.edit-tag-chip{display:flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:20px;font-size:.85rem;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.edit-tag-chip:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15)}.edit-tag-chip.selected{background:rgba(0,212,255,.15);border-color:var(--accent);color:var(--accent)}.edit-tag-chip input[type=checkbox]{display:none}.edit-add-tag-row{display:flex;gap:.5rem;margin-top:.5rem}.edit-add-tag-row .edit-input{flex:1}.edit-radio-group{display:flex;flex-direction:column;gap:.5rem}.edit-radio-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:all .2s ease}.edit-radio-item:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}.edit-checkbox-item input[type=checkbox],.edit-radio-item input[type=radio]{width:18px;height:18px;accent-color:var(--accent)}.edit-radio-item span{font-size:.95rem;color:var(--white)}.edit-checkbox-group{display:flex;flex-wrap:wrap;gap:.75rem}.edit-checkbox-item{display:flex;align-items:center;gap:.5rem;cursor:pointer}.edit-checkbox-item span{font-size:.9rem;color:var(--white)}.edit-mute-toggle{margin-bottom:.25rem}.edit-btn-primary,.edit-btn-secondary{padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.edit-btn-primary{background:var(--accent);border:0;color:var(--white)}.edit-btn-primary:hover{background:#00b8d9}.edit-btn-secondary{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--text-muted)}.edit-btn-secondary:hover{background:rgba(255,255,255,.08);color:var(--white)}.edit-btn-small{padding:.5rem .875rem;font-size:.85rem}.edit-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid rgba(255,255,255,.08)}@media (max-width:600px){.edit-modal-content{max-height:100vh;border-radius:0}.edit-checkbox-group{flex-direction:column}.edit-modal-footer{flex-direction:column-reverse}.edit-modal-footer button{width:100%}}.edit-page-main{max-width:720px;margin:0 auto;padding:2rem}.edit-page-header{margin-bottom:2rem}.edit-back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);text-decoration:none;font-size:.95rem;transition:color .2s ease}.edit-back-link:hover{color:var(--white)}.calendar-grid-container.view-day .calendar-activity-icon svg,.edit-back-link svg{width:18px;height:18px}.edit-page-title-section{display:flex;align-items:center;gap:1.25rem;margin-bottom:2rem}.edit-page-title-section .sport-icon{width:56px;height:56px}.edit-page-title-section .sport-icon svg{width:28px;height:28px}.edit-page-title{font-family:var(--font-display);font-size:1.75rem;font-weight:400;letter-spacing:.02em;color:var(--white);margin:0}.edit-page-form{display:flex;flex-direction:column;gap:1.5rem}.edit-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.5rem}.edit-card-title{font-size:1rem;font-weight:600;color:var(--white);margin:0 0 1.25rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.06)}.label-hint{font-size:.8rem;font-weight:400;color:var(--text-muted);margin-left:.5rem}.edit-page-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem}.edit-page-actions .edit-btn-primary,.edit-page-actions .edit-btn-secondary{min-width:120px;text-align:center;text-decoration:none}.edit-page-actions .edit-btn-secondary{display:inline-flex;align-items:center;justify-content:center}@media (max-width:600px){.edit-page-main{padding:1.5rem 1rem}.edit-page-title-section{flex-direction:column;align-items:flex-start;gap:.75rem}.edit-page-title{font-size:1.5rem}.edit-page-actions{flex-direction:column-reverse}.edit-page-actions .edit-btn-primary,.edit-page-actions .edit-btn-secondary{width:100%}}.add-friends-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);border-radius:10px;color:#10b981;cursor:pointer;transition:all .2s ease;flex-shrink:0}.add-friends-btn:hover{background:rgba(16,185,129,.2);border-color:rgba(16,185,129,.5);transform:scale(1.05)}.group-members-inline{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.06)}.group-label{font-size:.85rem;color:var(--text-muted)}.group-avatars{display:flex;align-items:center}.group-avatar-link{margin-left:-8px;transition:transform .2s ease,z-index .2s ease;z-index:1}.group-avatar-link:first-child{margin-left:0}.group-avatar-link:hover{transform:scale(1.1);z-index:10}.group-avatar,.group-avatar-placeholder{width:32px;height:32px;border-radius:50%;border:2px solid var(--blue-900);object-fit:cover}.group-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue-500),var(--accent));font-size:.7rem;font-weight:600;color:var(--white)}.group-more{margin-left:.5rem;font-size:.8rem;color:var(--text-muted);font-weight:500}.add-friends-modal{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;padding:1rem}.add-friends-modal.show{display:flex}.add-friends-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px)}.add-friends-content{position:relative;background:var(--blue-900);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:480px;max-height:85vh;display:flex;flex-direction:column;animation:modalSlideIn .3s ease-out}.add-friends-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.add-friends-title{display:flex;align-items:center;gap:.75rem;font-size:1.15rem;font-weight:600;color:var(--white);margin:0}.add-friends-title svg{color:#10b981}.add-friends-close{background:0 0;border:0;color:var(--text-muted);font-size:1.75rem;cursor:pointer;padding:0;line-height:1;transition:color .2s ease}.add-friends-close:hover{color:var(--white)}.add-friends-body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem}.add-friends-hint{font-size:.9rem;color:var(--text-muted);margin:0 0 1.25rem;line-height:1.5}.add-friends-search{margin-bottom:1rem}.friend-search-input{width:100%;padding:.75rem 1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--white);font-size:.95rem;transition:border-color .2s ease,background .2s ease}.friend-search-input:focus{outline:0;border-color:var(--accent);background:rgba(255,255,255,.07)}.friends-list{display:flex;flex-direction:column;gap:.5rem}.loading-friends{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:var(--text-muted)}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.friend-item{display:flex;align-items:center;gap:.875rem;padding:.875rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:10px;transition:background .2s ease,border-color .2s ease;position:relative}.friend-item:hover{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}.friend-avatar,.friend-avatar-placeholder{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0}.friend-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue-500),var(--accent));font-size:.9rem;font-weight:600;color:var(--white)}.friend-info{flex:1;min-width:0}.friend-name{font-weight:600;color:var(--white);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-username{font-size:.85rem;color:var(--text-muted)}.friend-actions{display:flex;gap:.5rem;flex-shrink:0}.add-btn{padding:.5rem .75rem;font-size:.85rem;cursor:pointer;transition:all .2s ease}.add-btn,.link-btn{display:flex;align-items:center;gap:.375rem;border-radius:8px;font-weight:500}.add-btn{background:rgba(16,185,129,.15);border:1px solid rgba(16,185,129,.3);color:#10b981}.add-btn:hover{background:rgba(16,185,129,.25);border-color:rgba(16,185,129,.5)}.link-btn{background:rgba(99,102,241,.15);border:1px solid rgba(99,102,241,.3);color:#818cf8}.link-btn:hover{background:rgba(99,102,241,.25);border-color:rgba(99,102,241,.5)}.add-btn:disabled,.link-btn:disabled{opacity:.5;cursor:not-allowed}.link-activities-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--blue-800);border:1px solid rgba(255,255,255,.15);border-radius:12px;min-width:280px;max-width:320px;z-index:100;box-shadow:0 8px 32px rgba(0,0,0,.4);animation:fadeIn .15s ease-out}.dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);font-size:.85rem;color:var(--text-muted)}.dropdown-close{background:0 0;border:0;color:var(--text-muted);font-size:1.25rem;cursor:pointer;padding:0;line-height:1}.countdown-goal strong,.dropdown-close:hover{color:var(--white)}.dropdown-empty,.dropdown-loading{color:var(--text-muted);font-size:.85rem}.dropdown-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem}.dropdown-empty{padding:1rem;text-align:center}.dropdown-activities{padding:.5rem}.activity-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:8px;margin-bottom:.5rem;cursor:pointer;transition:all .2s ease;text-align:left;color:var(--white)}.activity-option:hover{background:rgba(99,102,241,.1);border-color:rgba(99,102,241,.3)}.activity-option:last-of-type{margin-bottom:0}.activity-option-info{display:flex;flex-direction:column;gap:.25rem}.activity-option-title{font-size:.9rem;font-weight:500}.activity-option-meta,.add-anyway-btn{font-size:.75rem;color:var(--text-muted)}.activity-option svg{color:#818cf8;flex-shrink:0}.add-anyway-btn{width:100%;padding:.625rem;margin-top:.5rem;background:0 0;border:1px dashed rgba(255,255,255,.15);border-radius:8px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.add-anyway-btn:hover{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.25);color:var(--white)}.added-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.06)}.added-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 .75rem}.added-list{display:flex;flex-direction:column;gap:.5rem}.added-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;background:rgba(255,255,255,.02);border-radius:8px}.added-avatar,.added-avatar-placeholder{width:32px;height:32px;border-radius:50%;object-fit:cover}.added-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue-500),var(--accent));font-size:.7rem;font-weight:600;color:var(--white)}.added-info{flex:1;display:flex;align-items:center;gap:.5rem}.added-name{font-size:.9rem;color:var(--white)}.linked-badge{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:rgba(99,102,241,.2);border-radius:50%;color:#818cf8}.remove-member-btn{padding:.375rem;background:0 0;border:0;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:all .2s ease;opacity:0}.remove-member-btn:hover{background:rgba(239,68,68,.15);color:#ef4444}.remove-member-btn svg{width:16px;height:16px}.no-friends-message{text-align:center;padding:2rem 1rem;color:var(--text-muted)}.no-friends-message svg{width:48px;height:48px;margin-bottom:1rem;opacity:.5}.no-friends-message p{margin:0;font-size:.95rem}.add-friends-footer{padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:flex-end}.add-friends-btn-close{padding:.75rem 1.5rem;background:var(--accent);border:0;border-radius:8px;color:var(--white);font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s ease}.add-friends-btn-close:hover{background:#00b8d9}@media (max-width:600px){.add-friends-content{max-height:100vh;border-radius:0}.group-members-inline{flex-wrap:wrap}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:2rem;background:radial-gradient(ellipse 80% 50%at 50% -20%,var(--blue-600),transparent),radial-gradient(ellipse 60% 40%at 80% 100%,var(--blue-700),transparent),radial-gradient(ellipse 40% 30%at 10% 80%,var(--blue-800),transparent),linear-gradient(180deg,var(--blue-900) 0%,var(--blue-800) 100%)}.auth-content{text-align:center;z-index:10;max-width:480px;width:100%;animation:fadeInUp .8s ease-out}.auth-header,.legal-content section{margin-bottom:2.5rem}.brand-name{font-family:var(--font-display);font-size:clamp(4rem,16vw,8rem);font-weight:400;letter-spacing:.15em;line-height:.9;margin-bottom:.5rem;background:linear-gradient(135deg,var(--white) 0%,var(--blue-200) 50%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 80px var(--accent-glow);animation:glowPulse 4s ease-in-out infinite}.brand-slogan{font-size:clamp(.9rem,2.5vw,1.25rem);font-weight:300;color:var(--blue-200);letter-spacing:.25em;text-transform:uppercase;opacity:.85}.auth-title{font-family:var(--font-display);font-size:clamp(3rem,12vw,5rem);font-weight:400;letter-spacing:.15em;line-height:.9;margin-bottom:.75rem;background:linear-gradient(135deg,var(--white) 0%,var(--blue-200) 50%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-subtitle{font-size:1rem;font-weight:400;color:var(--blue-200);letter-spacing:.03em;margin-bottom:1.5rem}.auth-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:2.5rem;backdrop-filter:blur(20px)}.profile-card{max-width:500px;margin:0 auto}.magic-link-form .input-group{display:flex;gap:0;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:60px;padding:6px;transition:all .3s ease;backdrop-filter:blur(10px)}.magic-link-form .input-group:focus-within{border-color:var(--accent);box-shadow:0 0 30px var(--accent-glow);background:rgba(255,255,255,.08)}.email-form #email-input,.magic-link-form #email-input{flex:1;background:0 0;font-size:1rem;outline:0;min-width:0}.auth-divider,.submit-btn{display:flex;align-items:center}.email-form #email-input,.magic-link-form #email-input,.submit-btn{color:var(--white);border:0;padding:1rem 1.5rem;font-family:var(--font-body)}.submit-btn{background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);font-size:1.25rem;font-weight:600;border-radius:60px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;min-width:56px;justify-content:center}.submit-btn:hover{transform:scale(1.05);box-shadow:0 10px 40px rgba(37,99,235,.4)}.submit-btn:active{transform:scale(.98)}.submit-btn.loading .btn-text{opacity:0}.submit-btn.loading .btn-loader{opacity:1}.submit-btn .btn-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid transparent;border-top-color:var(--white);border-radius:50%;opacity:0;transition:opacity .2s ease;animation:spin .8s linear infinite}.auth-divider{gap:1rem;margin:1.75rem 0}.auth-divider::after,.auth-divider::before{content:"";flex:1;height:1px;background:rgba(255,255,255,.1)}.auth-divider span{font-size:.85rem;color:var(--text-muted);text-transform:lowercase}.oauth-buttons{display:flex;gap:.75rem;width:100%}.apple-signin-btn,.google-signin-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;flex:1;padding:.875rem 1.5rem;border:0;border-radius:60px;font-family:var(--font-body);font-size:.95rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .3s ease}.google-signin-btn{background:var(--white);color:var(--blue-800);box-shadow:0 2px 8px rgba(0,0,0,.1)}.google-signin-btn:hover{background:var(--blue-50);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.15)}.google-signin-btn:active{transform:translateY(0)}.google-signin-btn .google-icon{width:20px;height:20px;flex-shrink:0}.apple-signin-btn{background:#000;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.2)}.apple-signin-btn:hover{background:#1a1a1a;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.3)}.apple-signin-btn:active{transform:translateY(0);background:#000}.apple-signin-btn .apple-icon{width:20px;height:20px;flex-shrink:0;filter:brightness(0) invert(1)}.auth-footer-note{margin-top:2rem;font-size:.8rem;color:var(--text-muted)}.auth-footer-note a{color:var(--accent);text-decoration:none}.auth-footer-note a:hover{text-decoration:underline}.form-message{margin-top:1rem;padding:0 1rem;font-size:.9rem;min-height:1.5rem;transition:all .3s ease}.form-message.success{color:#34d399}.form-message.error{color:#f87171}.form-message.show{animation:messageAppear .4s ease}.decorative-elements{position:fixed;inset:0;pointer-events:none;overflow:hidden}.circle{position:absolute;border-radius:50%;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);animation:float 20s ease-in-out infinite}.circle-1{width:600px;height:600px;top:-200px;right:-200px;opacity:.3;animation-delay:0s}.circle-2{width:400px;height:400px;bottom:-100px;left:-100px;opacity:.2;animation-delay:-5s}.circle-3{width:300px;height:300px;top:50%;left:20%;opacity:.15;animation-delay:-10s}.email-form .input-group{display:flex;gap:0;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:60px;padding:6px;transition:all .3s ease;backdrop-filter:blur(10px)}.email-form .input-group:focus-within{border-color:var(--accent);box-shadow:0 0 30px var(--accent-glow);background:rgba(255,255,255,.08)}.code-form{animation:fadeInUp .5s ease-out}.code-instruction{font-size:.95rem;color:var(--blue-200);margin-bottom:.5rem;text-align:center}.code-email-display{font-size:.95rem;color:var(--white);font-weight:500;text-align:center}.code-email-display,.code-input-group{margin-bottom:1.5rem}.code-input-group #code-input{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1rem;font-size:2rem;font-family:"Courier New",monospace;font-weight:600;color:var(--white);text-align:center;letter-spacing:.5em;outline:0;transition:all .3s ease}.code-input-group #code-input::placeholder{color:var(--text-muted);opacity:.5}.code-input-group #code-input:focus{border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow);background:rgba(255,255,255,.08)}.code-actions,.verify-btn{display:flex;justify-content:center;align-items:center}.verify-btn{width:100%;background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);color:var(--white);border:0;padding:1rem;font-size:1rem;font-family:var(--font-body);font-weight:600;border-radius:60px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;min-height:56px}.verify-btn:hover{transform:translateY(-2px);box-shadow:0 10px 40px rgba(37,99,235,.4)}.verify-btn:active{transform:translateY(0)}.verify-btn.loading .btn-text{opacity:0}.verify-btn.loading .btn-loader{opacity:1}.verify-btn .btn-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid transparent;border-top-color:var(--white);border-radius:50%;opacity:0;transition:opacity .2s ease;animation:spin .8s linear infinite}.code-actions{gap:1rem;margin-top:1rem}.link-btn{background:0 0;border:0;color:var(--blue-200);font-size:.9rem;cursor:pointer;padding:.5rem 1rem;transition:color .2s ease}.link-btn:hover{color:var(--accent);text-decoration:underline}@media (max-width:640px){.auth-container{padding:1.5rem}.auth-card{padding:1.75rem;border-radius:20px}.email-form .input-group{flex-direction:column;border-radius:20px;padding:8px}.email-form #email-input{text-align:center;padding:1rem}.submit-btn{width:100%;padding:1rem;border-radius:14px}.oauth-buttons{flex-direction:column}.apple-signin-btn,.google-signin-btn{border-radius:14px;padding:.875rem 1.25rem}.brand-slogan{letter-spacing:.15em}.code-input-group #code-input{font-size:1.5rem;letter-spacing:.3em}.code-actions{flex-direction:column;gap:.5rem}}.calendar-fullscreen{min-height:calc(100vh - 60px);padding:1rem;background:var(--bg-primary);width:100%;box-sizing:border-box}.progress-content.has-calendar-fullscreen{padding:0;background:0 0;border:0;border-radius:0}.progress-main.has-calendar-fullscreen{padding:0;min-height:100vh}.progress-container.has-calendar-fullscreen{max-width:100%;margin:0}.calendar-toggles{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.calendar-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:500;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--text-muted);cursor:pointer;transition:all .2s ease}.calendar-toggle-btn:hover{background:rgba(255,255,255,.08);color:var(--white);border-color:rgba(255,255,255,.2)}.calendar-toggle-btn[aria-expanded=true]{background:rgba(0,212,255,.1);border-color:rgba(0,212,255,.3);color:var(--accent)}.calendar-toggle-btn .toggle-icon{transition:transform .2s ease}.calendar-toggle-btn[aria-expanded=true] .toggle-icon{transform:rotate(180deg)}.toggle-label{white-space:nowrap}.calendar-workouts-section,.countdown-section,.year-summary-section{margin-bottom:1rem;animation:slideDown .3s ease-out}.calendar-workouts-section[style*="display: none"],.countdown-section[style*="display: none"],.year-summary-section[style*="display: none"]{display:none!important}.countdown-banner{background:linear-gradient(135deg,rgba(0,212,255,.15)0,rgba(0,150,180,.08) 100%);border:1px solid rgba(0,212,255,.3);border-radius:16px;padding:1.5rem 2rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.countdown-banner::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.countdown-primary{display:flex;justify-content:space-between;align-items:center;gap:2rem}.countdown-event-info{flex:1}.countdown-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);display:block;margin-bottom:.25rem}.countdown-event-name{font-family:var(--font-display);font-size:1.75rem;letter-spacing:.02em;margin:0 0 .25rem;color:var(--white)}.countdown-event-meta{font-size:.9rem;color:var(--text-muted)}.countdown-number-wrap{display:flex;flex-direction:column;align-items:center;padding:.5rem 1.5rem;background:rgba(0,0,0,.3);border-radius:12px}.countdown-number{font-family:var(--font-display);font-size:3.5rem;line-height:1;color:var(--accent);text-shadow:0 0 30px var(--accent-glow)}.countdown-unit{font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-top:.25rem}.countdown-goal{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);font-size:.9rem;color:var(--text-muted)}.upcoming-events{margin-bottom:2rem}.upcoming-events-title{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.75rem}.upcoming-events-list{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.5rem}.upcoming-event-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:10px;flex-shrink:0;transition:all .2s ease}.upcoming-event-card:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.2)}.upcoming-event-days{font-family:var(--font-display);font-size:1.5rem;color:var(--accent);min-width:45px;text-align:center}.upcoming-event-info{display:flex;flex-direction:column}.upcoming-event-name{font-weight:500;font-size:.9rem;white-space:nowrap}.upcoming-event-date{font-size:.8rem;color:var(--text-muted)}.calendar-header{justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap}.calendar-header,.calendar-title-section{display:flex;align-items:center;gap:1rem}.calendar-title{font-family:var(--font-display);font-size:1.75rem;letter-spacing:.02em;margin:0}.calendar-controls{display:flex;align-items:center;gap:1rem}.calendar-view-modes{display:flex;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:3px}.calendar-view-btn{display:flex;align-items:center;gap:.25rem;padding:.4rem .75rem;font-size:.8rem;font-weight:500;border:0;border-radius:6px;background:0 0;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.calendar-view-btn:hover{color:var(--white);background:rgba(255,255,255,.05)}.calendar-view-btn.active{background:var(--accent);color:var(--blue-900)}.calendar-view-btn .view-btn-key{font-size:.65rem;opacity:.6;padding:.1rem .25rem;background:rgba(0,0,0,.2);border-radius:3px}.calendar-view-btn.active .view-btn-key{background:rgba(0,0,0,.3)}.calendar-nav{display:flex;align-items:center;gap:.5rem}.calendar-nav-btn,.calendar-today-btn{border-radius:8px;cursor:pointer;transition:all .2s ease}.calendar-nav-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--text-muted)}.calendar-nav-btn:hover{background:rgba(255,255,255,.1);color:var(--white)}.calendar-today-btn{padding:.5rem 1rem;font-size:.85rem;font-weight:500;background:rgba(0,212,255,.1);border:1px solid rgba(0,212,255,.3);color:var(--accent);text-decoration:none}.calendar-today-btn:hover{background:rgba(0,212,255,.2)}.calendar-grid-container{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.1)}.calendar-weekday{padding:.75rem;text-align:center;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{min-height:100px;padding:.5rem;border-right:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);transition:background .2s ease}.calendar-day:nth-child(7n){border-right:none}.calendar-day:hover{background:rgba(255,255,255,.03)}.calendar-day.other-month{opacity:.4;background:rgba(0,0,0,.1)}.calendar-day.today,.leaderboard-table tr.highlight{background:rgba(0,212,255,.08)}.calendar-day.today .calendar-day-number{background:var(--accent);color:var(--blue-900);border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-weight:600}.calendar-day.has-event{border-top:2px solid #fbbf24}.calendar-day.clickable{cursor:pointer}.calendar-day.clickable:hover{background:rgba(0,212,255,.1);border-color:rgba(0,212,255,.2)}.calendar-day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.calendar-day-number{font-size:.85rem;font-weight:500;color:var(--text-muted)}.calendar-event-marker{color:#fbbf24;display:flex;align-items:center}.calendar-day-activities{display:flex;flex-direction:column;gap:.25rem}.calendar-activity{display:flex;align-items:center;gap:.35rem;padding:.2rem .35rem;border-radius:4px;font-size:.7rem;text-decoration:none;color:var(--white);background:rgba(255,255,255,.05);transition:background .2s ease}.calendar-activity:hover{background:rgba(255,255,255,.12)}.calendar-activity-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:3px;flex-shrink:0}.calendar-activity-icon svg{width:11px;height:11px}.calendar-activity-icon.sport-run,.calendar-activity-icon.sport-running,.calendar-activity-icon.sport-trailrun,.calendar-activity-icon.sport-virtualrun{background:rgba(239,68,68,.3);color:#ef4444}.calendar-activity-icon.sport-cycling,.calendar-activity-icon.sport-ebikeride,.calendar-activity-icon.sport-gravelride,.calendar-activity-icon.sport-mountainbikeride,.calendar-activity-icon.sport-ride,.calendar-activity-icon.sport-virtualride{background:rgba(59,130,246,.3);color:#3b82f6}.calendar-activity-icon.sport-swim,.calendar-activity-icon.sport-swimming{background:rgba(6,182,212,.3);color:#06b6d4}.calendar-activity-icon.sport-hike,.calendar-activity-icon.sport-hiking,.calendar-activity-icon.sport-walk,.calendar-activity-icon.sport-walking{background:rgba(34,197,94,.3);color:#22c55e}.calendar-activity-icon.sport-strength,.calendar-activity-icon.sport-weighttraining,.calendar-activity-icon.sport-workout{background:rgba(168,85,247,.3);color:#a855f7}.calendar-activity-icon.sport-pilates,.calendar-activity-icon.sport-yoga{background:rgba(236,72,153,.3);color:#ec4899}.calendar-activity-icon.sport-rowing,.calendar-activity-icon.sport-virtualrow{background:rgba(245,158,11,.3);color:#f59e0b}.calendar-activity-info{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-more{font-size:.65rem;color:var(--text-muted);padding:.15rem .35rem}.calendar-grid-container.view-week .calendar-days,.calendar-grid-container.view-week .calendar-weekdays{grid-template-columns:repeat(7,1fr)}.calendar-grid-container.view-week .calendar-day{min-height:200px}.calendar-grid-container.view-week .calendar-activity{font-size:.75rem;padding:.35rem .5rem}.calendar-grid-container.view-week .calendar-activity-info{display:block}.calendar-grid-container.view-4day .calendar-days,.calendar-grid-container.view-4day .calendar-weekdays{grid-template-columns:repeat(4,1fr)}.calendar-grid-container.view-4day .calendar-weekday:nth-child(n+5){display:none}.calendar-grid-container.view-4day .calendar-day{min-height:280px}.calendar-grid-container.view-4day .calendar-day:nth-child(4n){border-right:none}.calendar-grid-container.view-4day .calendar-activity{font-size:.8rem;padding:.4rem .6rem;gap:.5rem}.calendar-grid-container.view-4day .calendar-activity-icon{width:20px;height:20px}.calendar-grid-container.view-4day .calendar-day-number{font-size:1rem}.calendar-grid-container.view-4day .calendar-day-date-info{display:block;font-size:.75rem;color:var(--text-muted)}.calendar-grid-container.view-day .calendar-days,.calendar-grid-container.view-day .calendar-weekdays{grid-template-columns:1fr}.calendar-grid-container.view-day .calendar-weekday:not(:first-child){display:none}.calendar-grid-container.view-day .calendar-day{min-height:400px;padding:1rem}.calendar-grid-container.view-day .calendar-day-header{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.1)}.calendar-grid-container.view-day .calendar-day-number{font-size:1.5rem;font-family:var(--font-display)}.calendar-grid-container.view-day .calendar-day-date-info{display:block;font-size:.85rem;color:var(--text-muted);margin-top:.25rem}.calendar-grid-container.view-day .calendar-activity{font-size:.9rem;padding:.75rem 1rem;gap:.75rem;border-radius:8px}.calendar-grid-container.view-day .calendar-activity-icon{width:28px;height:28px;border-radius:6px}.calendar-grid-container.view-day .calendar-activity-info{display:flex;flex-direction:column;gap:.25rem}.calendar-grid-container.view-day .calendar-activity-title{font-weight:500;color:var(--white)}.calendar-grid-container.view-day .calendar-activity-stats{font-size:.8rem;color:var(--text-muted)}.calendar-grid-container.view-day .calendar-more{font-size:.75rem;padding:.5rem}.calendar-week-summary{margin-top:1.5rem;padding:1.25rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:12px}.week-summary-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0 0 1rem}.week-summary-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.week-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.week-stat-value{font-family:var(--font-display);font-size:1.5rem;color:var(--white)}.week-stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}.calendar-keyboard-hint{margin-top:1.5rem;padding:.75rem 1rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:8px;font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.keyboard-shortcuts{display:flex;align-items:center;gap:.75rem}.calendar-keyboard-hint kbd{display:inline-block;padding:.15rem .4rem;font-family:inherit;font-size:.7rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:4px;margin:0 .15rem}.calendar-loading{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--text-muted)}.calendar-loading::after{content:"";width:24px;height:24px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@media (max-width:1024px){.calendar-fullscreen{padding:.75rem}.calendar-header{flex-direction:column;align-items:flex-start}.calendar-controls{width:100%;justify-content:space-between}}@media (max-width:900px){.calendar-fullscreen{padding:.5rem}.calendar-toggles{gap:.25rem}.calendar-toggle-btn{padding:.4rem .75rem;font-size:.8rem}.toggle-label{font-size:.75rem}.countdown-primary{flex-direction:column;text-align:center}.countdown-number-wrap{margin-top:1rem}.calendar-day{min-height:80px;padding:.35rem}.calendar-activity-info,.calendar-view-btn .view-btn-key{display:none}.calendar-activity{padding:.25rem;justify-content:center}.week-summary-stats{grid-template-columns:repeat(2,1fr);gap:1rem}.calendar-keyboard-hint{display:none}}@media (max-width:600px){.calendar-fullscreen{top:50px;padding:.5rem}.calendar-toggles{margin-bottom:.75rem}.calendar-toggle-btn{padding:.35rem .6rem;font-size:.75rem;flex:1;min-width:0}.toggle-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.countdown-banner{padding:1rem}.countdown-event-name{font-size:1.25rem}.countdown-number{font-size:2.5rem}.calendar-weekday{padding:.5rem .25rem;font-size:.65rem}.calendar-day{min-height:60px;padding:.25rem}.calendar-day-number{font-size:.75rem}.calendar-activity-icon{width:12px;height:12px}.calendar-activity-icon svg{width:8px;height:8px}.upcoming-events-list{flex-direction:column}.calendar-view-modes{overflow-x:auto}.calendar-view-btn .view-btn-label{font-size:.7rem}}.calendar-workouts-section{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem}.calendar-workouts-ai{margin-bottom:2rem}.calendar-workouts-title{font-size:1.1rem;font-weight:600;margin-bottom:.5rem;color:var(--white)}.calendar-workouts-subtitle{font-size:.9rem;color:var(--text-muted);margin-bottom:1rem}.calendar-workouts-controls{display:flex;flex-direction:column;gap:1rem}.calendar-workouts-controls .form-field{margin-bottom:0}.calendar-workouts-list-title{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--white)}.calendar-workouts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.calendar-workout-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s ease}.calendar-workout-item:hover{background:rgba(255,255,255,.08);border-color:rgba(0,212,255,.3);transform:translateY(-2px)}.calendar-workout-icon{font-size:1.5rem;flex-shrink:0}.calendar-workout-info{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1}.calendar-workout-name{font-size:.9rem;font-weight:500;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-workout-sport{font-size:.75rem;color:var(--text-muted)}@media (max-width:768px){.calendar-workouts-grid{grid-template-columns:1fr}.calendar-workouts-controls{gap:.75rem}}.club-detail-main{max-width:1200px;margin:0 auto;padding:0}.club-cover-section{position:relative;height:280px;background:linear-gradient(135deg,var(--blue-800),var(--blue-600));margin:-1rem -1rem 0;overflow:hidden}.club-cover-section.no-cover{height:220px}.club-cover-image{width:100%;height:100%;object-fit:cover}.club-cover-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,15,28,.95) 100%)}.club-header-content{position:absolute;bottom:1.5rem;left:0;right:0;padding:0 2rem;display:flex;align-items:flex-end;gap:1.5rem}.club-logo-wrapper{flex-shrink:0}.club-logo{width:100px;height:100px;border-radius:16px;object-fit:cover;border:4px solid rgba(255,255,255,.15);box-shadow:0 8px 32px rgba(0,0,0,.4)}.club-logo-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),var(--blue-400));font-size:2rem;font-weight:700;color:var(--white);font-family:var(--font-display)}.club-header-info{flex:1;min-width:0}.club-title{font-family:var(--font-display);font-size:2.25rem;font-weight:700;color:var(--white);margin:0 0 .5rem;text-shadow:0 2px 8px rgba(0,0,0,.5)}.club-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.club-sport-tag{display:inline-block;padding:.3rem .75rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;background:rgba(0,212,255,.2);color:var(--accent);border-radius:6px}.club-location{font-size:.9rem;color:rgba(255,255,255,.8)}.club-description{margin:.75rem 0 0;font-size:.95rem;color:rgba(255,255,255,.75);max-width:600px;line-height:1.5}.club-content-wrapper{display:grid;grid-template-columns:1fr 280px;gap:2rem;padding:2rem}.club-actions-card,.club-sidebar{display:flex;flex-direction:column}.club-sidebar{gap:1.5rem;order:2}.club-actions-card{gap:.75rem;padding:1.25rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px}.btn-club-action,.btn-club-secondary{cursor:pointer;transition:all .2s ease}.btn-club-action{padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;border:0;border-radius:8px}.btn-club-action.join{background:var(--accent);color:var(--bg)}.btn-club-action.join:hover{background:#00b8e0;transform:translateY(-1px)}.btn-club-action.member{background:rgba(34,197,94,.2);color:#4ade80}.btn-club-action.member:hover{background:rgba(239,68,68,.2);color:#ef4444}.btn-club-action.member:hover::after{content:" Leave?"}.btn-club-secondary{padding:.6rem 1rem;font-size:.85rem;font-weight:500;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--text-muted);border-radius:6px}.btn-club-secondary:hover{background:rgba(255,255,255,.08);color:var(--white)}.owner-badge-display,.primary-badge-display,.private-badge-display{padding:.6rem 1rem;text-align:center;border-radius:6px;font-size:.85rem;font-weight:600}.owner-badge-display{background:rgba(168,85,247,.15);color:#c084fc}.primary-badge-display{background:rgba(234,179,8,.15);color:#fde047}.private-badge-display{background:rgba(255,255,255,.05);color:var(--text-muted)}.club-members-card{padding:1.25rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px}.members-header{margin-bottom:1rem}.members-count{font-size:.9rem;font-weight:600;color:var(--white)}.members-avatars{display:flex;flex-wrap:wrap;gap:.5rem}.member-avatar-link{display:block}.member-avatar{object-fit:cover;border:2px solid rgba(255,255,255,.1);transition:all .2s ease}.member-avatar:hover{border-color:var(--accent);transform:scale(1.1)}.member-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue-500),var(--blue-400));font-size:.75rem;font-weight:600;color:var(--white)}.members-more-link{display:block;margin-top:.75rem;font-size:.85rem;color:var(--accent);text-decoration:none}.members-more-link:hover{text-decoration:underline}.club-main-content{order:1}.club-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:0}.club-tab{padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;color:var(--text-muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s ease}.club-tab:hover,.section-heading{color:var(--white)}.club-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.section-heading{font-family:var(--font-display);font-size:1.25rem;font-weight:600;margin:0 0 1rem}.leaders-spotlight{margin-bottom:2rem}.leaders-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.leader-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:1.25rem;text-align:center}.leader-category{font-size:.8rem;font-weight:600;color:var(--text-muted);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.leader-link{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-decoration:none;color:inherit}.leader-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:3px solid rgba(0,212,255,.3)}.leader-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),var(--blue-400));font-size:1.25rem;font-weight:600;color:var(--white)}.leader-name{font-size:.9rem;font-weight:500;color:var(--white)}.leader-value{font-size:1.1rem;font-weight:700;color:var(--accent);font-family:var(--font-display)}.leader-empty{font-size:.85rem;color:var(--text-muted);padding:1rem}.your-position-card{display:flex;align-items:center;gap:1.5rem;padding:1rem 1.25rem;background:rgba(0,212,255,.08);border:1px solid rgba(0,212,255,.2);border-radius:10px;margin-bottom:1.25rem}.your-position-card.empty{border-color:rgba(255,255,255,.08);flex-direction:column;align-items:flex-start;gap:.25rem}.your-position-label{font-size:.85rem;font-weight:500;color:var(--text-muted)}.your-position-rank{font-size:1.5rem;font-weight:700;color:var(--accent);font-family:var(--font-display)}.your-position-stats{font-size:.9rem;color:rgba(255,255,255,.7)}.your-position-hint{font-size:.8rem;color:var(--text-muted)}.leaderboard-table th{white-space:nowrap}.leaderboard-table th.col-sortable{cursor:pointer;user-select:none}.leaderboard-table td{font-size:.9rem;color:rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.04)}.leaderboard-table tr:hover,.your-position-card.empty{background:rgba(255,255,255,.03)}.rank-medal{font-size:1.25rem}.rank-num{font-weight:600}.col-athlete{min-width:180px}.athlete-link{color:inherit}.athlete-avatar-placeholder{background:linear-gradient(135deg,var(--blue-500),var(--blue-400));color:var(--white)}.athlete-name{font-weight:500;color:var(--white)}.athlete-link:hover .athlete-name{color:var(--accent)}.empty-leaderboard{text-align:center;padding:3rem 2rem;color:var(--text-muted)}.empty-hint{font-size:.9rem;margin-top:.5rem}.activities-feed{display:flex;flex-direction:column;gap:1rem}.activity-item{border:1px solid rgba(255,255,255,.06);cursor:pointer;transition:all .2s ease}.activity-item:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}.activity-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.author-avatar-placeholder{background:linear-gradient(135deg,var(--blue-500),var(--blue-400))}.author-info{display:flex;flex-direction:column}.activity-date{font-size:.8rem;color:var(--text-muted)}.sport-badge{background:rgba(255,255,255,.08)}.activity-title{font-size:1rem;font-weight:600;color:var(--white);margin:0 0 .5rem}.activity-stats{display:flex;gap:1.5rem}.activity-stats .stat{font-size:.9rem;color:rgba(255,255,255,.7)}.activity-item-footer{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.05)}.kudos-count{font-size:.85rem;color:var(--text-muted)}.empty-activities{text-align:center;padding:3rem 2rem;color:var(--text-muted)}.club-members-list .section-heading{margin-top:1.5rem}.club-members-list .section-heading:first-child{margin-top:0}.members-list{display:flex;flex-direction:column;gap:.5rem}.member-info,.member-row{display:flex;align-items:center}.member-row{justify-content:space-between;padding:.85rem 1rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);border-radius:10px;text-decoration:none;color:inherit;transition:all .2s ease}.member-row:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08)}.member-info{gap:.85rem}.member-row-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover}.member-details{display:flex;flex-direction:column}.member-name{font-weight:500;color:var(--white);font-size:.95rem}.member-location{font-size:.8rem;color:var(--text-muted)}.member-meta{display:flex;align-items:center;gap:1rem}.member-joined{font-size:.8rem;color:var(--text-muted)}.member-role{padding:.25rem .5rem;font-size:.7rem;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.member-role.owner{background:rgba(168,85,247,.2);color:#c084fc}.member-role.admin{background:rgba(59,130,246,.2);color:#60a5fa}.member-row-wrapper{display:flex;align-items:center;gap:.75rem}.member-row-wrapper .member-row{flex:1}.member-actions{display:flex;gap:.5rem;flex-shrink:0}.btn-member-action{padding:.4rem .65rem;font-size:.75rem;font-weight:500;border:0;border-radius:5px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-member-action.promote{background:rgba(34,197,94,.15);color:#4ade80}.btn-member-action.promote:hover{background:rgba(34,197,94,.25)}.btn-member-action.demote{background:rgba(234,179,8,.15);color:#fde047}.btn-member-action.demote:hover{background:rgba(234,179,8,.25)}.btn-member-action.remove{background:rgba(239,68,68,.15);color:#f87171}.btn-member-action.remove:hover{background:rgba(239,68,68,.25)}.btn-member-action:disabled{opacity:.5;cursor:not-allowed}.btn-member-action.loading{position:relative;color:transparent}.btn-member-action.loading::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0-6px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}@media (max-width:900px){.club-content-wrapper{grid-template-columns:1fr;padding:1.5rem}.club-sidebar{order:1;flex-direction:row;flex-wrap:wrap}.club-actions-card,.club-members-card{flex:1;min-width:200px}.club-main-content{order:2}.leaders-grid{grid-template-columns:1fr}}@media (max-width:600px){.club-cover-section{height:200px}.club-header-content{flex-direction:column;align-items:flex-start;gap:1rem;padding:0 1.25rem}.club-logo{width:72px;height:72px}.club-title{font-size:1.75rem}.club-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.club-tab{white-space:nowrap}.your-position-card{flex-wrap:wrap}.leaderboard-table{font-size:.85rem}.leaderboard-table td,.leaderboard-table th{padding:.6rem .75rem}.athlete-avatar{width:32px;height:32px}.member-row-wrapper{flex-wrap:wrap}.member-actions{width:100%;justify-content:flex-end;padding-left:52px;margin-top:-.5rem;padding-bottom:.5rem}}.club-edit-main{min-height:calc(100vh - 60px);padding:2rem}.club-edit-container{max-width:800px;margin:0 auto}.club-edit-header{margin-bottom:2rem}.club-edit-header h1{font-family:var(--font-display);font-size:2rem;font-weight:700;margin:.75rem 0 .5rem;letter-spacing:.02em}.club-edit-subtitle{color:var(--text-muted);margin:0}.club-edit-sections{display:flex;flex-direction:column;gap:2rem}.club-edit-section{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.5rem}.section-title{margin:0 0 .25rem}.logo-info p,.section-desc{color:var(--text-muted);font-size:.9rem}.section-desc{margin:0 0 1.25rem}.cover-preview,.cover-upload-area{position:relative;border-radius:12px;overflow:hidden}.cover-upload-area{transition:all .2s ease}.cover-upload-area.uploading{opacity:.6;pointer-events:none}.cover-preview{width:100%;min-height:180px;background:rgba(255,255,255,.03);border:2px dashed rgba(255,255,255,.1)}.cover-preview img,.logo-preview img{width:100%;height:180px;object-fit:cover}.cover-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:180px;cursor:pointer;color:var(--text-muted);gap:.5rem;transition:all .2s ease}.cover-placeholder:hover{background:rgba(255,255,255,.03);color:var(--white);border-color:rgba(255,255,255,.2)}.cover-placeholder svg{opacity:.5}.cover-placeholder span{font-size:.95rem;font-weight:500}.cover-placeholder small{font-size:.8rem;opacity:.6}.cover-actions{position:absolute;bottom:1rem;right:1rem;display:flex;gap:.5rem}.btn-cover-action{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .75rem;background:rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.2);border-radius:8px;color:var(--white);font-size:.85rem;cursor:pointer;transition:all .2s ease;backdrop-filter:blur(8px)}.btn-cover-action:hover{background:rgba(0,0,0,.85);border-color:rgba(255,255,255,.3)}.btn-cover-action.btn-danger{color:#f87171;border-color:rgba(248,113,113,.3)}.btn-cover-action.btn-danger:hover{background:rgba(239,68,68,.2);border-color:rgba(248,113,113,.5)}.logo-upload-row{display:flex;align-items:center;gap:1.5rem}.logo-upload-area{flex-shrink:0;position:relative}.logo-upload-area.uploading{opacity:.6;pointer-events:none}.logo-preview{position:relative;width:100px;height:100px;border-radius:50%;overflow:hidden;cursor:pointer}.logo-preview img{height:100%}.logo-edit-overlay,.logo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.logo-placeholder{background:linear-gradient(135deg,var(--blue-500),var(--accent));font-size:2rem;font-weight:600;color:var(--white)}.logo-edit-overlay{position:absolute;top:0;left:0;background:rgba(0,0,0,.6);opacity:0;transition:opacity .2s ease;cursor:pointer}.logo-preview:hover .logo-edit-overlay{opacity:1}.logo-edit-overlay svg{color:var(--white)}.logo-info{display:flex;flex-direction:column;gap:.5rem}.logo-info p{margin:0}.btn-text-danger{background:0 0;border:0;padding:0;color:#f87171;font-size:.85rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.btn-text-danger:hover{color:#ef4444}.club-edit-form{display:flex;flex-direction:column;gap:1.25rem}.toast-message{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(20px);padding:.75rem 1.5rem;background:rgba(34,197,94,.9);color:#fff;border-radius:8px;font-weight:500;opacity:0;transition:all .3s ease;z-index:1000;backdrop-filter:blur(8px)}.toast-message.show{opacity:1;transform:translateX(-50%) translateY(0)}@media (max-width:768px){.club-edit-main,.club-edit-section{padding:1rem}.club-edit-header h1{font-size:1.5rem}.cover-placeholder,.cover-preview,.cover-preview img{height:140px}.logo-upload-row{align-items:flex-start}.form-row,.logo-upload-row{flex-direction:column;gap:1rem}}.club-list-info{flex:1}.member-tag{padding:.25rem .5rem;font-size:.7rem;font-weight:600;background:rgba(34,197,94,.2);color:#4ade80;border-radius:4px}.clubs-nav{display:flex;gap:.75rem;margin-bottom:2rem}.clubs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.club-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:16px;text-decoration:none;color:inherit;transition:all .2s ease;position:relative}.club-card:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1);transform:translateY(-2px)}.club-card-avatar img{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.1)}.club-avatar-placeholder{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--blue-500),var(--accent));display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;color:var(--white)}.club-card-info{margin-top:1rem}.club-card-name{font-size:1.1rem;font-weight:600;color:var(--white);margin-bottom:.25rem}.club-sport-badge{display:inline-block;padding:.25rem .5rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;background:rgba(0,212,255,.15);color:var(--accent);border-radius:4px;margin-bottom:.5rem}.club-card-location{font-size:.85rem;color:var(--text-muted);margin-bottom:.25rem}.club-card-members{font-size:.8rem;color:var(--text-muted)}.member-badge{position:absolute;top:1rem;right:1rem;padding:.25rem .5rem;font-size:.7rem;font-weight:600;background:rgba(34,197,94,.2);color:#4ade80;border-radius:4px}.club-cover{height:200px;background-size:cover;background-position:center;margin:-2rem -1rem 0;border-radius:0 0 16px 16px}.club-hero{margin-top:-60px}.club-placeholder{font-size:2rem!important}.club-sport-badge-large{display:inline-block;padding:.35rem .75rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;background:rgba(0,212,255,.15);color:var(--accent);border-radius:6px;margin-bottom:.75rem}.profile-location{margin-bottom:.5rem}.club-actions{display:flex;align-items:center;gap:1rem;margin-top:.5rem;flex-wrap:wrap;justify-content:center}.club-primary-badge,.owner-badge{padding:.5rem 1rem;font-size:.85rem;font-weight:600;border-radius:8px}.owner-badge{background:rgba(168,85,247,.2);color:#c084fc}.club-primary-badge{background:rgba(234,179,8,.2);color:#fde047}.private-badge{padding:.5rem 1rem;font-size:.85rem;color:var(--text-muted)}:root{--coach-primary:#f59e0b;--coach-secondary:#fbbf24;--coach-gradient:linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--coach-bg:rgba(245, 158, 11, 0.1);--coach-border:rgba(245, 158, 11, 0.3);--phase-base:#3b82f6;--phase-build:#8b5cf6;--phase-peak:#ef4444;--phase-recovery:#22c55e;--compliance-excellent:#22c55e;--compliance-good:#84cc16;--compliance-fair:#eab308;--compliance-poor:#ef4444}.coach-main{min-height:calc(100vh - 60px);padding:2rem}.coach-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:240px 1fr;gap:2rem}.coach-sidebar{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;height:fit-content;position:sticky;top:80px}.coach-sidebar-title{font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;color:var(--coach-primary)}.coach-nav{display:flex;flex-direction:column;gap:.25rem}.coach-nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;color:var(--text-muted);text-decoration:none;transition:all .2s ease}.coach-nav-item svg{width:20px;height:20px;flex-shrink:0}.coach-nav-item:hover{background:rgba(255,255,255,.05);color:var(--white)}.coach-nav-item.active{background:var(--coach-bg);color:var(--coach-primary)}.coach-content{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem}.coach-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.coach-title{font-size:1.75rem;font-weight:600}.coach-actions{display:flex;gap:1rem}.btn-coach-primary{background:var(--coach-gradient);color:#fff;border:0;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s ease}.btn-coach-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(245,158,11,.3)}.btn-coach-primary svg{width:18px;height:18px}.stat-card-coach{background:var(--coach-bg);border:1px solid var(--coach-border);border-radius:12px;padding:1.5rem;text-align:center}.stat-card-coach .stat-value{font-size:2rem;font-weight:700;color:var(--coach-primary)}.stat-card-coach .stat-label{font-size:.875rem;color:var(--text-muted);margin-top:.25rem}.dashboard-section{margin-bottom:2rem}.section-title{display:flex;align-items:center;gap:.75rem}.student-list{display:flex;flex-direction:column;gap:.75rem}.student-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:10px;transition:all .2s ease}.student-card:hover{background:rgba(255,255,255,.05)}.student-card-pending{border-color:var(--coach-border);background:var(--coach-bg)}.student-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0}.activity-card-photo.overlay img,.coach-avatar-large img,.kudoer-mini-avatar img,.member-avatar img,.result-avatar img,.student-avatar img,.student-avatar-large img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{background:linear-gradient(135deg,var(--coach-primary),var(--coach-secondary));color:#fff}.student-info{flex:1;min-width:0}.student-name{font-weight:600;color:var(--white)}.student-username{font-size:.875rem;color:var(--text-muted)}.student-meta,.student-status{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.student-status{color:var(--coach-primary)}.student-actions,.student-stats{display:flex;gap:.5rem}.student-stats{align-items:center}.compliance-badge{padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:600}.compliance-badge.excellent{background:rgba(34,197,94,.2);color:var(--compliance-excellent)}.compliance-badge.good{background:rgba(132,204,22,.2);color:var(--compliance-good)}.compliance-badge.fair{background:rgba(234,179,8,.2);color:var(--compliance-fair)}.compliance-badge.poor{background:rgba(239,68,68,.2);color:var(--compliance-poor)}.student-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.student-card-full{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden}.student-card-header{display:flex;align-items:center;gap:1rem;padding:1rem;background:rgba(255,255,255,.02)}.student-card-body{padding:1rem}.student-meta-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.meta-label{color:var(--text-muted);font-size:.875rem}.meta-value{font-weight:500}.student-goal{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem;background:var(--coach-bg);border-radius:6px}.goal-icon{font-size:1.25rem}.goal-text{flex:1}.goal-achieved{color:var(--compliance-excellent);font-weight:600}.student-card-actions{padding:1rem;border-top:1px solid rgba(255,255,255,.05)}.students-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.tab-btn{background:0 0;border:0;padding:.75rem 1.25rem;color:var(--text-muted);cursor:pointer;border-radius:8px 8px 0 0;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.tab-btn:hover{color:var(--white);background:rgba(255,255,255,.05)}.tab-btn.active{color:var(--coach-primary);background:var(--coach-bg)}.tab-btn .badge{background:rgba(255,255,255,.1);padding:.125rem .5rem;border-radius:10px;font-size:.75rem}.tab-content.hidden{display:none}.invitation-list{display:flex;flex-direction:column;gap:.75rem}.invitation-card{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:10px}.invitation-email{font-weight:600}.invitation-meta,.invitation-name{font-size:.875rem;color:var(--text-muted)}.invitation-meta{font-size:.75rem;margin-top:.25rem}.invitation-actions{display:flex;gap:.5rem}.empty-state svg{width:64px;height:64px;margin-bottom:1rem;opacity:.5}.empty-state h3{color:var(--white);margin-bottom:.5rem}.empty-state p{margin-bottom:1.5rem}.view-all-link{display:block;text-align:center;padding:.75rem;color:var(--coach-primary);text-decoration:none;margin-top:1rem}.breadcrumb a:hover,.garmin-instructions a:hover,.view-all-link:hover{text-decoration:underline}.modal,.modal-backdrop{top:0;left:0;right:0;bottom:0}.modal.show{align-items:center;justify-content:center}.modal-content{background:var(--bg-secondary)}.invite-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.invite-tab,.search-result-item{padding:.75rem;border-radius:8px;cursor:pointer}.invite-tab{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--text-muted);transition:all .2s ease}.invite-tab:hover{background:rgba(255,255,255,.08)}.invite-tab.active{background:var(--coach-bg);border-color:var(--coach-border);color:var(--coach-primary)}.invite-content.hidden{display:none}.search-result-item{display:flex;align-items:center;gap:.75rem;transition:background .2s ease}.search-result-item:hover{background:rgba(255,255,255,.05)}.result-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden}.result-name{font-weight:500}.form-field label,.result-username{font-size:.875rem;color:var(--text-muted)}.no-results{padding:1rem;text-align:center;color:var(--text-muted)}.form-section{margin-bottom:2rem}.form-section-title{font-size:1.125rem;font-weight:600;margin-bottom:1rem}.form-field label{display:block;margin-bottom:.5rem}.checkbox-label input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;z-index:2;margin:0;width:18px;height:18px;accent-color:var(--accent)}.form-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.sports-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.sport-info,.sport-item{display:flex;align-items:center}.sport-item{gap:1rem;padding:.75rem 1rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:8px}.sport-info{gap:.5rem;flex:1}.sport-icon{filter:drop-shadow(0 4px 8px rgba(245,158,11,.4));transition:transform .3s ease}.sport-tag-large:hover .sport-icon{transform:scale(1.15) rotate(5deg)}.sport-name{font-weight:500}.sport-years{display:flex;align-items:center;gap:.5rem}.sport-years-input{width:60px;padding:.5rem;text-align:center}.years-label{font-size:.875rem;color:var(--text-muted)}.btn-remove:hover{color:#ef4444}.add-sport,.profile-error button{margin-top:.5rem}.become-coach-main{min-height:calc(100vh - 60px);padding:2rem;display:flex;justify-content:center}.become-coach-container{max-width:600px;width:100%}.become-coach-header{text-align:center;margin-bottom:2rem}.coach-badge-icon{font-size:4rem;margin-bottom:1rem}.become-coach-subtitle{color:var(--text-muted);font-size:1.125rem}.become-coach-form{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem}.btn-lg{padding:1rem 2rem;font-size:1.125rem}.become-coach-stepper{margin-bottom:2rem}.stepper-steps{justify-content:center;gap:0}.step-number,.stepper-step,.stepper-steps{display:flex;align-items:center}.stepper-step{gap:.5rem;opacity:.5;transition:opacity .3s ease}.stepper-step.active,.stepper-step.completed{opacity:1}.step-number{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.2);justify-content:center;font-weight:600;font-size:.875rem;transition:all .3s ease}.stepper-step.active .step-number{background:var(--coach-primary);border-color:var(--coach-primary);color:#000}.stepper-step.completed .step-number{background:var(--color-success);border-color:var(--color-success);color:#fff}.step-label{font-size:.875rem;font-weight:500}.stepper-divider{width:60px;height:2px;background:rgba(255,255,255,.2);margin:0 1rem}.disclaimer-section{text-align:center;margin-bottom:2rem}.disclaimer-icon{font-size:3rem;margin-bottom:1rem}.disclaimer-requirements h3,.disclaimer-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.disclaimer-text{color:var(--text-muted);line-height:1.6;max-width:500px;margin:0 auto 1.5rem}.disclaimer-requirements{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.5rem;text-align:left;margin-bottom:1.5rem}.disclaimer-requirements h3{font-size:1rem}.requirements-checkboxes{display:flex;flex-direction:column;gap:.75rem}.requirement-checkbox{background:rgba(0,0,0,.3);border:2px solid rgba(255,255,255,.12);border-radius:10px;padding:1rem 1.25rem;transition:all .2s ease}.requirement-checkbox:hover{border-color:rgba(255,255,255,.25);background:rgba(0,0,0,.4)}.requirement-checkbox.checked{border-color:var(--coach-primary);background:rgba(245,158,11,.1)}.requirement-checkbox .checkmark{width:24px;height:24px;min-width:24px}.requirement-checkbox .checkbox-text{font-size:.9375rem}.disclaimer-warning{display:flex;align-items:flex-start;gap:.75rem;background:rgba(255,152,0,.1);border:1px solid rgba(255,152,0,.3);border-radius:12px;padding:1rem 1.25rem;text-align:left}.disclaimer-warning .warning-icon{width:24px;height:24px;flex-shrink:0;stroke:#ff9800}.disclaimer-warning p{margin:0;color:rgba(255,200,100,.9);font-size:.875rem;line-height:1.5}.agreement-checkbox{background:rgba(255,255,255,.03);border:2px solid rgba(255,255,255,.15);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;transition:border-color .2s ease,background .2s ease}.agreement-checkbox:hover,.become-coach-form .form-field .checkbox-label:hover{border-color:var(--coach-primary);background:rgba(245,158,11,.05)}.agreement-checkbox.checked{border-color:var(--coach-primary);background:rgba(245,158,11,.08)}.checkbox-label{user-select:none;position:relative}.checkbox-label .checkmark{width:28px;height:28px;min-width:28px;flex-shrink:0;border:3px solid #666;border-radius:8px;position:relative;transition:all .2s ease;background:#1a1a1a;display:flex;align-items:center;justify-content:center;pointer-events:none}.checkbox-label:hover .checkmark{border-color:var(--coach-primary);background:rgba(245,158,11,.15)}.checkbox-label input[type=checkbox]:checked+.checkmark{background:var(--coach-primary);border-color:var(--coach-primary);box-shadow:0 0 16px rgba(245,158,11,.6)}.checkbox-label input[type=checkbox]:checked+.checkmark::after{content:"";display:block;width:8px;height:14px;border:solid #000;border-width:0 3px 3px 0;transform:rotate(45deg);margin-top:-3px}.checkbox-label .checkbox-text{color:#fff;line-height:1.6;font-weight:500;font-size:1rem;padding-top:2px}.become-coach-form .form-field .checkbox-label{background:rgba(255,255,255,.03);border:2px solid rgba(255,255,255,.15);border-radius:12px;padding:1.25rem 1.5rem;transition:border-color .2s ease,background .2s ease}.become-coach-form .form-field .checkbox-label:has(input:checked){border-color:var(--coach-primary);background:rgba(245,158,11,.08)}.success-section{text-align:center;margin-bottom:2rem}.success-icon{font-size:3rem;margin-bottom:1rem}.success-title{font-size:1.5rem;font-weight:600;margin-bottom:.75rem;color:var(--text-primary)}.success-text{color:var(--text-muted);max-width:400px;margin:0 auto}.become-coach-form .form-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.btn-icon{margin-left:.5rem}.btn-icon-left{margin-left:0;margin-right:.5rem}.btn-secondary{display:flex}.btn-secondary:hover{background:rgba(255,255,255,.08)}.btn-coach-primary:disabled{opacity:.5;cursor:not-allowed}.spinner-small{width:18px;height:18px;border:2px solid rgba(0,0,0,.3);border-top-color:#000;border-radius:50%;animation:spin .8s linear infinite;display:inline-block;margin-right:.5rem}.my-coach-main{min-height:calc(100vh - 60px);padding:2rem}.my-coach-container{max-width:800px;margin:0 auto}.coach-profile-card{background:rgba(255,255,255,.02);border:1px solid var(--coach-border);border-radius:16px;overflow:hidden}.coach-profile-header{display:flex;gap:1.5rem;padding:2rem;background:var(--coach-bg)}.coach-avatar-large{width:100px;height:100px;border-radius:50%;overflow:hidden;flex-shrink:0;border:3px solid var(--coach-primary)}.coach-avatar-large .avatar-placeholder{font-size:2rem}.coach-profile-info{flex:1}.coach-badge{display:inline-block;padding:.25rem .75rem;background:var(--coach-gradient);color:#fff;font-size:.75rem;font-weight:600;margin-bottom:.5rem}.coach-name{font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.coach-username{color:var(--text-muted);margin-bottom:.5rem}.coach-description{color:var(--text-muted);margin-top:.75rem}.coach-profile-sports{display:flex;flex-wrap:wrap;gap:.5rem;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.05)}.group-card:hover,.sport-tag{background:rgba(255,255,255,.05)}.sport-tag{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.875rem}.sport-exp{color:var(--text-muted);font-size:.75rem}.coach-profile-stats,.preview-list li{border-bottom:1px solid rgba(255,255,255,.05)}.coach-profile-stats{display:flex;gap:2rem;padding:1.5rem}.stat-item{gap:.25rem}.coach-profile-actions{padding:1.5rem}.no-coach-state{text-align:center;padding:4rem 2rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:16px}.no-coach-icon{font-size:4rem;margin-bottom:1rem}.no-coach-state h2{margin-bottom:.5rem}.no-coach-state p{color:var(--text-muted)}.pending-invitations-section{margin-top:2rem}.invitation-cards{display:flex;flex-direction:column;gap:1rem}.invitation-coach-info{display:flex;align-items:center;gap:.5rem}.coach-badge-small{font-size:1.25rem}.badge{display:inline-block}.badge-warning{background:rgba(245,158,11,.2);color:var(--coach-primary)}.btn-sm{padding:.5rem .75rem;font-size:.875rem}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.group-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.5rem;transition:all .2s ease}.group-card:hover{border-color:var(--coach-border)}.group-card-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.group-icon{font-size:2rem}.group-icon-large{font-size:2.5rem;margin-right:.5rem}.group-name{font-size:1.25rem;font-weight:600;margin:0}.group-description,.group-meta{font-size:.875rem;color:var(--text-muted)}.group-description{margin-bottom:1rem}.group-members-preview{display:flex;gap:.25rem;margin-bottom:1rem}.member-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;border:2px solid var(--bg-secondary)}.avatar-placeholder-small,.member-more{display:flex;align-items:center;justify-content:center;font-size:.75rem}.avatar-placeholder-small{width:100%;height:100%;background:linear-gradient(135deg,var(--coach-primary),var(--coach-secondary));color:#fff;font-weight:600}.member-more{background:rgba(255,255,255,.1);color:var(--text-muted)}.breadcrumb,.group-card-actions{display:flex;gap:.5rem}.breadcrumb{align-items:center;margin-bottom:1.5rem;font-size:.875rem}.breadcrumb a{color:var(--coach-primary);text-decoration:none}.breadcrumb,.breadcrumb-separator{color:var(--text-muted)}.members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.member-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:10px}.member-info{flex:1}.empty-state-inline{padding:2rem;text-align:center;color:var(--text-muted);background:rgba(255,255,255,.02);border-radius:8px}.quick-actions{display:flex;gap:1rem;flex-wrap:wrap}.quick-action-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 2rem;background:var(--coach-bg);border:1px solid var(--coach-border);border-radius:12px;text-decoration:none;color:var(--white);transition:all .2s ease}.quick-action-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(245,158,11,.2)}.quick-action-icon{font-size:2rem}.quick-action-text{font-weight:500}.available-students-list{max-height:300px;overflow-y:auto}.activities-table tbody tr.activity-row,.student-card.clickable{cursor:pointer}.student-card.clickable:hover{background:var(--coach-bg);border-color:var(--coach-border)}.add-icon{width:20px;height:20px;color:var(--coach-primary)}.group-subtitle{color:var(--text-muted);margin-top:.5rem}.assign-mode-tabs{display:flex;gap:1rem;margin-bottom:2rem}.assign-mode-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem;background:rgba(255,255,255,.03);border:2px solid rgba(255,255,255,.1);border-radius:12px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.assign-mode-tab svg{width:24px;height:24px}.assign-mode-tab:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.2)}.assign-mode-tab.active{background:var(--coach-bg);border-color:var(--coach-primary);color:var(--coach-primary)}.assign-mode-content.hidden{display:none}.text-input-section{margin-bottom:2rem}.workout-text-input{min-height:120px;font-size:1rem}.text-examples{display:flex;align-items:center;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.example-label{font-size:.875rem;color:var(--text-muted)}.example-btn,.parsed-preview{border:1px solid rgba(255,255,255,.1)}.example-btn{padding:.375rem .75rem;background:rgba(255,255,255,.05);border-radius:20px;color:var(--text-muted);cursor:pointer;font-size:.875rem;transition:all .2s ease}.example-btn:hover{background:var(--coach-bg);border-color:var(--coach-border);color:var(--coach-primary)}.parsed-preview{background:rgba(255,255,255,.03);border-radius:12px;padding:1.5rem}.parsed-preview.hidden{display:none}.parsed-preview h3{font-size:1rem;margin-bottom:1rem;color:var(--coach-primary)}.preview-list{list-style:none;padding:0;margin:0}.preview-list li{padding:.5rem 0}.assign-form-grid{display:grid;gap:2rem}.recipient-type-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.recipient-btn{flex:1;padding:.75rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.recipient-btn:hover{background:rgba(255,255,255,.08)}.recipient-btn.active{background:var(--coach-bg);border-color:var(--coach-border)}.assign-actions{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.checkbox-field{margin-bottom:0}.action-buttons{display:flex;gap:1rem}.avg-rating,.reviews-summary{display:flex;align-items:center;gap:.75rem}.avg-rating{gap:.5rem}.rating-value{font-size:1.25rem;font-weight:600;color:var(--coach-primary)}.garmin-instructions li,.reviews-count{color:var(--text-muted)}.reviews-list{display:flex;flex-direction:column;gap:1rem}.review-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.5rem}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.reviewer-info{display:flex;align-items:center;gap:1rem}.reviewer-details{display:flex;flex-direction:column}.review-meta{text-align:right}.review-rating{margin-bottom:.25rem}.star{font-size:1.25rem}.recipient-btn.active,.star.filled{color:var(--coach-primary)}.star.empty{color:var(--text-muted);opacity:.3}.review-date{font-size:.875rem;color:var(--text-muted)}.review-content{color:var(--text-muted);line-height:1.6;margin-bottom:1rem}.review-actions{display:flex;align-items:center;gap:.75rem}.review-hidden-badge,.review-locked-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem}.review-hidden-badge{background:rgba(239,68,68,.2);color:#ef4444;font-weight:500}.review-locked-badge{background:rgba(107,114,128,.2);color:var(--text-muted)}.student-header-card{display:flex;align-items:center;gap:1rem}.student-avatar-large{width:64px;height:64px;border-radius:50%;overflow:hidden;border:3px solid var(--coach-primary)}.student-avatar-large .avatar-placeholder{font-size:1.5rem}.student-header-info{display:flex;flex-direction:column}.calendar-navigation,.nav-btn{display:flex;align-items:center;justify-content:center}.calendar-navigation{gap:1rem;margin-bottom:2rem}.nav-btn{width:40px;height:40px;background:rgba(255,255,255,.05);border-radius:8px;color:var(--text-muted);text-decoration:none;transition:all .2s ease}.nav-btn:hover{background:var(--coach-bg)}.nav-btn svg{width:20px;height:20px}.calendar-month-title{font-size:1.5rem;font-weight:600;min-width:200px;text-align:center}.calendar-grid{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);background:rgba(255,255,255,.03)}.calendar-day-header{padding:1rem;text-align:center;font-weight:600;font-size:.875rem;color:var(--text-muted)}.calendar-day-header.weekend,.nav-btn:hover{color:var(--coach-primary)}.calendar-body{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-cell{min-height:100px;padding:.5rem;border-top:1px solid rgba(255,255,255,.05);border-right:1px solid rgba(255,255,255,.05)}.calendar-cell:nth-child(7n){border-right:none}.calendar-cell.other-month{opacity:.4}.calendar-cell.today{background:var(--coach-bg)}.cell-date{font-weight:600;margin-bottom:.5rem}.cell-workouts{display:flex;flex-direction:column;gap:.25rem}.workout-chip{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workout-chip.assigned{background:rgba(59,130,246,.2);color:#3b82f6}.workout-chip.completed{background:rgba(34,197,94,.2);color:#22c55e}.activity-card.has-image:hover .activity-card-image img,.workout-chip:hover{transform:scale(1.02)}.workout-icon{flex-shrink:0}.workout-name{overflow:hidden;text-overflow:ellipsis}.compliance-mini{margin-left:auto;font-weight:600;font-size:.625rem}.calendar-legend{display:flex;justify-content:center;gap:2rem;margin-top:1rem;padding:1rem;color:var(--text-muted);font-size:.875rem}.legend-item{display:flex;align-items:center;gap:.5rem}.workout-card{display:flex}.workout-date{display:flex;flex-direction:column;align-items:center;padding:.75rem;background:var(--coach-bg);border-radius:8px;min-width:60px}.date-day{font-size:1.5rem;font-weight:700;color:var(--coach-primary)}.date-month{font-size:.75rem;color:var(--text-muted);text-transform:uppercase}.workout-info{flex:1}.workout-title{font-weight:600;margin-bottom:.25rem}.workout-desc,.workout-time{font-size:.875rem;color:var(--text-muted)}.workout-time{display:inline-block;padding:.125rem .5rem;background:rgba(255,255,255,.05);border-radius:4px;font-size:.75rem;margin-top:.5rem}.workout-actions{display:flex;gap:.5rem}.workout-detail{padding:1rem 0}.workout-date-detail{font-size:1.125rem;margin-bottom:1rem}.workout-description-detail{background:rgba(255,255,255,.03);padding:1rem;border-radius:8px;margin-bottom:1.5rem}.completion-detail{background:var(--coach-bg);padding:1rem;border-radius:8px}.completion-detail h4{color:var(--coach-primary);margin-bottom:.75rem}.completion-detail p{margin-bottom:.5rem}.ai-summary{margin-top:1rem;padding:1rem;background:rgba(139,92,246,.1);border-radius:8px;border-left:3px solid #8b5cf6}.ai-badge{display:inline-block;padding:.125rem .5rem;background:#8b5cf6;color:#fff;border-radius:4px;font-size:.75rem;margin-right:.5rem}.btn-danger-outline{background:0 0;border:1px solid rgba(239,68,68,.5);color:#ef4444;padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-danger-outline:hover{background:rgba(239,68,68,.1);border-color:#ef4444}@media (max-width:900px){.become-coach-main,.coach-main,.my-coach-main{padding:1rem}.coach-container{grid-template-columns:1fr}.coach-sidebar{position:static;display:flex;gap:.5rem;padding:1rem;overflow-x:auto}.coach-sidebar-title{display:none}.coach-nav{flex-direction:row}.coach-nav-item{white-space:nowrap}.coach-header{flex-direction:column;gap:1rem;align-items:stretch}.stats-grid{grid-template-columns:repeat(2,1fr)}.student-grid{grid-template-columns:1fr}.coach-profile-header{flex-direction:column;align-items:center;text-align:center}.form-row,.groups-grid,.members-grid{grid-template-columns:1fr}.assign-actions,.assign-mode-tabs{flex-direction:column}.assign-actions{align-items:stretch}.action-buttons{justify-content:stretch}.action-buttons .btn{flex:1}.stepper-steps{gap:0}.step-label{display:none}.stepper-divider{width:40px}.disclaimer-warning{text-align:center}.disclaimer-warning .warning-icon{margin:0 auto}.become-coach-form .form-actions,.disclaimer-warning{flex-direction:column}.become-coach-form .form-actions .btn{width:100%;justify-content:center}.calendar-cell{min-height:70px;padding:.25rem}.workout-chip{font-size:.625rem}.workout-name{display:none}.calendar-legend,.review-header{flex-direction:column;gap:.5rem}.review-header{gap:1rem}.review-meta{text-align:left}.student-header-card{flex-direction:column;text-align:center}}.form-group{text-align:left}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-label{letter-spacing:.02em}.form-input{font-family:var(--font-body);outline:0}.form-input:focus{box-shadow:0 0 20px var(--accent-glow);background:rgba(255,255,255,.08)}.filter-input::placeholder{color:var(--text-muted)}.form-input[type=date]{color-scheme:dark}.form-input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.6;cursor:pointer}.checkbox-label{color:var(--blue-200);font-size:.9rem}.gender-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.gender-option{position:relative;cursor:pointer}.gender-option input[type=radio]{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.gender-label{display:block;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:.75rem 1rem;font-size:.9rem;color:var(--text-muted);text-align:center;transition:all .2s ease}.gender-option input[type=radio]:checked+.gender-label{background:rgba(0,212,255,.1);border-color:var(--accent);color:var(--white)}.gender-option:hover .gender-label{border-color:rgba(255,255,255,.2);color:var(--white)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.875rem 1.5rem;font-size:1rem;font-family:var(--font-body);font-weight:600;border-radius:12px;cursor:pointer;transition:all .2s ease;text-decoration:none;position:relative;overflow:hidden}.btn-primary:active{transform:translateY(0)}.btn-primary.loading .btn-text{opacity:0}.activities-table tbody tr:hover .delete-btn,.btn-primary.loading .btn-loader{opacity:1}.btn-primary .btn-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid transparent;border-top-color:var(--white);border-radius:50%;opacity:0;animation:spin .8s linear infinite}.btn-primary,.btn-secondary{justify-content:center;text-decoration:none}.btn-secondary:hover{border-color:rgba(255,255,255,.3)}.btn-social{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--white);font-weight:500}.btn-social:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);transform:translateY(-2px)}.btn-google{background:#fff;color:#1f1f1f;border-color:#dadce0}.btn-google:hover{background:#f8f9fa;border-color:#dadce0;box-shadow:0 4px 12px rgba(0,0,0,.15)}.btn-apple{background:#000;color:#fff;border-color:#000}.btn-apple:hover{background:#1a1a1a;box-shadow:0 4px 12px rgba(0,0,0,.3)}.social-icon,.toast-notification svg{width:20px;height:20px;flex-shrink:0}.social-buttons{display:flex;flex-direction:column;gap:.75rem}.btn-icon:hover{border-color:rgba(255,255,255,.2)}.btn-outline.btn-sm{padding:.5rem;background:0 0;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.btn-outline.btn-sm:hover{border-color:#ef4444;color:#ef4444;background:rgba(239,68,68,.1)}.sport-badge{background:rgba(37,99,235,.2);color:var(--blue-300);border:1px solid rgba(37,99,235,.3)}.sport-badge.sport-run,.sport-badge.sport-trailrun,.sport-badge.sport-virtualrun{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.3)}.sport-badge.sport-trailrun,.sport-badge.sport-virtualrun{color:#fca5a5}.sport-badge.sport-cycling,.sport-badge.sport-ride{background:rgba(34,197,94,.15);border-color:rgba(34,197,94,.3)}.sport-badge.sport-ebikeride,.sport-badge.sport-gravelride,.sport-badge.sport-mountainbikeride,.sport-badge.sport-virtualride{background:rgba(34,197,94,.15);color:#86efac;border-color:rgba(34,197,94,.3)}.sport-badge.sport-swim{background:rgba(6,182,212,.15);color:#67e8f9;border-color:rgba(6,182,212,.3)}.sport-badge.sport-hike,.sport-badge.sport-walk{background:rgba(234,179,8,.15);color:#fde047;border-color:rgba(234,179,8,.3)}.sport-badge.sport-crossfit,.sport-badge.sport-highintensityintervaltraining,.sport-badge.sport-weighttraining,.sport-badge.sport-yoga{background:rgba(168,85,247,.15);color:#d8b4fe;border-color:rgba(168,85,247,.3)}.sport-badge.sport-alpineski,.sport-badge.sport-nordicski,.sport-badge.sport-skiing,.sport-badge.sport-snowboard{background:rgba(147,197,253,.15);color:#bfdbfe;border-color:rgba(147,197,253,.3)}.modal.active{display:flex}.modal-content{animation:modalSlideIn .3s ease}#global-upload-modal .modal-content{background:#0f2444;background:var(--blue-800)}.empty-state{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:12px}.empty-text{font-size:1rem}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.06)}.page-info{color:var(--text-muted);font-size:.9rem}.toast-notification{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(100px);display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;background:var(--blue-800);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:all .3s ease;z-index:2000}.toast-notification.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.toast-notification svg{color:var(--accent)}.page-title,.toast-message{font-size:.9rem;color:var(--white)}.page-title{font-family:var(--font-display);font-size:2.5rem;font-weight:400;letter-spacing:.05em;margin-bottom:1rem}.page-title .count{font-weight:400;color:var(--text-muted)}.header-left .logo,.section-title{font-family:var(--font-display);letter-spacing:.03em}.page-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}@media (max-width:640px){.form-row,.gender-options{grid-template-columns:1fr}}.dashboard-container{min-height:100vh;background:radial-gradient(ellipse 80% 50%at 50% -20%,var(--blue-600),transparent),linear-gradient(180deg,var(--blue-900) 0%,var(--blue-800) 100%)}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:rgba(0,0,0,.2);border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(10px)}.header-left .logo{font-size:1.75rem;letter-spacing:.1em;color:var(--white);text-decoration:none;background:linear-gradient(135deg,var(--white) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-right{display:flex;align-items:center;gap:1rem}.user-name{font-size:.9rem;color:var(--blue-200)}.dashboard-main{max-width:1400px;margin:0 auto}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.filters-bar{display:flex;gap:.75rem;flex-wrap:wrap;flex:1}.btn-upload{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-family:var(--font-body);font-weight:600;background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);color:var(--white);border:0;border-radius:8px;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.btn-upload:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(37,99,235,.4)}.btn-search svg,.btn-upload svg{width:16px;height:16px}.btn-upload,.filter-input{padding:.5rem .875rem}.filter-input,.filter-select{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:.85rem;font-family:var(--font-body);color:var(--white);outline:0;transition:all .2s ease;min-width:140px}.filter-input:focus,.filter-select:focus{border-color:var(--accent);box-shadow:0 0 15px var(--accent-glow)}.filter-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding:.5rem 2.5rem .5rem .875rem}.filter-select option{background:var(--blue-800);color:var(--white)}.search-group{display:flex;gap:0}.search-group .filter-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.btn-search{display:flex;align-items:center;justify-content:center;padding:0 .75rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-left:none;border-radius:0 8px 8px 0;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.btn-search:hover{background:rgba(0,212,255,.15);color:var(--accent)}.btn-search:active{background:rgba(0,212,255,.25)}.search-group .filter-input:focus+.btn-search{border-color:var(--accent)}.table-wrapper{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden}.activities-table{width:100%;border-collapse:collapse}.activities-table th{background:rgba(0,0,0,.2);padding:.875rem 1rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);text-align:left;border-bottom:1px solid rgba(255,255,255,.06);white-space:nowrap}.activities-table th.sortable{cursor:pointer;user-select:none;transition:all .2s ease}.activities-table th.sortable:hover{color:var(--white);background:rgba(0,0,0,.3)}.activities-table th.sortable.active{color:var(--accent)}.activities-table th.sortable span{gap:.4rem}.activities-table th.sortable span,.sort-indicator{display:inline-flex;align-items:center}.sort-indicator svg{opacity:.5}.sort-indicator svg.inactive{opacity:.2}.activities-table th.active .sort-indicator svg{opacity:1;color:var(--accent)}.activities-table td{padding:1rem;font-size:.9rem;color:var(--white);border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle}.activities-table tbody tr{transition:background .15s ease}.activities-table tbody tr:hover,.segments-table tbody tr:hover{background:rgba(255,255,255,.03)}.activities-table tbody tr.activity-row:hover{background:rgba(0,212,255,.05)}.title-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.distance-cell,.duration-cell,.elevation-cell{font-family:"JetBrains Mono","SF Mono","Fira Code",monospace;font-size:.85rem;color:var(--blue-100)}.actions-col{width:50px}.actions-cell{text-align:right}.delete-btn{opacity:0;transition:opacity .2s ease}.delete-btn:hover{color:#f87171;border-color:rgba(248,113,113,.3);background:rgba(248,113,113,.1)}.upload-zone{border:2px dashed rgba(255,255,255,.15);border-radius:12px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .2s ease}.upload-zone.dragover,.upload-zone:hover{border-color:var(--accent);background:rgba(0,212,255,.05)}.upload-progress.hidden,.upload-zone.hidden{display:none}.upload-icon{width:48px;height:48px;margin:0 auto 1rem;color:var(--accent)}.upload-icon svg{width:100%;height:100%}.upload-text{font-size:1rem;color:var(--white);margin-bottom:.25rem}.upload-subtext{font-size:.85rem;color:var(--text-muted)}.upload-progress{text-align:center;padding:2rem}.progress-bar{margin-bottom:1rem}.progress-fill{background:linear-gradient(90deg,var(--blue-500),var(--accent));animation:progressPulse 1.5s ease-in-out infinite}@media (max-width:900px){.dashboard-header{padding:.875rem 1rem}.dashboard-main{padding:1.5rem 1rem}.page-title{font-size:2rem}.toolbar{flex-direction:column;align-items:stretch}.filters-bar{order:2}.btn-upload{order:1;justify-content:center}.filter-input,.filter-select{flex:1;min-width:0}.table-wrapper{overflow-x:auto}.activities-table{min-width:700px}.delete-btn{opacity:1}}.not-found-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:2rem;background:radial-gradient(ellipse 80% 50%at 50% -20%,var(--blue-600),transparent),radial-gradient(ellipse 60% 40%at 80% 100%,var(--blue-700),transparent),linear-gradient(180deg,var(--blue-900) 0%,var(--blue-800) 100%);overflow:hidden}.not-found-content{text-align:center;z-index:10;max-width:600px;width:100%;animation:fadeInUp .8s ease-out}.error-code,.error-title{font-family:var(--font-display)}.error-code,.error-code::after{-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.error-code{font-size:clamp(8rem,25vw,14rem);font-weight:400;letter-spacing:.05em;line-height:.85;margin-bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.15)0,rgba(255,255,255,.02) 100%);position:relative}.error-code::after{content:"404";position:absolute;inset:0;background:linear-gradient(135deg,var(--white) 0%,var(--blue-200) 50%,var(--accent) 100%);animation:glitchText 3s ease-in-out infinite}.error-title{font-size:clamp(1.5rem,5vw,2.5rem);letter-spacing:.1em;color:var(--white);text-transform:uppercase}.error-message{line-height:1.6}.error-path{font-family:"JetBrains Mono","SF Mono",monospace;font-size:.85rem;color:var(--accent);background:rgba(0,212,255,.1);padding:.5rem 1rem;border-radius:8px;display:inline-block;margin-bottom:2rem;word-break:break-all;max-width:100%}.error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-home{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);color:var(--white);font-size:1rem;font-weight:600;text-decoration:none;border-radius:12px;transition:all .2s ease}.btn-home:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(37,99,235,.4)}.btn-back svg,.btn-home svg{width:20px;height:20px}.btn-back{font-weight:500;cursor:pointer}.btn-back:hover{border-color:rgba(255,255,255,.25)}.trail-decoration{position:absolute;pointer-events:none;opacity:.1}.trail-1{top:20%;left:5%;width:200px;height:200px;animation:trailFloat 15s ease-in-out infinite}.trail-2{bottom:15%;right:8%;width:150px;height:150px;animation:trailFloat 12s ease-in-out infinite reverse}@media (max-width:640px){.not-found-container{padding:1.5rem}.error-actions{flex-direction:column}.btn-back,.btn-home{width:100%;justify-content:center}}.feed-container{min-height:100vh;background:radial-gradient(ellipse 80% 50%at 50% -20%,var(--blue-600),transparent),radial-gradient(ellipse 60% 40%at 80% 100%,var(--blue-700),transparent),var(--blue-900)}.feed-main{max-width:680px;margin:0 auto;padding:2rem 1rem}.feed-activities{display:flex;flex-direction:column;gap:1.5rem}.activity-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:1.5rem;cursor:pointer;transition:all .2s ease}.activity-card:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1);transform:translateY(-2px)}.activity-card-header{margin-bottom:1rem}.activity-author{display:flex;align-items:flex-start;gap:.75rem;text-decoration:none;color:inherit}.author-avatar,.author-avatar-placeholder{width:44px;height:44px;border-radius:50%;flex-shrink:0}.author-avatar{object-fit:cover;border:2px solid rgba(255,255,255,.1)}.author-avatar-placeholder{background:linear-gradient(135deg,var(--blue-500),var(--accent));display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;color:var(--white)}.author-info{flex:1;min-width:0}.author-name-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.author-name{font-weight:600;color:var(--white);font-size:.95rem}.sport-icon-large{font-size:1.5rem;line-height:1}.activity-date-time{color:var(--text-muted);font-size:.85rem;white-space:nowrap}.activity-title-inline{color:var(--white);font-size:.95rem;font-weight:500;flex:1;min-width:0}.activity-device-name{color:var(--text-muted);font-size:.8rem;font-weight:400}.activity-card-body{margin-bottom:1rem}.activity-card-stats{display:flex;gap:1.5rem}.activity-card-stats .stat{display:flex;flex-direction:column}.activity-card-stats .stat-value{font-size:1rem;font-weight:600;color:var(--white);font-family:"JetBrains Mono","SF Mono",monospace}.activity-card-stats .stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.activity-card-footer{justify-content:space-between;gap:.75rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.06)}.activity-card-footer,.footer-left,.footer-right{display:flex;align-items:center}.footer-left{min-width:0}.footer-right{gap:.75rem}.kudoers-wrapper{position:relative}.kudoers-avatars{display:flex;cursor:pointer;padding:.25rem;margin:-.25rem;border-radius:16px;transition:background .2s ease}.kudoers-avatars:hover{background:rgba(255,255,255,.05)}.kudoer-mini-avatar{width:28px;height:28px;border-radius:50%;border:2px solid var(--blue-900);margin-left:-8px;position:relative;overflow:hidden}.kudoer-mini-avatar:first-child{margin-left:0}.kudoer-mini-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue-500),var(--accent));font-size:.6rem;font-weight:600;color:var(--white)}.kudoers-dropdown{position:absolute;bottom:calc(100% + 8px);left:0;min-width:220px;max-height:280px;overflow-y:auto;background:var(--blue-800);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.4);z-index:100;animation:dropdownSlideUp .15s ease-out}.kudoers-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.06);font-size:.85rem;font-weight:600;color:var(--white)}.kudoers-dropdown-close{background:0 0;border:0;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .2s ease}.kudoers-dropdown-close:hover{color:var(--white)}.kudoers-dropdown-close svg{width:14px;height:14px}.kudoers-dropdown-list{list-style:none;padding:.5rem 0;margin:0}.kudoers-dropdown-item{padding:0}.kudoers-dropdown-link{display:flex;align-items:center;gap:.625rem;padding:.5rem 1rem;color:var(--text-primary);text-decoration:none;transition:background .15s ease}.kudoers-dropdown-link:hover{background:rgba(255,255,255,.05)}.kudoers-dropdown-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.kudoers-dropdown-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--blue-500),var(--accent));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.75rem;color:var(--white);flex-shrink:0}.kudoers-dropdown-name{font-size:.85rem;font-weight:500;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kudoers-dropdown-empty,.kudoers-dropdown-loading{padding:1.5rem;text-align:center;color:var(--text-muted);font-size:.85rem}.activity-card-media{position:relative;margin:0-1.5rem;margin-bottom:1rem;width:calc(100% + 3rem);aspect-ratio:16/9;max-height:220px;overflow:hidden;background:rgba(0,0,0,.3);border-radius:0;isolation:isolate;pointer-events:none}.activity-card-map,.activity-card-photo{width:100%;height:100%;pointer-events:none}.activity-card-map{background:rgba(15,23,42,.9);position:relative;z-index:1}.activity-card-map .leaflet-container{pointer-events:none}.activity-card-photo{overflow:hidden}.activity-card-image img,.activity-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.activity-card-photo.overlay{position:absolute;bottom:12px;left:12px;width:22%;max-width:100px;height:auto;aspect-ratio:1;border-radius:8px;border:2px solid rgba(255,255,255,.2);box-shadow:0 4px 16px rgba(0,0,0,.4);overflow:hidden;z-index:1000;transition:transform .2s ease,box-shadow .2s ease}.activity-card:hover .activity-card-photo.overlay{transform:scale(1.05);box-shadow:0 6px 20px rgba(0,0,0,.5);border-color:rgba(255,255,255,.4)}.activity-card.has-media:hover .activity-card-photo:not(.overlay) img{transform:scale(1.02)}.activity-card-image{margin:0-1.5rem;margin-bottom:1rem;aspect-ratio:16/9;max-height:300px;overflow:hidden;background:rgba(0,0,0,.2);pointer-events:none}.kudo-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:20px;color:var(--text-muted);cursor:pointer;transition:all .2s ease;font-size:.9rem}.comment-btn svg,.kudo-btn svg{width:18px;height:18px}.kudo-btn:hover{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#ef4444}.kudo-btn.kudoed{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.4);color:#ef4444}.kudo-btn.kudoed svg{fill:#ef4444}.kudo-btn[data-is-owner=true]:not(.kudoed):hover{background:rgba(239,68,68,.08);cursor:pointer}.comment-count,.kudo-count{font-weight:600}.kudoers-modal-content{max-width:500px;width:90%}.kudoers-list{list-style:none;padding:0;margin:0}.kudoer-item{border-bottom:1px solid rgba(255,255,255,.05)}.kudoer-item:last-child{border-bottom:none}.kudoer-link{display:flex;align-items:center;gap:.75rem;padding:.75rem;color:var(--text-primary);text-decoration:none;transition:background .2s ease}.kudoer-link:hover{background:rgba(255,255,255,.05)}.kudoer-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.kudoer-avatar-placeholder{width:40px;height:40px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;color:#fff}.kudoer-info{display:flex;flex-direction:column;gap:.125rem}.kudoer-name{font-weight:600;font-size:.95rem}.kudoer-username,.share-metric-select label{font-size:.85rem;color:var(--text-muted)}.no-kudoers{text-align:center;color:var(--text-muted);padding:2rem;margin:0}.comment-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:20px;color:var(--text-muted);cursor:pointer;transition:all .2s ease;font-size:.9rem}.comment-btn:hover{background:rgba(0,212,255,.1);border-color:rgba(0,212,255,.3);color:var(--accent)}.feed-empty{padding:3rem 2rem}.search-trigger{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--text-muted);text-decoration:none;margin-bottom:2rem;transition:all .2s ease}.search-trigger:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2)}.search-trigger svg{width:20px;height:20px}.activities-list{display:flex;flex-direction:column;gap:.75rem}.activity-list-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;text-decoration:none;color:inherit;transition:all .2s ease}.activity-list-item:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}.activity-list-info{flex:1;display:flex;flex-direction:column}.activity-list-title{font-weight:600;color:var(--white)}.activity-list-date,.activity-list-stats{font-size:.8rem;color:var(--text-muted)}.activity-list-stats{display:flex;gap:1rem;font-size:.85rem;font-family:"JetBrains Mono","SF Mono",monospace}@media (max-width:768px){.activity-card-media{max-height:180px}.activity-card-photo.overlay{width:25%;max-width:80px;bottom:8px;left:8px;border-radius:6px}.activity-card-stats{gap:1rem}.activity-card-image{margin:0-1.5rem;width:calc(100% + 3rem)}.author-name-row{gap:.375rem}.author-name{font-size:.9rem}.sport-icon-large{font-size:1.25rem}.activity-date-time{font-size:.8rem}.activity-title-inline{font-size:.9rem;width:100%}.activity-device-name{font-size:.75rem;width:100%}.kudoer-mini-avatar{width:24px;height:24px;margin-left:-6px}.kudoer-mini-placeholder{font-size:.55rem}.kudoers-dropdown{min-width:200px;max-height:240px}}@media (max-width:480px){.activity-card-media{max-height:160px}.activity-card-photo.overlay{width:28%;max-width:70px;bottom:6px;left:6px}}.feed-comments-section{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.06)}.feed-comments-list{max-height:300px;overflow-y:auto;margin-bottom:.75rem}.comment-error,.loading-comments,.no-feed-comments{text-align:center;color:var(--text-muted);font-size:.85rem;padding:.75rem}.feed-comment-item{display:flex;gap:.625rem;padding:.5rem 0}.feed-comment-item:not(:last-child){border-bottom:1px solid rgba(255,255,255,.04)}.feed-comment-avatar{flex-shrink:0}.feed-comment-avatar-img,.feed-comment-avatar-placeholder{width:32px;height:32px;border-radius:50%;object-fit:cover}.feed-comment-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue-500),var(--accent));font-size:.7rem;font-weight:600;color:var(--white)}.feed-comment-content{flex:1;min-width:0}.feed-comment-author{font-weight:600;color:var(--white);font-size:.85rem;text-decoration:none;margin-right:.375rem}.feed-comment-author:hover{color:var(--accent)}.feed-comment-text{color:rgba(255,255,255,.85);font-size:.85rem;word-break:break-word}.feed-comment-meta{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}.feed-comment-like,.feed-comment-time{font-size:.75rem;color:var(--text-muted)}.feed-comment-like{display:flex;align-items:center;gap:.25rem;padding:0;background:0 0;border:0;cursor:pointer;transition:color .2s ease}.feed-comment-like svg{width:12px;height:12px}.feed-comment-like.liked,.feed-comment-like:hover{color:#ef4444}.feed-comment-form{display:flex;gap:.5rem}.feed-comment-input{flex:1;padding:.625rem .875rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:20px;color:var(--white);font-size:.85rem;font-family:inherit}.feed-comment-input::placeholder,.share-search input::placeholder{color:var(--text-muted)}.feed-comment-input:focus,.share-metric-select select:focus,.share-search input:focus{outline:0;border-color:var(--accent)}.feed-comment-submit{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--accent);border:0;border-radius:50%;color:var(--white);cursor:pointer;transition:background .2s ease;flex-shrink:0}.feed-comment-submit:hover{background:#00b8d9}.feed-comment-submit:disabled{opacity:.5;cursor:not-allowed}.feed-comment-submit svg{width:16px;height:16px}.feed-loading,.feed-loading-indicator{flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-muted);font-size:.9rem}.feed-loading{display:flex;padding:3rem 2rem}.feed-loading .loading-spinner,.feed-loading-indicator .loading-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.feed-loading-indicator{display:none;padding:2rem}.feed-loading-indicator .loading-spinner{width:24px;height:24px;border:2px solid rgba(255,255,255,.1)}.dashboard-main{min-height:calc(100vh - 60px);padding:2rem;background:linear-gradient(135deg,rgba(0,50,80,.1)0,rgba(0,20,40,.2) 100%)}.dashboard-container{max-width:1400px;margin:0 auto}.dashboard-header{margin-bottom:2rem}.dashboard-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.dashboard-title{display:flex;align-items:center;gap:.75rem;font-size:1.75rem;font-weight:600;color:var(--white)}.garmin-logo{color:#00b4d8}.btn-back{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-muted);text-decoration:none;font-size:.9rem;transition:all .2s ease}.btn-back:hover{background:rgba(255,255,255,.1);color:var(--white)}.dashboard-subtitle{color:var(--text-muted);margin-top:.5rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card,.stat-icon{display:flex;align-items:center}.stat-card{gap:1rem}.stat-icon{width:48px;height:48px;border-radius:12px;justify-content:center}.stat-icon svg{width:24px;height:24px}.stat-total .stat-icon{background:rgba(0,180,216,.15);color:#00b4d8}.stat-today .stat-icon{background:rgba(139,92,246,.15);color:#8b5cf6}.stat-processed .stat-icon{background:rgba(34,197,94,.15);color:#22c55e}.stat-errors .stat-icon{background:rgba(239,68,68,.15);color:#ef4444}.stat-content{display:flex;flex-direction:column}.stat-value{line-height:1}.stat-label{margin-top:.25rem}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.dashboard-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.5rem}.type-list{display:flex;flex-direction:column;gap:.5rem}.type-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.segments-table tbody tr:last-child,.type-row:last-child{border-bottom:none}.type-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.type-badge.activity{background:rgba(0,180,216,.15);color:#00b4d8}.type-badge.health{background:rgba(34,197,94,.15);color:#22c55e}.type-badge.common{background:rgba(139,92,246,.15);color:#8b5cf6}.type-badge.womens-health{background:rgba(236,72,153,.15);color:#ec4899}.type-count{font-weight:600;color:var(--white)}.endpoint-group,.endpoints-list{display:flex;flex-direction:column;gap:1rem}.endpoint-group{gap:.25rem}.endpoint-group-title{font-size:.75rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:.25rem}.endpoint{display:block;font-size:.8rem;color:var(--text-muted);padding:.25rem 0}.recent-events{grid-column:1/-1}.events-table-wrapper{overflow-x:auto}.events-table{width:100%;border-collapse:collapse}.events-table td,.events-table th{padding:.75rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.05)}.events-table th{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.events-table td{font-size:.9rem;color:var(--white)}.time-cell{white-space:nowrap;color:var(--text-muted)!important}.summary-cell,.user-cell{font-family:monospace;font-size:.8rem!important}.status-received{background:rgba(251,191,36,.15);color:#fbbf24}.status-processed{background:rgba(34,197,94,.15);color:#22c55e}.status-stored{background:rgba(0,180,216,.15);color:#00b4d8}.status-skipped{background:rgba(156,163,175,.15);color:#9ca3af}.status-error{background:rgba(239,68,68,.15);color:#ef4444}.empty-row,.empty-state{text-align:center;color:var(--text-muted);padding:2rem}@media (max-width:768px){.dashboard-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}.activity-content{display:flex;flex-direction:column;gap:1.25rem}.activity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.steps-chart-section{margin-top:.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}.steps-chart-wrapper{position:relative;width:100%}.steps-overlay{position:absolute;top:.5rem;left:50%;transform:translateX(-50%);z-index:10;text-align:center;opacity:.85;pointer-events:none}.steps-primary{display:flex;align-items:baseline;justify-content:center}.steps-total-value{font-size:2.5rem;font-weight:700;color:var(--white);line-height:1;text-shadow:0 2px 10px rgba(0,0,0,.3)}.steps-total-label{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.calories-chart-section{margin-top:.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}.calories-chart-wrapper{position:relative;width:100%}.calories-overlay{position:absolute;top:.5rem;left:50%;transform:translateX(-50%);z-index:10;text-align:center;opacity:.85;pointer-events:none}.calories-primary{display:flex;align-items:baseline;justify-content:center}.calories-total-value{font-size:2.5rem;font-weight:700;color:var(--white);line-height:1;text-shadow:0 2px 10px rgba(0,0,0,.3)}.calories-total-label{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.activity-item{text-align:center;padding:1rem .5rem;background:rgba(255,255,255,.03);border-radius:8px}.activity-value{display:block;font-size:1.5rem;font-weight:600;color:var(--white);line-height:1}.activity-label{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.calories-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}.calories-item{text-align:center}.calories-item.total{background:rgba(0,180,216,.1);border-radius:8px;padding:.5rem}.cal-value{display:block;font-size:1.25rem;font-weight:600;color:var(--white)}.cal-label{font-size:.7rem;color:var(--text-muted)}.intensity-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.intensity-item{text-align:center;padding:.75rem;border-radius:8px}.intensity-item.moderate{background:rgba(251,191,36,.1)}.intensity-item.vigorous{background:rgba(239,68,68,.1)}.intensity-value{color:var(--white)}.fitness-metrics{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}.fitness-item{text-align:center}.fitness-label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem}.fitness-value{font-size:1.5rem;font-weight:600;color:var(--accent)}.health-main{min-height:calc(100vh - 60px);padding:2rem;background:linear-gradient(135deg,rgba(0,50,80,.1)0,rgba(0,20,40,.2) 100%)}.health-container{max-width:1400px;margin:0 auto}.error-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-radius:12px;margin:2rem 0;text-align:center}.health-header{margin-bottom:2rem}.health-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.health-title{font-size:1.75rem;font-weight:600;color:var(--white)}.title-with-link{display:flex;align-items:center;gap:1rem}.readiness-link{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.2);border-radius:6px;color:#4ade80;font-size:.8rem;font-weight:500;text-decoration:none;transition:all .2s ease}.readiness-link:hover{background:rgba(74,222,128,.2);border-color:rgba(74,222,128,.4)}.date-nav{display:flex;align-items:center;gap:.5rem}.date-nav-btn{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:.5rem;cursor:pointer;color:var(--text-muted);transition:all .2s ease}.date-nav-btn:hover{background:rgba(255,255,255,.1);color:var(--white)}.date-nav-btn svg{width:18px;height:18px;display:block}.date-picker,.today-btn{padding:.5rem 1rem;font-size:.85rem}.date-picker{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--white);font-size:.95rem;cursor:pointer}.date-picker::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}.health-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.health-empty .empty-icon{width:80px;height:80px;margin-bottom:1.5rem;color:var(--accent);opacity:.5}.health-empty .empty-icon svg{width:100%;height:100%}.health-empty h2{font-size:1.5rem;margin-bottom:.5rem;color:var(--white)}.health-empty p{color:var(--text-muted);max-width:400px;margin-bottom:1.5rem}.btn-connect{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--accent);color:var(--blue-900);border-radius:8px;text-decoration:none;font-weight:500;transition:all .2s ease}.btn-connect:hover{filter:brightness(1.1)}.battery-content,.battery-stats .battery-stat{display:flex;flex-direction:column;gap:1.25rem}.battery-chart-wrapper{position:relative;width:100%}.battery-overlay{position:absolute;top:.5rem;left:50%;transform:translateX(-50%);z-index:10;text-align:center;opacity:.85;pointer-events:none}.battery-primary{display:flex;align-items:baseline;justify-content:center;gap:.15rem}.battery-current-value{font-size:2.75rem;font-weight:700;color:var(--white);line-height:1;text-shadow:0 2px 10px rgba(0,0,0,.3)}.battery-unit{font-size:1rem;color:var(--text-muted);font-weight:500}.battery-current-label{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.battery-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.battery-stats .battery-stat{align-items:center;padding:.75rem .5rem;background:rgba(255,255,255,.03);border-radius:8px;gap:.25rem}.battery-stats .battery-stat.charged .stat-icon-small{background:rgba(74,222,128,.15);color:#4ade80}.battery-stats .battery-stat.drained .stat-icon-small{background:rgba(245,158,11,.15);color:#f59e0b}.battery-stats .battery-stat.range .stat-icon-small{background:rgba(251,191,36,.15);color:#fbbf24}.battery-stats .battery-stat.charged .stat-value-small{color:#4ade80}.battery-stats .battery-stat.drained .stat-value-small{color:#f59e0b}.battery-level-bar{padding-top:.75rem;border-top:1px solid rgba(255,255,255,.06)}.battery-level-track{position:relative;height:10px;background:rgba(255,255,255,.08);border-radius:5px;overflow:hidden}.battery-level-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#ef4444 0,#f59e0b 25%,#fbbf24 50%,#84cc16 75%,#4ade80 100%);border-radius:5px;transition:width .5s ease}.battery-level-zones{position:absolute;top:0;left:0;right:0;bottom:0;display:flex}.battery-level-zones .zone{flex:1;border-right:1px solid rgba(0,0,0,.2)}.battery-level-zones .zone:last-child{border-right:none}.battery-level-labels{display:flex;justify-content:space-between;margin-top:.35rem;font-size:.65rem;color:var(--text-muted);padding:0 .15rem}.battery-net-badge{margin-left:auto;padding:.2rem .6rem;border-radius:6px;font-size:.8rem;font-weight:600}.battery-positive{background:rgba(74,222,128,.15);color:#4ade80}.battery-neutral{background:rgba(251,191,36,.15);color:#fbbf24}.battery-warning{background:rgba(245,158,11,.15);color:#f59e0b}.battery-negative{background:rgba(239,68,68,.15);color:#f87171}.health-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.health-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.5rem}.card-title{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;color:var(--white);margin-bottom:1.25rem}.card-title svg{color:var(--accent)}.card-title .status-badge,.card-title .stress-qualifier{margin-left:auto}.status-badge{display:inline-block;text-transform:uppercase;letter-spacing:.5px}.status-badge.large{padding:.25rem .75rem;font-size:.75rem}.status-balanced{background:rgba(34,197,94,.2);color:#4ade80}.status-high{background:rgba(0,180,216,.2);color:#22d3ee}.status-low{background:rgba(251,191,36,.2);color:#fbbf24}.status-poor{background:rgba(239,68,68,.2);color:#f87171}.detail-label{display:block}.chart-wrapper{position:relative;width:100%}.chart-overlay{position:absolute;top:.5rem;left:50%;transform:translateX(-50%);z-index:10;text-align:center;opacity:.75}.chart-overlay-value{font-size:2rem;font-weight:600;color:var(--white);line-height:1}.chart-overlay-unit{font-size:.9rem;color:var(--text-muted);margin-left:.25rem}.chart-overlay-label{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.battery-chart-container,.stress-chart-container{width:100%;min-height:160px}.calories-chart-container,.hr-chart-container,.hrv-chart-container,.spo2-chart-container,.steps-chart-container{width:100%;min-height:140px}.no-chart-data,.stat-icon-small{display:flex;align-items:center;justify-content:center}.no-chart-data{min-height:140px;color:var(--text-muted);font-size:.9rem}.stat-icon-small{width:24px;height:24px;border-radius:6px}.stat-value-small{font-size:1.1rem;font-weight:600;color:var(--white);line-height:1}.stat-label-small{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.metric-label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem}.metric-value{font-size:1rem;color:var(--white);font-weight:500}.hr-content{display:flex;flex-direction:column;gap:1rem}.hr-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.hr-item{text-align:center;padding:.75rem;border-radius:8px}.hr-item.resting{background:rgba(139,92,246,.1)}.hr-item.min{background:rgba(34,197,94,.1)}.hr-item.avg{background:rgba(251,191,36,.1)}.hr-item.max{background:rgba(239,68,68,.1)}.hr-value{display:block;font-weight:600;line-height:1}.hr-label{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.hrv-content{display:flex;flex-direction:column;gap:1.5rem}.hrv-chart-wrapper{position:relative;width:100%}.hrv-overlay{position:absolute;top:.5rem;left:50%;transform:translateX(-50%);z-index:10;text-align:center;opacity:.75}.hrv-primary{display:flex;align-items:baseline;justify-content:center;gap:.25rem}.hrv-value{font-size:3rem;font-weight:600;color:var(--white);line-height:1}.hrv-label,.hrv-unit{font-size:1rem;color:var(--text-muted)}.hrv-label{display:block;font-size:.8rem;margin-top:.25rem}.hrv-metrics{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.hrv-metric{text-align:center;padding:.75rem;background:rgba(255,255,255,.03);border-radius:8px}.hrv-baseline{padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}.baseline-label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem;text-align:center}.baseline-bar{height:12px;border-radius:6px;display:flex;overflow:hidden;position:relative}.baseline-low{background:rgba(251,191,36,.3);flex:1}.baseline-balanced{background:rgba(34,197,94,.3);flex:1}.baseline-high{background:rgba(0,180,216,.3);flex:1}.baseline-current{position:absolute;top:-2px;width:4px;height:16px;background:var(--white);border-radius:2px;transform:translateX(-50%)}.baseline-labels{display:flex;justify-content:space-between;margin-top:.25rem;font-size:.7rem;color:var(--text-muted)}.quick-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.quick-stat,.quick-stat .stat-icon{border-radius:12px;display:flex;align-items:center}.quick-stat{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);padding:1.25rem;gap:1rem}.quick-stat .stat-icon{width:48px;height:48px;justify-content:center}.quick-stat .stat-icon svg{width:24px;height:24px}.sleep-stat .stat-icon{background:rgba(139,92,246,.15);color:#a78bfa}.hrv-stat .stat-icon{background:rgba(34,197,94,.15);color:#4ade80}.battery-stat .stat-icon{background:rgba(251,191,36,.15);color:#fbbf24}.steps-stat .stat-icon{background:rgba(0,180,216,.15);color:#00b4d8}.quick-stat .stat-content{display:flex;flex-direction:column}.quick-stat .stat-value{font-size:1.75rem;font-weight:600;color:var(--white);line-height:1}.quick-stat .stat-label{font-size:.85rem;color:var(--text-muted);margin-top:.25rem;display:flex;align-items:center;gap:.5rem}@media (max-width:1024px){.health-grid{grid-template-columns:1fr}.quick-stats{grid-template-columns:repeat(2,1fr)}.sleep-content{grid-template-columns:1fr;text-align:center}.sleep-breakdown{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:1rem}.sleep-scores{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.health-main{padding:1rem}.health-title-row{flex-direction:column;align-items:flex-start}.date-nav{width:100%;justify-content:space-between}.quick-stats{grid-template-columns:1fr 1fr}.quick-stat{flex-direction:column;text-align:center;gap:.5rem}.activity-grid,.hr-summary,.sleep-scores{grid-template-columns:repeat(2,1fr)}}.card-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1.25rem}.card-header-row .card-title{margin-bottom:0}.health-shared-avatars{gap:.5rem}.health-shared-avatars.empty{opacity:0;transition:opacity .2s ease}.health-card:hover .health-shared-avatars.empty,.histogram-sport-toggle.active .histogram-sport-checkbox svg,.histogram-sport-toggle.active::before,.shared-avatar:hover .remove-share-icon{opacity:1}.health-shared-avatars,.shared-avatar,.shared-avatar-list{display:flex;align-items:center}.shared-avatar{position:relative;width:28px;height:28px;border-radius:50%;border:2px solid var(--card-bg, rgba(255, 255, 255, 0.05));background:linear-gradient(135deg,#6366f1,#8b5cf6);cursor:pointer;margin-left:-8px;transition:all .2s ease;overflow:hidden;justify-content:center;padding:0}.shared-avatar:first-child{margin-left:0}.shared-avatar:hover{transform:translateY(-2px);z-index:10}.shared-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.shared-avatar .avatar-initials{font-size:.65rem;font-weight:600;color:#fff;text-transform:uppercase}.shared-avatar .remove-share-icon{position:absolute;inset:0;background:rgba(239,68,68,.9);font-size:1rem;font-weight:700;color:#fff;opacity:0;transition:opacity .2s ease}.more-shared{font-size:.7rem;color:var(--text-muted);margin-left:.25rem}.add-share-btn,.shared-avatar .remove-share-icon{display:flex;align-items:center;justify-content:center}.add-share-btn{gap:.35rem;width:28px;height:28px;border-radius:50%;border:1px dashed rgba(255,255,255,.3);background:0 0;color:var(--text-muted);cursor:pointer;transition:all .2s ease;padding:0}.add-share-btn:hover{border-color:var(--accent);color:var(--accent);background:rgba(74,222,128,.1)}.add-share-btn.first{width:auto;border-radius:6px;padding:.35rem .6rem;font-size:.75rem}.add-share-btn.first span{display:inline}.sharers-dropdown{position:relative}.sharers-dropdown-btn,.sharers-dropdown-menu{border:1px solid rgba(147,112,219,.3);border-radius:8px}.sharers-dropdown-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .85rem;background:rgba(147,112,219,.15);color:#c4b5fd;font-size:.85rem;cursor:pointer;transition:all .2s ease}.sharers-dropdown-btn:hover{border-color:rgba(147,112,219,.5)}.sharers-dropdown-btn:hover,.sharers-dropdown-btn[aria-expanded=true]{background:rgba(147,112,219,.25)}.sharers-dropdown-btn[aria-expanded=true] .dropdown-arrow{transform:rotate(180deg)}.sharers-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:200px;max-height:280px;overflow-y:auto;background:var(--card-bg, #1a1a2e);padding:.5rem;display:none;z-index:100;box-shadow:0 8px 24px rgba(0,0,0,.3)}.sharers-dropdown-menu.show{display:block}.sharer-item{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:6px;text-decoration:none;color:var(--white);transition:background .15s ease}.health-shared-view .date-nav-btn:hover,.sharer-item:hover{background:rgba(147,112,219,.2)}.sharer-item.active{background:rgba(147,112,219,.3)}.share-search-result img,.sharer-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.sharer-initials{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:#fff}.sharer-name{font-size:.9rem}.viewing-shared-banner{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;background:linear-gradient(135deg,rgba(147,112,219,.2),rgba(139,92,246,.2));border:1px solid rgba(147,112,219,.4);border-radius:10px}.viewing-label{font-size:.85rem;color:#c4b5fd}.viewed-user{display:flex;align-items:center;gap:.5rem}.viewed-user-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid rgba(147,112,219,.5)}.viewed-user-initials{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:#fff}.share-modal-header h3,.viewed-user-name{font-weight:600;color:var(--white)}.back-to-my-health{margin-left:auto;padding:.4rem .75rem;background:rgba(255,255,255,.1);border-radius:6px;font-size:.8rem;color:var(--white);text-decoration:none;transition:background .2s ease}.back-to-my-health:hover{background:rgba(255,255,255,.15)}.health-header-actions{display:flex;align-items:center;gap:1rem}.modal-backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.share-modal{width:100%;max-width:420px;background:var(--card-bg, #1a1a2e);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.4)}.share-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}.share-modal-header h3{font-size:1.1rem;margin:0}.close-modal-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:0 0;border:0;border-radius:6px;font-size:1.5rem;color:var(--text-muted);cursor:pointer;transition:background .2s ease}.close-modal-btn:hover{background:rgba(255,255,255,.1);color:var(--white)}.share-modal-body{padding:1.25rem}.share-search{position:relative;margin-bottom:1rem}.share-metric-select select,.share-search input{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--white)}.share-search input{width:100%;padding:.75rem 1rem;font-size:.95rem}.share-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:200px;overflow-y:auto;background:var(--card-bg, #1a1a2e);border:1px solid rgba(255,255,255,.1);border-radius:8px;display:none;z-index:10}.share-search-results.show{display:block}.share-search-result{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background .15s ease}.share-search-result:hover{background:rgba(74,222,128,.15)}.share-search-result img{width:36px;height:36px}.share-search-result .initials{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:#fff}.share-search-result .user-name{font-size:.95rem;color:var(--white)}.share-metric-select{display:flex;flex-direction:column;gap:.5rem}.share-metric-select select{padding:.65rem .9rem;font-size:.9rem;cursor:pointer}.health-shared-view{--shared-accent:#c4b5fd;--shared-accent-rgb:196, 181, 253;--shared-bg:rgba(147, 112, 219, 0.05);--shared-border:rgba(147, 112, 219, 0.15)}.health-shared-view .health-main{background:linear-gradient(135deg,rgba(147,112,219,.08)0,rgba(139,92,246,.12) 100%)}.health-shared-view .health-card{background:rgba(147,112,219,.08);border-color:rgba(147,112,219,.2)}.health-shared-view .card-title svg{color:#a78bfa}.health-shared-view .status-badge{background:rgba(167,139,250,.2);color:#c4b5fd}.health-shared-view .quick-stat-box{background:rgba(147,112,219,.1);border-color:rgba(147,112,219,.25)}.health-shared-view .date-nav-btn,.health-shared-view .date-picker{border-color:rgba(147,112,219,.3)}.health-shared-view .readiness-link{background:rgba(167,139,250,.1);border-color:rgba(167,139,250,.2);color:#a78bfa}@media (max-width:768px){.card-header-row{flex-direction:column;gap:.5rem}.health-shared-avatars{align-self:flex-start}.health-header-actions{flex-direction:column;align-items:stretch;gap:.75rem}.sharers-dropdown-menu{right:auto;left:0}.viewing-shared-banner{flex-wrap:wrap}.back-to-my-health{margin-left:0;margin-top:.5rem;text-align:center;width:100%}}.sleep-content{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:start}.sleep-duration{text-align:center}.duration-value{display:block;font-size:2rem;font-weight:600;color:var(--white);line-height:1}.duration-label,.sleep-times{display:block;font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.sleep-times{font-size:.75rem;margin-top:.5rem}.sleep-stages-chart{display:flex;justify-content:center;align-items:center}.sleep-stages-chart canvas{max-width:140px;max-height:140px}.sleep-breakdown{display:flex;flex-direction:column;gap:.5rem}.stage-row{display:flex;align-items:center;gap:.5rem}.stage-dot{width:10px;height:10px;border-radius:50%}.stage-row.deep .stage-dot{background:#6366f1}.stage-row.light .stage-dot{background:#a78bfa}.sleep-metrics-legend .legend-item.spo2 .legend-dot,.stage-row.rem .stage-dot{background:#22d3ee}.stage-row.awake .stage-dot{background:#f59e0b}.stage-score{font-size:.7rem;color:var(--text-muted);margin-left:.5rem;font-weight:400}.stage-name{font-size:.85rem;color:var(--text-muted);min-width:50px}.stage-time{font-size:.85rem;color:var(--white);font-weight:500}.sleep-metrics-section{grid-column:1/-1;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}.sleep-metrics-chart-wrapper{position:relative;width:100%;display:flex;flex-direction:column}.sleep-metrics-legend{display:flex;justify-content:center;gap:1.5rem;margin-bottom:.5rem}.sleep-metrics-legend .legend-item{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-muted)}.sleep-metrics-legend .legend-dot{width:10px;height:3px;border-radius:1.5px}.sleep-metrics-legend .legend-item.resp .legend-dot{background:#f472b6}.sleep-levels-wrapper{margin-top:-4px}.sleep-levels-bar{height:12px;position:relative;border-radius:4px;overflow:hidden;background:rgba(255,255,255,.05)}.sleep-levels-times{display:flex;justify-content:space-between;font-size:.65rem;color:var(--text-muted);margin-top:.25rem}.sleep-levels-times span{text-align:center;flex:1}.sleep-levels-times span:first-child{text-align:left;flex:0}.sleep-levels-times span:last-child{text-align:right;flex:0}.sleep-levels-bar .sleep-segment{height:100%;transition:opacity .2s;position:absolute;top:0;left:0}.sleep-levels-bar .sleep-segment:hover{opacity:.8}.sleep-levels-bar .sleep-segment.deep{background:#6366f1}.sleep-levels-bar .sleep-segment.light{background:#a78bfa}.sleep-levels-bar .sleep-segment.rem{background:#22d3ee}.sleep-levels-bar .sleep-segment.awake{background:#f59e0b!important}.sleep-metrics-chart-container{width:100%;height:130px;margin-top:0;padding-top:0}.sleep-scores{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}.score-item{display:flex;flex-direction:column;gap:.25rem}.score-bar{height:4px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}.score-fill{height:100%;background:linear-gradient(90deg,#6366f1,#a78bfa);border-radius:2px}.score-value{display:flex;align-items:center;gap:.25rem}.score-qualifier{font-weight:500}.score-number{opacity:.4;font-weight:400}.spo2-content{display:flex;flex-direction:column;gap:1.25rem}.spo2-chart-wrapper{position:relative;width:100%}.spo2-overlay{position:absolute;top:.5rem;left:50%;transform:translateX(-50%);z-index:10;text-align:center;opacity:.85;pointer-events:none}.spo2-primary{display:flex;align-items:baseline;justify-content:center;gap:.15rem}.spo2-value{font-size:2.75rem;font-weight:700;color:var(--white);line-height:1;text-shadow:0 2px 10px rgba(0,0,0,.3)}.spo2-unit{font-size:1rem;color:var(--text-muted);font-weight:500}.spo2-label{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.spo2-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.spo2-stat{display:flex;flex-direction:column;align-items:center;padding:.75rem .5rem;background:rgba(255,255,255,.03);border-radius:8px;gap:.25rem}.spo2-stat.avg .stat-icon-small{background:rgba(34,211,238,.15);color:#22d3ee}.spo2-stat.min .stat-icon-small{background:rgba(251,191,36,.15);color:#fbbf24}.spo2-stat.max .stat-icon-small{background:rgba(74,222,128,.15);color:#4ade80}.spo2-value-warning{color:#fbbf24!important}.spo2-value-low{color:#f87171!important}.stress-content{display:flex;flex-direction:column;gap:1.25rem}.stress-chart-wrapper{position:relative;width:100%}.histogram-bar-tooltip::after,.stress-overlay{position:absolute;left:50%;transform:translateX(-50%)}.stress-overlay{top:.5rem;z-index:10;text-align:center;opacity:.85;pointer-events:none}.stress-primary{display:flex;align-items:baseline;justify-content:center}.stress-avg-value{font-size:2.75rem;font-weight:700;color:var(--white);line-height:1;text-shadow:0 2px 10px rgba(0,0,0,.3)}.stress-avg-label{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.stress-qualifier{padding:.25rem .75rem;border-radius:6px;font-weight:600;font-size:.8rem}.stress-low{background:rgba(74,222,128,.15);color:#4ade80}.stress-medium{background:rgba(251,191,36,.15);color:#fbbf24}.stress-high,.stress-stat.max .stat-icon-small{background:rgba(239,68,68,.15);color:#f87171}.stress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.stress-stat{display:flex;flex-direction:column;align-items:center;padding:.75rem .5rem;background:rgba(255,255,255,.03);border-radius:8px;gap:.25rem}.stress-stat.sleep .stat-icon-small{background:rgba(139,92,246,.15);color:#a78bfa}.stress-stat.range .stat-icon-small{background:rgba(251,191,36,.15);color:#fbbf24}.stress-value-rest{color:#4ade80!important}.stress-value-low{color:#84cc16!important}.stress-value-medium{color:#fbbf24!important}.stress-value-high{color:#f87171!important}.stress-level-bar{padding-top:.75rem;border-top:1px solid rgba(255,255,255,.06)}.stress-level-track{position:relative;height:10px;background:rgba(255,255,255,.08);border-radius:5px;overflow:hidden}.stress-level-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#4ade80 0,#84cc16 25%,#fbbf24 50%,#f59e0b 75%,#ef4444 100%);background-size:calc(10000%/max(var(--stress-pct, 100),1)) 100%;border-radius:5px;transition:width .5s ease}.stress-level-labels{display:flex;justify-content:space-between;margin-top:.35rem;font-size:.65rem;color:var(--text-muted);padding:0 .15rem}.histogram-container{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.histogram-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.histogram-title-group{display:flex;flex-direction:column;gap:.25rem}.histogram-title{font-family:var(--font-display);font-size:1.25rem;letter-spacing:.02em;color:var(--white);margin:0}.histogram-total{font-size:.9rem;color:var(--text-muted)}.histogram-total-value{color:var(--accent);font-weight:600}.histogram-controls{display:flex;gap:.75rem;flex-wrap:wrap}.histogram-control-group{display:flex;background:rgba(0,0,0,.3);border-radius:8px;padding:3px;gap:2px}.histogram-btn{padding:.4rem .75rem;font-size:.75rem;font-weight:500;border:0;background:0 0;color:var(--text-muted);border-radius:6px;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.05em}.histogram-btn:hover{color:var(--white);background:rgba(255,255,255,.05)}.histogram-btn.active{background:var(--accent);color:var(--blue-900)}.histogram-year-nav{display:flex;align-items:center;gap:.25rem}.histogram-year-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;background:rgba(255,255,255,.05);color:var(--text-muted);border-radius:6px;cursor:pointer;transition:all .2s ease}.histogram-year-btn:hover{background:rgba(255,255,255,.1);color:var(--white)}.histogram-year-btn svg{width:14px;height:14px}.histogram-year-label{font-size:.85rem;font-weight:600;color:var(--white);min-width:50px;text-align:center}.histogram-chart{position:relative;flex:1;min-width:0;height:180px;display:flex;align-items:flex-end;gap:2px;padding-bottom:24px}.histogram-chart.weekly{gap:1px}.histogram-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;position:relative}.histogram-bar{width:100%;max-width:40px;background:linear-gradient(180deg,var(--accent) 0%,rgba(0,212,255,.6) 100%);border-radius:4px 4px 0 0;min-height:2px;transition:all .3s ease;position:relative;cursor:pointer}.histogram-bar:hover{background:linear-gradient(180deg,#00e5ff 0%,var(--accent) 100%);transform:scaleX(1.1)}.histogram-bar.empty{background:rgba(255,255,255,.05);min-height:4px}.histogram-bar.empty:hover{background:rgba(255,255,255,.1);transform:none}.histogram-bar-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--blue-800);border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:.5rem .75rem;font-size:.75rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s ease;z-index:10;pointer-events:none}.histogram-bar-tooltip::after{content:"";top:100%;border:5px solid transparent;border-top-color:var(--blue-800)}.histogram-bar-wrapper:hover .histogram-bar-tooltip{opacity:1;visibility:visible}.histogram-bar-tooltip-value{font-weight:600;color:var(--accent)}.histogram-bar-tooltip-label{color:var(--text-muted);margin-left:.25rem}.histogram-bar-tooltip-count{display:block;font-size:.7rem;color:var(--text-muted);margin-top:2px}.histogram-label{position:absolute;bottom:0;font-size:.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.histogram-chart.weekly .histogram-label{display:none}.histogram-chart.weekly .histogram-bar-wrapper:first-child .histogram-label,.histogram-chart.weekly .histogram-bar-wrapper:last-child .histogram-label,.histogram-chart.weekly .histogram-bar-wrapper:nth-child(4n+1) .histogram-label{display:block}.histogram-body{display:flex;gap:1.5rem;align-items:stretch}.histogram-sports{display:flex;flex-direction:column;gap:8px;width:180px;flex-shrink:0;padding-right:1rem;border-right:1px solid rgba(255,255,255,.08)}.histogram-sport-toggle{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:all .2s ease;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden}.histogram-sport-toggle::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sport-color, var(--accent));opacity:0;transition:opacity .2s ease}.histogram-sport-toggle:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}.histogram-sport-toggle.active{background:rgba(255,255,255,.04);border-color:var(--sport-color, rgba(255, 255, 255, 0.2))}.histogram-sport-toggle:not(.active){opacity:.5}.histogram-sport-toggle:not(.active):hover{opacity:.7}.histogram-sport-checkbox,.histogram-sport-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.histogram-sport-checkbox{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-radius:3px;transition:all .2s ease}.histogram-sport-toggle.active .histogram-sport-checkbox{background:var(--sport-color, var(--accent));border-color:var(--sport-color, var(--accent))}.histogram-sport-checkbox svg{width:10px;height:10px;color:var(--blue-900);opacity:0;transition:opacity .2s ease}.histogram-sport-icon{width:22px;height:22px;color:var(--sport-color, var(--text-muted))}.histogram-sport-icon svg{width:16px;height:16px}.histogram-sport-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.histogram-sport-label{font-size:.75rem;font-weight:500;color:var(--text-muted);transition:color .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.histogram-sport-toggle.active .histogram-sport-label,.legal-content li strong{color:var(--white)}.histogram-sport-bar-wrap{height:4px;background:rgba(0,0,0,.3);border-radius:2px;overflow:hidden}.histogram-sport-bar{height:100%;background:var(--sport-color, var(--accent));border-radius:2px;transition:width .3s ease;opacity:.6}.histogram-sport-toggle.active .histogram-sport-bar{opacity:1}.histogram-sport-time{font-size:.7rem;font-weight:600;color:var(--sport-color, var(--accent));white-space:nowrap;flex-shrink:0}.histogram-loading{display:flex;align-items:center;justify-content:center;height:180px;color:var(--text-muted)}.histogram-sports .histogram-loading{height:auto;padding:2rem;width:100%}.histogram-body .histogram-sports:empty+.histogram-chart{flex:1}.histogram-loading-spinner{width:24px;height:24px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.histogram-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:180px;color:var(--text-muted);gap:.5rem}.histogram-empty svg{width:32px;height:32px;opacity:.5}@media (max-width:900px){.histogram-body{flex-direction:column;gap:1rem}.histogram-sports{width:100%;flex-direction:row;flex-wrap:wrap;padding-right:0;padding-bottom:1rem;border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}.histogram-sport-toggle{flex:1;min-width:140px;max-width:calc(50% - 4px)}.histogram-sport-info{display:none}.histogram-sport-label{display:block}.histogram-sport-toggle .histogram-sport-label{position:absolute;left:70px;right:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media (max-width:768px){.histogram-header{flex-direction:column;gap:1rem}.histogram-controls{width:100%;justify-content:space-between}.histogram-chart{height:140px}.histogram-btn{padding:.35rem .6rem;font-size:.7rem}.histogram-chart.weekly .histogram-label{display:none}.histogram-chart.weekly .histogram-bar-wrapper:nth-child(8n+1) .histogram-label{display:block}.histogram-sport-toggle{padding:6px 8px;min-width:120px}.histogram-sport-checkbox{width:12px;height:12px}.histogram-sport-checkbox svg{width:8px;height:8px}.histogram-sport-icon{width:18px;height:18px}.histogram-sport-icon svg{width:14px;height:14px}.histogram-sport-time{font-size:.65rem}}@media (max-width:480px){.histogram-container{padding:1rem}.histogram-chart{height:120px}.histogram-control-group{flex:1;justify-content:center}}.activity-images-section{animation-delay:.05s}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-header-compact{display:flex;justify-content:flex-end;margin-bottom:.75rem}.btn-add-photo{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-body)}.btn-add-photo svg{width:16px;height:16px}.btn-add-photo:hover{background:rgba(0,212,255,.1);border-color:var(--accent);color:var(--accent)}.btn-add-photo:disabled{opacity:.6;cursor:not-allowed}.btn-add-photo .btn-loader{width:14px;height:14px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}.activity-image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.activity-image-item{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:rgba(0,0,0,.3);border:2px solid transparent;transition:all .2s ease}.activity-image-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.activity-image-item:hover img{transform:scale(1.05)}.activity-image-item.primary{border-color:var(--accent);box-shadow:0 0 20px rgba(0,212,255,.2)}.primary-badge{position:absolute;top:.5rem;left:.5rem;padding:.25rem .5rem;background:var(--accent);color:var(--blue-900);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:4px}.image-actions{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.35rem;opacity:0;transition:opacity .2s ease}.activity-image-item:hover .image-actions{opacity:1}.image-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.2);border-radius:6px;color:var(--white);cursor:pointer;transition:all .2s ease}.image-action-btn svg{width:14px;height:14px}.image-action-btn:hover{background:rgba(0,0,0,.9);border-color:rgba(255,255,255,.4)}.set-primary-btn:hover{color:#fbbf24;border-color:#fbbf24}.delete-image-btn:hover{color:#ef4444;border-color:#ef4444}.empty-photos-state,.empty-photos-state-compact{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.02)}.empty-photos-state{flex-direction:column;padding:3rem;border:2px dashed rgba(255,255,255,.1);border-radius:12px;text-align:center}.empty-photos-state-compact{gap:.5rem;padding:2rem;border:2px dashed rgba(255,255,255,.08);border-radius:10px;color:var(--text-muted);font-size:.9rem}.empty-photos-state-compact svg{width:24px;height:24px}.empty-photos-icon{width:64px;height:64px;margin-bottom:1rem;color:var(--text-muted)}.empty-photos-icon svg{width:100%;height:100%}.empty-photos-state p{color:var(--text-muted);font-size:.95rem}.image-lightbox,.image-lightbox-close{align-items:center;justify-content:center}.image-lightbox{position:fixed;inset:0;z-index:2000;display:none;background:rgba(0,0,0,.95);opacity:0;transition:opacity .3s ease}.image-lightbox.active{display:flex;opacity:1}.image-lightbox img{max-width:90%;max-height:90%;object-fit:contain;border-radius:8px}.image-lightbox-close{position:absolute;top:1rem;right:1rem;width:48px;height:48px;display:flex;background:rgba(255,255,255,.1);border:0;border-radius:50%;color:var(--white);font-size:1.5rem;cursor:pointer;transition:all .2s ease}.image-lightbox-close:hover{background:rgba(255,255,255,.2)}@media (max-width:768px){.activity-image-gallery{grid-template-columns:repeat(2,1fr);gap:.75rem}.activity-image-item{aspect-ratio:1}.image-actions{opacity:1}}@media (max-width:480px){.activity-image-gallery{grid-template-columns:1fr}.activity-image-item{aspect-ratio:4/3}}.import-section{margin-bottom:2rem}.garmin-connect-section{margin-bottom:1.5rem}.garmin-connection{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem}.garmin-disconnected{text-align:center}.garmin-disconnected p{color:var(--text-muted);margin-bottom:1rem}.garmin-connected{display:flex;flex-direction:column;gap:1rem}.garmin-info{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.garmin-connected-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);border-radius:20px;color:#22c55e;font-size:.85rem;font-weight:500}.garmin-last-sync{color:var(--text-muted);font-size:.9rem}.garmin-actions{display:flex;align-items:center;gap:.75rem}.btn-garmin{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:#007cc3;color:#fff;border:0;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn-garmin:hover:not(:disabled){background:#006ba7;transform:translateY(-1px)}.btn-garmin:disabled{opacity:.7;cursor:not-allowed}.garmin-error,.garmin-note{padding:.75rem 1rem;border-radius:8px}.garmin-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#ef4444;font-size:.9rem}.garmin-note{margin-top:1rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05)}.garmin-note p{margin:0;color:var(--text-muted);font-size:.85rem}.import-section-title{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--white)}.import-section-desc{color:var(--text-muted);margin-bottom:1rem}.garmin-icon{color:#007cc3}.garmin-import-info{margin-bottom:1.5rem;color:var(--text-muted)}.garmin-import-info p{margin-bottom:.75rem}.garmin-instructions{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.75rem 1rem}.garmin-instructions summary{cursor:pointer;color:var(--accent);font-weight:500;user-select:none}.garmin-instructions summary:hover{color:var(--blue-400)}.garmin-instructions ol{margin:1rem 0 .5rem 1.5rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.garmin-instructions a{color:var(--accent);text-decoration:none}.import-warning{display:flex;gap:1rem;padding:1rem 1.25rem;background:linear-gradient(135deg,rgba(251,191,36,.15),rgba(245,158,11,.1));border:2px solid rgba(251,191,36,.5);border-radius:10px;margin-bottom:1.5rem;box-shadow:0 0 20px rgba(251,191,36,.1)}.import-warning-icon{flex-shrink:0;color:#fbbf24;margin-top:.1rem}.import-warning-content{color:var(--text-muted);font-size:.9rem;line-height:1.5}.import-warning-content strong{color:#fbbf24}.import-warning-content ul{margin:.5rem 0 0 1.25rem;padding:0}.import-warning-content li{margin-bottom:.35rem}.garmin-dropzone{position:relative;border:2px dashed rgba(255,255,255,.2);border-radius:12px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:rgba(255,255,255,.01)}.garmin-dropzone:hover{border-color:rgba(0,124,195,.5);background:rgba(0,124,195,.05)}.garmin-dropzone.drag-over{border-color:#007cc3;background:rgba(0,124,195,.1);transform:scale(1.01)}.garmin-dropzone.uploading{pointer-events:none}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:.75rem}.dropzone-icon{width:48px;height:48px;color:var(--text-muted);opacity:.6}.garmin-dropzone:hover .dropzone-icon{color:#007cc3;opacity:1}.dropzone-text,.legal-content h3{font-size:1.1rem;color:var(--white);font-weight:500}.dropzone-hint{font-size:.9rem;color:var(--text-muted)}.dropzone-progress{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem}.progress-bar{width:100%;max-width:300px;height:8px;background:rgba(255,255,255,.1);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#007cc3,var(--accent));border-radius:4px;width:0%;transition:width .3s ease}.progress-fill.indeterminate{width:30%;animation:progress-slide 1.5s infinite ease-in-out}.progress-text{color:var(--text-muted);font-size:.9rem}.import-results{padding:1rem 1.25rem;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);border-radius:8px}.import-result-header{display:flex;align-items:center;gap:.75rem;color:#22c55e;font-weight:500;margin-bottom:.75rem}.import-result-stats{display:flex;flex-wrap:wrap;gap:1.5rem;color:var(--text-muted);font-size:.9rem}.import-result-stats .stat{display:flex;align-items:center;gap:.5rem}.import-result-stats .stat-value{font-weight:600;color:var(--white)}.import-errors{margin-top:1rem;padding:1rem 1.25rem;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:8px}.import-error-header{display:flex;align-items:center;gap:.75rem;color:#ef4444;font-weight:500;margin-bottom:.75rem}.import-error-list{margin:0;padding-left:1.5rem;color:var(--text-muted);font-size:.85rem;max-height:150px;overflow-y:auto}.import-error-list li{margin-bottom:.25rem}@media (max-width:600px){.garmin-dropzone{padding:2rem 1.5rem}.dropzone-icon{width:36px;height:36px}.import-result-stats{flex-direction:column;gap:.5rem}}.legal-container{min-height:100vh;padding:2rem;background:radial-gradient(ellipse 80% 50%at 50% -20%,var(--blue-600),transparent),linear-gradient(180deg,var(--blue-900) 0%,var(--blue-800) 100%)}.legal-content{max-width:800px;margin:0 auto;animation:fadeInUp .6s ease-out}.back-link{display:inline-block;color:var(--accent);text-decoration:none;font-size:.9rem;margin-bottom:2rem;transition:all .2s ease}.back-link:hover{color:var(--blue-200);transform:translateX(-4px)}.legal-content h1{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,4rem);font-weight:400;letter-spacing:.05em;margin-bottom:.5rem;background:linear-gradient(135deg,var(--white) 0%,var(--blue-200) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.last-updated,.legal-content h2{color:var(--text-muted);font-size:.9rem;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1)}.legal-content h2{font-family:var(--font-body);font-size:1.4rem;font-weight:600;color:var(--white);margin-bottom:1rem;padding-bottom:.5rem}.legal-content h3{font-family:var(--font-body);color:var(--blue-200);margin:1.5rem 0 .75rem}.legal-content p{color:rgba(255,255,255,.85);font-size:1rem;line-height:1.8;margin-bottom:1rem}.legal-content ul{margin:1rem 0 1.5rem 1.5rem;color:rgba(255,255,255,.85)}.legal-content li{margin-bottom:.6rem;line-height:1.7}.contact-info{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;margin-top:1rem}.contact-info strong{color:var(--accent)}@media (max-width:640px){.legal-container{padding:1.5rem}.legal-content h2{font-size:1.2rem}.legal-content li,.legal-content p{font-size:.95rem}}.club-list-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;text-decoration:none;color:inherit;transition:all .2s ease}.club-list-item:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}.club-list-avatar img{width:48px;height:48px;border-radius:50%;object-fit:cover}.club-list-info{display:flex;flex-direction:column}.club-list-name{font-weight:600;color:var(--white)}.club-list-meta{font-size:.85rem;color:var(--text-muted)}.primary-star{color:#fde047;margin-left:.25rem}.btn-primary-spacing{margin-top:1rem}.segments-main{min-height:calc(100vh - 60px);padding:2rem;background:linear-gradient(135deg,var(--blue-900) 0%,#0a0e17 50%,var(--blue-900) 100%)}.segments-container{max-width:1400px;margin:0 auto}.segments-header{margin-bottom:2rem}.segments-title{font-family:var(--font-display);font-size:2.5rem;font-weight:400;letter-spacing:.05em;color:var(--white);margin:0}.segments-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:0;flex-wrap:wrap}.segments-tab{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.25rem;color:var(--text-muted);text-decoration:none;font-size:.9rem;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s ease}.segments-tab svg{width:18px;height:18px}.segments-tab:hover{color:var(--white);background:rgba(255,255,255,.03)}.segments-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-count{background:rgba(255,255,255,.1);padding:.125rem .5rem;border-radius:10px;font-size:.75rem}.segments-tab.active .tab-count{background:rgba(0,212,255,.2)}.segments-empty{text-align:center;padding:4rem 2rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px}.empty-icon{width:64px;height:64px;margin:0 auto 1.5rem;color:var(--text-muted)}.empty-icon svg{width:100%;height:100%}.empty-title{font-size:1.25rem;font-weight:600;color:var(--white);margin-bottom:.5rem}.empty-text{color:var(--text-muted);max-width:400px;margin:0 auto}.segments-table-wrapper{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden}.segments-table{width:100%;border-collapse:collapse}.segments-table td,.segments-table th{padding:1rem;text-align:left}.segments-table th,.sport-badge{font-weight:600;text-transform:uppercase}.segments-table th{background:rgba(255,255,255,.03);font-size:.75rem;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid rgba(255,255,255,.08)}.segments-table tbody tr{border-bottom:1px solid rgba(255,255,255,.05);transition:background .15s ease}.sport-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;letter-spacing:.03em}.sport-badge.sport-run,.sport-badge.sport-running{background:rgba(34,197,94,.15);color:#22c55e}.sport-badge.sport-cycling,.sport-badge.sport-ride{background:rgba(249,115,22,.15);color:#f97316}.sport-badge.sport-other{background:rgba(168,162,158,.15);color:#a8a29e}.segment-link{color:var(--white);text-decoration:none;font-weight:500;display:block;margin-bottom:.25rem}.segment-link:hover{color:var(--accent)}.segment-location{font-size:.8rem;color:var(--text-muted);display:block}.climb-badge{display:inline-block;padding:.25rem .5rem;background:rgba(239,68,68,.15);border-radius:4px;font-size:.75rem;font-weight:600}.climb-badge,.grade-up{color:#ef4444}.grade-down{color:#22c55e}.pr-link{color:var(--accent);text-decoration:none}.pr-link:hover{text-decoration:underline}.btn-set-goal,.goal-time{color:var(--white);cursor:pointer}.btn-set-goal{background:0 0;border:1px solid rgba(255,255,255,.2);color:var(--text-muted);padding:.25rem .75rem;border-radius:4px;font-size:.8rem;transition:all .2s ease}.btn-set-goal:hover{border-color:var(--accent);color:var(--accent)}.btn-icon{background:0 0;border:0;padding:.5rem}.btn-icon:hover{background:rgba(255,255,255,.05)}.btn-unstar{color:#fbbf24}.btn-unstar:hover{color:#f59e0b}.explore-container{display:grid;grid-template-columns:1fr 350px;grid-template-rows:auto 1fr;gap:1.5rem;min-height:600px}.explore-filters{grid-column:1/-1;display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.search-box{position:relative;flex:1;min-width:250px;max-width:400px}.search-icon{pointer-events:none}.search-input:focus{outline:0}.explore-select{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--white);padding:.625rem 1rem;border-radius:8px;font-size:.9rem;cursor:pointer;transition:border-color .2s ease}.explore-select:focus{outline:0;border-color:var(--accent)}.segments-map{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px;min-height:500px;overflow:hidden}.segments-map .leaflet-container{height:100%;min-height:500px;background:#1a1d24}.map-loading,.map-placeholder{color:var(--text-muted);display:flex;align-items:center;justify-content:center;height:100%;min-height:500px;text-align:center;padding:2rem}.explore-list{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem;overflow-y:auto;max-height:600px}.explore-list-title{font-size:1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}.explore-segment-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-radius:8px;margin-bottom:.5rem;transition:background .15s ease}.explore-segment-item:hover{background:rgba(255,255,255,.05)}.explore-segment-info{display:flex;flex-direction:column;gap:.25rem}.explore-segment-name{color:var(--white);text-decoration:none;font-weight:500;font-size:.9rem}.explore-segment-name:hover{color:var(--accent)}.explore-segment-meta{font-size:.75rem;color:var(--text-muted)}.btn-star{background:0 0;border:0;padding:.5rem;cursor:pointer;color:var(--text-muted);transition:all .2s ease}.btn-star.starred,.btn-star:hover{color:#fbbf24}.btn-star svg{width:20px;height:20px}.segment-detail-main{min-height:calc(100vh - 60px);padding:2rem;background:linear-gradient(135deg,var(--blue-900) 0%,#0a0e17 50%,var(--blue-900) 100%)}.segment-detail-container{max-width:1200px;margin:0 auto}.segment-detail-header{margin-bottom:2rem}.segment-header-top{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.segment-detail-title{font-family:var(--font-display);font-size:2.25rem;font-weight:400;letter-spacing:.03em;color:var(--white);margin:0}.btn-star-large{background:0 0;border:2px solid rgba(255,255,255,.2);padding:.5rem;border-radius:8px;cursor:pointer;color:var(--text-muted);transition:all .2s ease}.btn-star-large.starred,.btn-star-large:hover{border-color:#fbbf24;color:#fbbf24}.btn-star-large svg{width:24px;height:24px;display:block}.segment-header-meta{display:flex;align-items:center;gap:1rem}.segment-location-text{color:var(--text-muted);font-size:.9rem}.my-podium-section{margin-bottom:2rem}.podium-card{display:flex;align-items:center;gap:1.5rem;background:linear-gradient(135deg,rgba(0,212,255,.1)0,rgba(0,212,255,.03) 100%);border:1px solid rgba(0,212,255,.2);border-radius:12px;padding:1.5rem 2rem}.podium-position{flex-shrink:0}.podium-icon{font-size:2.5rem}.podium-rank{font-family:var(--font-display);font-size:2rem;color:var(--accent)}.podium-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.podium-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.podium-time{font-family:var(--font-display);font-size:1.75rem;color:var(--white)}.podium-activity-link{color:var(--accent);font-size:.85rem;text-decoration:none}.podium-activity-link:hover{text-decoration:underline}.podium-actions{flex-shrink:0}.btn-set-goal-large{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);color:var(--white);padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.btn-set-goal-large:hover{border-color:var(--accent);background:rgba(0,212,255,.1)}.segment-stats-section{margin-bottom:2rem}.segment-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1rem}.stat-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:1.25rem;text-align:center}.stat-value{display:block;margin-bottom:.25rem}.stat-value.climb-cat{color:#ef4444}.stat-label{letter-spacing:.05em}.segment-effort-stats{text-align:center;color:var(--text-muted);font-size:.85rem}.segment-effort-stats span{margin-right:.5rem}.segment-map-section{margin-bottom:2rem}.segment-map{height:350px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px}.segment-two-column{display:grid;grid-template-columns:1fr 300px;gap:2rem;margin-bottom:2rem}.segment-leaderboard-section{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.5rem}.leaderboard-table-wrapper{overflow-x:auto}.leaderboard-table{width:100%;border-collapse:collapse}.leaderboard-table td,.leaderboard-table th{padding:.875rem 1rem;text-align:left}.leaderboard-table th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid rgba(255,255,255,.08)}.efforts-table tbody tr,.leaderboard-table tbody tr{border-bottom:1px solid rgba(255,255,255,.05)}.leaderboard-table tbody tr.highlight{background:rgba(0,212,255,.08)}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-weight:700}.rank-badge.gold{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1a1a}.rank-badge.silver{background:linear-gradient(135deg,#d1d5db,#9ca3af);color:#1a1a1a}.rank-badge.bronze{background:linear-gradient(135deg,#cd7f32,#b8860b);color:#1a1a1a}.athlete-cell,.athlete-link{display:flex;align-items:center}.athlete-link{gap:.75rem;color:var(--white);text-decoration:none}.athlete-link:hover{color:var(--accent)}.athlete-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.athlete-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600}.efforts-table td a,.time-link{color:var(--accent);text-decoration:none}.time-link:hover{text-decoration:underline}.date-cell{color:var(--text-muted);font-size:.85rem}.segment-sidebar{display:flex;flex-direction:column;gap:1.5rem}.sidebar-section{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.25rem}.sidebar-title{font-size:1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}.fastest-times{display:flex;flex-direction:column;gap:1.5rem}.fastest-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.75rem}.fastest-entry{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.fastest-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover}.fastest-avatar-placeholder{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600}.fastest-info{display:flex;flex-direction:column}.fastest-name{color:var(--white);text-decoration:none;font-size:.85rem}.efforts-table td a:hover,.fastest-name:hover,.fastest-time{color:var(--accent)}.fastest-time{text-decoration:none;font-size:.8rem}.no-data,.no-data-small{color:var(--text-muted);font-style:italic}.no-data-small{font-size:.85rem}.my-efforts-section{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.5rem}.efforts-chart-container{height:250px;margin-bottom:1.5rem}.efforts-table{width:100%;border-collapse:collapse}.efforts-table td,.efforts-table th{padding:.75rem 1rem;text-align:left}.efforts-table th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid rgba(255,255,255,.08)}.efforts-table td a{color:var(--white)}.modal-content{background:var(--blue-800)}.modal-content.modal-small,.modal-small .modal-content{max-width:400px}.modal-title{font-family:var(--font-display);letter-spacing:.03em;margin:0}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px}.modal-close:hover{background:rgba(255,255,255,.1)}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;color:var(--text-muted)}.btn-secondary:hover,.form-input{background:rgba(255,255,255,.05)}.form-actions{display:flex;justify-content:space-between;gap:1rem}.btn-primary{color:var(--white)}.btn-secondary{background:0 0}.btn-secondary:hover{color:var(--white)}@media (max-width:1024px){.explore-container,.segment-two-column{grid-template-columns:1fr}.explore-list{max-height:300px}.search-box{max-width:none;width:100%}}@media (max-width:768px){.segment-detail-main,.segments-main{padding:1rem}.segment-detail-title,.segments-title{font-size:1.75rem}.segments-tabs{gap:0}.segments-tab{padding:.75rem 1rem;flex:1;justify-content:center}.segments-tab span:not(.tab-count){display:none}.segments-table{font-size:.85rem}.segments-table td,.segments-table th{padding:.75rem .5rem}.td-category,.td-grade,.td-kom,.td-qom,.th-category,.th-grade,.th-kom,.th-qom{display:none}.podium-card{flex-direction:column;text-align:center;gap:1rem;padding:1.25rem}.segment-stats-grid{grid-template-columns:repeat(2,1fr)}}.top-nav{position:sticky;top:0;z-index:1000;background:rgba(10,22,40,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06);padding:0;height:60px}.nav-container,.nav-left{display:flex;align-items:center}.nav-container{justify-content:space-between;max-width:1600px;margin:0 auto;padding:0 1.5rem;height:60px}.nav-left{gap:2rem}.nav-logo{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.1em;color:var(--white);text-decoration:none;background:linear-gradient(135deg,var(--white) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:opacity .2s ease}.nav-logo:hover{opacity:.85}.nav-main{display:flex;align-items:center;gap:.25rem}.nav-link{padding:.5rem .875rem;font-size:.9rem;font-weight:500;color:var(--text-muted);text-decoration:none;border-radius:6px;transition:all .2s ease}.nav-link:hover{background:rgba(255,255,255,.05)}#injury-modal .modal-close:hover,.nav-link.active,.nav-link:hover{color:var(--white)}.nav-dropdown{position:relative}.nav-dropdown-trigger{display:flex;align-items:center;gap:.35rem;padding:.5rem .875rem;font-size:.9rem;font-weight:500;color:var(--text-muted);background:0 0;border:0;border-radius:6px;cursor:pointer;transition:all .2s ease;font-family:var(--font-body)}.nav-trigger-icon{display:none;width:20px;height:20px}.nav-dropdown-trigger:hover{color:var(--white);background:rgba(255,255,255,.05)}.nav-trigger-coach{color:#f59e0b}.nav-trigger-coach:hover{color:#fbbf24;background:rgba(245,158,11,.1)}.dropdown-arrow{width:14px;height:14px;transition:transform .2s ease}.nav-dropdown.active .dropdown-arrow{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:200px;background:var(--blue-800);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.5rem;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s ease;box-shadow:0 10px 40px rgba(0,0,0,.4)}.nav-dropdown.active .nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown-menu-right{left:auto;right:0}.nav-dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;font-size:.9rem;color:var(--text-muted);text-decoration:none;border-radius:8px;transition:all .15s ease;border:0;background:0 0;width:100%;text-align:left;cursor:pointer;font-family:var(--font-body)}.nav-dropdown-item svg{width:18px;height:18px;flex-shrink:0}.nav-dropdown-item:hover{color:var(--white);background:rgba(255,255,255,.08)}.nav-dropdown-item.active{color:var(--accent);background:rgba(0,212,255,.1)}.nav-dropdown-item.not-implemented{opacity:.6}.nav-dropdown-divider{height:1px;background:rgba(255,255,255,.08);margin:.5rem 0}.nav-add-btn,.nav-right{display:flex;align-items:center}.nav-right{gap:.5rem}.nav-add-btn{width:36px;height:36px;padding:0;justify-content:center;background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);border:0;border-radius:8px;color:var(--white);cursor:pointer;transition:all .2s ease}.nav-add-btn svg,.nav-calendar-btn svg{width:20px;height:20px}.nav-add-btn:hover{transform:scale(1.05);box-shadow:0 4px 16px rgba(37,99,235,.4)}.nav-calendar-btn,.nav-notifications{position:relative;width:40px;height:40px;border:0;cursor:pointer;transition:all .2s ease}.nav-calendar-btn{padding:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b5cf6 0,#a78bfa 100%);border-radius:10px;color:var(--white);text-decoration:none}.nav-calendar-btn.active,.nav-calendar-btn:hover{background:linear-gradient(135deg,#7c3aed 0,#8b5cf6 100%)}.nav-calendar-btn:hover{transform:scale(1.05);box-shadow:0 4px 16px rgba(139,92,246,.4)}.nav-calendar-btn.active{box-shadow:0 0 0 2px rgba(139,92,246,.3),0 4px 16px rgba(139,92,246,.4)}.nav-calendar-btn.active:hover{background:linear-gradient(135deg,#6d28d9 0,#7c3aed 100%)}.nav-notifications{background:0 0;border-radius:8px;color:var(--text-muted)}.nav-notifications svg{width:22px;height:22px}.nav-notifications:hover{color:var(--white);background:rgba(255,255,255,.05)}.nav-notifications,.nav-user-trigger,.notification-badge{display:flex;align-items:center;justify-content:center}.notification-badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 5px;font-size:.65rem;font-weight:700;color:var(--white);background:#ef4444;border-radius:9px;animation:notificationPulse 2s ease-in-out infinite}.nav-user-trigger{padding:0;background:0 0;border:2px solid transparent;border-radius:50%;cursor:pointer;transition:all .2s ease}.nav-user-trigger:hover{border-color:var(--accent)}.nav-user-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.nav-user-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--blue-500),var(--accent));display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:var(--white)}.nav-user-menu{min-width:220px}.nav-user-info{padding:.75rem .875rem;display:flex;flex-direction:column;gap:.125rem}.nav-user-name{font-size:.95rem;font-weight:600;color:var(--white)}.nav-user-username{font-size:.8rem}.nav-logout-btn,.nav-user-username{color:var(--text-muted)}.nav-logout-btn:hover{color:#ef4444;background:rgba(239,68,68,.1)}.nav-dropdown-item-sudo{color:#ff6b6b}.nav-dropdown-item-sudo:hover{background:rgba(255,100,100,.15);color:#ff8585}.nav-mobile-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:.5rem;background:0 0;border:0;cursor:pointer;position:absolute;top:50%;right:.5rem;transform:translateY(-50%);z-index:1001;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.nav-mobile-toggle span{display:block;width:24px;height:2px;background:var(--white);border-radius:1px;transition:all .3s ease;transform-origin:center}.nav-mobile-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav-mobile-toggle.active span:nth-child(2){opacity:0}.nav-mobile-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media (max-width:1024px){.top-nav{position:fixed;top:0;left:0;right:0;width:100%;height:60px}.nav-container{padding:0 1rem;height:60px}.nav-main{display:flex;gap:.25rem}.nav-mobile-toggle{display:none}.nav-main .nav-dropdown-trigger{padding:.5rem;width:40px;height:40px;justify-content:center;border-radius:8px}.nav-trigger-icon{display:block}.nav-main .dropdown-arrow,.nav-trigger-text{display:none}.nav-dropdown-menu{min-width:180px}.nav-link{padding:.5rem}.nav-left{gap:.5rem;flex:1;min-width:0}.nav-right{gap:.25rem;flex-shrink:0}.page-with-nav{padding-top:60px}}@media (max-width:480px){.nav-logo{font-size:1.25rem}.nav-main .nav-dropdown-trigger{width:36px;height:36px;padding:.4rem}.nav-add-btn svg,.nav-calendar-btn svg,.nav-trigger-icon{width:18px;height:18px}.nav-add-btn{width:32px;height:32px}.nav-calendar-btn,.nav-notifications{width:36px;height:36px}.nav-user-avatar,.nav-user-avatar-placeholder{width:32px;height:32px}}.header-nav{display:flex;gap:1.5rem}@media (max-width:768px){.header-nav{gap:1rem}.nav-link{font-size:.8rem}}.nav-notifications-dropdown .nav-dropdown-menu{width:380px;max-width:calc(100vw - 2rem);padding:0;overflow:hidden}.nav-notifications-dropdown.open .nav-notifications{color:var(--white);background:rgba(255,255,255,.08)}.nav-notifications-dropdown .nav-dropdown-menu.show{opacity:1;visibility:visible;transform:translateY(0)}.notifications-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.notifications-title{font-size:.95rem;font-weight:600;color:var(--white)}.notifications-mark-all{font-size:.75rem;color:var(--accent);background:0 0;border:0;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background .2s ease}.notifications-mark-all:hover{background:rgba(0,212,255,.1)}.notifications-list{max-height:400px;overflow-y:auto}.notifications-list::-webkit-scrollbar{width:6px}.notifications-list::-webkit-scrollbar-track{background:0 0}.notifications-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:3px}.notifications-list::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.2)}.notification-item{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.04);transition:background .2s ease;position:relative}.notification-item:hover{background:rgba(255,255,255,.04)}.notification-item.read{opacity:.65}.notification-item.read:hover{opacity:.85}.notification-avatar-wrap{flex-shrink:0}.notification-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.notification-avatar-icon,.notification-avatar-placeholder{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}.notification-avatar-placeholder{background:linear-gradient(135deg,var(--blue-500),var(--accent));font-size:.75rem;font-weight:600;color:var(--white)}.notification-avatar-icon{background:rgba(255,255,255,.08);color:var(--accent)}.notification-avatar-icon svg{width:20px;height:20px}.notification-content{flex:1;min-width:0}.notification-message{font-size:.85rem;color:var(--text-secondary);margin:0 0 .25rem;line-height:1.4}.notification-message strong{color:var(--white);font-weight:600}.notification-message em{color:var(--text-muted);font-style:normal}.filter-group label,.notification-time{font-size:.7rem;color:var(--text-muted)}.notification-dot{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:8px;height:8px;background:var(--accent);border-radius:50%}.notifications-error,.notifications-loading{padding:2rem 1rem;text-align:center;color:var(--text-muted);font-size:.85rem}.notifications-empty{padding:2.5rem 1rem;text-align:center;color:var(--text-muted)}.notifications-empty svg{width:40px;height:40px;margin-bottom:.75rem;opacity:.4}.notifications-empty p{margin:0;font-size:.9rem}@media (max-width:480px){.nav-notifications-dropdown .nav-dropdown-menu{position:fixed;top:60px;left:0;right:0;width:100%;max-width:100%;border-radius:0;border-left:none;border-right:none}.notifications-list{max-height:calc(100vh - 180px)}}.pace-dist-content{width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}.pace-dist-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;width:100%}.pace-dist-filters{display:flex;gap:1rem;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-group label{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.filter-group select{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:.5rem .75rem;color:var(--white);font-size:.9rem;cursor:pointer}.filter-group select:hover{border-color:rgba(255,255,255,.3)}.pace-dist-empty{padding:3rem;text-align:center;color:var(--text-muted)}.pace-dist-summary{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem;padding:1rem;background:rgba(255,255,255,.03);border-radius:8px;width:100%;box-sizing:border-box}.summary-stat{display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:600;color:var(--white)}.stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase}.summary-stat.suggested .stat-value{color:var(--accent)}.chart-title{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--white)}.pace-dist-chart{width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}.chart-container{display:flex;flex-direction:column;gap:.5rem;width:100%}.chart-row{display:grid;grid-template-columns:80px minmax(0,1fr) 40px;gap:.5rem;align-items:center;width:100%}.chart-label{font-size:.8rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.chart-bar-container{display:flex;align-items:center;gap:.5rem;height:24px;min-width:0}.chart-bar{height:100%;border-radius:4px;min-width:4px;flex:0 1 auto;transition:width .3s ease}.chart-bar.pace-fast{background:linear-gradient(90deg,#f97316,#fb923c)}.chart-bar.pace-moderate{background:linear-gradient(90deg,#eab308,#facc15)}.chart-bar.pace-easy{background:linear-gradient(90deg,#22c55e,#4ade80)}.chart-value{font-size:.8rem;color:var(--white);white-space:nowrap;flex-shrink:0}.hr-value{color:var(--text-muted);margin-left:.5rem;font-size:.75rem}.chart-percent{font-size:.8rem;color:var(--text-muted);text-align:right}.weekly-breakdown{margin-top:2rem;width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}.weekly-table-wrapper{width:100%;max-width:100%;-webkit-overflow-scrolling:touch}.weekly-pace-table{border-collapse:collapse;font-size:.8rem;table-layout:fixed}.weekly-pace-table td,.weekly-pace-table th{padding:.4rem .3rem;text-align:center;border-bottom:1px solid rgba(255,255,255,.05);white-space:nowrap}.weekly-pace-table th{font-size:.7rem;color:var(--text-muted);font-weight:500}.weekly-pace-table .total-col,.weekly-pace-table .week-col{position:sticky;background:var(--bg-main, #1a1a2e);z-index:1}.weekly-pace-table .week-col{text-align:left;min-width:80px;width:80px;left:0}.weekly-pace-table .total-col{font-weight:600;color:var(--white);min-width:50px;width:50px;left:80px}.weekly-pace-table .pace-col{font-variant-numeric:tabular-nums;min-width:45px;width:45px}.weekly-pace-table thead th.total-col,.weekly-pace-table thead th.week-col{background:var(--bg-main, #1a1a2e)}.weekly-pace-table .pace-col.pace-fast{background:rgba(249,115,22,.15);color:#fb923c}.weekly-pace-table .pace-col.pace-moderate{background:rgba(234,179,8,.15);color:#facc15}.weekly-pace-table .pace-col.pace-easy{background:rgba(34,197,94,.15);color:#4ade80}.suggested-zones{margin-top:2rem;padding:1.5rem;background:rgba(0,212,255,.05);border:1px solid rgba(0,212,255,.2);border-radius:8px;width:100%;box-sizing:border-box}.zones-desc{color:var(--text-muted);margin-bottom:1rem}.zones-grid{display:flex;flex-wrap:wrap;margin-bottom:1rem}.zone-card{display:flex;flex-direction:column;padding:.75rem 1rem;background:rgba(255,255,255,.05);min-width:80px}.zone-num{font-size:.75rem;color:var(--accent);font-weight:600}.zone-pace{font-size:.9rem;color:var(--white)}.zone-slow .zone-num,.zones-note{color:var(--text-muted)}.zone-fast .zone-num{color:#f97316}.zones-note{font-size:.85rem}@media (max-width:768px){.chart-row{grid-template-columns:70px minmax(0,1fr) 35px;gap:.25rem}.chart-label,.chart-value{font-size:.7rem}.hr-value{font-size:.65rem}.chart-percent{font-size:.7rem}}.predictions-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.intervals-header-left h1,.predictions-header-left h1,.weekly-header-left h1,.zones-header-left h1{margin-bottom:.25rem}.readiness-badge{display:flex;align-items:center;gap:.5rem}.readiness-badge svg{width:18px;height:18px}.readiness-ready{background:rgba(34,197,94,.15);color:#22c55e;border:1px solid rgba(34,197,94,.3)}.readiness-moderate{background:rgba(234,179,8,.15);color:#eab308;border:1px solid rgba(234,179,8,.3)}.readiness-fatigued{background:rgba(239,68,68,.15);color:#ef4444;border:1px solid rgba(239,68,68,.3)}.hrv-insight-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.25rem;margin-bottom:2rem}.hrv-insight-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.hrv-insight-icon{font-size:1.25rem}.hrv-insight-title{font-weight:600;color:var(--white)}.hrv-insight-text{color:var(--text-muted);line-height:1.5;margin-bottom:.75rem}.hrv-trend-info{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.trend-label{color:var(--text-muted)}.trend-value{font-weight:600}.data-quality li.check,.trend-improving{color:#22c55e}.trend-declining{color:#ef4444}.data-quality li.x,.predictions-empty,.trend-stable{color:var(--text-muted)}.predictions-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.predictions-empty svg{width:64px;height:64px;margin-bottom:1.5rem;opacity:.5}.data-quality h4,.predictions-empty h3,.predictions-info h4{font-size:1.25rem;font-weight:600;color:var(--white);margin-bottom:.75rem}.predictions-empty p{max-width:400px;line-height:1.6;margin-bottom:1rem}.predictions-link{color:var(--accent);text-decoration:none}.predictions-link:hover{text-decoration:underline}.predictions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.prediction-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.5rem;transition:border-color .2s ease}.prediction-card:hover{border-color:rgba(0,212,255,.3)}.prediction-card.no-data{opacity:.6}.prediction-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.prediction-card-header h3{font-size:1.1rem;font-weight:600;color:var(--white);margin:0}.confidence-indicator{width:60px;height:6px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden}.confidence-bar{height:100%;background:linear-gradient(90deg,var(--accent),#22c55e);border-radius:3px;transition:width .3s ease}.prediction-time{font-size:2rem;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;margin-bottom:.25rem}.prediction-pace{font-size:.95rem;color:var(--text-muted);margin-bottom:1.25rem}.prediction-methods{border-top:1px solid rgba(255,255,255,.06);padding-top:1rem}.method-row{display:flex;align-items:center;gap:.75rem;padding:.4rem 0;font-size:.85rem}.method-name{color:var(--text-muted);min-width:60px}.method-time{color:var(--white);font-variant-numeric:tabular-nums;font-weight:500}.method-source{color:var(--text-muted);font-size:.8rem;opacity:.7}.prediction-no-data{text-align:center;padding:1rem 0;color:var(--text-muted)}.prediction-no-data span{display:block;font-weight:500;margin-bottom:.25rem}.prediction-no-data p{font-size:.85rem;opacity:.7}.predictions-footer{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.08)}.data-quality h4,.predictions-info h4{font-size:.95rem}.predictions-info li,.predictions-info p{font-size:.9rem;color:var(--text-muted);line-height:1.6}.predictions-info ul{padding-left:1.25rem;margin:.75rem 0}.predictions-info li{margin-bottom:.5rem}.data-quality ul{list-style:none;padding:0;margin:0}.data-quality li{font-size:.9rem;padding:.4rem 0;color:var(--text-muted)}.data-quality li.x{opacity:.6}@media (max-width:768px){.predictions-header{flex-direction:column}.predictions-footer,.predictions-grid{grid-template-columns:1fr}}.profile-api-container{min-height:400px}.profile-error,.profile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem}.profile-loading{color:var(--text-muted)}.profile-loading .loading-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.profile-loading p{margin:0;font-size:.9rem}.profile-error{text-align:center}.profile-error p{margin:0;color:var(--text-muted)}.profile-hero-new{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;padding:2rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:16px;margin-bottom:1rem}.hero-left{display:flex;gap:1.5rem}.hero-left .profile-avatar-large{flex-shrink:0;position:relative}.hero-left .avatar-placeholder-large,.hero-left .profile-avatar-large img{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.1);margin:0}.hero-left .avatar-placeholder-large{background:linear-gradient(135deg,var(--blue-500),var(--accent));display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600;color:var(--white)}.hero-left .profile-info{display:flex;flex-direction:column;gap:.375rem;margin:0}.hero-left .profile-name{font-size:1.5rem;font-weight:700;margin:0;line-height:1.2}.profile-club-link,.profile-location{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem}.profile-club-link{color:var(--accent);text-decoration:none;font-weight:500;transition:opacity .2s}.profile-club-link:hover,a.social-stat:hover{opacity:.8}.profile-club-link svg,.profile-location svg{flex-shrink:0}.profile-location{color:var(--text-muted);margin:0}.hero-left .profile-bio{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:.25rem 0 0;max-width:300px}.profile-follow-section{margin-top:.75rem}.follow-dropdown{position:relative;display:inline-block}.follow-btn-large.following{display:inline-flex;align-items:center;gap:.375rem;padding:.625rem 1.25rem;background:0 0;border:1px solid rgba(255,255,255,.2);color:var(--text-muted);border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.follow-btn-large.following:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.3)}.follow-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:140px;background:var(--card-bg, #1a1f2e);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.25rem;opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .15s ease;z-index:100}.follow-dropdown-menu.show{opacity:1;visibility:visible;transform:translateY(0)}.unfollow-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem .75rem;background:0 0;border:0;border-radius:6px;color:#ef4444;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.unfollow-btn:hover{background:rgba(239,68,68,.1)}.hero-right{display:flex;align-items:stretch;gap:1.25rem}.hero-divider{width:1px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.15),transparent);flex-shrink:0}.hero-stat-block{display:flex;flex-direction:column;justify-content:center;min-width:0}.hero-stat-block:first-child{align-items:center;text-align:center;min-width:100px}.hero-stat-label{font-size:.688rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.25rem}.hero-stat-big{font-family:var(--font-display, 'Bebas Neue', sans-serif);font-size:3.5rem;font-weight:400;line-height:1;color:var(--white);letter-spacing:.02em}.hero-stat-sublabel,.week-header span{text-transform:uppercase;color:var(--text-muted)}.hero-stat-sublabel{font-size:.688rem;letter-spacing:.03em;margin-top:.25rem}.week-calendar{flex:0 0 auto;padding:.5rem 0}.week-header{display:flex;justify-content:space-between;margin-bottom:.375rem}.week-header span{width:20px;text-align:center;font-size:.625rem;font-weight:600;letter-spacing:.02em}.weeks-grid{display:flex;flex-direction:column;gap:.25rem}.week-row{display:flex;justify-content:space-between;gap:.125rem}.week-day{display:flex;align-items:center;justify-content:center;width:20px;height:20px;cursor:default}.day-circle{width:calc(6px + 12px*var(--size-factor, 0.3));height:calc(6px + 12px*var(--size-factor, 0.3));border-radius:50%;background:rgba(255,255,255,.08);transition:all .2s ease}.day-circle.active{background:var(--accent);box-shadow:0 0 6px rgba(0,212,255,.4)}.top-sports{flex:1;min-width:0;gap:.375rem}.sport-row{display:flex;align-items:center;gap:.5rem}.sport-icon{font-size:.875rem;flex-shrink:0;width:20px;text-align:center}.sport-bar-container{flex:1;height:6px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden}.sport-bar{height:100%;width:var(--bar-width, 50%);background:linear-gradient(90deg,var(--accent),var(--blue-400));border-radius:3px;transition:width .3s ease}.sport-time{font-size:.75rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;min-width:50px;text-align:right;font-variant-numeric:tabular-nums}.no-sports{color:var(--text-muted);font-size:.813rem;font-style:italic}.profile-social-stats{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:1rem 0;margin-bottom:.5rem}.social-stat{display:flex;align-items:baseline;gap:.375rem;text-decoration:none;color:inherit;transition:opacity .2s}.social-stat-value{font-size:1.125rem;font-weight:700;color:var(--white)}.social-stat-label{font-size:.813rem;color:var(--text-muted)}.social-dot{color:var(--text-muted);opacity:.5}.coach-badge,.coach-label{position:absolute;background:linear-gradient(135deg,#f59e0b 0,#d97706 100%)}.coach-badge{top:-4px;left:-4px;width:36px;height:36px;border:3px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(245,158,11,.6),inset 0 2px 0 rgba(255,255,255,.4);z-index:10;font-size:20px;line-height:1}.coach-label{bottom:-12px;left:50%;transform:translateX(-50%);padding:.375rem .875rem;color:#fff;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;box-shadow:0 4px 12px rgba(245,158,11,.5),inset 0 1px 0 rgba(255,255,255,.3);border:2px solid rgba(255,255,255,.2);z-index:5}@media (max-width:900px){.profile-hero-new{grid-template-columns:1fr;gap:1.5rem}.hero-left{flex-direction:column;text-align:center}.hero-left,.hero-left .profile-info{align-items:center}.hero-left .profile-bio{max-width:100%;text-align:center}.hero-right{flex-wrap:wrap;justify-content:center;gap:1rem}.hero-divider{display:none}.hero-stat-block{padding:1rem;background:rgba(255,255,255,.03);border-radius:12px;min-width:140px}.top-sports{width:100%;padding:1rem}}@media (max-width:480px){.profile-hero-new{padding:1.25rem}.hero-left .avatar-placeholder-large,.hero-left .profile-avatar-large img{width:80px;height:80px}.hero-left .profile-name{font-size:1.25rem}.hero-stat-big{font-size:2.5rem}.profile-social-stats{gap:1rem}}.profile-hero-new.coach-hero{background:linear-gradient(135deg,rgba(196,181,253,.25)0,rgba(167,139,250,.2) 100%);border-color:rgba(196,181,253,.3)}.profile-coach-description{margin-top:.5rem}.coach-sports-section{margin:1.5rem 0;padding:1.5rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:16px}.coach-section-title{font-size:1.125rem;font-weight:600;margin-bottom:1rem;color:var(--white)}.coach-sports-list{display:flex;flex-direction:column;gap:.75rem}.coach-sport-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:rgba(255,255,255,.03);border-radius:12px;transition:background .2s}.coach-sport-item:hover{background:rgba(255,255,255,.05)}.coach-sport-icon{font-size:1.5rem;flex-shrink:0}.coach-sport-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.coach-sport-name{font-weight:600;color:var(--white);font-size:.938rem}.coach-sport-exp{font-size:.813rem;color:var(--text-muted)}.coach-request-btn{background:linear-gradient(135deg,rgba(245,158,11,.2),rgba(217,119,6,.15));border-color:rgba(245,158,11,.3);color:var(--white)}.coach-request-btn:hover{background:linear-gradient(135deg,rgba(245,158,11,.3),rgba(217,119,6,.25));border-color:rgba(245,158,11,.4)}.profile-grid{display:grid;grid-template-columns:1fr 320px;gap:2rem}.profile-content{min-width:0}.profile-sidebar{display:flex;flex-direction:column;gap:1rem}.sidebar-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1rem}.sidebar-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.sidebar-card-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0;text-transform:uppercase;letter-spacing:.03em}.sidebar-card-title svg{color:var(--accent-color);flex-shrink:0}.sidebar-edit-link{margin-left:auto;color:var(--text-muted);opacity:.6;transition:opacity .2s}.sidebar-edit-link:hover{opacity:1;color:var(--accent-color)}.sidebar-empty{color:var(--text-muted);font-size:.813rem;margin:0;padding:.5rem 0}.records-card{padding:.75rem}.records-card .sidebar-card-title{padding:0 .25rem .5rem}.records-sections{display:flex;flex-direction:column;font-size:.813rem}.records-sport-section{gap:1rem}.records-sport-section,.records-subsection{display:flex;flex-direction:column}.records-subsection-header{display:flex;align-items:center;justify-content:space-between;padding:.375rem .5rem;border-bottom:1px solid var(--border-color)}.records-subsection-title{font-size:.688rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.records-add-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;background:var(--surface-bg);border:1px dashed var(--border-color);color:var(--text-muted);text-decoration:none;transition:all .15s}.records-add-btn:hover{background:var(--accent-color);border-color:var(--accent-color);color:var(--bg-color, #0a0f1a)}.records-add-btn svg{width:12px;height:12px}.records-list{display:flex;flex-direction:column}.record-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;border-bottom:1px solid var(--border-color-subtle, rgba(255,255,255,0.05))}.intervals-table tr:last-child td,.record-item:last-child{border-bottom:none}.record-item:hover{background:var(--hover-bg, rgba(255,255,255,0.02))}.record-distance{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-time{text-align:right;font-variant-numeric:tabular-nums}.effort-link{color:var(--text-primary);text-decoration:none;font-weight:500}.effort-link:hover,.pr-ext-link:hover{color:var(--accent-color)}.pr-ext-link,.records-empty{color:var(--text-muted);font-size:.75rem}.pr-ext-link{text-decoration:none;margin-left:.125rem;opacity:.6}.pr-ext-link:hover{opacity:1}.records-empty{padding:.5rem;margin:0}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.625rem;background:var(--surface-bg);border-radius:8px}.stat-number{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary);line-height:1.2}.stat-item .stat-label{font-size:.688rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;margin-top:.125rem}.records-sport-tabs{display:flex;gap:.25rem;margin-bottom:.75rem;padding:.15rem;background:rgba(255,255,255,.03);border-radius:6px}.records-sport-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.35rem .5rem;font-size:.75rem;font-weight:500;color:var(--text-muted);background:0 0;border:0;border-radius:4px;cursor:pointer;transition:all .15s ease}.sport-tab-icon{font-size:.875rem;line-height:1}.sport-tab-name{font-size:.75rem}.records-sport-tab:hover{color:var(--white);background:rgba(255,255,255,.05)}.records-sport-tab.active{color:var(--white);background:var(--accent)}.stats-comparison-card{padding:1rem}.stats-card{padding:.75rem}.stats-card .sidebar-card-title{padding:0 .25rem .5rem}.comparison-avatars{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 0;margin-bottom:.5rem;border-bottom:1px solid var(--border-color)}.comparison-avatar-item{display:flex;flex-direction:column;align-items:center;gap:.375rem}.comparison-avatar-img,.comparison-avatar-placeholder{width:48px;height:48px;border-radius:50%;border:2px solid var(--border-color)}.comparison-avatar-img{object-fit:cover}.comparison-avatar-placeholder{background:var(--surface-bg);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;color:var(--text-muted)}.comparison-avatar-name{font-size:.75rem;font-weight:500;color:var(--text-secondary);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comparison-vs{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.stats-comparison{font-size:.813rem}.comparison-sports{display:flex;justify-content:center;gap:.75rem;margin-bottom:1rem;padding:.5rem 0}.comparison-sport-item{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--surface-bg);border-radius:10px;border:1px solid var(--border-color);transition:transform .2s,border-color .2s}.comparison-sport-item:hover{transform:scale(1.05);border-color:var(--accent-color)}.comparison-sport-icon{font-size:1.25rem;line-height:1}.comparison-section{margin-top:.75rem}.comparison-section-label{font-size:.688rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);padding:.375rem .5rem;background:var(--surface-bg);border-radius:4px;margin-bottom:.25rem}.own-sports-card{padding:1rem}.own-sports-card .sidebar-card-title{margin-bottom:.5rem}.comparison-header{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.25rem;padding:.5rem;font-size:.688rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.comparison-header .comparison-label{text-align:left}.comparison-header .comparison-user{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comparison-list .record-item{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.25rem}.comparison-row .record-distance{flex:none}.comparison-row .record-time{flex:none;text-align:right}.comparison-row .record-time.winner{color:var(--accent-color);font-weight:700}.refresh-stats-btn-inline{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px;padding:0;background:var(--surface-bg, rgba(255,255,255,0.05));border:1px solid var(--border-color, rgba(255,255,255,0.1));border-radius:6px;color:var(--text-muted, #888);cursor:pointer;transition:all .2s}.refresh-stats-btn-inline svg{color:inherit;width:14px;height:14px}.refresh-stats-btn-inline:hover{color:var(--accent);border-color:var(--accent);background:rgba(0,212,255,.1)}.refresh-stats-btn-inline:disabled{cursor:not-allowed;opacity:.5}.refresh-stats-btn-inline.spinning svg{animation:spin .8s linear infinite}@media (max-width:1024px){.profile-grid{grid-template-columns:1fr}.profile-sidebar{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}}@media (max-width:640px){.profile-sidebar{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.records-sport-tab{padding:.4rem .25rem}.sport-tab-name{display:none}.sport-tab-icon{font-size:1rem}.comparison-header{font-size:.625rem}.comparison-header .comparison-user{max-width:60px}.comparison-list .record-item,.comparison-row{font-size:.75rem}.comparison-sports{gap:.5rem}.comparison-sport-item{width:36px;height:36px}.comparison-sport-icon{font-size:1.1rem}}.discover-container,.error-container,.profile-container,.search-container,.user-list-container{min-height:100vh;background:radial-gradient(ellipse 80% 50%at 50% -20%,var(--blue-600),transparent),radial-gradient(ellipse 60% 40%at 80% 100%,var(--blue-700),transparent),var(--blue-900)}.discover-main,.error-main,.profile-main,.search-main,.user-list-main{max-width:680px;margin:0 auto;padding:2rem 1rem}.user-avatar-link{display:flex;align-items:center}.user-avatar-small,.user-card-avatar img,.user-list-avatar img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.1)}.user-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--blue-500),var(--accent));display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--white)}.follow-btn{padding:.5rem 1rem;background:var(--accent);border:0;border-radius:8px;color:var(--blue-900);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.follow-btn:hover{background:var(--white);transform:translateY(-1px)}.follow-btn.following{background:0 0;border:1px solid rgba(255,255,255,.2);color:var(--text-muted)}.follow-btn.following:hover{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#ef4444}.follow-btn-large{padding:.75rem 2rem;font-size:1rem;border-radius:10px}.user-card,.user-card-link{display:flex;align-items:center}.user-card{justify-content:space-between;padding:1rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;transition:all .2s ease}.user-card:hover,.user-list-item:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}.user-card-link{gap:.75rem;text-decoration:none;color:inherit;flex:1}.user-card-avatar img,.user-list-avatar img{width:48px;height:48px}.user-card-info,.user-list-info{display:flex;flex-direction:column}.user-card-name,.user-list-name{font-weight:600;color:var(--white)}.user-card-username,.user-list-username{font-size:.85rem;color:var(--text-muted)}.avatar-placeholder{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--blue-500),var(--accent));display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:var(--white)}.user-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.user-list{display:flex;flex-direction:column;gap:.75rem}.user-list-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;transition:all .2s ease}.user-list-link{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit;flex:1}.profile-hero{text-align:center;padding:2rem 0}.avatar-placeholder-large,.profile-avatar-large img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.1)}.profile-avatar-large img{margin-bottom:1.5rem}.avatar-placeholder-large{background:linear-gradient(135deg,var(--blue-500),var(--accent));display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:600;color:var(--white);margin:0 auto 1.5rem}.profile-info{margin-bottom:1.5rem}.profile-name{font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.profile-username{font-size:1rem;color:var(--text-muted);margin-bottom:.75rem}.profile-bio{font-size:.95rem;color:var(--text-muted);max-width:400px;margin:0 auto}.profile-stats{display:flex;justify-content:center;gap:2rem;margin-bottom:1.5rem}.profile-stat{text-align:center;text-decoration:none;color:inherit;padding:.5rem 1rem;border-radius:8px;transition:all .2s ease}.profile-stat:hover{background:rgba(255,255,255,.05)}.profile-stat .stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--white)}.profile-stat .stat-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.profile-section{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.06)}.search-form{margin-bottom:2rem}.search-input-wrapper{position:relative}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--text-muted)}.search-input{width:100%;padding:1rem 1rem 1rem 3rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--white);font-size:1rem;outline:0;transition:all .2s ease}.form-input::placeholder,.gdpr-search-input::placeholder,.search-input::placeholder{color:var(--text-muted)}.search-input:focus{background:rgba(255,255,255,.08);border-color:var(--accent)}.discover-section,.suggested-section{margin-top:2rem}.profile-avatar-large.editable{position:relative;cursor:pointer}.profile-avatar-large.editable .avatar-placeholder-large,.profile-avatar-large.editable img{transition:opacity .2s ease,filter .2s ease}.profile-avatar-large.editable:hover .avatar-placeholder-large,.profile-avatar-large.editable:hover img{opacity:.7;filter:brightness(.8)}.avatar-edit-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:rgba(0,0,0,.6);border-radius:50%;opacity:0;transition:opacity .2s ease;color:var(--white);cursor:pointer}.profile-avatar-large.editable:hover .avatar-edit-overlay{opacity:1}.avatar-edit-overlay svg{width:24px;height:24px}.avatar-edit-overlay span{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.profile-avatar-large.uploading::after{content:"";position:absolute;inset:-4px;border:3px solid transparent;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.primary-club-badge{display:inline-flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem 1rem;background:rgba(0,212,255,.1);border:1px solid rgba(0,212,255,.3);border-radius:20px;text-decoration:none;color:var(--accent);font-size:.9rem;font-weight:500;transition:all .2s ease}.primary-club-badge:hover{background:rgba(0,212,255,.2);border-color:var(--accent);transform:translateY(-1px)}.primary-club-badge .club-icon{font-size:1rem}.primary-club-badge .club-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.error-content{text-align:center;padding:4rem 2rem}.error-icon{margin-bottom:1.5rem}.error-icon svg{width:64px;height:64px;color:var(--text-muted)}.error-title{font-size:2rem;font-weight:700;margin-bottom:.5rem}.error-message{font-size:1rem;color:var(--text-muted);margin-bottom:2rem}@media (max-width:768px){.user-grid{grid-template-columns:1fr}.profile-stats{gap:1rem}}.intervals-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.intervals-filters{display:flex;align-items:center;gap:1rem}.intervals-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--text-muted)}.intervals-empty svg{width:64px;height:64px;margin-bottom:1.5rem;opacity:.5}.intervals-empty h3{font-size:1.25rem;font-weight:600;color:var(--white);margin-bottom:.75rem}.intervals-empty p{max-width:400px;line-height:1.6;margin-bottom:1rem}.intervals-settings-link{color:var(--accent);text-decoration:none;font-size:.9rem}.intervals-settings-link:hover,.public-profile-footer a:hover{text-decoration:underline}.intervals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1.5rem}.interval-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.interval-card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:rgba(255,255,255,.02);border-bottom:1px solid rgba(255,255,255,.06)}.interval-card-header h3{font-size:1.1rem;font-weight:600;color:var(--white);margin:0}.interval-count{font-size:.85rem;color:var(--text-muted);background:rgba(255,255,255,.05);padding:.25rem .6rem;border-radius:12px}.interval-empty,.intervals-table th{padding:2rem;text-align:center;color:var(--text-muted);font-size:.9rem}.intervals-table{width:100%;border-collapse:collapse;table-layout:fixed}.intervals-table th{padding:.6rem .75rem;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(255,255,255,.06)}.intervals-table td{padding:.6rem .75rem;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.04)}.interval-row:hover,.sudo-table tr:hover td,.weekly-table tbody tr:hover{background:rgba(255,255,255,.02)}.interval-row.best{background:rgba(0,212,255,.05)}.col-rank{width:50px;text-align:center}.col-time{font-variant-numeric:tabular-nums;font-weight:500;width:auto}.interval-time-link{color:var(--white);text-decoration:none;display:inline-flex;align-items:center;gap:.25rem;transition:color .2s ease}.interval-time-link:hover{color:var(--accent);text-decoration:underline}.interval-row.best .interval-time-link{color:var(--accent);font-weight:600}.interval-row.best .interval-time-link:hover{color:var(--accent);opacity:.8}.col-hr,.col-pace{font-variant-numeric:tabular-nums;color:var(--text-muted)}.col-date{text-align:right;white-space:nowrap}.rank-badge{font-size:1rem}.activity-link,.rank-num{color:var(--text-muted);font-size:.85rem}.activity-link:hover{color:var(--accent)}@media (max-width:600px){.intervals-header{flex-direction:column}.intervals-filters{width:100%}.intervals-grid{grid-template-columns:1fr}.col-hr{display:none}}.progress-main{min-height:calc(100vh - 60px);padding:2rem}.progress-container{max-width:1400px;margin:0 auto}.progress-content{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem;min-width:0;overflow-x:hidden}.progress-section-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.progress-section-desc{color:var(--text-muted);margin-bottom:2rem}@media (max-width:900px){.progress-main{padding:1rem}.progress-content{padding:1rem;overflow-x:hidden}.progress-section-title{font-size:1.25rem}.progress-section-desc{font-size:.9rem;margin-bottom:1.5rem}}.range-tab:hover,.range-tabs{background:rgba(255,255,255,.05)}.range-tabs{display:flex;border-radius:8px;padding:3px;gap:2px}.range-tab{padding:.4rem .75rem;background:0 0;border:0;border-radius:6px;color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.range-tab:hover{color:var(--white)}.range-tab.active{background:var(--accent);color:var(--bg)}.weekly-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.weekly-filters{display:flex;align-items:center;gap:.5rem}.year-nav-btn{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:.5rem;cursor:pointer;color:var(--text-muted);transition:all .2s ease}.year-nav-btn:hover{background:rgba(255,255,255,.1);color:var(--white)}.year-nav-btn svg{width:18px;height:18px;display:block}.year-label{font-size:1.25rem;font-weight:600;min-width:60px;text-align:center}.weekly-empty,.weekly-table thead th{padding:3rem;text-align:center;color:var(--text-muted)}.weekly-table-wrapper{overflow-x:auto;margin:-.5rem;padding:.5rem}.weekly-table{width:100%;border-collapse:collapse;font-size:.85rem;white-space:nowrap}.weekly-table thead th{position:sticky;top:0;background:var(--blue-900);padding:.5rem .4rem;font-weight:600;border-bottom:1px solid rgba(255,255,255,.1);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.weekly-table thead tr.subheader th{font-size:.65rem;padding:.25rem .4rem;color:rgba(255,255,255,.4);font-weight:400}.weekly-table tbody td{padding:.4rem;text-align:center;border-bottom:1px solid rgba(255,255,255,.05);font-variant-numeric:tabular-nums}.week-col{text-align:left!important;font-weight:500;color:var(--white);min-width:140px}.num-col{color:var(--white);min-width:45px}.fast-header{background:rgba(249,115,22,.15)!important;color:#fb923c!important}.fast-col{color:#fdba74}.zone-header{font-size:.7rem!important}.zone-col{min-width:35px}.zone-col-hr{color:var(--text-muted);min-width:30px;font-size:.8rem}.other-header{font-size:1rem!important}.other-col{color:var(--text-muted);min-width:40px}.sub-col{min-width:30px}.zone-orange-light{background:rgba(251,146,60,.15);color:#fdba74}.zone-orange-medium{background:rgba(249,115,22,.25);color:#fb923c}.zone-orange-dark{background:rgba(234,88,12,.35);color:#f97316}.zone-green-light{background:rgba(74,222,128,.15);color:#86efac}.zone-green-medium{background:rgba(34,197,94,.25);color:#4ade80}.zone-green-dark{background:rgba(22,163,74,.35);color:#22c55e}.fast-light{background:rgba(251,146,60,.1)}.fast-medium{background:rgba(249,115,22,.2)}.fast-dark{background:rgba(234,88,12,.3)}@media (max-width:1200px){.weekly-table{font-size:.8rem}.weekly-table thead th{font-size:.7rem}}.zones-filters,.zones-header{display:flex;gap:1rem;flex-wrap:wrap}.zones-header{justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.zones-filters{align-items:center}.zones-select{padding:.5rem 2rem .5rem .75rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--white);font-size:.9rem;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:16px;cursor:pointer}.zones-select:focus{outline:0;border-color:var(--accent)}.zones-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.zones-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.5rem}.zones-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.zones-card-header svg{width:24px;height:24px;color:var(--accent)}.zones-card-header h3{font-size:1.1rem;font-weight:600;color:var(--white)}.zones-empty{padding:2rem;text-align:center;color:var(--text-muted)}.zones-bars{display:flex;flex-direction:column;gap:.75rem}.zone-row{display:grid;grid-template-columns:36px 1fr 80px 50px;align-items:center;gap:.75rem}.zone-label{font-size:.85rem;color:var(--text-muted)}.zone-bar-container{background:rgba(255,255,255,.05)}.zone-hr-1,.zone-power-1{background:linear-gradient(90deg,#64748b,#94a3b8)}.zone-hr-2,.zone-power-2{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.zone-hr-3,.zone-power-3{background:linear-gradient(90deg,#22c55e,#4ade80)}.zone-hr-4,.zone-power-4{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.zone-hr-5,.zone-power-5{background:linear-gradient(90deg,#ef4444,#f87171)}.zone-hr-6,.zone-power-6{background:linear-gradient(90deg,#a855f7,#c084fc)}.zone-hr-7,.zone-power-7{background:linear-gradient(90deg,#ec4899,#f472b6)}.zone-pct,.zone-time{font-variant-numeric:tabular-nums}.zones-total{display:flex;justify-content:space-between;align-items:center;margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.zones-total-label{font-size:.9rem;font-weight:600;color:var(--text-muted)}.zones-total-time{font-size:1.1rem;font-weight:600;color:var(--accent)}@media (max-width:600px){.zones-header{flex-direction:column}.zones-filters{width:100%}.zones-grid{grid-template-columns:1fr}.zone-row{grid-template-columns:32px 1fr 65px 45px;gap:.5rem}}.public-profile-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:2rem;background:radial-gradient(ellipse 80% 50%at 50% -20%,var(--blue-600),transparent),radial-gradient(ellipse 60% 40%at 80% 100%,var(--blue-700),transparent),radial-gradient(ellipse 40% 30%at 10% 80%,var(--blue-800),transparent),linear-gradient(180deg,var(--blue-900) 0%,var(--blue-800) 100%)}.public-profile-content{text-align:center;z-index:10;max-width:520px;width:100%;animation:fadeInUp .8s ease-out}.public-nav{margin-bottom:2rem}.brand-name-small{font-family:var(--font-display);font-size:2rem;font-weight:400;letter-spacing:.15em;text-decoration:none;background:linear-gradient(135deg,var(--white) 0%,var(--blue-200) 50%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:all .3s ease}.brand-name-small:hover{filter:drop-shadow(0 0 20px var(--accent-glow))}.public-profile-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:2.5rem;backdrop-filter:blur(20px);display:flex;flex-direction:column;align-items:center;gap:1rem}.public-avatar{width:120px;height:120px;border-radius:50%;overflow:hidden;border:3px solid rgba(255,255,255,.15);box-shadow:0 0 40px var(--accent-glow);margin-bottom:.5rem}.public-avatar img{object-fit:cover}.avatar-placeholder-xlarge{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue-600) 0%,var(--blue-500) 100%);font-size:2.5rem;font-weight:600;color:var(--white);letter-spacing:.05em}.public-profile-name{font-family:var(--font-display);font-size:clamp(1.75rem,6vw,2.25rem);font-weight:400;letter-spacing:.08em;color:var(--white);margin:0;line-height:1.2}.public-profile-club,.public-profile-location{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--blue-200);font-size:.95rem;margin:0}.public-profile-club svg,.public-profile-location svg{opacity:.7;flex-shrink:0}.public-profile-bio{color:var(--blue-100);font-size:.95rem;line-height:1.5;margin:.5rem 0;max-width:360px}.public-social-stats{display:flex;align-items:center;gap:.75rem;margin:.75rem 0}.public-social-stats .social-stat{display:flex;align-items:baseline;gap:.35rem}.public-follow-btn,.public-social-stats .social-stat-value{font-size:1.1rem;font-weight:600;color:var(--white)}.public-social-stats .social-stat-label{font-size:.85rem;color:var(--blue-300)}.public-social-stats .social-dot{color:var(--blue-400);font-size:.9rem}.public-follow-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 2rem;background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);border:0;border-radius:60px;font-family:var(--font-body);font-size:1rem;text-decoration:none;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.public-follow-btn:hover{transform:scale(1.05);box-shadow:0 10px 40px rgba(37,99,235,.4)}.public-follow-btn:active{transform:scale(.98)}.public-profile-footer{margin-top:2rem;font-size:.9rem;color:var(--text-muted)}.public-profile-footer a{color:var(--accent);text-decoration:none;font-weight:500}.private-profile-banner{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:3rem 2.5rem;backdrop-filter:blur(20px);display:flex;flex-direction:column;align-items:center;gap:1.25rem}.private-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);border-radius:50%;color:var(--blue-300)}.private-title{font-family:var(--font-display);font-size:clamp(1.5rem,5vw,2rem);font-weight:400;letter-spacing:.08em;color:var(--white);margin:0}.private-description{color:var(--blue-200);font-size:1rem;line-height:1.6;max-width:320px;margin:0}.private-description strong{color:var(--white);font-weight:500}.private-actions{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:.5rem;width:100%}.private-signup-btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2.5rem;background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);color:var(--white);border:0;border-radius:60px;font-family:var(--font-body);font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .3s ease;width:100%;max-width:280px}.private-signup-btn:hover{transform:scale(1.03);box-shadow:0 10px 40px rgba(37,99,235,.4)}.private-or{color:var(--text-muted);font-size:.85rem}.private-login-link{color:var(--accent);font-size:.9rem;text-decoration:none}.private-login-link:hover{text-decoration:underline}.private-footer{margin-top:2.5rem;font-size:.9rem;color:var(--text-muted)}.brand-accent{color:var(--accent);font-weight:500}.public-error-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:3rem 2.5rem;backdrop-filter:blur(20px);display:flex;flex-direction:column;align-items:center;gap:1rem}.public-error-card .error-icon{color:var(--blue-300);margin-bottom:.5rem}.public-error-card .error-title{font-family:var(--font-display);font-size:2rem;font-weight:400;letter-spacing:.08em;color:var(--white);margin:0}.public-error-card .error-message{color:var(--blue-200);font-size:1rem;margin:0}.public-login-btn{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 2rem;background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);color:var(--white);border:0;border-radius:60px;font-family:var(--font-body);font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .3s ease;margin-top:1rem}.public-login-btn:hover{transform:scale(1.05);box-shadow:0 10px 40px rgba(37,99,235,.4)}.public-activity-container{min-height:100vh;background:var(--blue-900);padding:1rem}.public-activity-container .public-nav{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;max-width:1200px;margin:0 auto 1rem}.public-login-link{color:var(--blue-200);text-decoration:none;font-size:.9rem;padding:.5rem 1rem;border:1px solid var(--blue-600);border-radius:8px;transition:all .2s ease}.public-login-link:hover{background:var(--blue-700);color:var(--white)}.public-activity-main{max-width:1200px;margin:0 auto}.public-hero-actions{pointer-events:none;opacity:.7}.public-cta-section{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:2rem;text-align:center;margin-top:2rem}.public-cta-text{color:var(--blue-200);font-size:1rem;margin:0 0 1rem}.public-cta-btn{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 2rem;background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);color:var(--white);border:0;border-radius:60px;font-family:var(--font-body);font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .3s ease}.public-cta-btn:hover{transform:scale(1.05);box-shadow:0 10px 40px rgba(37,99,235,.4)}@media (max-width:640px){.public-profile-container{padding:1.5rem}.private-profile-banner,.public-error-card,.public-profile-card{padding:2rem 1.5rem;border-radius:20px}.public-avatar{width:100px;height:100px}.avatar-placeholder-xlarge{font-size:2rem}.private-signup-btn,.public-follow-btn,.public-login-btn{border-radius:16px;width:100%}.public-activity-container,.public-activity-container .public-nav{padding:.5rem}}.public-profile-container.coach-profile-public{background:radial-gradient(ellipse 80% 50%at 50% -20%,rgba(245,158,11,.2),transparent),radial-gradient(ellipse 60% 40%at 80% 100%,rgba(217,119,6,.15),transparent),radial-gradient(ellipse 40% 30%at 10% 80%,rgba(180,83,9,.1),transparent),linear-gradient(180deg,var(--blue-900) 0%,var(--blue-800) 100%)}.public-follow-btn.coach-request-btn-public{background:linear-gradient(135deg,rgba(245,158,11,.3)0,rgba(217,119,6,.25) 100%)}.public-follow-btn.coach-request-btn-public:hover{box-shadow:0 10px 40px rgba(245,158,11,.4)}.public-coach-sports{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem;width:100%;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.public-coach-sport{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:rgba(255,255,255,.03);border-radius:12px;text-align:left}.public-coach-sport-icon{font-size:1.5rem;flex-shrink:0}.public-coach-sport-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.public-coach-sport-name{font-weight:600;color:var(--white);font-size:.938rem}.public-coach-sport-exp{font-size:.813rem;color:var(--blue-300)}.readiness-main{min-height:calc(100vh - 60px);padding:2rem;background:linear-gradient(135deg,rgba(0,50,80,.1)0,rgba(0,20,40,.2) 100%)}.readiness-container{max-width:900px;margin:0 auto}.readiness-header{margin-bottom:2rem}.readiness-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.readiness-title{font-size:1.75rem;font-weight:600;color:var(--white)}.readiness-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.readiness-empty .empty-icon{width:80px;height:80px;margin-bottom:1.5rem;color:var(--accent);opacity:.5}.public-avatar img,.readiness-empty .empty-icon svg{width:100%;height:100%}.readiness-empty h2{font-size:1.5rem;margin-bottom:.5rem;color:var(--white)}.readiness-empty p{color:var(--text-muted);max-width:400px;margin-bottom:1.5rem}.no-data-day,.readiness-hero{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08)}.no-data-day{padding:3rem;text-align:center;border-radius:12px}.no-data-day p{font-size:1.1rem;color:var(--white);margin-bottom:.5rem}.no-data-day .hint{color:var(--text-muted);font-size:.9rem}.readiness-hero{display:flex;flex-direction:column;align-items:center;padding:2.5rem;border-radius:16px;margin-bottom:1.5rem}.score-ring-container{position:relative;width:160px;height:160px;margin-bottom:1.5rem}.score-ring{width:100%;height:100%}.score-ring-bg{stroke:rgba(255,255,255,.1)}.score-ring-progress{stroke-linecap:round;transition:stroke-dasharray .5s ease}.score-ring-progress.ready{stroke:#4ade80}.score-ring-progress.moderate{stroke:#fbbf24}.score-ring-progress.light{stroke:#fb923c}.score-ring-progress.rest{stroke:#f87171}.score-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.score-value{display:block;font-size:3rem;font-weight:700;color:var(--white);line-height:1;font-family:var(--font-display)}.score-label{display:block;font-size:.85rem;color:var(--text-muted);margin-top:.25rem;text-transform:uppercase;letter-spacing:1px}.hero-info{display:flex;flex-direction:column;align-items:center;gap:.5rem}.readiness-badge{display:inline-block;padding:.5rem 1.25rem;border-radius:20px;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.readiness-badge.ready{background:rgba(74,222,128,.15);color:#4ade80}.readiness-badge.moderate{background:rgba(251,191,36,.15);color:#fbbf24}.readiness-badge.light{background:rgba(251,146,60,.15);color:#fb923c}.readiness-badge.rest{background:rgba(248,113,113,.15);color:#f87171}.data-note{font-size:.75rem;color:var(--text-muted);font-style:italic}.settings-error p,.workout-recommendation{margin-bottom:1.5rem}.workout-card{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;border-left:4px solid}.workout-card.ready{border-left-color:#4ade80}.workout-card.moderate{border-left-color:#fbbf24}.workout-card.light{border-left-color:#fb923c}.workout-card.rest{border-left-color:#f87171}.workout-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05)}.workout-card.ready .workout-icon{background:rgba(74,222,128,.1);color:#4ade80}.workout-card.moderate .workout-icon{background:rgba(251,191,36,.1);color:#fbbf24}.workout-card.light .workout-icon{background:rgba(251,146,60,.1);color:#fb923c}.workout-card.rest .workout-icon{background:rgba(248,113,113,.1);color:#f87171}.workout-icon svg{width:28px;height:28px}.workout-content{min-width:0}.workout-type{font-size:1.25rem;font-weight:600;color:var(--white);margin-bottom:.25rem}.workout-description{font-size:.9rem;color:var(--text-muted);line-height:1.4}.intensity-indicator{text-align:center;padding:.75rem 1rem;background:rgba(255,255,255,.03);border-radius:8px}.intensity-label{display:block;font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.intensity-value{display:block;font-size:.9rem;font-weight:600}.intensity-value.high{color:#4ade80}.intensity-value.moderate-high{color:#a3e635}.intensity-value.moderate{color:#fbbf24}.intensity-value.low{color:#fb923c}.intensity-value.none{color:#f87171}.factors-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.factor-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.25rem}.factor-header,.factor-icon{display:flex;align-items:center}.factor-header{gap:.75rem;margin-bottom:1rem}.factor-icon{width:36px;height:36px;border-radius:8px;justify-content:center}.factor-icon svg{width:20px;height:20px}.hrv-factor .factor-icon{background:rgba(74,222,128,.1);color:#4ade80}.sleep-factor .factor-icon{background:rgba(139,92,246,.1);color:#a78bfa}.trend-factor .factor-icon{background:rgba(0,180,216,.1);color:#00b4d8}.supplemental-factor .factor-icon{background:rgba(251,191,36,.1);color:#fbbf24}.factor-title{font-size:.85rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.factor-value{margin-bottom:.75rem}.value-main{font-size:1.75rem;font-weight:600;color:var(--white);text-transform:capitalize}.value-main.muted{color:var(--text-muted);font-size:1rem}.value-main.status-balanced,.value-main.status-high{color:#4ade80}.value-main.status-low{color:#fbbf24}.value-main.status-poor{color:#f87171}.value-main.trend-improving{color:#4ade80}.value-main.trend-declining{color:#f87171}.value-main.trend-stable{color:#00b4d8}.value-main.battery-positive{color:#4ade80}.value-main.battery-neutral{color:#fbbf24}.value-main.battery-negative{color:#f87171}.value-score,.value-unit{font-size:.85rem;color:var(--text-muted);margin-left:.25rem}.factor-detail{display:flex;justify-content:space-between;padding:.5rem 0;border-top:1px solid rgba(255,255,255,.05)}.detail-label{font-size:.8rem;color:var(--text-muted)}.detail-value{font-size:.85rem;font-weight:500;color:var(--white)}.detail-value.trend-positive{color:#4ade80}.detail-value.trend-negative{color:#f87171}.detail-value.trend-neutral{color:var(--text-muted)}.history-section{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.5rem}.section-title{font-size:1rem;font-weight:600;color:var(--white);margin-bottom:1rem}.history-chart{display:flex;justify-content:space-between;align-items:flex-end;height:120px;gap:.5rem}.history-bar{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.bar-fill{width:100%;max-width:40px;border-radius:4px 4px 0 0;margin-top:auto;transition:height .3s ease}.bar-fill.ready{background:linear-gradient(to top,rgba(74,222,128,.3),rgba(74,222,128,.6))}.bar-fill.moderate{background:linear-gradient(to top,rgba(251,191,36,.3),rgba(251,191,36,.6))}.bar-fill.light{background:linear-gradient(to top,rgba(251,146,60,.3),rgba(251,146,60,.6))}.bar-fill.rest{background:linear-gradient(to top,rgba(248,113,113,.3),rgba(248,113,113,.6))}.bar-label{font-size:.7rem;color:var(--text-muted);margin-top:.5rem;text-transform:uppercase}@media (max-width:768px){.readiness-main{padding:1rem}.readiness-title-row{flex-direction:column;align-items:flex-start}.factors-grid,.workout-card{grid-template-columns:1fr}.workout-card{text-align:center}.workout-icon{margin:0 auto}.intensity-indicator{margin-top:1rem}.history-chart{height:80px}}.segments-list{display:flex;flex-direction:column;gap:.75rem}.segment-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:1rem 1.25rem;transition:all .2s ease}.segment-card:hover{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}.segment-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.segment-info{flex:1;min-width:0}.segment-name{font-size:1rem;font-weight:600;color:var(--white);margin:0 0 .35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.segment-meta{display:flex;align-items:center;gap:.75rem;font-size:.8rem}.segment-distance,.segment-grade{font-family:"JetBrains Mono","SF Mono",monospace}.segment-distance{color:var(--text-muted)}.segment-grade{font-weight:500}.segment-grade.grade-up{color:#f87171}.segment-grade.grade-down{color:#4ade80}.segment-climb-cat{padding:.15rem .5rem;background:rgba(239,68,68,.15);color:#fca5a5;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border-radius:4px}.segment-time{text-align:right;flex-shrink:0}.segment-stat .stat-value,.segment-time .time-value{font-family:"JetBrains Mono","SF Mono",monospace;font-weight:600;color:var(--white)}.segment-time .time-value{display:block;font-size:1.1rem}.segment-achievements{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem}.segment-kom,.segment-pr{font-size:.75rem;font-weight:600}.segment-pr{color:#fbbf24}.segment-kom{color:#f472b6}.segment-stats{display:flex;gap:1.5rem;margin-top:.875rem;padding-top:.875rem;border-top:1px solid rgba(255,255,255,.06)}.segment-stat{display:flex;flex-direction:column;gap:.1rem}.segment-stat .stat-value{font-size:.85rem}.segment-stat .stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}@media (max-width:640px){.segment-header{flex-direction:column;gap:.5rem}.segment-time{text-align:left}.segment-achievements{justify-content:flex-start}.segment-stats{flex-wrap:wrap;gap:1rem}.segment-stat{min-width:80px}}.settings-error{text-align:center;padding:3rem 2rem;color:var(--text-muted)}.settings-error p{font-size:1.1rem}.settings-content .loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-muted)}.settings-content .loading-spinner .spinner{width:40px;height:40px;animation:spin 1s linear infinite}.settings-content .loading-spinner .path{stroke:var(--accent);stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}.settings-content .loading-spinner p{margin-top:1rem;font-size:.9rem}.settings-hint{display:block;color:var(--text-muted);font-size:.85rem;margin-top:.25rem}.settings-radio input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary)}.settings-danger-zone{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}.settings-danger-zone .settings-subsection-title{color:var(--danger)}.settings-btn-danger{background:var(--danger);border:0}.settings-btn-danger:hover{background:var(--danger-hover, #c82333)}.settings-btn-danger:disabled{opacity:.6;cursor:not-allowed}.events-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.events-header .settings-btn svg{margin-right:.25rem}.events-empty,.events-list{display:flex;flex-direction:column}.events-list{gap:.75rem}.events-empty{align-items:center;padding:3rem 2rem;color:var(--text-muted);text-align:center}.events-empty svg{margin-bottom:1rem;opacity:.5}.events-empty p{font-size:1.1rem;margin-bottom:.25rem}.events-empty span{font-size:.9rem;opacity:.7}.event-card{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.25rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:10px;transition:all .2s ease}.event-card:hover{background:rgba(255,255,255,.04)}.event-card.primary{border-color:var(--accent);background:rgba(0,212,255,.05)}.event-info{flex:1}.event-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.event-name{font-weight:600;font-size:1.05rem}.event-badge{text-transform:uppercase}.event-badge.primary{background:rgba(0,212,255,.2);color:var(--accent)}.event-badge.public{background:rgba(251,191,36,.2);color:#fbbf24}.event-badge.distance{background:rgba(139,92,246,.2);color:#a78bfa}.event-badge,.status-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:10px;font-weight:500}.status-badge.planned{background:rgba(156,163,175,.2);color:#9ca3af}.status-badge.registered{background:rgba(59,130,246,.2);color:#3b82f6}.status-badge.training{background:rgba(16,185,129,.2);color:#10b981}.status-badge.completed{background:rgba(34,197,94,.2);color:#22c55e}.status-badge.dnf,.status-badge.dns{background:rgba(239,68,68,.2);color:#ef4444}.event-meta{color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem}.event-details{display:flex;gap:1.5rem;font-size:.85rem;flex-wrap:wrap}.event-detail{display:flex;align-items:center;gap:.3rem;color:var(--text-muted)}.event-detail-value{color:var(--white);font-weight:500}.event-detail svg{width:14px;height:14px;opacity:.7}.event-actions{flex-direction:column}.event-actions,.event-actions-row{display:flex;gap:.5rem}.event-btn{padding:.4rem .75rem;font-size:.8rem;border-radius:6px;cursor:pointer;transition:all .2s ease;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--text-muted)}.event-btn:hover{background:rgba(255,255,255,.1);color:var(--white)}.event-btn.primary-btn:hover{background:rgba(0,212,255,.1);border-color:var(--accent);color:var(--accent)}.event-btn.danger-btn{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#ef4444}.event-btn.danger-btn:hover{background:rgba(239,68,68,.2);border-color:#ef4444;color:#ef4444}.followed-athletes-grid,.public-events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.public-event-card{padding:1rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;transition:all .2s ease}.followed-athlete-card:hover,.public-event-card:hover{background:rgba(255,255,255,.04);border-color:var(--accent)}.public-event-name{font-weight:600;margin-bottom:.25rem}.public-event-meta{font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem}.public-event-badges{display:flex;gap:.5rem;flex-wrap:wrap}.followed-athlete-card{padding:1rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:10px;text-decoration:none;color:inherit;transition:all .2s ease}.followed-athlete-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.followed-athlete-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.followed-athlete-initials{display:flex;align-items:center;justify-content:center;background:rgba(0,212,255,.2);color:var(--accent);font-size:.7rem;font-weight:600}.followed-athlete-name{font-size:.85rem;color:var(--text-muted)}#gear-modal,#injury-modal{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center}#gear-modal.show{display:flex}#gear-modal .modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7)}.modal-content{max-width:600px}.modal-content,.modal-header{background:var(--blue-900)}.modal-close{color:var(--text-muted)}.modal-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.modal-tab{flex:1;padding:.75rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.modal-tab:hover{background:rgba(255,255,255,.1)}.gear-btn.primary-btn:hover,.modal-tab.active{background:rgba(0,212,255,.1);border-color:var(--accent);color:var(--accent)}.search-results{max-height:300px;overflow-y:auto;margin-top:1rem}.search-result{padding:.75rem;border-radius:8px;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.search-result:hover{background:rgba(255,255,255,.05);border-color:var(--accent)}.search-result-name{font-weight:500}.search-result-meta{font-size:.85rem;color:var(--text-muted)}.search-empty{text-align:center;padding:2rem;color:var(--text-muted)}.selected-event-info{padding:1rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:8px;margin-bottom:1.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input{width:18px;height:18px;accent-color:var(--accent)}@media (max-width:768px){.events-header{flex-direction:column;align-items:flex-start;gap:.75rem}.events-header .settings-btn{width:100%;justify-content:center}.event-card{flex-direction:column;gap:1rem;padding:1rem}.event-header{flex-wrap:wrap;gap:.5rem}.event-actions{flex-direction:row;flex-wrap:wrap;width:100%}.event-actions-row{flex:1;min-width:45%}.event-btn{flex:1;text-align:center}.followed-athletes-grid,.public-events-grid{grid-template-columns:1fr}.modal-content{margin:0;max-height:100vh;border-radius:0}.modal-body{padding:1rem}.modal-tabs{flex-direction:column}}.gear-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.gear-list{display:flex;flex-direction:column;gap:.75rem}#gear-modal .modal-content,.gear-card{border:1px solid rgba(255,255,255,.1);border-radius:12px}.gear-card{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;background:rgba(255,255,255,.03);transition:all .2s ease;gap:1.5rem}.gear-card:hover{background:rgba(255,255,255,.04)}.gear-card.retired{opacity:.6}.gear-card.primary{border-color:var(--accent);background:rgba(0,212,255,.05)}.gear-info{flex:1}.gear-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.gear-name{font-weight:600;font-size:1.1rem;color:var(--white)}.gear-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:10px;font-weight:500;text-transform:uppercase}.gear-badge.primary{background:rgba(0,212,255,.2);color:var(--accent)}.gear-badge.retired{background:rgba(239,68,68,.2);color:#ef4444}.gear-meta{color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem}.gear-stats{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.9rem;margin-top:.5rem}.gear-stat{display:flex;align-items:center;gap:.3rem;color:var(--text-muted)}.gear-stat-value{color:var(--white);font-weight:500}.gear-actions{flex-direction:column;flex-shrink:0}.gear-actions,.gear-actions-row{display:flex;gap:.5rem}.gear-btn{padding:.5rem .875rem;font-size:.85rem;border-radius:8px;cursor:pointer;transition:all .2s ease;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--white);font-weight:500;white-space:nowrap}.gear-btn:hover{background:rgba(255,255,255,.1);color:var(--white)}.gear-btn.retire-btn:hover{background:rgba(239,68,68,.1);border-color:#ef4444;color:#ef4444}.gear-modal-content{max-width:550px}#gear-modal .modal-content{position:relative;background:var(--blue-900);width:100%;max-width:500px;margin:1rem;max-height:90vh;overflow-y:auto}#gear-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;background:var(--blue-900)}#gear-modal .modal-title{font-size:1.25rem}#gear-modal .modal-close{background:0 0;border:0;color:var(--text-muted);font-size:1.5rem;cursor:pointer}#gear-modal .modal-body{padding:1.5rem}@media (max-width:768px){.gear-section-header{flex-direction:column;align-items:flex-start;gap:.75rem}.gear-card{flex-direction:column;gap:1rem;padding:1rem}.gear-actions{flex-direction:column;align-self:stretch;width:100%}.gear-actions-row{display:flex;gap:.5rem;width:100%}.gear-btn{flex:1;text-align:center}.gear-stats{flex-wrap:wrap;gap:.75rem}#gear-modal .modal-content{margin:0;max-height:100vh;border-radius:0}#gear-modal .modal-body{padding:1rem}}.injuries-main{min-height:calc(100vh - 60px);padding:2rem}.injuries-container{max-width:1200px;margin:0 auto}.injuries-page-header{margin-bottom:2rem}.injuries-page-title{font-size:1.75rem;font-weight:600;margin-bottom:.5rem}.injuries-page-desc{color:var(--text-muted);font-size:1rem}.settings-label{color:rgba(255,255,255,.9)}.settings-input{background:rgba(255,255,255,.08)}.settings-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,212,255,.3)}.settings-btn-danger:hover{border-color:#ef4444}.injury-layout{display:grid;grid-template-columns:320px 1fr;gap:2rem;align-items:start}.body-diagram-section{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem}.view-toggle{display:flex;gap:.5rem;margin-bottom:1rem;padding:.25rem;background:rgba(255,255,255,.05);border-radius:8px}.view-btn{flex:1;padding:.5rem;background:0 0;border:0;border-radius:6px;color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.view-btn.active{background:rgba(0,212,255,.15);color:var(--accent)}.view-btn:hover:not(.active){color:var(--white)}.body-container{position:relative;padding:0 2rem}.side-label{position:absolute;top:50%;transform:translateY(-50%);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);writing-mode:vertical-rl;text-orientation:mixed}.left-label{right:0;transform:translateY(-50%) rotate(180deg)}.right-label{left:0}.body-container.back-view .left-label{left:0;right:auto;transform:translateY(-50%)}.body-container.back-view .right-label{right:0;left:auto;transform:translateY(-50%) rotate(180deg)}.body-svg{display:none;width:100%;max-width:240px;margin:0 auto}.body-svg.active{display:block}.body-part{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.2);stroke-width:1;cursor:pointer;transition:all .2s ease}.body-part:hover{fill:rgba(0,212,255,.25);stroke:var(--accent);stroke-width:2}.body-part.injured-active{fill:rgba(239,68,68,.35);stroke:#ef4444;stroke-width:2}.body-part.injured-healed{fill:rgba(34,197,94,.2);stroke:#22c55e;stroke-width:1.5}.body-hint{text-align:center;font-size:.8rem;color:var(--text-muted);margin-top:1rem}.injuries-list-section{min-width:0}.injuries-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.injuries-list{display:flex;flex-direction:column;gap:.75rem}.injury-card{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.25rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:10px;transition:all .2s ease}.injury-card:hover{background:rgba(255,255,255,.04)}.injury-card.active{border-left:3px solid #ef4444}.injury-card.healed{border-left:3px solid #22c55e}.injury-info{flex:1}.injury-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.injury-badge,.injury-name{font-weight:600;font-size:1rem}.injury-badge{font-size:.65rem;padding:.2rem .5rem;border-radius:10px;text-transform:uppercase}.injury-badge.active,.injury-btn.injury-btn-delete:hover{background:rgba(239,68,68,.2);color:#ef4444}.injury-badge.healed{background:rgba(34,197,94,.2);color:#22c55e}.injury-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:var(--text-muted)}.injury-meta-item{display:flex;align-items:center;gap:.35rem}.injury-notes{margin-top:.5rem;font-size:.85rem;color:var(--text-muted);font-style:italic}.injury-actions{display:flex;flex-direction:column;gap:.5rem}.injury-btn{padding:.35rem .65rem;font-size:.75rem;border-radius:6px;cursor:pointer;transition:all .2s ease;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--text-muted)}.injury-btn:hover{background:rgba(255,255,255,.1);color:var(--white)}.injury-btn.injury-btn-delete{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#ef4444}.injury-btn.injury-btn-delete:hover{border-color:#ef4444}.empty-injuries{text-align:center;padding:2rem;color:var(--text-muted)}.empty-injuries .hint{font-size:.85rem;margin-top:.5rem;opacity:.7}#injury-modal.show{display:flex}#injury-modal .modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7);z-index:1}#injury-modal .modal-content{position:relative;background:var(--blue-700);border:1px solid rgba(255,255,255,.2);border-radius:12px;width:100%;max-width:550px;margin:1rem;max-height:90vh;overflow-y:auto;z-index:2;box-shadow:0 20px 60px rgba(0,0,0,.5)}#injury-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.2);position:sticky;top:0;background:var(--blue-700);z-index:3}#injury-modal .modal-title{font-size:1.25rem;font-weight:600;color:var(--white)}#injury-modal .modal-close{background:0 0;border:0;color:rgba(255,255,255,.7);font-size:1.5rem;cursor:pointer;line-height:1;transition:color .2s ease}#injury-modal .modal-body{padding:1.5rem}@media (max-width:900px){.injuries-main{padding:1rem}.injuries-page-title{font-size:1.5rem}.injury-layout,.settings-field-row{grid-template-columns:1fr}.injury-layout{gap:1.5rem}.body-diagram-section{max-width:100%;padding:1rem}.body-container{padding:0 1.5rem}.injuries-header{flex-direction:column;align-items:flex-start;gap:.75rem}.injuries-header .settings-btn{width:100%;justify-content:center}.injury-card{flex-direction:column;gap:1rem;padding:1rem}.injury-header{flex-wrap:wrap;gap:.5rem}.injury-actions{flex-direction:row;width:100%}.injury-btn{flex:1;text-align:center}#injury-modal .modal-content{margin:0;max-height:100vh;border-radius:0}#injury-modal .modal-body{padding:1rem}}.settings-main{min-height:calc(100vh - 60px);padding:2rem}.settings-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:240px 1fr;gap:2rem}.settings-container--no-sidebar,.settings-container-wide{grid-template-columns:1fr}.settings-container-wide{max-width:1000px}.settings-sidebar{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;height:fit-content;position:sticky;top:80px}.settings-sidebar-title{font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;color:var(--white)}.settings-nav{display:flex;flex-direction:column;gap:.25rem}.settings-nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;color:var(--text-muted);text-decoration:none;transition:all .2s ease}.settings-nav-item svg{width:20px;height:20px;flex-shrink:0}.settings-nav-item:hover{background:rgba(255,255,255,.05);color:var(--white)}.settings-nav-item.active{background:rgba(0,212,255,.1);color:var(--accent)}.settings-content{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem}.settings-section-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.settings-section-desc{color:var(--text-muted);margin-bottom:2rem}.settings-field,.settings-form{display:flex;flex-direction:column;gap:1.5rem}.settings-field{gap:.5rem}.settings-field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.settings-label{font-size:.9rem;font-weight:500;color:var(--text-muted)}.settings-input{width:100%;box-sizing:border-box;padding:.75rem 1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--white);font-size:1rem;transition:all .2s ease}.settings-input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,212,255,.1)}.settings-textarea{min-height:150px;resize:vertical}.settings-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px;padding-right:2.5rem}.settings-radio-group{display:flex;flex-wrap:wrap;gap:.75rem}.settings-radio{display:flex;align-items:center;gap:.5rem;cursor:pointer}.settings-radio input{appearance:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-radius:50%;background:0 0;cursor:pointer;position:relative}.settings-radio input:checked{border-color:var(--accent)}.settings-radio input:checked::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--accent);border-radius:50%}.settings-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:0}.settings-btn-primary{background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);color:#fff}.settings-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,212,255,.3)}.settings-btn-primary:disabled{opacity:.6;cursor:not-allowed}.settings-btn-secondary{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);color:var(--white)}.settings-btn-secondary:hover{background:rgba(255,255,255,.1)}.settings-btn-danger{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#ef4444}.settings-btn-danger:hover{background:rgba(239,68,68,.2)}.settings-actions{display:flex;gap:1rem;margin-top:1rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.settings-divider{height:1px;background:rgba(255,255,255,.1);margin:1.5rem 0}.settings-subsection{margin-top:2rem}.settings-subsection-title{font-size:1.1rem;font-weight:600;margin-bottom:1rem}.settings-message{padding:.75rem 1rem;border-radius:8px;font-size:.9rem;margin-top:1rem;display:none}.settings-message.show{display:block}.settings-message.success{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);color:#22c55e}.settings-message.error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#ef4444}@media (max-width:900px){.settings-main{padding:1rem}.settings-container{grid-template-columns:56px 1fr;gap:.75rem}.settings-container--no-sidebar{grid-template-columns:1fr}.settings-sidebar{padding:.5rem;position:sticky;top:70px}.settings-sidebar-title{display:none}.settings-nav{gap:.25rem}.settings-nav-item{justify-content:center;padding:.65rem;font-size:0}.settings-nav-item svg{width:20px;height:20px}.settings-content{padding:1rem;overflow-x:hidden}.settings-section-title{font-size:1.25rem}.settings-section-desc{font-size:.9rem;margin-bottom:1.5rem}.settings-field-row{grid-template-columns:1fr}.settings-actions{flex-wrap:wrap}.settings-btn{flex:1;min-width:140px}}.hr-zones-grid{display:flex;flex-direction:column;gap:.5rem}.hr-zone{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:8px;background:rgba(255,255,255,.02)}.zone-label{font-weight:500}.zone-range{color:var(--text-muted);font-size:.85rem}.zone-input{width:80px;text-align:center}.zone-5{border-left:3px solid #ef4444}.zone-4{border-left:3px solid #f97316}.zone-3{border-left:3px solid #eab308}.zone-2{border-left:3px solid #22c55e}.zone-1{border-left:3px solid #3b82f6}.distance-checkboxes{display:flex;flex-wrap:wrap;gap:.75rem}.distance-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:20px;cursor:pointer;transition:all .2s ease}.distance-checkbox:hover{background:rgba(255,255,255,.1)}.distance-checkbox:has(input:checked){background:rgba(0,212,255,.1);border-color:var(--accent)}.distance-checkbox input,.privacy-option input{display:none}.pace-zones-container{display:flex;flex-direction:column;gap:.75rem}.pace-zone-input-group{display:grid;grid-template-columns:80px 120px;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:8px;background:rgba(255,255,255,.02)}.pace-zone-label{font-weight:500;font-size:.9rem}.pace-zone-input{text-align:center}.text-muted{color:var(--text-muted)}.settings-input-narrow{max-width:200px}.settings-subsection-desc{color:var(--text-muted);margin-bottom:1rem;font-size:.9rem}.settings-field-spacing{margin-top:1.5rem}.settings-radio-spacing{margin-bottom:1rem}.privacy-settings-grid{display:flex;flex-direction:column;gap:1rem}.privacy-field{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.privacy-field:last-child{border-bottom:none}.privacy-label{font-weight:500}.privacy-options{display:flex;gap:.5rem}.privacy-option{padding:.5rem 1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:20px;cursor:pointer;transition:all .2s ease;font-size:.9rem}.privacy-option:hover{background:rgba(255,255,255,.1)}.privacy-option:has(input:checked){background:rgba(0,212,255,.1);border-color:var(--accent);color:var(--accent)}.hidden-addresses-list{display:flex;flex-direction:column;gap:.75rem}.hidden-address-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:8px}.hidden-address-info{display:flex;flex-direction:column;gap:.25rem}.hidden-address-label{font-weight:500}.hidden-address-radius,.hidden-address-text{color:var(--text-muted);font-size:.9rem}.hidden-address-radius{font-size:.8rem}.hidden-address-actions{display:flex;gap:.5rem}#address-modal{position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center}#address-modal.show{display:flex}#address-modal .modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7)}#address-modal .modal-content{position:relative;background:var(--blue-900);border:1px solid rgba(255,255,255,.1);border-radius:12px;width:100%;max-width:500px;margin:1rem}#address-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}#address-modal .modal-title{font-size:1.25rem}#address-modal .modal-close{background:0 0;border:0;color:var(--text-muted);font-size:1.5rem;cursor:pointer}#address-modal .modal-body{padding:1.5rem}.username-preview{margin-top:.5rem;padding:.6rem 1rem;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.08);border-radius:6px;font-family:"JetBrains Mono","Fira Code",monospace;font-size:.85rem}.preview-url,.strava-disconnected p{color:var(--text-muted)}#username-preview-value{color:var(--accent);font-weight:500}.username-validation{font-size:.8rem;margin-top:.25rem;min-height:1.2em}.username-validation.error{color:#ef4444}.username-validation.success{color:#22c55e}.username-hint{color:var(--text-muted);font-size:.8rem}.sport-switcher{display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.25rem;background:rgba(255,255,255,.03);border-radius:10px;width:fit-content}.sport-tab{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;color:var(--text-muted);background:0 0;border:0;border-radius:8px;cursor:pointer;transition:all .2s ease}.sport-tab .sport-icon{flex-shrink:0;font-size:16px;line-height:1;opacity:.8}.sport-tab.active .sport-icon,.sport-tab:hover .sport-icon{opacity:1}.sport-tab:hover{color:var(--white);background:rgba(255,255,255,.05)}.sport-tab.active{color:var(--white);background:var(--accent)}.pr-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.pr-layout.pr-layout-single{grid-template-columns:1fr;max-width:600px}.pr-form-section{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem}.pr-list-section{min-width:0}.pr-list{display:flex;flex-direction:column;gap:.75rem}.pr-card{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.25rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:10px;transition:all .2s ease;gap:1rem}.pr-card:hover{background:rgba(255,255,255,.04)}.pr-info{flex:1;min-width:0;overflow:hidden}.pr-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.pr-distance{font-weight:600;font-size:1rem;color:var(--white)}.pr-time{font-size:1.25rem;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.pr-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:var(--text-muted);margin-top:.25rem}.pr-meta-item{display:flex;align-items:center;gap:.35rem}.pr-race-link{color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;gap:.25rem}.pr-race-link:hover{text-decoration:underline}.pr-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.pr-btn{padding:.35rem .65rem;font-size:.75rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease;border:1px solid rgba(255,255,255,.2);white-space:nowrap;flex-shrink:0;min-width:60px}.pr-btn,.pr-btn:hover{background:rgba(255,255,255,.1);color:var(--white)}.pr-btn.edit-btn:hover{background:rgba(59,130,246,.1);border-color:#3b82f6;color:#3b82f6}.pr-btn.delete-btn{opacity:1!important}.pr-btn.delete-btn:hover{background:rgba(239,68,68,.1);border-color:#ef4444;color:#ef4444;opacity:1!important}.empty-prs{text-align:center;padding:2rem;color:var(--text-muted);background:rgba(255,255,255,.02);border:1px dashed rgba(255,255,255,.1);border-radius:10px}.empty-prs .hint{font-size:.85rem;margin-top:.5rem;opacity:.7}@media (max-width:900px){.sport-switcher{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.sport-tab{flex:1;justify-content:center;min-width:44px;padding:.6rem}.sport-tab .sport-name{display:none}.sport-tab .sport-icon{font-size:22px}.pr-layout{grid-template-columns:1fr;gap:1.5rem}.pr-form-section{padding:.75rem;overflow:hidden}.pr-form-section .settings-form{gap:1rem}.pr-form-section .settings-field{min-width:0}.pr-form-section .settings-input{font-size:16px;padding:.6rem .75rem}.pr-form-section .settings-label{font-size:.8rem}.pr-card{flex-direction:column;gap:.75rem;padding:.75rem}.pr-actions{align-self:flex-start}.pr-header{flex-direction:column;align-items:flex-start;gap:.25rem}.pr-meta{gap:.5rem}}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;color:var(--text-muted)}.loading-spinner .spinner{width:48px;height:48px;animation:spin .8s linear infinite}.loading-spinner .path{stroke:var(--accent);stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}.strava-section{margin-top:2rem}.strava-section .section-title{display:flex;align-items:center;gap:.5rem}.strava-icon{color:#fc4c02}.strava-connection{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem}.strava-disconnected{text-align:center}.strava-disconnected p{margin-bottom:1rem}.strava-connected{display:flex;flex-direction:column;gap:1rem}.strava-info{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.strava-connected-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);border-radius:20px;color:#22c55e;font-size:.85rem;font-weight:500}.strava-last-sync{color:var(--text-muted);font-size:.9rem}.strava-actions{display:flex;align-items:center;gap:.75rem}.btn-strava{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:#fc4c02;color:#fff;border:0;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn-strava:hover:not(:disabled){background:#e04400;transform:translateY(-1px)}.btn-strava:disabled{opacity:.7;cursor:not-allowed}.btn-strava.syncing{background:#d44000}.sync-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.strava-error,.strava-warning{padding:.75rem 1rem;border-radius:8px;font-size:.9rem}.strava-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#ef4444}.strava-warning{display:flex;align-items:center;gap:.75rem;background:rgba(234,179,8,.1);border:1px solid rgba(234,179,8,.3);color:#eab308;flex-wrap:wrap}.strava-warning .warning-icon{flex-shrink:0}.strava-warning .warning-text{flex:1;min-width:200px}.btn-warning{background:rgba(234,179,8,.2);border:1px solid rgba(234,179,8,.5);color:#eab308;padding:.4rem .75rem;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-warning:hover:not(:disabled){background:rgba(234,179,8,.3);border-color:#eab308}.btn-warning:disabled{opacity:.6;cursor:not-allowed}@media (max-width:600px){.strava-info{flex-direction:column;align-items:flex-start}.strava-actions{width:100%}.btn-strava{flex:1;justify-content:center}}.analytics-section{display:flex;flex-direction:column;gap:1.5rem}.analytics-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden}.analytics-card-header{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:rgba(255,255,255,.02);border-bottom:1px solid rgba(255,255,255,.1)}.analytics-card-header svg{width:32px;height:32px;color:#ff6b6b;flex-shrink:0}.analytics-card-title{font-size:1.1rem;font-weight:600;margin:0 0 .25rem;color:var(--white)}.analytics-card-desc{font-size:.9rem;color:var(--text-muted);margin:0}.analytics-card-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.analytics-warning{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:rgba(234,179,8,.1);border:1px solid rgba(234,179,8,.2);border-radius:6px;color:#fbbf24;font-size:.9rem;margin:0}.analytics-warning svg{width:20px;height:20px;flex-shrink:0;margin-top:2px}.sudo-btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:rgba(255,100,100,.15);border:1px solid rgba(255,100,100,.3);border-radius:6px;color:#ff6b6b;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease;align-self:flex-start}.connection-tab svg,.sudo-btn-primary svg,.workouts-ai-controls #text-to-workout-btn svg{width:18px;height:18px}.sudo-btn-primary:hover:not(:disabled){background:rgba(255,100,100,.25)}.sudo-btn-primary:disabled{opacity:.5;cursor:not-allowed}.analytics-result{padding:1rem 1.5rem;background:rgba(255,255,255,.02);border-top:1px solid rgba(255,255,255,.1)}.analytics-result.success{background:rgba(34,197,94,.1);border-top-color:rgba(34,197,94,.2);color:#22c55e}.analytics-result.error{background:rgba(239,68,68,.1);border-top-color:rgba(239,68,68,.2);color:#ef4444}.analytics-result.processing{background:rgba(59,130,246,.1);border-top-color:rgba(59,130,246,.2);color:#3b82f6}@media (max-width:600px){.analytics-card-header{flex-direction:column;align-items:flex-start}}.connection-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.connection-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-muted);cursor:pointer;font-size:.9rem;transition:all .2s ease}.connection-tab:hover{background:rgba(255,255,255,.05);color:var(--white)}.connection-tab.active{background:rgba(255,100,100,.15);border-color:rgba(255,100,100,.3);color:#ff6b6b}.connection-panel{display:none}.connection-panel.active{display:block}.connection-panel-title{font-size:1.1rem;font-weight:600;margin-bottom:1rem;color:var(--white)}.db-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem}.db-header .sudo-section-title{margin-bottom:.5rem}.db-header .sudo-section-desc{margin-bottom:0}.db-header .sudo-btn{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.db-header .sudo-btn:disabled{opacity:.6;cursor:not-allowed}.db-header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.sudo-btn-secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15)}.sudo-btn-secondary:hover{background:rgba(255,255,255,.12)}.sudo-btn .badge{display:none;background:#ff6b6b;color:#fff;font-size:.7rem;font-weight:600;padding:.15rem .4rem;border-radius:10px;margin-left:.25rem}.db-sections{display:flex;flex-direction:column;gap:2rem}.db-section{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:1.5rem}.db-section-title{display:flex;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:600;margin:0 0 1.25rem;color:var(--white)}.db-section-title svg{width:22px;height:22px;color:#ff6b6b}.db-section-desc{color:rgba(255,255,255,.6);font-size:.9rem;margin:-.75rem 0 1rem}.text-right{text-align:right}.sport-chart-wrapper{max-width:600px;margin:0 auto}@media (max-width:600px){.sport-chart-wrapper{max-width:100%}.db-header{flex-direction:column}}.spin,.workouts-ai-controls #text-to-workout-btn .spinner{animation:spin 1s linear infinite}.gdpr-section-subtitle{font-size:1.1rem;font-weight:600;color:var(--white);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.gdpr-search-section{margin-bottom:2rem}.gdpr-search-box{display:flex;gap:.75rem;margin-bottom:1rem}.gdpr-search-input{flex:1;padding:.75rem 1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--white);font-size:.95rem;transition:border-color .2s ease}.gdpr-search-input:focus{outline:0;border-color:#ff6b6b}.gdpr-search-results{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:8px;max-height:400px;overflow-y:auto}.gdpr-search-item{display:flex;align-items:center;gap:1rem;padding:1rem;cursor:pointer;transition:background .2s ease;border-bottom:1px solid rgba(255,255,255,.05)}.gdpr-search-item:last-child{border-bottom:none}.gdpr-search-item:hover{background:rgba(255,100,100,.1)}.gdpr-search-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#ff6b6b 0,#c43a3a 100%);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;color:#fff;flex-shrink:0}.gdpr-search-info{flex:1;min-width:0}.gdpr-search-name{font-weight:500;color:var(--white);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.gdpr-search-email,.gdpr-search-meta{color:var(--text-muted);font-size:.9rem;margin-top:.25rem}.gdpr-search-meta{font-size:.8rem;font-family:"JetBrains Mono","Fira Code",monospace}.gdpr-search-empty,.gdpr-search-error{padding:2rem;text-align:center;color:var(--text-muted)}.gdpr-search-error{color:#ef4444}.gdpr-user-panel{margin-top:2rem}.gdpr-user-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem}.gdpr-user-info{display:flex;gap:1.5rem;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.gdpr-user-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#ff6b6b 0,#c43a3a 100%);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.75rem;color:#fff;flex-shrink:0}.gdpr-user-details{flex:1}.gdpr-actions h4,.gdpr-user-details h3{font-size:1.5rem;font-weight:600;color:var(--white);margin:0 0 .25rem}.gdpr-user-details>p{color:var(--text-muted);margin:0 0 .75rem}.gdpr-user-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.gdpr-meta-item{font-size:.85rem;color:var(--text-muted);font-family:"JetBrains Mono","Fira Code",monospace}.gdpr-action-buttons,.gdpr-user-badges{display:flex;gap:.5rem;flex-wrap:wrap}.gdpr-actions h4{font-size:1rem;margin:0 0 1rem}.gdpr-action-buttons{gap:1rem}.gdpr-action-btn{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid}.gdpr-action-btn:disabled{opacity:.5;cursor:not-allowed}.gdpr-action-export{background:rgba(59,130,246,.15);border-color:rgba(59,130,246,.3);color:#3b82f6}.gdpr-action-export:hover:not(:disabled){background:rgba(59,130,246,.25)}.gdpr-action-delete{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.3);color:#ef4444}.gdpr-action-delete:hover:not(:disabled){background:rgba(239,68,68,.25)}.gdpr-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.gdpr-modal-content{background:var(--bg-secondary, #1a1a1a);border:1px solid rgba(239,68,68,.3);border-radius:12px;width:100%;max-width:480px;animation:modalSlideIn .2s ease}.gdpr-modal-header{display:flex;align-items:center;gap:.75rem;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);color:#ef4444}.gdpr-modal-header h3{margin:0;font-size:1.25rem;font-weight:600}.gdpr-modal-body{padding:1.5rem}.gdpr-modal-body p{color:var(--text-muted);margin:0 0 1rem}.gdpr-confirm-user{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-radius:8px;padding:1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.25rem}.gdpr-confirm-user span:first-child{font-weight:600;color:var(--white)}.gdpr-confirm-user span:last-child{color:var(--text-muted);font-size:.9rem}.gdpr-warning{background:rgba(234,179,8,.1);border:1px solid rgba(234,179,8,.2);border-radius:8px;padding:1rem;color:#eab308!important;font-size:.9rem}.gdpr-confirm-input{margin-top:1.5rem}.gdpr-confirm-input label{display:block;color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem}.gdpr-confirm-input input{width:100%;padding:.75rem 1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--white);font-size:1rem;font-family:"JetBrains Mono","Fira Code",monospace;box-sizing:border-box}.gdpr-confirm-input input:focus{outline:0;border-color:#ef4444}.gdpr-modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.gdpr-loading{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;z-index:1001;color:var(--white)}.gdpr-spinner{width:48px;height:48px;border:3px solid rgba(255,100,100,.2);border-top-color:#ff6b6b;border-radius:50%;animation:spin 1s linear infinite}@media (max-width:768px){.gdpr-search-box,.gdpr-user-info{flex-direction:column}.gdpr-user-info{align-items:center;text-align:center}.gdpr-user-badges,.gdpr-user-meta{justify-content:center}.gdpr-action-buttons{flex-direction:column}.gdpr-action-btn{justify-content:center}.gdpr-modal-footer{flex-direction:column-reverse}.gdpr-modal-footer button{width:100%}}.hidden{display:none!important}.strava-connect-section{margin-bottom:1.5rem}.strava-connect-section h3{font-size:1.1rem;font-weight:600;margin-bottom:.5rem;color:var(--white)}.sudo-hint{font-size:.9rem;color:var(--text-muted);margin-bottom:1rem}.sudo-btn-strava{display:inline-flex;align-items:center;gap:.5rem;background:#fc4c02;color:#fff;border:0;padding:.6rem 1.2rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s ease;text-decoration:none}.sudo-btn-strava:hover{background:#e64500}.sudo-btn-strava svg{flex-shrink:0}.sudo-divider{height:1px;background:rgba(255,255,255,.1);margin:2rem 0}.import-actions,.import-files-section{margin-bottom:2rem}.import-files-section h3,.import-results h3{font-size:1rem;color:var(--text-muted);margin-bottom:1rem}.import-actions{display:flex;align-items:center;gap:1rem}.import-status{font-size:.9rem}.import-status.success{color:#22c55e}.import-status.error{color:#ef4444}.import-results{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.user-row{cursor:pointer}.user-row:hover .expand-icon{color:#ff6b6b}.expand-header{width:30px}.expand-icon{color:var(--text-muted)}.import-results.hidden,.sessions-row.hidden{display:none}.sessions-row td{padding:0!important;background:rgba(0,0,0,.2)}.sessions-container{padding:1rem 1.5rem}.sessions-empty,.sessions-loading{color:var(--text-muted);font-style:italic}.sessions-list{display:flex;flex-direction:column;gap:.5rem}.session-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:rgba(255,255,255,.03);border-radius:6px;border:1px solid rgba(255,255,255,.05)}.session-info{display:flex;gap:2rem;font-size:.85rem}.session-token{font-family:"JetBrains Mono","Fira Code",monospace}.session-date,.session-expires,.session-token{color:var(--text-muted)}.session-expires.soon{color:#eab308}.sudo-table{min-width:1200px;table-layout:auto}.sudo-table td{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sudo-table td.mono{max-width:120px}.sudo-table td:last-child{max-width:100px;white-space:nowrap}.sudo-btn-warning{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.4);color:#f59e0b}.sudo-btn-warning:hover{background:rgba(245,158,11,.25);border-color:rgba(245,158,11,.6)}.sudo-btn-warning:disabled{opacity:.5;cursor:not-allowed}.sudo-btn-link{text-decoration:none}.sudo-action-status{font-size:.85rem;color:var(--text-muted)}.sudo-action-status.success{color:#22c55e}.sudo-action-status.error{color:#ef4444}.webhook-row:hover{background:rgba(255,100,100,.05)}.payload-btn{padding:.25rem .75rem;background:rgba(96,165,250,.15);border:1px solid rgba(96,165,250,.4);border-radius:4px;color:#60a5fa;font-size:.75rem;cursor:pointer;transition:all .2s ease}.payload-btn:hover{background:rgba(96,165,250,.25);border-color:rgba(96,165,250,.6)}.payload-btn:disabled{opacity:.5;cursor:not-allowed}.expand-cell{width:24px;text-align:center;color:var(--text-muted)}.expand-icon{display:inline-block;transition:transform .2s ease;font-size:.7rem}.expand-icon.expanded{transform:rotate(90deg)}.payload-row td{padding:0!important}.payload-cell{background:rgba(0,0,0,.2)}.payload-container{padding:1rem 1.5rem;margin:0}.payload-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.payload-title{font-size:.8rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.copy-btn,.sudo-filter input,.sudo-filter select{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15)}.copy-btn{padding:.25rem .75rem;border-radius:4px;color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all .2s ease}.copy-btn:hover{background:rgba(255,255,255,.1);color:var(--white)}.copy-btn.copied{background:rgba(34,197,94,.15);border-color:rgba(34,197,94,.3);color:#22c55e}.payload-content{margin:0;padding:1rem;background:rgba(0,0,0,.3);border-radius:6px;font-family:"JetBrains Mono","Fira Code",monospace;font-size:.8rem;line-height:1.5;color:#e2e8f0;overflow-x:auto;max-height:400px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.activity-link{color:#60a5fa;text-decoration:none;border-bottom:1px dashed rgba(96,165,250,.4)}.activity-link:hover{color:#93c5fd;border-bottom-color:rgba(147,197,253,.6)}.sudo-main{min-height:calc(100vh - 60px);padding:2rem;background:linear-gradient(135deg,rgba(139,0,0,.05)0,transparent 50%)}.sudo-container{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:240px 1fr;gap:2rem;width:100%;overflow-x:hidden}.sudo-sidebar{background:rgba(139,0,0,.08);border:1px solid rgba(255,100,100,.2);border-radius:12px;padding:1.5rem;height:fit-content;position:sticky;top:80px}.sudo-sidebar-title{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;color:#ff6b6b}.sudo-sidebar-title svg{width:24px;height:24px}.sudo-nav{display:flex;flex-direction:column;gap:.25rem}.sudo-nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;color:var(--text-muted);text-decoration:none;transition:all .2s ease}.sudo-nav-item svg{width:20px;height:20px;flex-shrink:0}.sudo-nav-item:hover{background:rgba(255,100,100,.1);color:var(--white)}.sudo-nav-item.active{background:rgba(255,100,100,.15);color:#ff6b6b}.sudo-content{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem;min-width:0}.sudo-section-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--white)}.sudo-section-desc{color:var(--text-muted);margin-bottom:2rem}.sudo-stats{display:flex;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}.sudo-stat{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem 1.5rem;min-width:120px}.sudo-stat-value{font-size:1.5rem;font-weight:700;color:#ff6b6b}.sudo-filter label,.sudo-stat-label{font-size:.85rem;color:var(--text-muted)}.sudo-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:rgba(255,255,255,.02);border-radius:8px}.sudo-filter{display:flex;flex-direction:column;gap:.25rem}.sudo-filter label{font-size:.8rem}.sudo-filter input,.sudo-filter select{padding:.5rem .75rem;border-radius:6px;color:var(--white);font-size:.9rem;min-width:140px}.sudo-filter input:focus,.sudo-filter select:focus{outline:0;border-color:#ff6b6b}.sudo-btn{padding:.5rem 1rem;background:rgba(255,100,100,.15);border:1px solid rgba(255,100,100,.3);border-radius:6px;color:#ff6b6b;cursor:pointer;font-size:.9rem;transition:all .2s ease;align-self:flex-end}.sudo-btn:hover{background:rgba(255,100,100,.25)}.sudo-btn-danger{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#ef4444}.sudo-btn-danger:hover{background:rgba(239,68,68,.2)}.sudo-table{width:100%;border-collapse:collapse;font-size:.9rem}.sudo-table th{text-align:left;padding:.75rem 1rem;background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.1);color:var(--text-muted);font-weight:500;white-space:nowrap}.sudo-table td{padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle}.sudo-table .mono{font-family:"JetBrains Mono","Fira Code",monospace;font-size:.8rem;color:var(--text-muted)}.sudo-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase}.sudo-badge-success{background:rgba(34,197,94,.15);color:#22c55e}.sudo-badge-error{background:rgba(239,68,68,.15);color:#ef4444}.sudo-badge-skipped{background:rgba(239,68,68,.1);color:#f87171}.sudo-badge-pending{background:rgba(234,179,8,.15);color:#eab308}.sudo-badge-info{background:rgba(59,130,246,.15);color:#3b82f6}.sudo-empty{text-align:center;padding:3rem;color:var(--text-muted)}.sudo-timestamp{font-size:.8rem;color:var(--text-muted)}.sudo-table-container{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.sudo-table-container .sudo-table{min-width:100%;table-layout:auto}@media (max-width:900px){.sudo-main{padding:1rem}.sudo-container{grid-template-columns:56px 1fr;gap:.75rem}.sudo-sidebar{padding:.5rem}.sudo-sidebar-title{font-size:0}.sudo-sidebar-title svg{width:24px;height:24px}.sudo-nav-item{justify-content:center;padding:.65rem;font-size:0}.sudo-content{padding:1rem}}.workouts-main{min-height:calc(100vh - 60px);padding:2rem}.workouts-container{max-width:1000px;margin:0 auto}.workouts-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.workouts-header-left{flex:1}.workouts-title{font-size:1.75rem;font-weight:600;margin-bottom:.25rem}.workouts-empty p,.workouts-subtitle{color:var(--text-muted);font-size:.95rem}.workouts-alert{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.3);border-radius:10px;margin-bottom:1.5rem;color:#fbbf24}.workouts-alert svg{width:20px;height:20px}.workouts-ai-section{background:rgba(59,130,246,.05);border:1px solid rgba(59,130,246,.2);border-radius:10px;padding:1.5rem;margin-bottom:2rem}.workouts-ai-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.workouts-ai-subtitle{color:var(--text-muted);font-size:.9rem;margin-bottom:1.25rem}.workouts-ai-controls,.workouts-list{display:flex;flex-direction:column;gap:1rem}.workouts-ai-controls .form-field{margin-bottom:0}.workouts-ai-controls #text-to-workout-btn{align-self:flex-start;display:flex;align-items:center;gap:.5rem}.workouts-alert .alert-link:hover{text-decoration:underline}.workouts-empty{text-align:center;padding:4rem 2rem;background:rgba(255,255,255,.02);border:1px dashed rgba(255,255,255,.1);border-radius:12px}.workouts-empty svg{width:48px;height:48px;color:var(--text-muted);margin-bottom:1rem}.workouts-empty h3{font-size:1.1rem;margin-bottom:.5rem}.workouts-empty p{font-size:.9rem}.workout-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.25rem;transition:all .2s ease}.workout-card:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.15)}.workout-card-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.workout-card-sport{font-size:1.5rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);border-radius:10px;flex-shrink:0}.workout-card-info{flex:1;min-width:0}.workout-card-name{font-size:1.1rem;font-weight:600;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workout-card-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.85rem;color:var(--text-muted)}.workout-card-badges{display:flex;gap:.5rem;flex-shrink:0}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.75rem;font-weight:500;border-radius:6px;white-space:nowrap}.badge svg{width:12px;height:12px}.badge-garmin,.btn-icon.btn-garmin:hover{background:rgba(0,212,255,.1);color:var(--accent)}.badge-scheduled{background:rgba(34,197,94,.1);color:#22c55e}.workout-card-steps-preview{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding:.75rem;background:rgba(0,0,0,.2);border-radius:8px}.step-preview{display:flex;align-items:center;gap:.5rem;padding:.35rem .6rem;font-size:.8rem;border-radius:6px;background:rgba(255,255,255,.05);border-left:3px solid currentColor}.step-preview-intensity{font-weight:500}.step-preview-duration,.step-preview-target{color:var(--text-muted)}.step-preview-target{font-size:.75rem}.step-preview-more{color:var(--text-muted);border-left-color:transparent}.intensity-warmup{color:#fbbf24;border-left-color:#fbbf24}.intensity-cooldown{color:#60a5fa;border-left-color:#60a5fa}.intensity-interval{color:#ef4444;border-left-color:#ef4444}.intensity-recovery{color:#22c55e;border-left-color:#22c55e}.intensity-active{color:var(--white);border-left-color:var(--white)}.workout-card-actions{display:flex;gap:.5rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.05)}.btn-icon,.btn-primary,.btn-secondary{align-items:center;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-icon{width:36px;height:36px;display:flex;justify-content:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--text-muted)}.btn-icon:hover{background:rgba(255,255,255,.1);color:var(--white)}.btn-icon svg{width:16px;height:16px}.btn-icon.btn-garmin:hover{border-color:var(--accent)}.btn-icon.btn-danger:hover{background:rgba(239,68,68,.1);border-color:#ef4444;color:#ef4444}.btn-primary,.btn-secondary{display:inline-flex;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500}.btn-primary{background:linear-gradient(135deg,var(--blue-500) 0%,var(--accent) 100%);color:#fff;border:0}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,212,255,.3)}.btn-primary svg{width:18px;height:18px}.btn-secondary{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);color:var(--white)}.btn-secondary:hover{background:rgba(255,255,255,.1)}.btn-secondary svg,.step-remove svg{width:16px;height:16px}.btn-small{padding:.5rem .75rem;font-size:.8rem}.modal{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center}.modal.show{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7);z-index:1}.modal-content{position:relative;background:var(--blue-700);border:1px solid rgba(255,255,255,.2);border-radius:12px;width:100%;margin:1rem;max-height:90vh;overflow-y:auto;z-index:2;box-shadow:0 20px 60px rgba(0,0,0,.5);transform:translateZ(0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.workout-modal-content{max-width:700px}.send-garmin-modal-content{max-width:450px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.2);position:sticky;top:0;background:var(--blue-700);z-index:10}.modal-title{font-size:1.25rem;font-weight:600;color:var(--white)}.modal-close{background:0 0;border:0;color:rgba(255,255,255,.7);font-size:1.75rem;cursor:pointer;padding:0;line-height:1;transition:color .2s ease}.modal-close:hover{color:var(--white)}.modal-body{padding:1.5rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.2)}.workout-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.form-label{font-size:.9rem;font-weight:500;color:rgba(255,255,255,.9)}.form-input{width:100%;box-sizing:border-box;padding:.75rem 1rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:8px;color:var(--white);font-size:1rem;transition:all .2s ease;transform:translateZ(0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.form-input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,212,255,.1)}.form-textarea{resize:vertical;min-height:60px}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px;padding-right:2.5rem}.form-hint{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.workout-steps-section{margin:1.5rem 0;padding:1rem;background:rgba(0,0,0,.2);border-radius:10px}.steps-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.steps-title{font-size:1rem;font-weight:600}.steps-list{display:flex;flex-direction:column;gap:.75rem}.step-item{display:grid;grid-template-columns:auto 1fr 1fr 1fr auto;gap:.75rem;align-items:start;padding:.75rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:8px}.step-repeat-item{grid-template-columns:auto 1fr;gap:1rem}.step-repeat-header{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr auto;gap:.75rem;align-items:start}.repeat-steps-container{grid-column:1/-1;margin-top:.5rem;padding:.75rem;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:6px}.repeat-steps-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.repeat-steps-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.repeat-steps-list{display:flex;flex-direction:column;gap:.5rem}.step-nested{margin-left:1rem;padding:.5rem;background:rgba(255,255,255,.02);border-left:2px solid var(--accent)}.steps-actions{display:flex;gap:.5rem}.step-item>*{min-width:0}.step-order{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border-radius:6px;font-size:.85rem;font-weight:600;color:var(--text-muted)}.step-field{display:flex;flex-direction:column;gap:.25rem;min-width:0;overflow:hidden}.step-field-label{font-size:.7rem;color:rgba(255,255,255,.8);text-transform:uppercase;letter-spacing:.5px}.step-field-input{padding:.5rem;font-size:.85rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:6px;color:var(--white);min-width:0;box-sizing:border-box;transform:translateZ(0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.step-field-input:focus{outline:0;border-color:var(--accent)}.step-remove{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:0 0;border:0;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:all .2s ease}.step-remove:hover{background:rgba(239,68,68,.1);color:#ef4444}.steps-empty{text-align:center;padding:2rem;color:var(--text-muted);font-size:.9rem}.send-garmin-info{color:var(--text-muted);font-size:.95rem;margin-bottom:1.5rem;line-height:1.5}.step-target-fields{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;width:100%;min-width:0;overflow:hidden}.step-target-fields .step-field-input{padding:.4rem;font-size:.8rem;min-width:0;width:100%;box-sizing:border-box}@media (max-width:768px){.workouts-main{padding:1rem}.workouts-header{flex-direction:column;align-items:stretch}.workout-form-grid{grid-template-columns:1fr}.step-item{grid-template-columns:auto 1fr auto;gap:.5rem}.step-field{grid-column:span 1;min-width:0}.step-item .step-field:nth-child(2),.step-item .step-field:nth-child(3),.step-item .step-field:nth-child(4){grid-column:2}.step-order,.step-remove{grid-column:1;grid-row:1/span 3}.step-remove{grid-column:3}.step-target-fields{grid-template-columns:1fr 1fr}.step-target-fields .step-field-input{font-size:.75rem;padding:.35rem}.workout-card-header{flex-wrap:wrap}.workout-card-badges{width:100%;margin-top:.5rem}}.zones-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.zone-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden}.zone-card-header{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;background:rgba(0,0,0,.15);border-bottom:1px solid rgba(255,255,255,.04);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.zone-card-header svg{width:16px;height:16px;color:var(--accent)}.zone-card-body{padding:1rem;display:flex;flex-direction:column;gap:.5rem}.zone-bar-row{display:grid;grid-template-columns:90px 1fr 80px;gap:.75rem;align-items:center}.zone-label{display:flex;align-items:center;gap:.5rem}.zone-name,.zone-number{font-size:.75rem;color:var(--text-muted)}.zone-number{font-family:"JetBrains Mono","SF Mono",monospace;font-weight:700;min-width:24px}.zone-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zone-bar-container{height:20px;background:rgba(255,255,255,.04);border-radius:4px;overflow:hidden}.zone-bar{height:100%;border-radius:4px;min-width:4px;transition:width .6s ease-out}.zone-bar.zone-1{background:linear-gradient(90deg,#60a5fa,#3b82f6)}.zone-bar.zone-2{background:linear-gradient(90deg,#34d399,#10b981)}.zone-bar.zone-3{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.zone-bar.zone-4{background:linear-gradient(90deg,#fb923c,#f97316)}.zone-bar.zone-5{background:linear-gradient(90deg,#f87171,#ef4444)}.zone-bar.zone-6{background:linear-gradient(90deg,#e879f9,#d946ef)}.zone-bar.zone-7{background:linear-gradient(90deg,#c084fc,#a855f7)}.zone-stats{display:flex;gap:.75rem;justify-content:flex-end;font-family:"JetBrains Mono","SF Mono",monospace}.zone-time{font-size:.8rem;font-weight:500;color:var(--white);min-width:45px;text-align:right}.zone-pct{font-size:.75rem;color:var(--text-muted);min-width:28px;text-align:right}@media (max-width:640px){.zones-container{grid-template-columns:1fr}.zone-bar-row{grid-template-columns:75px 1fr 70px;gap:.5rem}.zone-name{display:none}}