/* ============================================
   CENTRAL BANK MODELS PAGE STYLES
   Common styles for all central bank model pages
   ============================================ */

/* Model sections with colored border */
.model-section {
    border-left: 4px solid var(--bank-primary);
    padding-left: 1.5rem;
    margin: 2rem 0;
}

.model-section h3 {
    color: var(--bank-primary);
    margin-bottom: 1rem;
}

/* Variable tables in model pages */
.variable-table {
    font-size: 0.9rem;
    width: 100%;
}

.variable-table th {
    background: var(--bank-light);
    color: var(--bank-dark);
    font-weight: 600;
    padding: 0.75rem;
    text-align: left;
}

.variable-table td {
    padding: 0.75rem;
    border-bottom: 1px solid var(--border);
}

.variable-table tr:hover {
    background: var(--bank-light);
}

/* Equation displays */
.equation-box {
    background: #f8f9fa;
    border: 1px solid var(--border);
    border-left: 4px solid var(--bank-primary);
    padding: 1.5rem;
    margin: 1.5rem 0;
    border-radius: 0 8px 8px 0;
    overflow-x: auto;
}

.equation-box code {
    font-family: 'Courier New', monospace;
    font-size: 1rem;
}

/* Model documentation overview */
.model-doc-overview {
    background: linear-gradient(135deg, var(--bank-light) 0%, #f8f9fa 100%);
    border-left: 4px solid var(--bank-primary);
    padding: 1.5rem;
    border-radius: 0 8px 8px 0;
    margin-bottom: 1.5rem;
}

.model-doc-overview h5 {
    color: var(--bank-primary);
    margin-bottom: 0.75rem;
}

.model-doc-overview-icon {
    font-size: 2rem;
    color: var(--bank-primary);
    margin-right: 1rem;
}

/* Parameter cards */
.parameter-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 1.25rem;
    margin-bottom: 1rem;
    box-shadow: var(--shadow);
}

.parameter-card h6 {
    color: var(--bank-primary);
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.parameter-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--bank-accent);
    margin: 0.5rem 0;
}

/* Model comparison tables */
.model-comparison-table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
}

.model-comparison-table th {
    background: var(--bank-primary);
    color: white;
    padding: 1rem;
    text-align: left;
    font-weight: 600;
}

.model-comparison-table td {
    padding: 0.875rem;
    border-bottom: 1px solid var(--border);
    vertical-align: top;
}

.model-comparison-table tr:nth-child(even) {
    background: #f8f9fa;
}

.model-comparison-table tr:hover {
    background: var(--bank-light);
}

/* Model feature badges */
.model-feature-badge {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    background: var(--bank-primary);
    color: white;
    border-radius: 12px;
    font-size: 0.85rem;
    font-weight: 500;
    margin: 0.25rem;
}

.model-feature-badge.secondary {
    background: var(--bank-secondary);
}

/* Calibration details */
.calibration-box {
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-left: 4px solid var(--warning);
    padding: 1.25rem;
    border-radius: 0 8px 8px 0;
    margin: 1rem 0;
}

.calibration-box h6 {
    color: #92400e;
    font-weight: 600;
    margin-bottom: 0.75rem;
}

/* Model limitations/caveats */
.model-caveat {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-left: 4px solid var(--danger);
    padding: 1.25rem;
    border-radius: 0 8px 8px 0;
    margin: 1rem 0;
}

.model-caveat h6 {
    color: #991b1b;
    font-weight: 600;
    margin-bottom: 0.75rem;
}

/* Technical notes */
.technical-note {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-left: 4px solid var(--info);
    padding: 1.25rem;
    border-radius: 0 8px 8px 0;
    margin: 1rem 0;
    font-size: 0.9rem;
}

.technical-note h6 {
    color: #1e40af;
    font-weight: 600;
    margin-bottom: 0.75rem;
}

/* Model output displays */
.model-output {
    background: var(--white);
    border: 2px solid var(--bank-primary);
    border-radius: 8px;
    padding: 1.5rem;
    margin: 1.5rem 0;
}

.model-output-label {
    font-size: 0.9rem;
    color: var(--text-secondary);
    margin-bottom: 0.5rem;
}

.model-output-value {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--bank-primary);
    margin-bottom: 0.25rem;
}

.model-output-unit {
    font-size: 1rem;
    color: var(--text-secondary);
}
