.fio-ui-card {
    background: var(--card-bg, var(--color-surface));
    border: 1px solid var(--card-border, var(--color-border));
    border-radius: var(--radius-lg);
    color: var(--color-text);
    overflow: hidden;
}

.fio-ui-card--shadow {
    box-shadow: var(--shadow-soft);
}

.fio-ui-card--muted {
    background: var(--color-surface-muted);
}

.fio-ui-card--success {
    border-color: color-mix(in srgb, var(--color-success) 36%, var(--color-border));
}

.fio-ui-card--warning {
    border-color: color-mix(in srgb, var(--color-warning) 42%, var(--color-border));
}

.fio-ui-card--danger {
    border-color: color-mix(in srgb, var(--color-danger) 38%, var(--color-border));
}

.fio-ui-card__header,
.fio-ui-card__footer {
    padding: 16px var(--card-padding);
    background: var(--color-surface-muted);
}

.fio-ui-card__header {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    justify-content: space-between;
    border-bottom: 1px solid var(--color-border);
}

.fio-ui-card__footer {
    border-top: 1px solid var(--color-border);
}

.fio-ui-card__heading {
    min-width: 0;
}

.fio-ui-card__title {
    margin: 0;
    font-size: 20px;
    line-height: 1.25;
}

.fio-ui-card__subtitle {
    margin: 6px 0 0;
    color: var(--color-text-muted);
}

.fio-ui-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.fio-ui-card__body {
    padding: var(--card-padding);
    overflow-x: auto;
}

.fio-ui-card--compact .fio-ui-card__header,
.fio-ui-card--compact .fio-ui-card__footer,
.fio-ui-card--compact .fio-ui-card__body {
    padding: 14px;
}

.fio-ui-card--unpadded .fio-ui-card__body {
    padding: 0;
}

@media (max-width: 640px) {
    .fio-ui-card__header {
        display: block;
    }

    .fio-ui-card__actions {
        justify-content: flex-start;
        margin-top: 12px;
    }
}
