/* Global Consistent Styling (excluding index.jsp and navbar) */
:root {
    --primary-color: #4e54c8;
    --secondary-color: #8f94fb;
    --dark-color: #1a1a2e;
    --light-color: #f8f9fa;
}

/* Global font family for content only */
body:not(.index-page) {
    font-family: 'Poppins', system-ui, -apple-system, sans-serif !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 1.5;
    color: #333;
    background-color: var(--light-color);
}

/* Consistent H1 styling for all pages except index */
body:not(.index-page) h1 {
    font-weight: 600 !important;
    font-size: 1.75rem !important;
    margin-bottom: 1rem;
    background: linear-gradient(to right, var(--primary-color), var(--secondary-color));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    line-height: 1.3;
    font-family: 'Poppins', sans-serif !important;
}

/* Consistent heading styles for content only */
body:not(.index-page) h2 {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 500 !important;
    font-size: 1.25rem !important;
    line-height: 1.4;
    color: inherit;
}

body:not(.index-page) h3 {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 500 !important;
    font-size: 1.1rem !important;
    line-height: 1.4;
    color: inherit;
}

body:not(.index-page) h4, 
body:not(.index-page) h5, 
body:not(.index-page) h6 {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 500 !important;
    font-size: 1rem !important;
    line-height: 1.4;
    color: inherit;
}

/* Consistent paragraph and text styles for content only */
body:not(.index-page) p:not(.navbar *), 
body:not(.index-page) span:not(.navbar *), 
body:not(.index-page) div:not(.navbar *), 
body:not(.index-page) a:not(.navbar *), 
body:not(.index-page) li:not(.navbar *), 
body:not(.index-page) td, 
body:not(.index-page) th {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 1.5;
}

/* Consistent button styles for content only */
body:not(.index-page) .btn:not(.navbar *), 
body:not(.index-page) button:not(.navbar *) {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    border-radius: 6px;
    transition: all 0.3s ease;
}

/* Consistent form styles */
body:not(.index-page) .form-control, 
body:not(.index-page) .form-select, 
body:not(.index-page) input:not(.navbar *), 
body:not(.index-page) textarea, 
body:not(.index-page) label:not(.navbar *) {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    border-radius: 4px;
}

/* Consistent card styles */
body:not(.index-page) .card {
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    border: none;
    padding: 1rem !important;
    margin-bottom: 1rem;
}

body:not(.index-page) .card-title {
    font-weight: 500 !important;
    font-size: 1.1rem !important;
}

body:not(.index-page) .card-body {
    padding: 1rem !important;
}

body:not(.index-page) .card-header {
    padding: 0.75rem 1rem !important;
    font-size: 14px !important;
}

/* Table styles */
body:not(.index-page) table, 
body:not(.index-page) .table {
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
}

body:not(.index-page) .table th {
    font-weight: 500 !important;
    font-size: 13px !important;
}

body:not(.index-page) .table td {
    font-weight: 400 !important;
    font-size: 14px !important;
}

/* Badge and small text */
body:not(.index-page) .badge:not(.navbar *), 
body:not(.index-page) .small:not(.navbar *), 
body:not(.index-page) small:not(.navbar *) {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
    font-size: 12px !important;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
    body:not(.index-page) h1 {
        font-size: 1.5rem !important;
    }
    
    body:not(.index-page) {
        font-size: 13px !important;
    }
}

/* Dark mode support */
body:not(.index-page).dark-mode {
    background-color: var(--dark-color) !important;
    color: var(--light-color) !important;
}

body:not(.index-page).dark-mode h1 {
    background: linear-gradient(to right, var(--secondary-color), #a5b4fc);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

body:not(.index-page).dark-mode .card {
    background-color: #16213e;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}