
    .expense-types-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 20px;
        margin: 24px 0;
    }

    .expense-type-card {
        background: var(--color-card-background);
        border: 1px solid var(--color-border);
        border-radius: 12px;
        overflow: hidden;
        transition: box-shadow 0.2s, transform 0.2s;
        display: flex;
        flex-direction: column;
    }

    .expense-type-card:hover {
        box-shadow: var(--shadow-card-hover, 0 4px 12px rgba(0,0,0,0.1));
        transform: translateY(-2px);
    }

    .expense-type-icon {
        width: 100%;
        height: 100px;
        background: var(--color-background);
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 16px;
    }

    .expense-type-icon img {
        max-width: 60px;
        max-height: 60px;
        object-fit: contain;
    }

    .expense-type-info {
        padding: 16px;
    }

    .expense-type-code {
        display: inline-block;
        font-family: monospace;
        font-size: var(--font-size-xxs, 11px);
        font-weight: var(--font-weight-semibold, 600);
        color: var(--color-text-muted);
        background: var(--color-background);
        padding: 3px var(--spacing-sm);
        border-radius: 4px;
        margin-bottom: var(--spacing-sm);
    }

    .expense-type-name {
        font-size: var(--font-size-base, 16px);
        font-weight: var(--font-weight-semibold, 600);
        color: var(--color-secondary);
        margin: 0 0 var(--spacing-sm) 0;
    }

    .expense-type-description {
        font-size: var(--font-size-xs, 12px);
        color: var(--color-text-muted);
        margin: 0;
        line-height: 1.4;
    }

    .code-block {
        background: var(--color-background);
        border: 1px solid var(--color-border-light);
        border-radius: var(--border-radius-sm);
        padding: 16px;
        font-family: monospace;
        font-size: var(--font-size-xs, 12px);
        overflow-x: auto;
        white-space: pre;
        margin: 16px 0;
    }

    .empty-message {
        grid-column: 1 / -1;
        text-align: center;
        color: var(--color-text-muted);
        padding: 40px;
    }

    @media (max-width: 575px) {
        .expense-types-grid {
            grid-template-columns: repeat(2, 1fr);
            gap: 12px;
        }

        .expense-type-icon {
            height: 70px;
            padding: 12px;
        }

        .expense-type-icon img {
            max-width: 40px;
            max-height: 40px;
        }

        .expense-type-info {
            padding: 12px;
        }

        .expense-type-name {
            font-size: var(--font-size-sm, 14px);
        }

        .expense-type-description {
            font-size: var(--font-size-xs, 12px);
        }
    }

    .expense-scheme-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 16px;
        margin: 20px 0;
    }
    .expense-scheme-card {
        padding: 20px;
        border-radius: 10px;
        border: 1px solid var(--color-border);
    }
    .expense-scheme-card h3 { margin: 0 0 10px 0; font-size: var(--font-size-base, 16px); }
    .expense-scheme-card p { margin: 0; font-size: var(--font-size-xs, 12px); line-height: 1.6; color: var(--color-text-muted); }
    .scheme-recurring {
        background: linear-gradient(135deg, var(--color-info-bg, var(--color-info-bg, #eef5ff)) 0%, var(--color-card-background) 100%);
        border-color: var(--color-info, var(--color-input-focus, #3498db));
    }
    .scheme-recurring h3 { color: var(--color-info, var(--color-input-focus, #3498db)); }
    .scheme-onetime {
        background: linear-gradient(135deg, var(--color-warning-bg, var(--color-warning-bg, #fff3e8)) 0%, var(--color-card-background) 100%);
        border-color: var(--color-warning, var(--color-warning, #F97316));
    }
    .scheme-onetime h3 { color: var(--color-warning, var(--color-warning, #F97316)); }
    .consumption-list {
        margin: 12px 0 0 0;
        padding-left: 20px;
    }
    .consumption-list li {
        margin-bottom: var(--spacing-sm);
        font-size: var(--font-size-xs, 12px);
        line-height: 1.5;
        color: var(--color-text-muted);
    }
    .consumption-list li strong { color: var(--color-text); }

    .related-links { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; margin: 16px 0; }
    .related-link { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border: 1px solid var(--color-border); border-radius: var(--border-radius-sm); text-decoration: none; color: var(--color-secondary); font-size: var(--font-size-sm, 14px); font-weight: var(--font-weight-medium, 500); transition: border-color 0.2s, box-shadow 0.2s; }
    .related-link:hover { border-color: var(--color-primary); box-shadow: var(--shadow-card, 0 2px 8px rgba(0,0,0,0.07)); text-decoration: none; color: var(--color-primary); }
    .related-icon { font-size: var(--font-size-xl, 20px); flex-shrink: 0; }
