        :root {
            --primary-red: #E41E26;
            --primary-black: #0C0C0C;
            --secondary-gold: #D8A21F;
            --complementary-blue: #1E2D5C;
            --light-white: #F4F4F4;
            --gradient-blue: linear-gradient(135deg, #1E2D5C 0%, #2A3D6E 100%);
            --gradient-gold: linear-gradient(135deg, #D8A21F 0%, #E8B229 100%);
            --gradient-red: linear-gradient(135deg, #E41E26 0%, #C21820 100%);
        }
        
        .map-header {
            background: var(--gradient-blue);
            padding-top: 100px !important;
            position: relative;
            overflow: hidden;
        }
        
        .map-header::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 100" fill="%23ffffff10"><path d="M500 50L550 30L600 50L650 30L700 50L750 30L800 50L850 30L900 50L950 30L1000 50L1000 100L0 100L0 50Z"/></svg>');
            background-size: cover;
            background-position: bottom;
        }
        
        .map-container {
            background: var(--light-white);
            border-radius: 20px;
            box-shadow: 0 15px 40px rgba(0,0,0,0.1);
            overflow: hidden;
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            border: 1px solid rgba(216, 162, 31, 0.2);
            height: 500px;
        }
        
        .info-card {
            background: var(--light-white);
            border: none;
            border-radius: 20px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.08);
            transition: all 0.3s ease;
            border: 1px solid rgba(216, 162, 31, 0.2);
            margin-bottom: 1.5rem;
        }
        
        .info-card:hover {
            box-shadow: 0 15px 40px rgba(0,0,0,0.12);
            transform: translateY(-5px);
        }
        
        .coverage-checker-card {
            background: var(--gradient-blue);
            border: none;
            border-radius: 20px;
            color: white;
            transition: all 0.4s ease;
        }
        
        .coverage-checker-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(30, 45, 92, 0.3);
        }
        
        /* Estilos para el mapa */
        #coverageMap {
            border-radius: 20px;
            z-index: 1;
            height: 100%;
        }
        
        .rentadora-marker, .landmark-marker {
            background: transparent;
            border: none;
        }
        
        .leaflet-popup-content {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            border-radius: 12px;
        }
        
        /* Mejoras para móvil */
        @media (max-width: 991.98px) {
            .map-header .display-4 {
                font-size: 2.2rem;
            }
            
            .map-container {
                height: 400px;
                margin-bottom: 1.5rem;
            }
            
            .info-card {
                margin-bottom: 1rem;
            }
            
            .coverage-zones-mobile {
                display: flex;
                flex-wrap: wrap;
                gap: 0.5rem;
                margin-bottom: 1rem;
            }
            
            .zone-badge {
                flex: 1;
                min-width: 120px;
                text-align: center;
                padding: 0.75rem 0.5rem;
                border-radius: 12px;
                font-weight: 600;
                font-size: 0.85rem;
            }
        }
        
        @media (max-width: 767.98px) {
            .map-header .display-4 {
                font-size: 1.8rem;
            }
            
            .map-container {
                height: 350px;
                border-radius: 16px;
            }
            
            .zone-badge {
                min-width: 100px;
                font-size: 0.8rem;
                padding: 0.6rem 0.4rem;
            }
            
            .coverage-checker-card {
                margin-top: 1rem;
            }
        }
        
        @media (max-width: 575.98px) {
            .map-container {
                height: 300px;
            }
            
            .zone-badge {
                min-width: calc(50% - 0.5rem);
                font-size: 0.75rem;
            }
            
            .list-unstyled li {
                font-size: 0.9rem;
                margin-bottom: 0.5rem;
            }
        }
        
        /* Badges de zonas para móvil */
        .zone-primary {
            background: var(--primary-red);
            color: white;
        }
        
        .zone-extended {
            background: var(--secondary-gold);
            color: var(--primary-black);
        }
        
        .zone-outside {
            background: var(--complementary-blue);
            color: white;
        }
        
        /* Animaciones */
        @keyframes pulse {
            0% { transform: scale(1); }
            50% { transform: scale(1.05); }
            100% { transform: scale(1); }
        }
        
        .pulse-animation {
            animation: pulse 2s ease-in-out infinite;
        }
        
        /* Colores de la paleta */
        .badge.bg-success {
            background: var(--primary-red) !important;
            color: var(--light-white);
        }
        
        .badge.bg-warning {
            background: var(--secondary-gold) !important;
            color: var(--primary-black);
        }
        
        .badge.bg-info {
            background: var(--complementary-blue) !important;
            color: var(--light-white);
        }
        
        .text-primary {
            color: var(--complementary-blue) !important;
        }
        
        .text-success {
            color: var(--primary-red) !important;
        }
        
        .text-warning {
            color: var(--secondary-gold) !important;
        }
        
        .btn-primary {
            background: var(--primary-red);
            border: none;
            color: var(--light-white);
            font-weight: 600;
        }
        
        .btn-primary:hover {
            background: #C21820;
            color: var(--light-white);
            transform: translateY(-2px);
        }
        
        .btn-light {
            background: var(--light-white);
            color: var(--complementary-blue);
            font-weight: 600;
        }
        
        .btn-light:hover {
            background: var(--secondary-gold);
            color: var(--primary-black);
        }
        
        .alert-success {
            background: rgba(228, 30, 38, 0.1);
            border-color: var(--primary-red);
            color: var(--primary-black);
        }
        
        .alert-warning {
            background: rgba(216, 162, 31, 0.1);
            border-color: var(--secondary-gold);
            color: var(--primary-black);
        }
        
        .alert-danger {
            background: rgba(30, 45, 92, 0.1);
            border-color: var(--complementary-blue);
            color: var(--primary-black);
        }
        
        /* Mejoras de accesibilidad */
        .btn:focus,
        .form-control:focus {
            outline: none;
            box-shadow: 0 0 0 3px rgba(216, 162, 31, 0.25) !important;
            border-color: var(--secondary-gold);
        }