/* ========================================================================
   Variables
   ======================================================================== */

 :root {

    /* ===============================
        Text
        ============================== */
    
        /* Font Family */
        --font-family-main: "EkMukta-Light", Helvetica, sans-serif;
    
        /* Paragraph Size */
        --font-size-p: 20px;

    
    /* ===============================
        Colors
        ============================== */
    
        /* Brand Colors */
        --color-brand-orange: #FFA500;
        --color-brand-orange-light: #FFC04D;
        --color-brand-green: #8BB42D;
        --color-brand-green-light: #A2C359;
        --color-brand-blue: #0273BE;
        --color-brand-blue: #4E9DD2;
        --color-brand-fuscia: #E90555;
        --color-dark-gray: #333;
        --color-light-gray: ##DEDEDE;
        --color-app-bg: #F8F9FA;
    
        /* Heading Colors */
        --color-h2: #0273BE;
        --color-h3: #FFC04D;
        --color-h4: #8BB42D;


    /* ===============================
        Links
        ============================== */

        --link-color: #FFA500;
        --link-hover: #0273BE;
        --link-visited: #4E9DD2;
    }


/* ========================================================================
   Annielytcs Header Styles
   ======================================================================== */

/* ===============================
   All Pages
  ============================== */

.header-container {
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   padding: 5px;
   margin-bottom: 30px;
}

.header-title {
   margin: 0;
   font-size: 4em;
}

.site-header {
   background-color: #000;
   width: 100%;
   z-index: 999;
}

.title-area {
   float: none;
   width: auto;
   padding: 25px 0;
}

.header-logo {
   margin: 0 !important;
   width: 100% !important; 
   max-width: 250px !important;
   height: auto !important;
}


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

/* Fix navigation alignment */
.nav-primary {
    position: relative;
}

/* Primary navigation menu */
.nav-primary .menu {
   position: relative;
   display: flex;
   gap: 30px;
   justify-content: flex-end;
   list-style: none;
   padding: 0;
   margin: 0;
   line-height: 1;
   float: right;
}

/* Menu item container */
.nav-primary .menu li {
   position: relative;
   margin: 0;
}

/* Menu link styling */
.nav-primary .menu a {
   color: white;
   text-decoration: none;
   font-size: 15px;
   text-transform: uppercase;
   letter-spacing: 0.5px;
   font-weight: 200;
   padding: 5px 0;
   transition: color 0.3s ease;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   border-bottom: 2px solid transparent;      
}

/* Menu link hover state */
.nav-primary .menu a:hover {
   color: #0273be;
   text-decoration: underline;
}

/* Hamburger menu toggle button */
.menu-toggle {
   background: #000;
   color: #fff;
   border: none;
   text-align: center;
   cursor: pointer;
   padding: 10px;
   text-transform: uppercase;
   display: none;
   font-size: 14px !important;
   font-weight: 600 !important;
   letter-spacing: 2px !important;
   position: relative;
   z-index: 1001;                       /* Higher than the menu */
}

.menu-toggle::before {
   content: "☰";
   margin-right: 10px;
}

/* Remove outline and border when clicked */
.menu-toggle:focus,
.menu-toggle:active,
.menu-toggle.activated {
   outline: none !important;
   border: none !important;
   box-shadow: none !important;
}


/* ======================================================================
   Containers
   ======================================================================= */

.dashboard-container {
    background: #f8f8f847;
    border: 1px solid #f3f3f3;
    border-radius: 20px;
    box-shadow: 1px 1px 6px 0px rgba(0, 0, 0, 0.2);
    padding: 30px;
    /* width: 100%; */
    width: calc(100% - 40px); 
    max-width: 1400px;
    margin: 30px auto;
}

.chart-container {
    background: white;
    border: solid 1px #DEDEDE;
    border-radius: 8px;
    /* padding: 10px; */
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    min-height: 350px;
    overflow: hidden;                   /* Prevent overflow */
    position: relative;
}

.chart-container > div {
    width: 100% !important;             /* Contain the Plotly chart within bounds */
    height: 100% !important;
    max-width: 100%;
    position: relative;
}


/* ======================================================================
   Global Styles
   ======================================================================= */

/* ================================================
    General
   ================================================ */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-family-main);
    background-color: white;
    min-height: 100vh;
    display: block;
    justify-content: center;
    align-items: center;
}

p {
    font-size: 20px;
    line-height: 30px;
    margin: 10px 0 30px 15px;
    margin-top: 0px;
}

h1 {
    color: var(--color-dark-gray);
    font-size: 1.8rem;
    font-weight: 400;
    /* margin-bottom: 10px; */
}

h2 {
    color: var(--color-brand-green);
    font-size: 1.5rem;
    font-weight: 300;
    margin: 40px 0 0 15px;
}

/* Lists in entry content */
.entry-content ul {
    padding: 0;
    margin-left: 60px;
    margin-top: -15px;
}

/* List items in entry content */
.entry-content li {
    margin-bottom: 0.5em;
    line-height: 1.6;
    font-size: 18px;
}


/* ================================================
   Header
   ================================================ */

/* Fix header height issue */
.header {
    height: auto !important;            /* Override any hardcoded height */
    min-height: auto !important;        /* Remove any min-height constraints */
    margin-left: 15px;
}

/* Header navigation layout */
.header-nav {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.header-nav h1 {
    margin: 0;
}

.header-nav h2 {
    margin: 0 0 0 15px;                 /* Remove default margins to line up the link on the model perf page*/
    line-height: 1;                     /* Tighten line height for better alignment with link */
}


/* ================================================
    Model Performance Page Link
   ================================================ */

/* I need these custom styles for the MP page because I moved the link to the main dashboard to line up with the h2 */

.header-nav .link {
    line-height: 1;                     /* Match the h2 line height */
    align-self: flex-end;               /* Ensure it aligns to bottom */
    padding-bottom: 0;                  /* Remove any bottom padding */
    margin-bottom: 0;                   /* Remove any bottom margin */
}

/* Ensure the container properly aligns items */
.header-nav {
    display: flex;
    justify-content: space-between;
    align-items: baseline;              /* Changed from flex-end to baseline */
    margin-bottom: 20px;
}

.header p {
    color: #666;
    font-size: 16px;
}


/* ================================================
    Index Page Link
   ================================================ */

p a {
    font-size: 16px;
    font-weight: 200px;
    color: var(--link-color);
    text-decoration: none;
    transition: color 0.3s ease, transform 0.2s ease;
    white-space: nowrap;
    margin-right: 15px;
}

p a:hover {
    color: var(--color-brand-blue);
    text-decoration: underline;
}


/* ========================================================================
   Footer Styles 
   ======================================================================== */

.footer {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 40px;
}

.footer::before {
    content: '';
    position: absolute;
    margin: 2rem 0 2rem 0;
    top: 0;
    width: 225px;  
    height: 1px;
    background-color: #dee2e6;
}

.footer-nav {
    display: flex;
    justify-content: space-evenly;
    max-width: 800px;
    margin-top: 60px;
}

.footer-link {
    color: #666;
    font-size: 20px;
    text-decoration: none;
    padding: 0.5rem 1rem;
    transition: color 0.5s ease, transform 0.5s ease;
}

.footer-link:hover {
    color: #0273be;
    text-decoration: underline;
}


/* ======================================================================
   Charts
   ======================================================================= */

/* ================================================
    Index Page 
   ================================================ */

#plotly-div {
    width: 100%;
    height: 800px;
    background: white;
}

.charts-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;
    margin: 20px 0;
}

/* Target Plotly's main SVG container to prevent overflow */
.chart-container .main-svg {
    overflow: visible !important;
}

/* Ensure the plotly div itself doesn't overflow */
.chart-container .js-plotly-plot {
    max-width: 100%;
    overflow: hidden;
}

/* Force Plotly elements to fill container */
.chart-container .js-plotly-plot,
.chart-container .plot-container,
.chart-container .svg-container,
.chart-container .plotly {
    width: 100% !important;
}

/* Target Plotly's generated divs */
.chart-container div[class*="plotly"] {
    width: 100% !important;
}

/* Override SVG width attribute */
.chart-container svg.main-svg {
    width: 100% !important;
}

/* Override Plotly's inline styles */
.chart-container .user-select-none.svg-container {
    width: 100% !important;
}

/* ================================================
    Model Performance Page 
   ================================================ */


/* Model performance page specific styles */
.model-charts-grid {
    display: flex;
    flex-direction: column;
    overflow-x: auto;
    gap: 2rem;
    padding: 1rem;
}

.model-chart-row {
    display: flex;
    gap: 2rem;
    justify-content: center;
}

.model-chart-row .chart-container {
    flex: 1;
    min-height: 600px;
    min-width: 600px;
}

.chart-full-width {
    margin: 0 auto;
}

/* ==============================
    Exec Summary Cards
   ============================== */

/* Executive Summary Section */
.executive-summary {
    background: white;
    padding: 10px;
    margin: 15px;
    border-radius: 8px;
    border: solid 1px #DEDEDE;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}


/* Experiment */

.metrics-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);  /* 3 columns */
    max-width: 1400px;
    margin: 1.5rem;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-around;
}

.metric-card {
    width: 100%;                            /* Full width of grid cell */
    min-width: 180px;
    background: white;
    border-radius: 8px;
    padding: 1.5rem 2rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    border: solid 0.05px #DEDEDE;
}

.metric-value {
    text-align: center;
    display: block;
    font-size: 2.7rem;
    font-weight: 400;
    color: #1a73e8;
}

.metric-label {
    /* display: block; */
    font-size: 0.8rem;
    color: #666;
    margin-bottom: 0.5rem;
}

/* Adjust metric card layout for labels with icons */
.metric-card .metric-label {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ======================================================================
    Export 
   ======================================================================= */

.download-section {
    text-align: center;
    margin: 30px 0;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 8px;
}



/* ======================================================================
    Model Training
   ======================================================================= */

/* ================================================
    Section
   ================================================ */

/* Model training section styles */
.model-training-section {
    max-width: 100%;
    margin: 40px;
    display: flex;                      /* Creates a flex container */
    flex-direction: column;             /* To stack elements vertically */
    justify-content: center;            /* Centers items along the main axis (horizontal by default) */
    align-items: center;                /* Centers items along the cross axis (vertical by default) */
}


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

.train-button {
    background: var(--color-brand-orange);
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 4px;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color 0.3s ease !important;
    box-shadow: 2px 2px 2px rgb(0, 0, 0, 0.3) !important;
}

.train-button:hover {
    background-color: var(--color-brand-blue) !important;
    border: none;
    text-decoration: underline;
}

.train-button:focus {
    outline: none !important;
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3) !important; 
}

.train-button:hover:not(:disabled) {
    background: #1557b0;
}

.train-button:disabled {
    background: #ccc;
    cursor: not-allowed;
}


/* ================================================
    Model Training Status
   ================================================ */

#model-status {
    font-weight: 300;
    margin: 1rem 0;
}

/* Model status styling */
.model-status-warning {
    color: var(--color-brand-orange);   /* Annielytics orange #FFA500 */
}

/* You could also add other status states */
.model-status-success {
    color: var(--color-brand-green);    /* Annielytics green #8BB42D */
}

.model-status-error {
    color: var(--color-brand-fuscia);   /* Annielytics fuchsia #E90555 */
}

/* Training message styles - ensure it appears below button, not as tooltip */
.training-message {
    margin-top: 1rem;
}

.training-message a {
    color: var(--link-color);
    text-decoration: none;
    transition: color 0.3s ease, transform 0.2s ease;
}

.training-message a:hover {
    color: var(--link-hover);
    text-decoration: underline;
}

/* Hide any tooltip-style elements */
.model-training-section .tooltip,
.model-training-section [role="tooltip"] {
    display: none !important;
}

/* Training message state colors */
.training-message.training-in-progress {
    color: #0273BE !important;          /* Add !important temporarily to test */
}

.training-message.training-success {
    color: #8BB42D !important;
}

.training-message.training-error {
    color: #E90555 !important;
}

/* ================================================
    Spinner
   ================================================ */

.spinner {
    width: 16px;
    height: 16px;
    border: 2px solid #ffffff;
    border-top: 2px solid transparent;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.hidden {
    display: none !important;
}


/* ======================================================================
    Info Icons
   ======================================================================= */

/* Info Icon Styles */
.info-icon {
    cursor: help !important;
    position: relative;
    display: inline-block;
    vertical-align: super;
    font-size: 0.7rem;
    font-family: 'Ek Mukta', sans-serif;
    font-weight: 200;
    color: #8BB42D;
    padding: 0 4px 10px 3px;
    margin-left: 3px !important;
    border-radius: 50%;
}

.info-icon:hover {
    color: #0273BE;
}

/* Fix tooltip positioning to prevent cutoff */
.info-icon[data-tooltip]:before {
    /* Positioning */
    left: var(--tooltip-left, 50%);
    right: var(--tooltip-right, auto);
    transform: var(--tooltip-transform, translateX(-50%) translateY(-10px));

    content: attr(data-tooltip);
    white-space: pre-wrap;
    position: absolute;
    bottom: 100%;                           /* Position above the icon instead of to the side */
    background: rgba(255, 165, 0, 0.95);
    color: #444;
    padding: 10px 14px;
    border-radius: 10px;
    width: 320px;                           /* Fixed width for consistency */
    font-size: 14px;
    font-weight: normal;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s;
    z-index: 9999;
    line-height: 1.4;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}

.info-icon[data-tooltip]:hover:before {
    opacity: 1;
    visibility: visible;
}


/* ========================================================================
   Model Information Page Styles
   ======================================================================== */

/* Hero section */
.model-hero-section {
    text-align: center;
    margin-bottom: 3em;
    padding: 2em 0;
    background: linear-gradient(135deg, rgba(255,165,0,0.05) 0%, rgba(2,115,190,0.05) 100%);
    border-radius: 10px;
}

.model-subtitle {
    font-size: 1.2em;
    color: #666;
    margin-top: 0.5em;
}

/* Model metrics grid */
.model-metrics-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1.5em;
    margin: 1em 15px 3em;
}

.model-metric-card {
    background: white;
    padding: 1.5em;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    border: 1px solid #DEDEDE;
    text-align: center;
}

.model-metric-card h5 {
    color: #666;
    font-size: 0.9em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0.8em;
    font-weight: 400;
}

.model-metric-card .metric-value {
    font-size: 2em;
    color: #0273BE;
    font-weight: 300;
}

/* Feature categories */
.feature-categories {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5em;
    margin: 15px;
}

.feature-card {
    background: #f8f9fa;
    padding: 1.5em;
    border-radius: 8px;
    border-left: 4px solid #FFA500;
    border-top: solid 0.5px #DEDEDE;
    border-right: solid 0.5px #DEDEDE;
    border-bottom: solid 0.5px #DEDEDE;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.feature-card h4 {
    color: #0273BE;
    margin-bottom: 1em;
    font-size: 1.2em;
}

.feature-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.feature-card li {
    margin-bottom: 0.8em;
    line-height: 1.6;
}

/* Performance CTA section */
.performance-cta {
    background: linear-gradient(135deg, rgba(139,180,45,0.1) 0%, rgba(255,165,0,0.1) 100%);
    padding: 2em;
    border-radius: 10px;
    text-align: center;
    margin: 3em 0;
}

.performance-cta h3 {
    color: #0273BE;
    margin-bottom: 0.5em;
}

.performance-cta p {
    margin-bottom: 1.5em;
}

/* Technical details section */
.technical-section {
    margin: 3em 0;
    border: 1px solid #DEDEDE;
    border-radius: 8px;
    background: #f5f5f5;
}

.technical-section summary {
    padding: 1em 1.5em;
    cursor: pointer;
    font-weight: 400;
    color: #666;
    font-size: 1.1em;
}

.technical-section summary:hover {
    background: #ebebeb;
}

.technical-section[open] summary {
    border-bottom: 1px solid #DEDEDE;
}

.technical-content {
    padding: 1.5em;
    background: white;
}

.technical-content h4 {
    color: #666;
    margin-bottom: 1em;
    font-size: 1em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* JSON display */
.json-display {
    background: #f5f5f5;
    border: 1px solid #DEDEDE;
    border-radius: 6px;
    padding: 1em;
    overflow-x: auto;
    font-family: 'Courier New', monospace;
    font-size: 0.9em;
    line-height: 1.5;
    white-space: pre;
    margin: 0 0 1.5em 0;
}

/* Model navigation */
.model-navigation {
    text-align: center;
    margin-top: 3em;
    padding-top: 2em;
    border-top: 1px solid #DEDEDE;
}


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

/* ===============================
   A: Large Devices (>1024px) 
  ============================== */

@media only screen and (min-width: 1024px) {

   /* REUSABLE */

   .site-header {
       padding: 0 15px;
       height: 76px;
       display: flex;                     /* Use flexbox */
       justify-content: center;           /* Center horizontally */
   }
  
   .site-header .wrap-fluid {
       padding: 0 60px;
       max-width: 100%;
       height: 76px;
       display: flex;
       justify-content: space-between;
       align-items: center;
   }
  
   .site-header .wrap {
       height: 76px;
       display: flex;
       justify-content: space-between;
       align-items: center;
       width: 1400px;
       max-width: 1400px;
   }
  
   .site-header .title-area {
       width: auto;
       padding: 8px 0;
       margin-left: 0;
   }
  
   .site-header .header-logo {
       height: 60px;
   }
  
   .site-header .nav-primary .menu {
       height: 76px;
       align-items: center;
       margin-right: 0;
   }

   .main-content .wrap {
       max-width: 1400px;
       margin: 0 auto;
       /* padding: 0 20px; */
   }
  
   .menu-toggle {
       display: none;
   }
  
   #watermark-overlay {
       display: block;
   }

}

/* ================================================
   XGB: Breakpoint: 1400px - Keep charts min width 600px
   ================================================ */
@media only screen and (max-width: 1400px) {

    /* Charts */

    .charts-grid {
        grid-template-columns: 1fr;             /* Single column */
        overflow-x: auto;                       /* Allow horizontal scroll for wide charts */
    }
    
    /* Model performance charts in single column */
    .model-chart-row {
        flex-direction: column;
    }
    
    .model-chart-row .chart-container {
        width: 100%;
        /* min-width: 800px; */
        margin-bottom: 20px;
    }
    
    /* Center the dashboard container */
    .dashboard-container {
        padding: 20px;
        margin: 20px auto;
    }
}

/* ================================================
   XGB: Breakpoint: 1300px - Break model info cards into 3 cols 
   ================================================ */

@media only screen and (max-width: 1330px) {
    .model-metrics-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ================================================
   XGB: Breakpoint: 1280px - Break into 1 column 
   ================================================ */
@media only screen and (max-width: 1280px) {

    .charts-grid {
        grid-template-columns: 1fr;             /* Single column */
        overflow-x: auto;                       /* Allow horizontal scroll for wide charts */
    }
    
    /* Model performance charts in single column */
    .model-chart-row {
        flex-direction: column;
    }
    
    .model-chart-row .chart-container {
        width: 100%;
        /* min-width: 800px; */
        margin-bottom: 20px;
    }
    
    /* Center the dashboard container */
    .dashboard-container {
        padding: 20px;
        margin: 20px auto;
    }
}

/* ===============================
   XGB: 1100px - break model info features into 1 col
  ============================== */

@media only screen and (max-width: 1100px) {
    .feature-categories {
        grid-template-columns: 1fr;
    }
}

/* ===============================
   A: 801-1023px
  ============================== */

@media only screen and (max-width: 1023px) and (min-width: 801px) {

   /* REUSABLE */

   .container-fluid {
       padding: 40px;
   }

   /* h2 {
       font-size: 36px;
   }

   h3 {
       font-size: 30px;
   } */

   .site-header .wrap,
   .site-header .wrap-fluid {
       display: block;
   }

   .site-header {
        padding-bottom: 15px;
   }

   .menu-toggle {
       display: none !important;
   }
  
   .title-area {
       width: 100%;
       text-align: center;
       float: none;
       padding: 15px 0;
   }
  
   .header-logo {
       margin: 0 auto;
   }
  
   .nav-primary {
       width: 100%;
       display: block;
   }
  
   .nav-primary .menu {
       float: none;
       justify-content: center;
       margin: 0 auto;
   }

   .nav-primary .menu a {
       font-size: 16px;
   }

   .watermark {
       height: 25px;
       position: absolute;
       bottom: 0;         
       left: 0;
       margin: 1.3em 1em;         
   }

}

/* ================================================
   XGB: Breakpoint: 1000 Executive Summary 2 columns
   ================================================ */

@media only screen and (max-width: 1000px) {
    .metrics-summary {
        grid-template-columns: repeat(2, 1fr);      /* 2 columns */
    }
    
    /* Ensure chart containers can scroll horizontally */
    .chart-container {
        overflow-x: auto;
    }

    .metric-value {
        font-size: 2rem;
    }
}

/* ===============================
   XGB & A: Small Devices (<800px)
  ============================== */

@media only screen and (max-width: 800px) {

    /* XGB */

   /* Hide dashboard navigation links */
    .header-nav > p,
    .header-nav > a,
    .header-nav .link {
        display: none !important;
    }
    
    /* Adjust header for single element */
    .header-nav {
        justify-content: left;
    }

    .model-chart-row .chart-container {
        overflow: scroll;
    }

    .footer::before {
        margin: 0;
    }

    .footer {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: 20px 20px;
    }

    .footer-nav {
        display: grid;
        grid-template-columns: 1fr 1fr;             /* Create 1 column */
        gap: 15px;                                  /* Even spacing between items */
        width: 100%;
        justify-items: center;                      /* Center items horizontally */
        align-items: center;                        /* Center items vertically */
        margin-top: 30px;
    }

    /* Card-like footer links for small screens */
    .footer-link {
        display: block;
        width: 220px;
        padding: 12px 10px;
        background-color: rgba(248, 249, 250, 0.9);
        border-radius: 6px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        transition: box-shadow 0.3s, transform 0.3s, color 0.3s;
        text-align: center;
        margin: 6px;
        font-size: 16px;
        color: #666;
    }

    .footer-link:hover {
        box-shadow: 0 4px 8px rgba(0,0,0,0.15);
        transform: translateY(-3px);
        color: white;
        background-color: var(--color-brand-orange);
        text-decoration: none;
    }

    .model-metrics-grid {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: 1em;
    }
    
    .feature-categories {
        grid-template-columns: 1fr;
    }
    
    .model-metric-card {
        padding: 1em;
    }
    
    .model-metric-card .metric-value {
        font-size: 1.5em;
    }
   
    /* Annielytics */

   .container-fluid {
       padding: 20px;
   }
  
   .header-logo {
       margin: 0 auto;
   }
  
   /* Center the logo */
   .title-area {
       width: 100%;
       text-align: center;
       float: none;
       padding: 15px 0;
   }

   /* Hamburger menu styles */

   /* Position nav-primary properly */
   .nav-primary {
       position: absolute;
       left: 0;
       right: 0;
       width: 100%;
   }
  
   /* Hide regular menu and show menu toggle */
   .nav-primary .menu {
       display: none;
       width: 100%;
       padding: 0;
       margin: 0;
   }
  
   /* Style menu */
   .nav-primary .menu.visible,
   .nav-primary.genesis-responsive-menu .menu {
       display: flex;
       flex-direction: column;
       padding: 40px 20px;
       background-color: black;
       position: absolute;
       left: 0;
       right: 0;
       width: 100%;
       box-sizing: border-box;
       letter-spacing: 0.5px;
       z-index: 1000;
   }

   .nav-primary .menu li {
       margin-bottom: -40px;
       text-align: center;
   }
  
   .nav-primary .menu a {
       color: white;
       padding: 15px;
       display: block;
       text-align: left;
   }
  
   /* Show menu toggle button */
   .menu-toggle {
       display: block;
       width: 100%;
       margin-bottom: 0;
   }

   .nav-primary {
       width: 100%;
       padding: 0;
       margin-top: 10px !important;
   }

   /* Mode info metrics grid breaks into 2 col */
    .model-metrics-grid {
        grid-template-columns: repeat(2, 1fr);

    }

    .model-metrics-grid .metric-value {
        font-size: 1.9em;
    }
}


/* ================================================
   XGB: Breakpoint 630px 
   ================================================ */

/* Increased this from 600px because the CV score was breaking into 2 rows */
   
@media only screen and (max-width: 630px) {
     /* Adjust container padding for mobile */
    .dashboard-container {
        padding: 15px;
        margin: 10px;
        border-radius: 15px;
    }

    .metrics-summary {
        grid-template-columns: 1fr !important;                 /* Single column */
    }
    
    .metric-card {
        width: 100%;
        margin: 0 auto;
    }
    
    /* Footer in single column */
    .footer {
        grid-template-columns: 1fr;
    }

    .footer-nav {
        grid-template-columns: 1fr;
    }

    .footer-link {
        width: 100%;
    }

     .model-metrics-grid {
        grid-template-columns: 1fr 1fr;
    }
    
    .performance-cta {
        padding: 1.5em 1em;
    }
}