/* SmartLPA Corporate ReDoc Theme - Basado en el logo oficial */
:root {
    /* SmartLPA Brand Colors - Extraídos del logo */
    --smartlpa-blue-primary: #2E5984;
    --smartlpa-blue-light: #4A7BA7;
    --smartlpa-blue-dark: #1E3F5F;
    --smartlpa-blue-darker: #0F2332;
    --smartlpa-green-primary: #7CB342;
    --smartlpa-green-light: #9CCC65;
    --smartlpa-green-dark: #558B2F;

    /* Extended Palette */
    --smartlpa-blue-50: #F4F7FB;
    --smartlpa-blue-100: #E8F0F7;
    --smartlpa-blue-200: #D1E0EF;
    --smartlpa-blue-300: #A3C2DF;
    --smartlpa-blue-400: #75A3CF;
    --smartlpa-blue-500: #4A7BA7;
    --smartlpa-blue-600: #2E5984;
    --smartlpa-blue-700: #1E3F5F;
    --smartlpa-blue-800: #0F2332;
    --smartlpa-blue-900: #07111A;

    /* Neutral Colors */
    --neutral-50: #FAFBFC;
    --neutral-100: #F5F7FA;
    --neutral-200: #E4E7EB;
    --neutral-300: #CBD2D9;
    --neutral-400: #9AA5B1;
    --neutral-500: #7B8794;
    --neutral-600: #616E7C;
    --neutral-700: #52606D;
    --neutral-800: #3E4C59;
    --neutral-900: #323F4B;

    /* Semantic Colors */
    --success: var(--smartlpa-green-primary);
    --success-light: var(--smartlpa-green-light);
    --success-dark: var(--smartlpa-green-dark);
    --warning: #F39C12;
    --error: #E74C3C;
    --info: var(--smartlpa-blue-primary);

    /* Typography */
    --font-family-primary: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
    --font-family-code: 'Fira Code', 'Monaco', 'Cascadia Code', 'Roboto Mono', monospace;

    /* Shadows */
    --shadow-sm: 0 1px 2px 0 rgba(46, 89, 132, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(46, 89, 132, 0.1), 0 2px 4px -1px rgba(46, 89, 132, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(46, 89, 132, 0.1), 0 4px 6px -2px rgba(46, 89, 132, 0.05);
    --shadow-xl: 0 20px 25px -5px rgba(46, 89, 132, 0.1), 0 10px 10px -5px rgba(46, 89, 132, 0.04);

    /* Border Radius */
    --radius-sm: 0.25rem;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
}

/* Reset and Base Styles */


/* ReDoc Container */
.redoc-wrap {
    background: linear-gradient(135deg, var(--neutral-50) 0%, var(--smartlpa-blue-50) 100%) !important;
    font-family: var(--font-family-primary) !important;
}

/* Navigation Sidebar */
div[role="navigation"] {
    background: linear-gradient(180deg, var(--smartlpa-blue-600) 0%, var(--smartlpa-blue-700) 100%) !important;
    border-right: 1px solid var(--smartlpa-blue-500) !important;
    box-shadow: var(--shadow-lg) !important;
}

/* Menu Content */

/* API Info Header */
.api-info {
    background: linear-gradient(135deg, var(--smartlpa-blue-600) 0%, var(--smartlpa-blue-700) 50%, var(--smartlpa-blue-800) 100%) !important;
    color: white !important;
    padding: 3rem 2rem !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 0 !important;
}

.api-info::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 200px;
    height: 200px;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M20,20 L50,50 L80,20" stroke="%237CB342" stroke-width="4" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat;
    background-size: 80px 80px;
    opacity: 0.15;
    transform: rotate(15deg);
}

.api-info::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--smartlpa-green-primary) 0%, var(--smartlpa-green-light) 50%, var(--smartlpa-green-primary) 100%) !important;
}

.api-info h1 {
    font-family: var(--font-family-primary) !important;
    font-size: 3rem !important;
    font-weight: 800 !important;
    margin-bottom: 1rem !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
    position: relative !important;
    z-index: 1 !important;
    color: white !important;
    letter-spacing: -0.02em !important;
    line-height: 1.1 !important;
}

.api-info h1::after {
    display: block;
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--smartlpa-green-light);
    margin-top: 0.5rem;
    opacity: 0.9;
}

.api-info .api-info-description {
    font-size: 1.2rem !important;
    line-height: 1.7 !important;
    opacity: 0.95 !important;
    position: relative !important;
    z-index: 1 !important;
    color: rgba(255, 255, 255, 0.95) !important;
    max-width: 70ch !important;
    margin-top: 1.5rem !important;
}

/* API Version Badge */


/* API Info Links */

/* Menu Items */


/* Content Area */



/* Section Headers */
h2,
.section-header {
    color: var(--smartlpa-blue-700) !important;
    font-family: var(--font-family-primary) !important;
    font-weight: 700 !important;
    font-size: 1.75rem !important;
    margin: 2.5rem 0 1.5rem 0 !important;
    padding-bottom: 0.75rem !important;
    border-bottom: 3px solid var(--smartlpa-green-primary) !important;
    position: relative !important;
}

h2::after,
.section-header::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 60px;
    height: 3px;
    background: var(--smartlpa-blue-600) !important;
}

h3 {
    color: var(--smartlpa-blue-600) !important;
    font-family: var(--font-family-primary) !important;
    font-weight: 600 !important;
    font-size: 1.25rem !important;
    margin: 1.5rem 0 1rem 0 !important;
}

/* Override para títulos en contenedores oscuros */
.lbpUdJ h3,
.bOFhJE h3,
h3.jhTHfM {
    color: white !important;
}

.eVrqat {
    padding: 0 !important;
}