/**
 * Resets
 */
a { color: rgb(155, 170, 42); }

:root {
    --primary-color: #000;
    --max-color: rgb(155, 178, 42);
    --max-color-dark: rgb(133, 146, 34);
    --secondary-color: rgb(188,206,50);
    --accent-color: rgb(246, 248, 218);
    --success-color: #28a745;
    --warning-color: #d97706;   
    --danger-color: #dc3545;
    --light-gray: #f5f5f5;
    --dark-gray: #333333;
    --medium-gray: #666666;
    --border-color: #e1e8f0;

    --risk-low: #4CAF50;
    --risk-moderate: #2D5A27;
    --risk-medium: #FFA726;
    --risk-high: #FF5722;
    --risk-aggressive: #D32F2F;
    --risk-unacceptable: #7B1FA2;

    --score-excellent: #1B5E20;
    --score-good: #388E3C;
    --score-fair: #689F38;
    --score-poor: #FF8F00;
    --score-very-weak: #C62828;

    --bs-success-bg-subtle: rgb(212, 221, 142);
    --bs-success-border-subtle: rgb(188,206,50);

    --bs-primary-text-emphasis: #052c65;
    --bs-secondary-text-emphasis: #2b2f32;
    --bs-success-text-emphasis: #0a3622;
    --bs-info-text-emphasis: #055160;
    --bs-warning-text-emphasis: #664d03;
    --bs-danger-text-emphasis: #58151c;
    --bs-light-text-emphasis: #495057;
    --bs-dark-text-emphasis: #495057;
}

.alert-success a { color: #000; }
.alert-warning a { color: #000; }
.alert-info a { color: #000; }
.alert-secondary a { color: #000; }
.alert-danger a { color: var(--bs-danger-text-emphasis) !important; }


/**
 * Backgrounds
 */
.bg-white-gray { /*background-color:  rgb(243, 243, 243);*/ background-color: rgba(227, 232, 168, .35); }
.bg-max-green { background-color: rgb(227,232,168); }
.bg-max-green-dark { background-color: rgb(133,146,34); }
.bg-splash { background-image: url(../images/backgrounds/pexels-pixabay-373543.jpg); }
.bg-dark-85 { background-color: rgba(0, 0, 0, 0.85); }


/**
 * Buttons
 */
.btn-max {
  --bs-btn-color: #000;
  --bs-btn-bg: rgb(188,206,50);
  --bs-btn-border-color: rgb(188,206,50);
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: rgb(156, 172, 40);
  --bs-btn-hover-border-color: rgb(156, 172, 40);
  --bs-btn-focus-shadow-rgb: 211, 212, 213;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: rgb(133, 146, 34);
  --bs-btn-active-border-color: rgb(133, 146, 34);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #333;
  --bs-btn-disabled-bg: rgb(188,206,50);
  --bs-btn-disabled-border-color: rgb(204, 223, 64);
}

.btn-outline-max {
    --bs-btn-color: rgb(155, 170, 42);
    --bs-btn-border-color: rgb(188,206,50);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: rgb(188,206,50);
    --bs-btn-hover-border-color: rgb(188,206,50);
    --bs-btn-focus-shadow-rgb: 13, 110, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: rgb(188,206,50);
    --bs-btn-active-border-color: rgb(188,206,50);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: rgb(188,206,50);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: rgb(188,206,50);
    --bs-gradient: none;
}

.btn-link-max {
    --bs-btn-color: var(--max-color-dark);
    --bs-btn-hover-color: var(--max-color);
    --bs-btn-active-color: var(--max-color);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
}

.z-100 { z-index: 100; }
.z-200 { z-index: 200; }
.z-300 { z-index: 300; }
.z-400 { z-index: 400; }
.z-500 { z-index: 500; }
.z-600 { z-index: 600; }
.z-700 { z-index: 700; }
.z-800 { z-index: 800; }


.splash-screen { transition: opacity 500ms linear; }
.opacity-0 { opacity: 0; }
.opacity-100 { opacity: 1.0; }


/**
 * Header
 */

.header-non-logged::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    background-image: url(../images/backgrounds/pexels-pixabay-373543.jpg);
    opacity: 0.25;
    z-index: 1;
}

.header-non-logged { background-color: black; }
.header-non-logged .header-content {
    z-index: 2;
    position: relative;
    opacity: 1;
}

#menu-top .nav-link { font-size: .75rem; }
#menu-top .menu-top-icon { font-size: 1.5rem; }

#menu-top a { color: #adb5bd; text-decoration: none; }
#menu-top a.selected { color: white; }
#menu-top a:hover { color: white; }



#breadcrumb { font-size: .75rem; }

.active>.page-link, .page-link.active {
    z-index: 3;
    color: var(--bs-pagination-active-color);
    background-color: rgb(188,206,50);
    border-color: rgb(133, 146, 34);
}



/**
 * Fonts
 */

.fs-small, .text-small { font-size: .85rem !important; }

/**
 * Login styles
 */

.login-container { height: 100vh; }

.bg-image { background-size: cover; background-position: center; height: 100%; }
.form-container { display: flex; flex-direction: column; justify-content: center; height: 100%; }
.login-form { max-width: 400px; padding: 20px; }
.btn-primary { background-color: #0d6efd; border-color: #0d6efd; }
.form-control:focus { border-color: #0d6efd; box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); }

.fund-filter { text-decoration: none; padding: 5px 7px; }


/**
 * Others forms styles
 */

.central-form { max-width: 600px; padding: 20px; }
.central-form .logo { max-height: 60px; width: auto; }

.highlight-box {
    text-align: left;
    margin: 2rem auto;
    background-color: var(--accent-color);
    border-radius: 6px;
    border-left: 4px solid var(--secondary-color);
}

.highlight-box h3 { color: var(--primary-color); margin-bottom: 1rem; }
.highlight-box ol, .highlight-box ul { margin-left: 1.5rem; }
.highlight-box li { margin-bottom: 0.8rem; }

.verification-form { margin: 2rem auto; max-width: 400px; }
.code-input {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

.code-digit {
    width: 50px;
    height: 60px;
    border: 2px solid var(--border-color);
    border-radius: 4px;
    font-size: 1.5rem;
    text-align: center;
    margin: 0 4px;
}

/** Step Forms */
.step-content { display: none; }
.step-content.active { display: block; }
.progress-step {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: bold;
    margin: 0 10px;
}
.progress-step.completed { background-color: #28a745; }
.progress-step.active { background-color: var(--max-color); }
.progress-step.pending { background-color: #6c757d; }
.progress-line { height: 2px; background-color: #dee2e6; flex: 1; margin: 0 5px; }
.progress-line.completed { background-color: #28a745; }
.form-section { background-color: #f8f9fa; border-radius: 10px; padding: 2rem; margin-bottom: 1rem; }
.btn-navigation { min-width: 120px; }
.review-section { background-color: #e9ecef; border-left: 4px solid var(--max-color-dark); padding: 1rem; margin-bottom: 1rem; border-radius: 0 8px 8px 0; }
.fade-in { animation: fadeIn 0.5s ease-in; }
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/**
 * Portfolio styles
 */

.performance-badge {
    font-size: 0.875rem;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-weight: 600;
}

.positive { background-color: rgba(22, 163, 74, 0.1); color: var(--success-color); }
.negative { background-color: rgba(220, 38, 38, 0.1); color: var(--danger-color); }

.recommendation-card { border-left: 4px solid var(--max-color-dark); }

.risk-text-baixo { color: var(--risk-low); }
.risk-text-moderado { color: var(--risk-moderate); }
.risk-text-medio { color: var(--risk-medium); }
.risk-text-alto { color: var(--risk-high); }
.risk-text-agressivo { color: var(--risk-aggressive); }
.risk-text-inaceitavel { color: var(--risk-unacceptable); }

.score-text-excellent { color: var(--score-excellent); }
.score-text-good { color: var(--score-good); }
.score-text-fair { color: var(--score-fair); }
.score-text-poor { color: var(--score-poor); }
.score-text-very-weak { color: var(--score-very-weak); }

.risk-indicator {
    width: 100%;
    height: 8px;
    border-radius: 4px;
    overflow: hidden;
}

.risk-low { background-color: var(--success-color); }
.risk-medium { background-color: var(--warning-color); }
.risk-high { background-color: var(--danger-color); }

.metric-item { text-align: center; padding: 1rem; }
.metric-value { font-size: 1.75rem; font-weight: 700; margin-bottom: 0.5rem; }

.metric-label {
    color: #64748b;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.fund-logo {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--primary-color), #1d4ed8);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: bold;
    font-size: 1.2rem;
}


/**
 * Footer
 */
.footer-links { list-style: none; padding-left: 0; }
.footer-links a { color: #adb5bd; text-decoration: none; }
.footer-links a:hover { color: white; }