.strava-stats-container{max-width:100%;overflow-x:auto;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.strava-stats-container h2{margin-top:0;margin-bottom:20px;color:#333}
.strava-controls-row{display:flex;gap:12px;align-items:flex-end;margin-bottom:15px;flex-wrap:wrap}
.strava-controls-row .form-item{margin:0}
.strava-build-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;padding:9px 22px;font-size:14px;font-weight:600;cursor:pointer}
.strava-build-btn[disabled]{opacity:.5;cursor:not-allowed}
.strava-fixed-date{padding:8px 12px;background:#e8f5e9;border-radius:6px;color:#2e7d32;font-size:14px}
.strava-limit-notice{margin:12px 0;padding:10px 14px;background:#fff3e0;border-left:4px solid #e65100;color:#663c00;border-radius:4px;font-size:14px}
.stats-controls{display:flex;flex-direction:column;gap:12px;margin-bottom:15px;background:#f8f9fa;padding:15px;border-radius:6px}
.stats-row{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.stats-filter{display:flex;align-items:center;gap:10px}
.stats-filter label{font-weight:600;color:#555;font-size:14px;white-space:nowrap}
.stats-filter select{padding:6px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;font-size:13px;cursor:pointer;min-width:180px}
.search-filter{flex:1;min-width:250px}
.search-input{flex:1;padding:6px 12px;border:1px solid #ddd;border-radius:4px;font-size:13px;min-width:150px}
.stats-info{display:flex;gap:12px;margin-bottom:15px;flex-wrap:wrap}
.info-badge{display:inline-block;padding:6px 16px;border-radius:20px;font-weight:600;font-size:14px}
.info-period{background:#e3f2fd;color:#1976d2}
.info-follower{background:#e8f5e9;color:#2e7d32}
.info-following{background:#fff3e0;color:#e65100}
.info-guest{background:#f3e5f5;color:#6a1b9a}
.table-wrapper{overflow-x:auto;margin:20px 0}
.strava-stats-table{width:100%;border-collapse:collapse;font-size:13px}
.strava-stats-table thead th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff !important;padding:10px 12px;text-align:left;font-weight:600;white-space:nowrap;border:1px solid #5567d6}
.strava-stats-table thead th a{color:#fff !important;text-decoration:none;display:flex;align-items:center;gap:4px}
.strava-stats-table tbody td{padding:8px 12px;border:1px solid #e9ecef}
.strava-stats-table tbody tr:nth-child(even){background:#fafafa}
.strava-stats-table tbody tr:hover{background:#f0f4ff}
.strava-stats-table .col-name a{color:#1976d2;text-decoration:none}
.strava-stats-table .col-name a:hover{text-decoration:underline}
.strava-stats-table .col-likes,.strava-stats-table .col-comments{text-align:center}
.sort-indicator{font-size:10px;margin-left:2px;color:#fff !important}
.status-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}
.status-follower{background:#e8f5e9;color:#2e7d32}
.status-following{background:#fff3e0;color:#e65100}
.status-guest{background:#f3e5f5;color:#6a1b9a}
.stats-empty{text-align:center;padding:40px 20px;color:#999}
.stats-footer{margin-top:20px;padding-top:15px;border-top:1px solid #e9ecef}
.stats-summary{display:flex;gap:30px;flex-wrap:wrap}
.stats-summary span{font-size:14px;color:#555;background:#f8f9fa;padding:6px 14px;border-radius:14px}
.strava-loading,.strava-error{padding:1em;color:#555}
.strava-error{color:#a00}
#strava-past-reports{margin-top:20px;padding:15px;background:#f8f9fa;border-radius:6px}
#strava-past-reports h3{margin-top:0;font-size:16px;color:#333}
.strava-past-list{list-style:none;padding:0;margin:0}
.strava-past-list li{padding:4px 0;border-bottom:1px solid #e9ecef}
.strava-past-list li:last-child{border-bottom:none}
.strava-past-list a{color:#1976d2;text-decoration:none}
.strava-past-list a:hover{text-decoration:underline}
.strava-view-page{margin:20px 0}
@media (max-width:768px){.stats-row{flex-direction:column;gap:10px;width:100%}.stats-filter{flex-wrap:wrap;width:100%}.search-filter{width:100%}.stats-summary{gap:10px}}