/* Database Status Component Styles */
.database-status-sidebar {
    width: 100%;
    max-width: 200px;
    margin: 0 auto;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.connection-indicator {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    position: relative;
}

.connection-indicator.connected {
    background-color: #27ae60;
    animation: pulse-green 2s infinite;
}

.connection-indicator.disconnected {
    background-color: #e74c3c;
    animation: pulse-red 2s infinite;
}

.connection-pulse-bar {
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #9e00f9, #ff6ef5, #9e00f9);
    background-size: 200% 100%;
    animation: pulse-bar 2s infinite;
    border-radius: 1px;
}

@keyframes pulse-green {
    0% { box-shadow: 0 0 0 0 rgba(39, 174, 96, 0.7); }
    70% { box-shadow: 0 0 0 6px rgba(39, 174, 96, 0); }
    100% { box-shadow: 0 0 0 0 rgba(39, 174, 96, 0); }
}

@keyframes pulse-red {
    0% { box-shadow: 0 0 0 0 rgba(231, 76, 60, 0.7); }
    70% { box-shadow: 0 0 0 6px rgba(231, 76, 60, 0); }
    100% { box-shadow: 0 0 0 0 rgba(231, 76, 60, 0); }
}

@keyframes pulse-bar {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

.database-status-loading, .database-status-connected, .database-status-disconnected {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.database-status-loading:hover, .database-status-connected:hover, .database-status-disconnected:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-1px);
}

/* Sidebar adjustments */
#sidebar {
    min-height: 100vh;
    padding-bottom: 20px;
}

/* Ensure the database status stays at bottom */
#sidebar > div:last-child {
    margin-top: auto;
}