.budget-summary-card {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 18px;
    box-shadow: var(--shadow);
    height: 100%;
}
.budget-summary-card h6 {
    color: #6c757d;
    font-size: 13px;
    margin-bottom: 7px;
}
.budget-summary-card h3 {
    font-size: 24px;
    font-weight: 700;
    margin: 0;
    color: var(--secondary);
}
.budget-card {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: var(--shadow);
    overflow: hidden;
}
.budget-card-header {
    padding: 12px 16px;
    border-bottom: 1px solid var(--border);
    font-weight: 600;
    color: var(--secondary);
}
.budget-card-body {
    padding: 16px;
}
.budget-positive {
    color: var(--primary);
}
.budget-negative {
    color: #dc3545;
}
.budget-form-card {
    background: #ffffff;
    padding: 20px;
    border-radius: 14px;
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
}
.budget-form-footer {
    margin-top: 18px;
    display: flex;
    gap: 8px;
}
.budget-table th {
    background: #f8f6f2;
    color: var(--secondary);
    font-weight: 600;
    white-space: nowrap;
    padding: 7px 9px;
    font-size: 13px;
}
.budget-table td {
    vertical-align: middle;
    padding: 7px 9px;
    font-size: 13px;
}
.budget-chart-container {
    position: relative;
    height: 280px;
}
.budget-status-badge {
    padding: 5px 9px;
    border-radius: 18px;
    font-size: 11px;
    font-weight: 600;
}
.budget-detail-number {
    font-size: 24px;
    font-weight: 700;
    color: var(--secondary);
}
.budget-filter-card {
    background: #ffffff;
    border-radius: 14px;
    padding: 15px;
    margin-bottom: 16px;
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
}
.budget-progress {
    height: 7px;
    border-radius: 10px;
    background: #e9ecef;
    overflow: hidden;
}
.budget-progress-bar {
    height: 100%;
    background: var(--primary);
}
.budget-progress-bar.over-budget {
    background: #dc3545;
}
@media (max-width: 768px) {
    .budget-summary-card,
    .budget-form-card {
        padding: 16px;
    }
    .budget-chart-container {
        height: 240px;
    }
    .budget-form-footer {
        flex-direction: column;
    }
    .budget-form-footer .btn {
        width: 100%;
    }
}