249 lines
4.8 KiB
CSS

/* Mobile dropdown menu */
.mobile-dropdown {
position: relative;
display: none;
}
.mobile-dropdown-toggle {
background: none;
border: none;
color: white;
font-size: 18px;
cursor: pointer;
padding: 8px;
border-radius: var(--border-radius);
transition: var(--transition);
display: flex;
align-items: center;
gap: 5px;
}
.mobile-dropdown-toggle:hover {
background-color: rgba(255,255,255,0.1);
}
.mobile-dropdown-content {
position: absolute;
top: 100%;
right: 0;
background-color: white;
color: var(--dark-color);
min-width: 250px;
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
border-radius: var(--border-radius);
overflow: hidden;
transform: translateY(-10px);
opacity: 0;
visibility: hidden;
transition: var(--transition);
z-index: 12150;
}
.mobile-dropdown.active .mobile-dropdown-content {
transform: translateY(0);
opacity: 1;
visibility: visible;
}
.mobile-dropdown-item {
padding: 12px 15px;
border-bottom: 1px solid #eee;
font-size: 14px;
}
.mobile-dropdown-item:last-child {
border-bottom: none;
border-top: 1px solid #ddd;
background-color: #fff5f5;
}
.mobile-dropdown-item:last-child button {
color: var(--danger-color);
font-weight: 500;
}
.mobile-dropdown-item:last-child:hover {
background-color: #fee;
}
.mobile-dropdown-item.location-info {
background-color: var(--primary-color);
color: white;
font-weight: 500;
}
.mobile-dropdown-item.user-info {
background-color: var(--light-color);
color: var(--dark-color);
}
/* Add logout button specific styles */
.mobile-dropdown-item button {
background: none;
border: none;
color: inherit;
font-size: inherit;
cursor: pointer;
width: 100%;
text-align: left;
padding: 0;
font-family: inherit;
}
.mobile-dropdown-item button:hover {
background-color: rgba(0, 0, 0, 0.05);
}
/* Logout button danger styling */
.mobile-dropdown-item.logout-item {
border-top: 1px solid #eee;
background-color: #fee;
}
.mobile-dropdown-item.logout-item button {
color: var(--danger-color);
font-weight: 500;
}
.mobile-dropdown-item.logout-item:hover {
background-color: #fdd;
}
/* Floating sidebar for mobile */
.mobile-sidebar {
position: fixed;
top: 50%;
right: 10px;
transform: translateY(-50%);
background-color: white;
border-radius: var(--border-radius);
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
z-index: 1000;
display: none;
flex-direction: column;
gap: 5px;
padding: 8px;
}
.mobile-sidebar .btn {
margin: 0;
min-width: 44px;
min-height: 44px;
padding: 12px;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
}
/* Active state for mobile buttons */
.mobile-sidebar .btn.active {
background-color: var(--dark-color);
color: white;
}
/* Active state for desktop map control buttons */
.map-controls .btn.active {
background-color: var(--dark-color);
color: white;
border-color: var(--dark-color);
}
.mobile-sidebar .btn:active {
transform: scale(0.95);
}
/* Mobile overlay modal styles */
.overlay-options {
display: flex;
flex-direction: column;
gap: 12px;
margin-bottom: 20px;
}
.overlay-option {
padding: 12px;
border: 2px solid #e0e0e0;
border-radius: var(--border-radius);
transition: var(--transition);
}
.overlay-option:hover {
border-color: var(--primary-color);
background-color: rgba(52, 152, 219, 0.05);
}
.overlay-option label {
display: flex;
align-items: center;
cursor: pointer;
font-weight: 500;
margin: 0;
width: 100%;
}
.overlay-option input[type="radio"] {
margin-right: 12px;
transform: scale(1.2);
accent-color: var(--primary-color);
}
.overlay-option.selected {
border-color: var(--primary-color);
background-color: rgba(52, 152, 219, 0.1);
}
.overlay-label {
flex: 1;
}
.current-overlay-info {
padding: 15px;
background-color: var(--light-color);
border-radius: var(--border-radius);
border-left: 4px solid var(--primary-color);
}
.current-overlay-info h3 {
margin: 0 0 12px 0;
color: var(--dark-color);
font-size: 16px;
}
.overlay-info-content {
display: flex;
align-items: center;
gap: 12px;
}
.overlay-color {
width: 24px;
height: 24px;
border-radius: 4px;
border: 2px solid rgba(0,0,0,0.2);
flex-shrink: 0;
}
.overlay-details {
flex: 1;
}
.overlay-name {
font-weight: 600;
color: var(--dark-color);
margin-bottom: 4px;
}
.overlay-description {
font-size: 14px;
color: #666;
line-height: 1.4;
}
/* Mobile overlay button active state */
.mobile-sidebar #mobile-overlay-btn.active {
background-color: var(--primary-color);
color: white;
border-color: var(--primary-color);
}