*{margin:0;padding:0;box-sizing:border-box}#app{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh;background:#f5f5f5;display:flex;flex-direction:column}.navbar{background:#2c3e50;padding:1rem;display:flex;gap:1rem;box-shadow:0 2px 4px #0000001a}.nav-link{color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:background .3s}.nav-link:hover,.nav-link.router-link-active{background:#34495e}.nav-user{color:#fffffff2;padding:.5rem .75rem;margin-right:.5rem;font-size:.95rem}.nav-logout{color:#fff;background:#ffffff26;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .3s}.nav-logout:hover{background:#ffffff40}.main-content{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.app-footer{background:#2c3e50;padding:.75rem 1rem;display:flex;justify-content:center;align-items:center;box-shadow:0 -2px 4px #0000001a}.footer-link{display:inline-flex;align-items:center;gap:.5rem;color:#ffffffe6;text-decoration:none;padding:.5rem 1rem;border-radius:8px;transition:background .2s,color .2s}.footer-link:hover,.footer-link.router-link-active{background:#ffffff26;color:#fff}.footer-icon{width:24px;height:24px}.footer-label{font-size:.9rem;font-weight:500}.home[data-v-ac05c114]{text-align:center}h1[data-v-ac05c114]{color:#2c3e50;margin-bottom:.5rem}.subtitle[data-v-ac05c114]{color:#7f8c8d;margin-bottom:2rem}.info-cards[data-v-ac05c114]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.card[data-v-ac05c114]{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.card h2[data-v-ac05c114]{color:#2c3e50;margin-bottom:1rem}.card p[data-v-ac05c114]{color:#7f8c8d;margin-bottom:1rem}.btn[data-v-ac05c114]{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .3s}.btn-primary[data-v-ac05c114]{background:#3498db;color:#fff}.btn-primary[data-v-ac05c114]:hover{background:#2980b9}.status[data-v-ac05c114]{margin-top:1rem;padding:.5rem;border-radius:4px}.status.success[data-v-ac05c114]{background:#d4edda;color:#155724}.status.error[data-v-ac05c114]{background:#f8d7da;color:#721c24}.login-page[data-v-7d937626]{min-height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(160deg,#1a2a1a,#0f1410)}.login-card[data-v-7d937626]{background:#fffffff5;border-radius:16px;padding:2.5rem;max-width:400px;width:100%;box-shadow:0 20px 60px #0000004d}.logo-area[data-v-7d937626]{text-align:center;margin-bottom:2rem}.strava-logo[data-v-7d937626]{color:#fc4c02;margin-bottom:1rem}.login-card h1[data-v-7d937626]{font-size:1.75rem;color:#1a2a1a;font-weight:700;margin-bottom:.5rem}.subtitle[data-v-7d937626]{color:#5a6c5a;font-size:.95rem}.strava-button[data-v-7d937626]{width:100%;padding:1rem 1.5rem;font-size:1.1rem;font-weight:600;color:#fff;background:#fc4c02;border:none;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:background .2s,transform .1s;box-shadow:0 4px 14px #fc4c0266}.strava-button[data-v-7d937626]:hover:not(:disabled){background:#e04402;transform:translateY(-1px)}.strava-button[data-v-7d937626]:active:not(:disabled){transform:translateY(0)}.strava-button[data-v-7d937626]:disabled{opacity:.8;cursor:not-allowed}.button-content[data-v-7d937626]{display:flex;align-items:center;gap:.75rem}.strava-icon[data-v-7d937626]{flex-shrink:0;color:#fff}.error-message[data-v-7d937626]{margin-top:1rem;color:#c0392b;font-size:.9rem;text-align:center}.spinner[data-v-7d937626]{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-7d937626 .8s linear infinite}@keyframes spin-7d937626{to{transform:rotate(360deg)}}.auth-callback[data-v-e30df7d1]{min-height:40vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem}.error[data-v-e30df7d1]{color:#c0392b}.challenges-page[data-v-be867337]{padding:1rem 0}.page-header[data-v-be867337]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-header h1[data-v-be867337]{margin-bottom:.25rem;color:#2c3e50;font-size:1.75rem}.intro[data-v-be867337]{color:#666;margin:0;font-size:.95rem}.btn-create[data-v-be867337]{flex-shrink:0;padding:.5rem 1rem;background:#2c3e50;color:#fff;text-decoration:none;border-radius:8px;font-size:.95rem;font-weight:500;transition:background .2s}.btn-create[data-v-be867337]:hover{background:#34495e}.loading[data-v-be867337],.error[data-v-be867337],.empty[data-v-be867337]{padding:2rem;text-align:center;color:#666}.error[data-v-be867337]{color:#c0392b}.empty[data-v-be867337]{background:#f8f9fa;border-radius:8px;border:1px dashed #dee2e6}.challenges-list[data-v-be867337]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.challenge-card[data-v-be867337]{background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000014;border:1px solid #e9ecef;border-left:4px solid #adb5bd}.challenge-card-link[data-v-be867337]{display:block;padding:1.25rem;text-decoration:none;color:inherit;transition:background .2s}.challenge-card-link[data-v-be867337]:hover{background:#f8f9fa}.challenge-card--active[data-v-be867337]{border-left-color:#27ae60}.challenge-header[data-v-be867337]{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.challenge-name[data-v-be867337]{font-size:1.15rem;font-weight:600;color:#2c3e50;margin:0;flex:1}.challenge-badge[data-v-be867337]{flex-shrink:0;font-size:.75rem;font-weight:600;padding:.25rem .6rem;border-radius:20px;text-transform:uppercase;letter-spacing:.02em}.challenge-badge--active[data-v-be867337]{background:#d5f4e6;color:#1e8449}.challenge-badge--ended[data-v-be867337]{background:#f0f0f0;color:#6c757d}.challenge-badge--upcoming[data-v-be867337]{background:#e8f4fd;color:#2980b9}.challenge-club[data-v-be867337]{margin:0 0 .35rem;font-size:.9rem;color:#555}.challenge-dates[data-v-be867337]{font-size:.85rem;color:#777}.challenge-detail[data-v-9bbb12b8]{padding:1rem 0}.back-link[data-v-9bbb12b8]{display:inline-block;margin-bottom:1rem;color:#2c3e50;text-decoration:none;font-size:.95rem}.challenge-header-actions[data-v-9bbb12b8]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.back-link[data-v-9bbb12b8]:hover{text-decoration:underline}.settings-btn[data-v-9bbb12b8]{display:inline-block;padding:.5rem 1rem;background:#2c3e50;color:#fff;text-decoration:none;border-radius:8px;font-size:.95rem;font-weight:500;border:none;cursor:pointer;transition:background .2s;margin-left:auto}.settings-btn[data-v-9bbb12b8]:hover{background:#34495e}.loading[data-v-9bbb12b8],.error[data-v-9bbb12b8]{padding:2rem;text-align:center;color:#666}.error[data-v-9bbb12b8]{color:#c0392b}.challenge-detail-card[data-v-9bbb12b8]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;border:1px solid #e9ecef;border-left:5px solid #adb5bd}.challenge-detail-card--active[data-v-9bbb12b8]{border-left-color:#27ae60}.challenge-badge[data-v-9bbb12b8]{display:inline-block;font-size:.75rem;font-weight:600;padding:.3rem .7rem;border-radius:20px;text-transform:uppercase;letter-spacing:.02em;margin-bottom:.75rem}.challenge-badge--active[data-v-9bbb12b8]{background:#d5f4e6;color:#1e8449}.challenge-badge--ended[data-v-9bbb12b8]{background:#f0f0f0;color:#6c757d}.challenge-badge--upcoming[data-v-9bbb12b8]{background:#e8f4fd;color:#2980b9}.challenge-title[data-v-9bbb12b8]{margin:0 0 .5rem;font-size:1.5rem;color:#2c3e50}.challenge-club[data-v-9bbb12b8]{margin:0 0 .35rem;font-size:1rem;color:#555}.challenge-dates[data-v-9bbb12b8]{font-size:.95rem;color:#777;margin-bottom:.5rem}.challenge-id[data-v-9bbb12b8]{margin:1rem 0 0;font-size:.85rem;color:#999}.leaderboards[data-v-9bbb12b8]{margin-top:2rem}.leaderboards-title[data-v-9bbb12b8]{font-size:1.25rem;color:#2c3e50;margin-bottom:1rem;font-weight:600}.leaderboard-card[data-v-9bbb12b8]{background:#fff;border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1rem;box-shadow:0 2px 8px #00000014;border:1px solid #e9ecef}.leaderboard-name[data-v-9bbb12b8]{font-size:1.1rem;color:#34495e;margin:0 0 .75rem;font-weight:600}.leaderboard-table-wrap[data-v-9bbb12b8]{overflow-x:auto}.leaderboard-table[data-v-9bbb12b8]{width:100%;border-collapse:collapse;font-size:.95rem}.leaderboard-table th[data-v-9bbb12b8]{text-align:left;padding:.5rem .75rem;color:#6c757d;font-weight:600;border-bottom:2px solid #e9ecef}.leaderboard-table td[data-v-9bbb12b8]{padding:.6rem .75rem;border-bottom:1px solid #f1f3f5}.leaderboard-row[data-v-9bbb12b8]:hover{background:#f8f9fa}.col-rank[data-v-9bbb12b8]{width:3rem;font-variant-numeric:tabular-nums}.col-value[data-v-9bbb12b8]{text-align:right;font-variant-numeric:tabular-nums}.leaderboard-empty[data-v-9bbb12b8]{margin:0;color:#6c757d;font-size:.9rem}.challenge-settings[data-v-c4ebbdbe]{padding:1rem 0}.back-link[data-v-c4ebbdbe]{display:inline-block;margin-bottom:1rem;color:#2c3e50;text-decoration:none;font-size:.95rem}.back-link[data-v-c4ebbdbe]:hover{text-decoration:underline}.loading[data-v-c4ebbdbe],.error[data-v-c4ebbdbe]{padding:2rem;text-align:center;color:#666}.error[data-v-c4ebbdbe]{color:#c0392b}.settings-card[data-v-c4ebbdbe]{background:#fff;border-radius:12px;padding:1.5rem 2rem;box-shadow:0 2px 8px #00000014;border:1px solid #e9ecef;max-width:560px}.settings-title[data-v-c4ebbdbe]{margin:0 0 .25rem;font-size:1.4rem;color:#2c3e50}.settings-subtitle[data-v-c4ebbdbe]{margin:0 0 1.5rem;font-size:.9rem;color:#6c757d}.settings-form[data-v-c4ebbdbe]{display:flex;flex-direction:column;gap:1.25rem}.form-group[data-v-c4ebbdbe]{display:flex;flex-direction:column;gap:.35rem}.form-row[data-v-c4ebbdbe]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.label-block[data-v-c4ebbdbe]{display:block;font-weight:600;color:#34495e;font-size:.95rem}.form-hint[data-v-c4ebbdbe]{margin:0 0 .5rem;font-size:.85rem;color:#6c757d}.form-input[data-v-c4ebbdbe]{padding:.6rem .75rem;border:1px solid #dee2e6;border-radius:8px;font-size:1rem}.form-input[data-v-c4ebbdbe]:focus{outline:none;border-color:#2c3e50;box-shadow:0 0 0 2px #2c3e5026}.activity-types-list[data-v-c4ebbdbe]{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.activity-type-checkbox[data-v-c4ebbdbe]{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem;color:#34495e}.activity-type-checkbox input[data-v-c4ebbdbe]{width:1.1rem;height:1.1rem}.leaderboard-types-list[data-v-c4ebbdbe]{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.leaderboard-type-checkbox[data-v-c4ebbdbe]{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem;color:#34495e}.leaderboard-type-checkbox input[data-v-c4ebbdbe]{width:1.1rem;height:1.1rem}.form-error[data-v-c4ebbdbe]{padding:.75rem;background:#fde8e8;color:#c0392b;border-radius:8px;font-size:.9rem}.form-actions[data-v-c4ebbdbe]{display:flex;gap:.75rem;margin-top:.5rem}.btn[data-v-c4ebbdbe]{padding:.65rem 1.25rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;text-decoration:none;border:none;transition:background .2s}.btn[data-v-c4ebbdbe]:disabled{opacity:.7;cursor:not-allowed}.btn-primary[data-v-c4ebbdbe]{background:#2c3e50;color:#fff}.btn-primary[data-v-c4ebbdbe]:hover:not(:disabled){background:#34495e}.btn-secondary[data-v-c4ebbdbe]{background:#e9ecef;color:#495057}.btn-secondary[data-v-c4ebbdbe]:hover{background:#dee2e6}.create-challenge[data-v-8d1dad50]{padding:1rem 0}.back-link[data-v-8d1dad50]{display:inline-block;margin-bottom:1rem;color:#2c3e50;text-decoration:none;font-size:.95rem}.back-link[data-v-8d1dad50]:hover{text-decoration:underline}.create-card[data-v-8d1dad50]{background:#fff;border-radius:12px;padding:1.5rem 2rem;box-shadow:0 2px 8px #00000014;border:1px solid #e9ecef;max-width:560px}.create-title[data-v-8d1dad50]{margin:0 0 .25rem;font-size:1.4rem;color:#2c3e50}.create-subtitle[data-v-8d1dad50]{margin:0 0 1.5rem;font-size:.9rem;color:#6c757d}.create-form[data-v-8d1dad50]{display:flex;flex-direction:column;gap:1.25rem}.form-group[data-v-8d1dad50]{display:flex;flex-direction:column;gap:.35rem}.form-row[data-v-8d1dad50]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.required[data-v-8d1dad50]{color:#c0392b}.label-block[data-v-8d1dad50]{display:block;font-weight:600;color:#34495e;font-size:.95rem}.form-hint[data-v-8d1dad50]{margin:0 0 .5rem;font-size:.85rem;color:#6c757d}.form-input[data-v-8d1dad50]{padding:.6rem .75rem;border:1px solid #dee2e6;border-radius:8px;font-size:1rem}.form-input[data-v-8d1dad50]:focus{outline:none;border-color:#2c3e50;box-shadow:0 0 0 2px #2c3e5026}.activity-types-list[data-v-8d1dad50]{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.activity-type-checkbox[data-v-8d1dad50]{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem;color:#34495e}.activity-type-checkbox input[data-v-8d1dad50]{width:1.1rem;height:1.1rem}.form-error[data-v-8d1dad50]{padding:.75rem;background:#fde8e8;color:#c0392b;border-radius:8px;font-size:.9rem}.form-actions[data-v-8d1dad50]{display:flex;gap:.75rem;margin-top:.5rem}.btn[data-v-8d1dad50]{padding:.65rem 1.25rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;text-decoration:none;border:none;transition:background .2s}.btn[data-v-8d1dad50]:disabled{opacity:.7;cursor:not-allowed}.btn-primary[data-v-8d1dad50]{background:#2c3e50;color:#fff}.btn-primary[data-v-8d1dad50]:hover:not(:disabled){background:#34495e}.btn-secondary[data-v-8d1dad50]{background:#e9ecef;color:#495057}.btn-secondary[data-v-8d1dad50]:hover{background:#dee2e6}
