:root {
    --fgcu-green: #007A53;
    --fgcu-blue: #002878;
    --fgcu-gold: #BA9B37;
    --bg-light: #f4f7f6;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    margin: 0;
    padding: 20px;
    background-color: var(--bg-light);
    color: #333;
}

header {
    background-color: var(--fgcu-green);
    color: white;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

header h1 {
    margin: 0;
    font-size: 24px;
}

/* 3-Pane Grid Layout */
.dashboard-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 20px;
}

.pane {
    background: white;
    border-radius: 8px;
    padding: 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    border-top: 4px solid var(--fgcu-blue);
}

.pane h2 {
    margin-top: 0;
    font-size: 18px;
    color: var(--fgcu-blue);
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
}

/* Force Graph gets the full top row */
.pane-full {
    grid-column: 1 / span 2;
}

/* SVG Containers */
svg {
    width: 100%;
    height: 100%;
    display: block;
}

#network-graph { height: 500px; }
#heatmap-graph { height: 350px; }
#map-graph { height: 350px; }

/* Node Text */
.node-label {
    font-size: 10px;
    pointer-events: none;
    text-anchor: middle;
}

/* D3 Tooltip */
.d3-tooltip {
    position: absolute;
    text-align: center;
    padding: 8px;
    font-size: 12px;
    background: rgba(0, 40, 120, 0.9); /* FGCU Blue */
    color: white;
    border-radius: 4px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s;
}