/* Custom CSS styles */
body {
    font-family: 'Arial', sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: #f9f9f9;
    margin: 0;
    padding: 0;
}

/* Improved visualization components */
.visualization-container {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    padding: 20px;
    margin: 20px 0;
}

.visualization-tabs {
    margin-bottom: 20px;
}

.tab-btn {
    background-color: #eee;
    border: none;
    padding: 10px 20px;
    margin-right: 5px;
    border-radius: 4px 4px 0 0;
    cursor: pointer;
    transition: all 0.3s ease;
    color: #555;
    font-weight: 500;
}

.tab-btn.active {
    background-color: #0066cc;
    color: white;
}

.visualization-panel {
    display: none;
    background-color: #fff;
    border-radius: 5px;
    padding: 20px;
}

.visualization-panel.active {
    display: block;
}

.json-display {
    background-color: #f5f5f5;
    border-radius: 4px;
    padding: 15px;
    overflow: auto;
    white-space: pre-wrap;
    color: #333;
    font-family: monospace;
}

/* Test controls styling */
.test-controls {
    margin: 20px 0;
}

.btn {
    background-color: #0066cc;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    font-weight: 500;
}

.btn:hover {
    background-color: #0052a3;
}

/* Feature cards */
.feature-card {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 20px;
    margin-bottom: 20px;
    transition: transform 0.3s ease;
}

.feature-card:hover {
    transform: translateY(-5px);
}

.feature-card h3 {
    color: #0066cc;
    margin-top: 0;
}

/* Main styles */
body {
    background-color: #f8f9fc;
}

/* Sidebar styles */
.sidebar {
    box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
}

.sidebar .nav-link {
    font-weight: 500;
    color: #333;
}

.sidebar .nav-link.active {
    color: #007bff;
}

/* Card styles */
.card {
    box-shadow: 0 0.15rem 1.75rem 0 rgba(58, 59, 69, 0.15);
    border: none;
    border-radius: 0.35rem;
}

.card-header {
    background-color: #f8f9fc;
    border-bottom: 1px solid #e3e6f0;
}

.border-left-primary {
    border-left: 0.25rem solid #4e73df !important;
}

.border-left-success {
    border-left: 0.25rem solid #1cc88a !important;
}

.border-left-info {
    border-left: 0.25rem solid #36b9cc !important;
}

.border-left-warning {
    border-left: 0.25rem solid #f6c23e !important;
}

.border-left-danger {
    border-left: 0.25rem solid #e74a3b !important;
}

/* Admin link - initially visible for development */
#admin-link {
    color: #212529; /* Change this to match background color to hide later */
}

/* Dashboard Typography */
.text-xs {
    font-size: .7rem;
}

.font-weight-bold {
    font-weight: 700 !important;
}

/* Visualizations Section */
.visualizations {
    margin-bottom: 3rem;
    background-color: #f9f9f9;
    padding: 2rem;
    border-radius: 8px;
}

.visualizations h2 {
    text-align: center;
    margin-bottom: 1.5rem;
    color: #1a237e;
}

.visualization-tabs {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 2rem;
}

.tab-btn {
    padding: 0.8rem 1.5rem;
    background-color: #e0e0e0;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 500;
}

.tab-btn.active {
    background-color: #1a237e;
    color: white;
}

.visualization-container {
    margin-bottom: 2rem;
    min-height: 400px;
}

.visualization-panel {
    display: none;
    padding: 1rem;
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.visualization-panel.active {
    display: block;
}

.test-controls {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

.json-display {
    background-color: #f5f5f5;
    padding: 1rem;
    border-radius: 4px;
    overflow: auto;
    max-height: 500px;
}

/* Add custom styles here */

/* Mobile navigation styling */
@media (max-width: 768px) {
    header {
        position: relative;
        padding: 1rem;
    }
    
    .navbar-toggler {
        background-color: #3949ab;
        border: none;
        padding: 0.5rem;
        border-radius: 4px;
    }
    
    .navbar-toggler-icon {
        display: inline-block;
        width: 1.5em;
        height: 1.5em;
        vertical-align: middle;
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 100%;
    }
    
    .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background-color: #1a237e;
        z-index: 1000;
        padding: 1rem;
    }
    
    .navbar-nav {
        flex-direction: column;
    }
    
    .nav-item {
        margin: 0.5rem 0;
    }
}

/* Capabilities section styling */
.capabilities {
    background-color: #f8f9fc;
    padding: 3rem 2rem;
}

.capabilities-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}

.capability-card {
    background-color: white;
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.capability-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.12);
}

.capability-card h3 {
    color: #3949ab;
    margin-bottom: 1rem;
    font-size: 1.3rem;
    border-bottom: 2px solid #e8eaf6;
    padding-bottom: 0.5rem;
}

.capability-card ul {
    list-style-type: none;
    padding-left: 0;
    margin-bottom: 0;
}

.capability-card ul li {
    padding: 0.5rem 0;
    border-bottom: 1px dashed #e8eaf6;
    color: #424242;
}

.capability-card ul li:last-child {
    border-bottom: none;
}

@media (max-width: 768px) {
    .capabilities-grid {
        grid-template-columns: 1fr;
    }
}