body {
    background-color: #0f172a; /* Slate 900 */
    color: #e2e8f0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    margin: 0;
    padding: 0;
    height: 100vh;
}

#root {
    height: 100%;
    width: 100%;
}

.state-path {
    transition: fill 0.5s ease, stroke 0.3s ease;
    cursor: pointer;
    stroke: #cbd5e1;
    stroke-width: 0.5px;
    stroke-linejoin: round;
}

.state-path:hover {
    stroke: #ffffff;
    stroke-width: 2px;
    filter: brightness(1.2);
    z-index: 10;
}

/* Card Hover Effects */
.card-hover {
    transition: all 0.2s ease-out;
}

.card-hover:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.6);
    border-color: #60a5fa; /* Blue 400 highlight */
    z-index: 20;
}

/* Map Tooltip */
.map-tooltip {
    pointer-events: none;
    background: rgba(15, 23, 42, 0.95);
    border: 1px solid #475569;
    padding: 10px;
    border-radius: 8px;
    min-width: 160px;
    backdrop-filter: blur(4px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
}

/* --- Custom Scrollbar Design --- */

/* Firefox */
* {
    scrollbar-width: thin;
    scrollbar-color: #475569 #0f172a; /* Slate-600 Thumb, Slate-900 Track */
}

/* Chrome, Edge, and Safari */
::-webkit-scrollbar {
    width: 8px;  /* Vertical width */
    height: 8px; /* Horizontal height */
}

::-webkit-scrollbar-track {
    background: #0f172a; /* Slate-900 */
    border-radius: 4px;
}

::-webkit-scrollbar-thumb {
    background-color: #334155; /* Slate-700 */
    border-radius: 4px;
    border: 2px solid #0f172a; /* Creates padding effect */
}

::-webkit-scrollbar-thumb:hover {
    background-color: #475569; /* Slate-600 */
}

::-webkit-scrollbar-corner {
    background: rgba(0,0,0,0);
}

/* Utility to hide scrollbar but keep functionality (optional use) */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}