body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Estilo para impressão de PDFs via Browser */
@media print {
    aside, header, footer, .btn-no-print, .no-print {
        display: none !important;
    }
    main {
        padding: 0 !important;
        margin: 0 !important;
        background: white !important;
    }
    .bg-white {
        box-shadow: none !important;
        border: 1px solid #eee !important;
    }
    .grid {
        display: block !important;
    }
    .grid > div {
        margin-bottom: 2rem !important;
        page-break-inside: avoid;
    }
    canvas {
        max-width: 100% !important;
    }
}

/* Custom Scrollbar Premium */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* Map Overrides for cleaner look */
.leaflet-control-zoom a {
    background-color: #ffffff !important;
    color: #1e293b !important;
    border: none !important;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1) !important;
}
.leaflet-control-zoom a:hover {
    background-color: #f8fafc !important;
    color: #14b8a6 !important;
}
.leaflet-bar {
    border: none !important;
    box-shadow: none !important;
}

/* Clusters Premium Style */
.marker-cluster-small {
    background-color: rgba(20, 184, 166, 0.6) !important;
}
.marker-cluster-small div {
    background-color: rgba(20, 184, 166, 0.9) !important;
    color: white !important;
    font-weight: bold;
}
.marker-cluster-medium {
    background-color: rgba(13, 148, 136, 0.6) !important;
}
.marker-cluster-medium div {
    background-color: rgba(13, 148, 136, 0.9) !important;
    color: white !important;
    font-weight: bold;
}
.marker-cluster-large {
    background-color: rgba(15, 118, 110, 0.6) !important;
}
.marker-cluster-large div {
    background-color: rgba(15, 118, 110, 0.9) !important;
    color: white !important;
    font-weight: bold;
}

.custom-div-icon {
    background: transparent;
    border: none;
}
