.dashboard-container{max-width:1400px;margin:0 auto;padding:2rem}.dashboard-container .dashboard-header{text-align:center;margin-bottom:2.5rem}.dashboard-container .dashboard-header h1{font-size:2.5rem;font-weight:700;color:#FFFFFF;margin:0}.dashboard-container .dashboard-header .current-date{font-size:1.1rem;color:#B0B0B0}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));gap:1.5rem}.stat-card{border:2px solid red;background-color:#1E1E1E;border:1px solid #333;border-radius:8px;padding:1.5rem;display:flex;flex-direction:column}.stat-card .card-header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #333;padding-bottom:0.75rem;margin-bottom:1.5rem}.stat-card .card-header h2{margin:0;font-size:1.25rem;color:#FFFFFF}.stat-card .card-header .date-range{font-size:0.85rem;color:#777;white-space:nowrap}.stat-card .card-body{flex-grow:1;display:flex;flex-direction:column;justify-content:center}.hero-stat{text-align:center;margin-bottom:1.5rem}.hero-stat .value{display:block;font-size:4rem;font-weight:700;color:#FF6B00;line-height:1.1}.hero-stat .unit{display:block;font-size:1.25rem;color:#B0B0B0}.sub-stats{display:flex;justify-content:space-around;text-align:center}.sub-stats .stat{display:flex;flex-direction:column}.sub-stats .stat label{font-size:0.9rem;color:#777;order:2}.sub-stats .stat span{font-size:1.1rem;font-weight:600;color:#E0E0E0;order:1}.chart-card.stat-card{grid-column:span 2}.chart-card #monthly-chart-placeholder{width:100%;min-height:300px;display:flex;align-items:center;justify-content:center}.chart-card .chart-loading-text{color:#777}.activities-list{list-style:none;padding:0;margin:0}.activities-list li:last-child a{border-bottom:none}.activities-list li a{display:flex;justify-content:space-between;align-items:center;padding:1rem 0.5rem;border-bottom:1px solid #282828;text-decoration:none;transition:background-color 0.2s;border-radius:4px}.activities-list li a:hover{background-color:#2a2a2a}.activities-list li a .activity-info .activity-name{color:#E0E0E0;font-weight:600}.activities-list li a .activity-info .activity-date{display:block;font-size:0.85rem;color:#777}.activities-list li a .activity-stats{display:flex;gap:1rem;color:#B0B0B0;font-size:0.9rem}.recent-activities{max-width:1400px;margin:2rem auto 0;padding:0 2rem}.recent-activities h2{color:#FFFFFF;font-size:1.25rem;margin-bottom:1rem;border-bottom:1px solid #333;padding-bottom:0.75rem}.recent-activities .activity-link{color:#E0E0E0;text-decoration:none}.recent-activities .activity-link:hover{text-decoration:underline}.activities-table{width:100%;border-collapse:collapse;background-color:#1E1E1E;border-radius:8px;overflow:hidden}.activities-table thead th{text-align:left;padding:0.75rem 1rem;color:#B0B0B0;font-weight:600;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.05em;border-bottom:1px solid #333}.activities-table thead th a,.activities-table thead th a:link,.activities-table thead th a:visited{color:#B0B0B0;text-decoration:underline;text-underline-offset:3px;font-weight:600}.activities-table thead th a:hover,.activities-table thead th a:link:hover,.activities-table thead th a:visited:hover{color:#FF6B00}.activities-table tbody tr{border-bottom:1px solid #282828;transition:background-color 0.15s}.activities-table tbody tr:hover{background-color:#2a2a2a}.activities-table tbody tr:last-child{border-bottom:none}.activities-table tbody td{padding:0.75rem 1rem;font-size:0.9rem;color:#E0E0E0;white-space:nowrap}.activities-table tbody td .activity-description{font-size:0.8rem;color:#777;white-space:normal}.activities{padding:2rem}.activities .header{text-align:center;margin-bottom:2.5rem}.activities .header h1{font-size:2.5rem;font-weight:700;color:#FFFFFF;margin:0}.activities .sort-bar{max-width:1200px;margin:0 auto 1rem;font-size:0.85rem;color:#777}.activities .sort-bar a{color:#B0B0B0;text-decoration:none;margin-left:0.75rem}.activities .sort-bar a:hover{color:#FF6B00}.activities .list{display:flex;flex-direction:column;gap:20px;max-width:1200px;margin:0 auto}.activities .list .card{background-color:#1E1E1E;border-radius:8px;padding:20px;display:flex;align-items:flex-start;box-shadow:0 4px 8px rgba(0,0,0,0.3);border:1px solid #333}.activities .list .details{flex-grow:1;display:flex;flex-direction:column;justify-content:space-between;margin-right:20px}.activities .list .description{font-size:0.85rem;color:#B0B0B0;margin-bottom:0.5rem}.activities .list .name{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #333;padding-bottom:0.75rem;margin-bottom:0.5rem}.activities .list .name h2,.activities .list .name h2 a{margin:0;font-size:1.25rem;color:#FFFFFF;text-decoration:none}.activities .list .meta{margin-bottom:1rem}.activities .list .location-name{font-size:0.9rem;color:#B0B0B0}.activities .list .location-name a{color:#FF6B00;text-decoration:none}.activities .list .location-name a:hover{text-decoration:underline}.activities .list .date{font-size:0.85rem;color:#777}.activities .list .weather{font-size:0.85rem;color:#777;margin-left:0.5rem}.activities .list .thumbnail{flex-shrink:0;width:80px;height:80px;border-radius:6px;overflow:hidden;border:2px solid #555;margin-right:1rem}.activities .list .thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.activities .list .summary{font-size:0.85rem;color:#B0B0B0;margin-top:0.25rem}.deleted-activities{max-width:1200px;margin:0 auto;padding:2rem}.deleted-activities h1{color:#FFFFFF;font-size:2rem;font-weight:700;margin-bottom:1.5rem}.deleted-activities .btn-restore{background-color:transparent;color:#B0B0B0;border:1px solid #555;border-radius:4px;padding:0.3rem 0.75rem;font-size:0.85rem;font-family:'Inter', sans-serif;cursor:pointer}.deleted-activities .btn-restore:hover{background-color:#333;color:#FFFFFF;border-color:#FF6B00}.deleted-activities .empty-message{color:#777;text-align:center;padding:3rem}.activities-show{max-width:1400px;margin:0 auto}.activities-show .segments{margin-bottom:2rem}.activities-show .segments .segment-link{color:#E0E0E0;text-decoration:none;font-weight:500}.activities-show .segments .segment-link:hover{text-decoration:underline}.activities-show .segments .activities-table th:first-child,.activities-show .segments .activities-table td:first-child{width:40%;text-align:left;padding-left:1rem}.activities-show .segments .activities-table td:first-child a{padding:0;margin:0;display:inline}.activities-show .segments .activities-table th:not(:first-child),.activities-show .segments .activities-table td:not(:first-child){text-align:right}.activities-show #map-container{margin-bottom:2rem}.activities-show .elevation-chart{height:200px;background-color:#1E1E1E;border-radius:8px;border:1px solid #333;padding:1rem;margin-bottom:2rem}.activities-show .sidebar-actions{display:flex;flex-direction:column;gap:0.5rem;margin-top:1.5rem}.activities-show .btn-secondary{display:block;width:100%;box-sizing:border-box;padding:0.75rem 1.5rem;border:1px solid #555;border-radius:4px;background-color:transparent;color:#B0B0B0;font-family:'Inter', sans-serif;font-size:1rem;font-weight:500;text-align:center;text-decoration:none;cursor:pointer}.activities-show .btn-secondary:hover{background-color:#333;color:#FFFFFF;border-color:#777}.activities-show .btn-delete{display:inline-block;width:100%;padding:0.75rem 1.5rem;border:none;border-radius:4px;background-image:none;background-color:red;color:#FFFFFF;font-family:'Inter', sans-serif;font-size:1rem;font-weight:600;text-align:center;text-decoration:none;cursor:pointer;transition:background-color 0.2s ease-in-out}.activities-show .btn-delete:hover{background-color:#A52020}.activities-show .btn-delete:focus{outline:none;box-shadow:0 0 0 3px rgba(198,40,40,0.4)}.edit-activity-page .activity-header{margin-bottom:2rem;text-align:left}.edit-activity-page .form-layout{display:flex;flex-wrap:wrap;gap:2rem}.edit-activity-page .form-main-content{flex:3;min-width:320px}.edit-activity-page .form-sidebar{flex:1;min-width:280px}.edit-activity-page .form-group{margin-bottom:1.5rem}.edit-activity-page .form-label{display:block;margin-bottom:0.5rem;font-weight:600;color:#B0B0B0}.edit-activity-page .form-control{display:block;width:100%;padding:0.75rem 1rem;font-family:'Inter', sans-serif;font-size:1rem;background-color:#333;color:#E0E0E0;border:1px solid #555;border-radius:6px;transition:border-color 0.2s ease, box-shadow 0.2s ease}.edit-activity-page .form-control:focus{outline:none;border-color:#FF6B00;box-shadow:0 0 0 3px rgba(255,107,0,0.2)}.edit-activity-page .form-control-lg{font-size:1.5rem;font-weight:bold}.edit-activity-page textarea.form-control{line-height:1.6}.edit-activity-page .panel{background-color:#1E1E1E;border:0.5px solid #555;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.edit-activity-page .panel-title{background-color:#1E1E1E;background-image:none;color:#E0E0E0;font-size:1.25rem;margin-top:0;margin-bottom:1.5rem;border-bottom:1px solid #333;padding-bottom:0.75rem}.edit-activity-page .stats-list-detailed{list-style:none}.edit-activity-page .stats-list-detailed li{display:flex;padding:0.75rem 0;font-size:1rem}.edit-activity-page .stats-list-detailed li .label{color:#B0B0B0;flex-grow:1}.edit-activity-page .form-actions{display:flex;gap:1rem;align-items:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #333}.edit-activity-page .btn{display:inline-block;padding:0.75rem 1.5rem;font-size:1rem;font-weight:600;text-align:center;text-decoration:none;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:background-color 0.2s ease, border-color 0.2s ease}.edit-activity-page .btn-primary{background-color:#FF6B00;color:#FFFFFF}.edit-activity-page .btn-primary:hover{background-color:#E05A00}.edit-activity-page .btn-secondary{background-color:transparent;color:#B0B0B0;border:1px solid #555}.edit-activity-page .btn-secondary:hover{background-color:#333;color:#FFFFFF;border-color:#777}.activity-header{padding:1.5rem 2rem;background-color:#1E1E1E;border-radius:8px;margin-bottom:2rem;text-align:center}.activity-title{color:#FFFFFF;font-size:2.5rem;font-weight:700;margin:0 0 0.5rem 0}.activity-description{color:#999;font-size:0.95rem;margin:0}.activity-date{color:#B0B0B0;font-size:1.1rem;margin:0}.activity-weather{color:#999;font-size:0.95rem;margin:0.25rem 0 0 0}.activity-body{display:flex;flex-wrap:wrap;gap:2rem}.main-content{flex:3;min-width:300px}.sidebar-content{flex:1;min-width:280px}#map-container,.map-placeholder{width:100%;height:600px;background-color:#1E1E1E;border-radius:8px;border:1px solid #333;display:flex;justify-content:center;align-items:center;color:#777;font-size:1.2rem}#map-container .map,.map-placeholder .map{height:100%;width:100%;overflow:hidden}#map-container .map .ol-viewport,.map-placeholder .map .ol-viewport{border-radius:8px;border:1px solid #333;overflow:hidden}#map-container .map .ol-full-screen-false,#map-container .map .ol-full-screen-true,.map-placeholder .map .ol-full-screen-false,.map-placeholder .map .ol-full-screen-true{background-image:none}.hero-stats{display:flex;justify-content:space-between;gap:1rem;background-color:#1E1E1E;padding:1.5rem;border-radius:8px;border:1px solid #333;margin-bottom:2rem;text-align:center}.stat-item{display:flex;flex-direction:column}.hero-stats .label{font-size:1rem;color:#B0B0B0;margin-bottom:0.5rem}.hero-stats .value{font-size:1.2rem;font-weight:700;color:#FF6B00;line-height:1}.hero-stats .unit{font-size:0.8rem;color:#FF6B00;margin-left:0.25rem}.detailed-stats{background-color:#1E1E1E;padding:1.5rem;border-radius:8px;border:1px solid #333}.section-title{color:#FFFFFF;font-size:1.25rem;margin-top:0;margin-bottom:1.5rem;border-bottom:1px solid #333;padding-bottom:0.75rem}.stats-list{list-style:none;padding:0;margin:0}.stats-list li{display:flex;justify-content:space-between;padding:0.75rem 0;border-bottom:1px solid #282828}.stats-list li:last-child{border-bottom:none}.stats-list .label{font-size:1rem;color:#B0B0B0}.stats-list .value{font-size:1rem;font-weight:600;color:#E0E0E0}.upload-page-container{max-width:700px;margin:2rem auto;padding:2rem 2.5rem;background-color:#1E1E1E;border:1px solid #333;border-radius:8px}.upload-page-container h1{text-align:center;margin-top:0;margin-bottom:2rem;color:#FFFFFF;font-weight:700}.upload-page-container .form-group{margin-bottom:1.5rem}.upload-page-container .form-group label{display:block;margin-bottom:0.5rem;font-weight:500;color:#B0B0B0}.upload-page-container .form-control{width:100%;padding:0.75rem 1rem;background-color:#121212;border:1px solid #444;border-radius:4px;color:#E0E0E0;font-size:1rem;box-sizing:border-box;transition:border-color 0.2s, box-shadow 0.2s}.upload-page-container .form-control:focus{outline:none;border-color:#FF6B00;box-shadow:0 0 0 3px rgba(255,107,0,0.25)}.upload-page-container .file-input-hidden{display:none}.upload-page-container .file-drop-zone{position:relative;border:2px dashed #444;border-radius:8px;padding:3rem 1rem;text-align:center;cursor:pointer;transition:border-color 0.3s, background-color 0.3s}.upload-page-container .file-drop-zone:hover,.upload-page-container .file-drop-zone.drag-over{border-color:#FF6B00;background-color:#2a2a2a}.upload-page-container .file-drop-zone .placeholder .fa-upload{font-size:2rem;color:#777;margin-bottom:1rem}.upload-page-container .file-drop-zone .placeholder span{display:block;font-size:1.2rem;font-weight:600;color:#E0E0E0}.upload-page-container .file-drop-zone .placeholder em{display:block;font-style:normal;color:#777;margin-top:0.25rem}.upload-page-container .filename-display{display:none;font-size:1.1rem;font-family:monospace;font-weight:500;color:#FF6B00}.upload-page-container .form-actions{text-align:center;margin-top:2rem}.upload-page-container .btn-primary{background-color:#FF6B00;color:#FFFFFF;border:none;padding:0.8rem 2.5rem;font-size:1.1rem;font-weight:600;border-radius:4px;cursor:pointer;transition:background-color 0.3s}.upload-page-container .btn-primary:hover{background-color:#cc5600}.upload-page-container .error-messages{padding:1rem;background-color:rgba(198,40,40,0.2);border:1px solid #C62828;border-radius:4px;margin-bottom:2rem}.upload-page-container .error-messages h2{margin:0 0 0.5rem 0;font-size:1.1rem;color:#FFFFFF}.upload-page-container .error-messages ul{margin:0;padding-left:1.5rem;color:#E0E0E0}.locations{padding:2rem}.locations .header{text-align:center;margin-bottom:2.5rem}.locations .header h1{font-size:2.5rem;font-weight:700;color:#FFFFFF;margin:0}.locations .list{display:grid;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));gap:1.5rem;max-width:1200px;margin:0 auto}.locations .list .card{background-color:#1E1E1E;border-radius:8px;padding:20px;box-shadow:0 4px 8px rgba(0,0,0,0.3);border:1px solid #333;transition:border-color 0.2s}.locations .list .card:hover{border-color:#FF6B00}.locations .list .card-content{display:flex;gap:1rem}.locations .list .thumbnail{flex-shrink:0;width:100px;height:100px;border-radius:6px;overflow:hidden;border:2px solid #555}.locations .list .thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.locations .list .details{flex-grow:1}.locations .list .name{border-bottom:1px solid #333;padding-bottom:0.75rem;margin-bottom:1rem}.locations .list .name h2{margin:0;font-size:1.25rem}.locations .list .name h2 a{color:#FFFFFF;text-decoration:none}.locations .list .locality{color:#B0B0B0;font-size:0.85rem;margin-top:0.25rem}.locations .list .description{color:#B0B0B0;font-size:0.9rem;margin-bottom:1rem}.locations .list .summary{color:#B0B0B0;font-size:0.9rem}.location-show{max-width:1400px;margin:0 auto}.location-show .location-header{padding:1.5rem 2rem;background-color:#1E1E1E;border-radius:8px;margin-bottom:2rem;text-align:center}.location-show .location-breadcrumb{margin:0 0 0.5rem 0;font-size:0.9rem}.location-show .location-breadcrumb a{color:#B0B0B0;text-decoration:none}.location-show .location-breadcrumb a:hover{color:#FF6B00}.location-show .location-locality{color:#B0B0B0;font-size:1rem;margin:0}.location-show .location-title{color:#FFFFFF;font-size:2.5rem;font-weight:700;margin:0 0 0.5rem 0}.location-show .location-description{color:#B0B0B0;font-size:1.1rem;margin:0}.location-show .location-body{display:flex;flex-wrap:wrap;gap:2rem}.location-show .main-content{flex:3;min-width:300px}.location-show .sidebar-content{flex:1;min-width:280px}.location-show .location-activity-link{color:#E0E0E0;text-decoration:none}.location-show .location-activity-link:hover{text-decoration:underline}.location-show .stats-list .value{white-space:nowrap}.location-show .location-activities{margin-top:2rem}.location-show .location-activities .section-title{color:#FFFFFF;font-size:1.25rem;margin-top:0;margin-bottom:1rem;border-bottom:1px solid #333;padding-bottom:0.75rem}.location-show .show-all-link{float:right;font-size:0.85rem;font-weight:400;color:#FF6B00;text-decoration:none}.location-show .show-all-link:hover{text-decoration:underline}.segments{padding:2rem}.segments .header{text-align:center;margin-bottom:2.5rem}.segments .header h1{font-size:2.5rem;font-weight:700;color:#FFFFFF;margin:0}.segments .list{display:grid;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));gap:1.5rem;max-width:1200px;margin:0 auto}.segments .list .card{background-color:#1E1E1E;border-radius:8px;padding:20px;box-shadow:0 4px 8px rgba(0,0,0,0.3);border:1px solid #333;transition:border-color 0.2s}.segments .list .card:hover{border-color:#FF6B00}.segments .list .card-content{display:flex;gap:1rem}.segments .list .thumbnail{flex-shrink:0;width:100px;height:100px;border-radius:6px;overflow:hidden;border:2px solid #555}.segments .list .thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.segments .list .details{flex-grow:1}.segments .list .name{margin-bottom:0.5rem}.segments .list .name h2{margin:0;font-size:1.25rem}.segments .list .name h2 a{color:#FFFFFF;text-decoration:none}.segments .list .summary{color:#B0B0B0;font-size:0.9rem}.segment-show{max-width:1400px;margin:0 auto}.segment-show .segment-header{padding:1.5rem 2rem;background-color:#1E1E1E;border-radius:8px;margin-bottom:2rem;text-align:center}.segment-show .segment-breadcrumb{margin:0 0 0.5rem 0;font-size:0.9rem}.segment-show .segment-breadcrumb a{color:#B0B0B0;text-decoration:none}.segment-show .segment-breadcrumb a:hover{color:#FF6B00}.segment-show .segment-title{color:#FFFFFF;font-size:2.5rem;font-weight:700;margin:0 0 0.5rem 0}.segment-show .segment-description{color:#B0B0B0;font-size:1.1rem;margin:0}.segment-show .segment-body{display:flex;flex-wrap:wrap;gap:2rem}.segment-show .main-content{flex:3;min-width:300px}.segment-show .sidebar-content{flex:1;min-width:280px}.segment-show .segment-map{height:300px;background-color:#1E1E1E;border-radius:8px;border:1px solid #333;overflow:hidden}.segment-show .segment-map .map{height:100%;width:100%}.segment-show .segment-link{color:#E0E0E0;text-decoration:none}.segment-show .segment-link:hover{text-decoration:underline}.segment-show .segment-activities{margin-top:2rem}.segment-show .segment-activities .section-title{color:#FFFFFF;font-size:1.25rem;margin-top:0;margin-bottom:1rem;border-bottom:1px solid #333;padding-bottom:0.75rem}.segment-form{max-width:1400px;margin:0 auto}.segment-form .segment-header{padding:1.5rem 2rem;background-color:#1E1E1E;border-radius:8px;margin-bottom:2rem;text-align:center}.segment-form .segment-breadcrumb{margin:0 0 0.5rem 0;font-size:0.9rem}.segment-form .segment-breadcrumb a{color:#B0B0B0;text-decoration:none}.segment-form .segment-breadcrumb a:hover{color:#FF6B00}.segment-form .segment-title{color:#FFFFFF;font-size:2.5rem;font-weight:700;margin:0}.segment-form .segment-form-body{display:flex;flex-direction:column;gap:2rem}.segment-form .slider-controls{display:flex;flex-direction:column;gap:1rem;padding:1rem;background-color:#1E1E1E;border-radius:8px;border:1px solid #333}.segment-form .slider-controls .slider-group{display:flex;align-items:center;gap:0.5rem}.segment-form .slider-controls .slider-group label{color:#B0B0B0;font-weight:600;min-width:3rem}.segment-form .slider-controls .slider-group input[type="range"]{flex-grow:1;accent-color:#FF6B00}.segment-form .slider-controls .nudge{background-color:#333;color:#B0B0B0;border:1px solid #555;border-radius:4px;padding:0.25rem 0.5rem;font-size:0.8rem;cursor:pointer;flex-shrink:0}.segment-form .slider-controls .nudge:hover{background-color:#444;color:#FFFFFF;border-color:#FF6B00}.segment-form .form-fields{background-color:#1E1E1E;border-radius:8px;border:1px solid #333;padding:1.5rem}.segment-form .form-group{margin-bottom:1.5rem}.segment-form .form-group:last-child{margin-bottom:0}.segment-form .form-label{display:block;margin-bottom:0.5rem;font-weight:600;color:#B0B0B0}.segment-form .form-control{display:block;width:100%;padding:0.75rem 1rem;font-family:'Inter', sans-serif;font-size:1rem;background-color:#333;color:#E0E0E0;border:1px solid #555;border-radius:6px}.segment-form .form-control:focus{outline:none;border-color:#FF6B00;box-shadow:0 0 0 3px rgba(255,107,0,0.2)}.segment-form .form-actions{display:flex;gap:1rem;align-items:center}.segment-form .btn{display:inline-block;padding:0.75rem 1.5rem;font-size:1rem;font-weight:600;text-align:center;text-decoration:none;border:1px solid transparent;border-radius:6px;cursor:pointer}.segment-form .btn-primary{background-color:#FF6B00;color:#FFFFFF}.segment-form .btn-primary:hover{background-color:#E05A00}.segment-form .btn-secondary{background-color:transparent;color:#B0B0B0;border:1px solid #555}.segment-form .btn-secondary:hover{background-color:#333;color:#FFFFFF}.strava-connection{max-width:600px;margin:0 auto;padding:2rem}.strava-connection .connection-header{text-align:center;margin-bottom:2rem}.strava-connection .connection-header h1{font-size:2rem;font-weight:700;color:#FFFFFF;margin:0}.strava-connection .connection-body{background-color:#1E1E1E;border-radius:8px;border:1px solid #333;padding:2rem}.strava-connection .status-badge{display:inline-block;padding:0.35rem 0.75rem;border-radius:4px;font-weight:600;font-size:0.9rem;margin-bottom:1.5rem}.strava-connection .connected .status-badge{background-color:rgba(34,197,94,0.15);color:#22c55e;border:1px solid rgba(34,197,94,0.3)}.strava-connection .disconnected .status-badge{background-color:rgba(180,180,180,0.1);color:#B0B0B0;border:1px solid #333}.strava-connection .connection-details{list-style:none;padding:0;margin:0 0 1.5rem 0}.strava-connection .connection-details li{display:flex;justify-content:space-between;padding:0.75rem 0;border-bottom:1px solid #282828}.strava-connection .connection-details li:last-child{border-bottom:none}.strava-connection .connection-details .label{color:#B0B0B0}.strava-connection .connection-details .value{color:#E0E0E0;font-weight:500}.strava-connection .strava-link{color:#FF6B00;text-decoration:none}.strava-connection .strava-link:hover{text-decoration:underline}.strava-connection .connection-info{color:#B0B0B0;margin-bottom:1.5rem}.strava-connection .connection-actions{padding-top:1rem;border-top:1px solid #333}.strava-connection .btn{display:inline-block;padding:0.75rem 1.5rem;font-size:1rem;font-weight:600;text-align:center;text-decoration:none;border:none;border-radius:6px;cursor:pointer}.strava-connection .btn-primary{background-color:#FF6B00;color:#FFFFFF}.strava-connection .btn-primary:hover{background-color:#E05A00}.strava-connection .btn-danger{background-color:#dc2626;color:#FFFFFF}.strava-connection .btn-danger:hover{background-color:#b91c1c}.heatmap-container h1{color:#FFFFFF;margin-bottom:1rem}.heatmap-map{height:700px;width:100%;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,0.1)}.heatmap-results{margin-top:2rem}.heatmap-results .section-title{color:#FFFFFF;font-size:1.25rem;margin-top:0;margin-bottom:1rem;border-bottom:1px solid #333;padding-bottom:0.75rem}.heatmap-results .activity-link{color:#E0E0E0;text-decoration:none}.heatmap-results .activity-link:hover{text-decoration:underline}.site-footer{margin-top:4rem;padding:2rem;border-top:1px solid #333;background-color:#0E0E0E}.site-footer .footer-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;flex-wrap:wrap}.site-footer .footer-brand .footer-logo{font-size:1.2rem;font-weight:700;color:#FFFFFF}.site-footer .footer-brand .footer-tagline{color:#777;font-size:0.85rem;margin:0.25rem 0 0 0}.site-footer .footer-links{display:flex;gap:1.5rem}.site-footer .footer-links a{color:#999;text-decoration:none;font-size:0.9rem}.site-footer .footer-links a:hover{color:#FF6B00}.site-footer .footer-credits{color:#666;font-size:0.8rem}.site-footer .footer-credits a{color:#999;text-decoration:none}.site-footer .footer-credits a:hover{color:#FF6B00}.static-page{max-width:800px;margin:0 auto;padding:2rem}.static-page h1{color:#FFFFFF;font-size:2rem;font-weight:700;margin-bottom:1.5rem}.static-page .page-body h2{color:#E0E0E0;font-size:1.3rem;margin-top:2rem;margin-bottom:0.75rem}.static-page .page-body p,.static-page .page-body li{color:#B0B0B0;font-size:1rem;line-height:1.7;margin-bottom:1rem}.static-page .page-body ul{padding-left:1.5rem}.static-page .page-body a{color:#FF6B00;text-decoration:none}.static-page .page-body a:hover{text-decoration:underline}.static-page .page-body strong{color:#E0E0E0}.static-page .page-body em{color:#999}body{font-family:'Inter', sans-serif;background-color:#121212;color:#E0E0E0;margin:0;line-height:1.6}.main-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:#1E1E1E;border-bottom:1px solid #333}.logo a{color:#FFFFFF;text-decoration:none;font-size:1.5rem;font-weight:700}.logo .fa-route{margin-right:0.5rem;color:#FF6B00}nav ul{list-style:none;margin:0;padding:0;display:flex}nav ul li{margin-left:1.5rem}nav ul li a,nav ul li a:link,nav ul li a:visited{color:#B0B0B0;text-decoration:none !important;font-weight:500;transition:color 0.3s ease}nav ul li a:hover{color:#FFFFFF;text-decoration:none !important}.user-profile{display:flex;align-items:center}.user-menu{position:relative}.user-menu-toggle,.user-menu-toggle:link,.user-menu-toggle:visited,.user-menu-toggle:hover{display:flex;align-items:center;background:none;border:1px solid #333;border-radius:8px;cursor:pointer;color:#B0B0B0;font:inherit;padding:0.5rem 0.75rem;text-decoration:none !important}.user-profile .avatar{width:32px;height:32px;border-radius:50%;margin-right:0.5rem}.user-menu-dropdown{display:none;position:absolute;right:0;left:0;top:100%;margin-top:0.5rem;background:#1E1E1E;border:1px solid #333;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,0.4);z-index:100}.user-menu-dropdown.open{display:block}.user-menu-dropdown a{display:block;padding:0.5rem 1rem;color:#B0B0B0;text-decoration:none}.user-menu-dropdown a:hover{background:#2A2A2A;color:#FFFFFF}.user-menu-dropdown a:first-child{border-radius:6px 6px 0 0}.user-menu-dropdown a:last-child{border-radius:0 0 6px 6px}.container{max-width:1200px;margin:2rem auto;padding:0 2rem}.flash{padding:1rem;margin-bottom:1rem;border-radius:4px}.flash.notice{background-color:#2E7D32;color:#FFFFFF}.flash.alert{background-color:#C62828;color:#FFFFFF}.activity-card{background-color:#1E1E1E;border:1px solid #333;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 4px 6px rgba(0,0,0,0.1)}.activity-card h3{margin-top:0;color:#FF6B00}.activity-card .stats{display:flex;justify-content:space-between;margin-top:1rem}.activity-card .stat{text-align:center}.activity-card .stat .label{font-size:0.9rem;color:#B0B0B0}.activity-card .stat .value{font-size:1.2rem;font-weight:600;color:#FFFFFF}#mainmap{height:500px;width:100%;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,0.1)}.ol-zoom-out,.ol-zoom-in{color:#B0B0B0;background-image:none}#mainmap button .ol-zoom-out,#mainmap button .ol-zoom-in,#mainmap button .ol-zoom-out:link,#mainmap button .ol-zoom-in:link,#mainmap button .ol-zoom-out:visited,#mainmap button .ol-zoom-in:visited,#mainmap button .ol-zoom-in:hover,#mainmap button .ol-zoom-out:hover{color:#B0B0B0;background-image:none;text-decoration-color:#B0B0B0}.sessions-new,.registrations-new,.passwords-new{max-width:400px;margin:0 auto}#new_user input[type="email"],#new_user input[type="password"],#new_user input[type="text"]{width:100%;padding:0.5rem 0.75rem;background-color:#1E1E1E;border:1px solid #333;border-radius:6px;color:#E0E0E0;font-size:1rem;box-sizing:border-box}#new_user input[type="submit"]{background-color:#FF6B00;color:#FFFFFF;border:none;border-radius:6px;padding:0.5rem 1.5rem;font-size:1rem;cursor:pointer}#new_user label{color:#B0B0B0}.map-layer-switcher{top:5rem;left:0.5rem}.map-layer-switcher .map-layer-btn{background-color:rgba(255,255,255,0.9);color:#333;border:1px solid #ccc;border-radius:2px;padding:0.25rem 0.5rem;font-size:0.75rem;font-weight:600;font-family:'Inter', sans-serif;cursor:pointer}.map-layer-switcher .map-layer-btn:hover{background-color:#fff;border-color:#999}.pagination{display:flex;justify-content:center;align-items:center;gap:0.5rem;margin:2rem 0;list-style:none;padding:0}.pagination li,.pagination>span,.pagination>a,.pagination>em{display:inline-flex;align-items:center;justify-content:center}.pagination a,.pagination a:link,.pagination a:visited{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:0.4rem 0.75rem;border-radius:4px;font-size:0.9rem;font-weight:500;text-decoration:none;color:#B0B0B0;background-color:#1E1E1E;border:1px solid #333;transition:background-color 0.3s, color 0.3s;cursor:pointer}.pagination a:hover,.pagination a:link:hover,.pagination a:visited:hover{color:#FFFFFF;background-color:#2A2A2A;border-color:#FF6B00}.pagination span.page.current,.pagination em.current{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:0.4rem 0.75rem;border-radius:4px;font-size:0.9rem;font-weight:600;font-style:normal;color:#FFFFFF;background-color:#FF6B00;border:1px solid #FF6B00}.pagination span.page.gap,.pagination .gap{color:#555;background:none;border:none;min-width:auto;padding:0.4rem 0.25rem}
