@import "tailwindcss"; @layer theme { :root { --color-primary: #3B82F6; } } @layer base { :root { color-scheme: light; } .dark { color-scheme: dark; } } @layer utilities { .animate-slide-in { animation: slideIn 0.3s ease-out; } .animate-scale-in { animation: scaleIn 0.2s ease-out; } .animate-fadeIn { animation: fadeIn 0.2s ease-out; } @keyframes slideIn { 0% { transform: translateX(100%); opacity: 0; } 100% { transform: translateX(0); opacity: 1; } } @keyframes scaleIn { 0% { transform: scale(0.9); opacity: 0; } 100% { transform: scale(1); opacity: 1; } } @keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } } /* Leaflet CSS will be imported in main.tsx */ /* Custom Leaflet marker styles */ .custom-marker { background: transparent !important; border: none !important; display: flex; align-items: center; justify-content: center; } .custom-marker div { filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3)); } /* Device marker icons */ .custom-device-marker { background: transparent !important; border: none !important; } .device-icon { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background: white; border-radius: 50%; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); border: 3px solid; } /* Dark mode support for device icons */ .dark .device-icon { background: rgb(31, 41, 55); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.6); } /* Leaflet popup dark mode support */ .dark .leaflet-popup-content-wrapper { background-color: rgb(31, 41, 55); color: white; } .dark .leaflet-popup-tip { background-color: rgb(31, 41, 55); } .dark .leaflet-popup-close-button { color: rgb(209, 213, 219) !important; } .dark .leaflet-popup-close-button:hover { color: white !important; } .device-icon svg { width: 24px; height: 24px; } .switch-icon { border-color: #8B5CF6; color: #8B5CF6; } .ap-indoor-icon { border-color: #10B981; color: #10B981; } .ap-outdoor-icon { border-color: #F59E0B; color: #F59E0B; } .other-device-icon { border-color: #6B7280; color: #6B7280; } /* Info marker icon */ .custom-info-marker { background: transparent !important; border: none !important; } .info-marker-icon { width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; background: white; border-radius: 50%; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); border: 2px solid #6366F1; color: #6366F1; } .dark .info-marker-icon { background: rgb(31, 41, 55); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.6); } /* Distance labels on map */ .distance-label { background-color: rgba(255, 255, 255, 0.95) !important; border: 1px solid rgba(0, 0, 0, 0.2) !important; border-radius: 4px !important; padding: 2px 6px !important; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important; } .dark .distance-label { background-color: rgba(31, 41, 55, 0.95) !important; border-color: rgba(255, 255, 255, 0.2) !important; color: white !important; } .distance-label::before { display: none !important; }