/* SkyRun Manager — Frontend CSS */

.skyruntr-events,
.skyruntr-courses {
    max-width: 900px;
    margin: 0 auto;
}

.str-event-card,
.str-course-card {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.str-event-card img,
.str-course-card img {
    width: 120px;
    height: 80px;
    object-fit: cover;
    border-radius: 6px;
    flex-shrink: 0;
}

.str-event-card-body h3,
.str-course-card-body h3 {
    margin: 0 0 6px;
    font-size: 18px;
}

.str-event-meta,
.str-course-meta {
    font-size: 13px;
    color: #666;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
}

.str-event-meta span,
.str-course-meta span {
    display: flex;
    align-items: center;
    gap: 4px;
}

.str-map-container {
    height: 300px;
    border-radius: 8px;
    overflow: hidden;
    margin: 16px 0;
}

.str-registration-form,
.str-proof-form {
    max-width: 600px;
}

.str-registration-form .form-row,
.str-proof-form .form-row {
    margin-bottom: 16px;
}

.str-registration-form label,
.str-proof-form label {
    display: block;
    font-weight: 600;
    margin-bottom: 4px;
}

.str-registration-form input,
.str-registration-form select,
.str-registration-form textarea,
.str-proof-form input,
.str-proof-form select,
.str-proof-form textarea {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 15px;
    box-sizing: border-box;
}

.str-btn {
    display: inline-block;
    padding: 10px 20px;
    border-radius: 5px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    text-decoration: none;
    transition: opacity .2s;
}

.str-btn:hover { opacity: .85; }
.str-btn-primary { background: #2271b1; color: #fff; }
.str-btn-secondary { background: #f0f0f0; color: #333; }
.str-btn-danger { background: #d63638; color: #fff; }

.str-alert {
    padding: 12px 16px;
    border-radius: 5px;
    margin-bottom: 16px;
    font-size: 14px;
}

.str-alert-success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.str-alert-error   { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
.str-alert-info    { background: #cce5ff; color: #004085; border: 1px solid #b8daff; }

.str-leaderboard table,
.str-results-table {
    width: 100%;
    border-collapse: collapse;
}

.str-leaderboard th,
.str-leaderboard td,
.str-results-table th,
.str-results-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #eee;
    text-align: left;
}

.str-leaderboard th,
.str-results-table th {
    background: #f8f8f8;
    font-weight: 600;
}

.str-podium-row-1 td { background: #fffde7; }
.str-podium-row-2 td { background: #f5f5f5; }
.str-podium-row-3 td { background: #fff3e0; }

.str-badge-icon {
    font-size: 20px;
    margin-right: 6px;
}

.str-my-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 16px 0;
}

.str-badge-card {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 12px 16px;
    text-align: center;
    min-width: 100px;
}

.str-badge-card .str-badge-icon {
    font-size: 28px;
    display: block;
    margin-bottom: 6px;
}

.str-badge-card .str-badge-name {
    font-size: 12px;
    font-weight: 600;
}

.str-profile-stats {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    margin: 16px 0;
}

.str-profile-stat {
    text-align: center;
}

.str-profile-stat-value {
    font-size: 26px;
    font-weight: 700;
    color: #2271b1;
}

.str-profile-stat-label {
    font-size: 12px;
    color: #666;
}
