/* 
 * Internal Console Styles
 * 
 * Unified styling for the internal AI testing & evaluation console.
 * Provides consistent layout, navigation, and component styling.
 * Supports both light and dark themes using unified theme tokens.
 */

/* ==================== CSS Variables for Theming ==================== */

/* Internal Console specific tokens - mapped to unified theme tokens */
:root {
    --internal-bg: var(--bg);
    --internal-panel: var(--surface);
    --internal-text: var(--text);
    --internal-text-muted: var(--text-muted);
    --internal-primary: var(--accent);
    --internal-border: var(--border);
    --internal-hover-bg: var(--surface-hover);
    --internal-active-bg: var(--accent-soft);
    --internal-card-surface: var(--card-bg);
}

/* ==================== Layout ==================== */

.internal-console {
    display: flex;
    min-height: 100vh;
    background-color: var(--internal-bg);
    margin-top: 44px; /* Account for fixed app bar with theme toggle */
}

.internal-console-sidebar {
    width: 280px;
    background-color: var(--internal-panel);
    border-right: 1px solid var(--internal-border);
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 44px; /* Position below app bar */
    left: 0;
    bottom: 0;
    overflow-y: auto;
    z-index: 1000;
}

.internal-console-main {
    flex: 1;
    margin-left: 280px;
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 44px);
}

.internal-console-header {
    background-color: var(--internal-panel);
    border-bottom: 1px solid var(--internal-border);
    padding: 1.5rem 2rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.internal-console-breadcrumb {
    margin-bottom: 0.5rem;
}

.internal-console-title {
    margin-bottom: 0.5rem;
}

.internal-console-header-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.5rem;
}

.internal-console-content {
    flex: 1;
    padding: 2rem;
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
}

/* ==================== Navigation ==================== */

.internal-nav {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.internal-nav-brand {
    padding: 1.5rem 1rem;
    border-bottom: 1px solid var(--internal-border);
    color: var(--internal-primary);
}

.internal-nav-menu {
    flex: 1;
    padding: 1rem 0;
    overflow-y: auto;
}

.internal-nav-section {
    margin-bottom: 1.5rem;
}

.internal-nav-section-title {
    padding: 0.5rem 1rem;
    font-weight: 600;
    color: var(--internal-text-muted);
    letter-spacing: 0.5px;
}

.internal-nav-item {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    color: var(--internal-text);
    text-decoration: none;
    transition: all 0.2s ease;
    border-left: 3px solid transparent;
}

.internal-nav-item:hover {
    background-color: var(--internal-hover-bg);
    color: var(--internal-primary);
}

.internal-nav-item.active {
    background-color: var(--internal-active-bg);
    color: var(--internal-primary);
    border-left-color: var(--internal-primary);
    font-weight: 500;
}

.internal-nav-icon {
    margin-right: 0.75rem;
    font-size: 1.25rem;
}

.internal-nav-item-sub {
    padding-left: 2.5rem;
    font-size: 0.9rem;
}

.internal-nav-item-sub .internal-nav-icon {
    font-size: 1rem;
}

.internal-nav-footer {
    padding: 1rem;
    border-top: 1px solid var(--internal-border);
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ==================== Common Components ==================== */

.internal-loading {
    min-height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.internal-empty-state {
    min-height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* ==================== Card & Paper Consistency ==================== */

/* Apply internal theme to MudPaper elements inside the Internal Console layout */
.internal-console .mud-paper {
    background-color: var(--internal-panel);
    color: var(--internal-text);
    border-radius: var(--radius-card, 12px);
    box-shadow: var(--shadow-light);
}

/* Apply internal theme to MudTable components inside the Internal Console layout */
.internal-console .mud-table-root {
    background-color: var(--internal-panel);
    color: var(--internal-text);
}

/* Apply internal theme to MudCard components inside the Internal Console layout */
.internal-console .mud-card {
    background-color: var(--internal-panel);
    color: var(--internal-text);
}

.internal-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.internal-card-actions {
    display: flex;
    gap: 0.5rem;
    margin-top: 1rem;
}

/* ==================== Table Consistency ==================== */

.internal-table {
    width: 100%;
}

.internal-table thead th {
    font-weight: 600;
    color: var(--internal-text);
    background-color: var(--internal-hover-bg);
}

.internal-table tbody tr:hover {
    background-color: var(--internal-hover-bg);
}

/* ==================== Button Consistency ==================== */

/* MudBlazor handles button styling, these are fallbacks */
.internal-btn-primary {
    background-color: var(--internal-primary);
    color: var(--internal-panel);
}

.internal-btn-secondary {
    border: 1px solid var(--internal-border);
    color: var(--internal-text);
}

.internal-btn-secondary:hover {
    background-color: var(--internal-hover-bg);
}

/* ==================== Form Consistency ==================== */

.internal-form-section {
    margin-bottom: 2rem;
}

.internal-form-section-title {
    font-size: 1.1rem;
    font-weight: 500;
    margin-bottom: 1rem;
    color: var(--internal-text);
}

/* ==================== Responsive Design ==================== */

@media (max-width: 1200px) {
    .internal-console-sidebar {
        width: 240px;
    }
    
    .internal-console-main {
        margin-left: 240px;
    }
}

@media (max-width: 768px) {
    .internal-console-sidebar {
        transform: translateX(-100%);
        transition: transform 0.3s ease;
    }
    
    .internal-console-sidebar.open {
        transform: translateX(0);
    }
    
    .internal-console-main {
        margin-left: 0;
    }
    
    .internal-console-content {
        padding: 1rem;
    }
    
    .internal-console-header {
        padding: 1rem;
    }
}

/* ==================== Utility Classes ==================== */

.internal-spacing-sm {
    margin-bottom: 0.5rem;
}

.internal-spacing-md {
    margin-bottom: 1rem;
}

.internal-spacing-lg {
    margin-bottom: 2rem;
}

.internal-text-muted {
    color: var(--internal-text-muted);
}

.internal-text-primary {
    color: var(--internal-primary);
}

/* Success, error, warning colors use unified theme tokens */
.internal-text-success {
    color: var(--success);
}

.internal-text-error {
    color: var(--error);
}

.internal-text-warning {
    color: var(--warning);
}

/* Light mode overrides are handled by unified theme tokens */
