.st-theme-shadcn {
    table {
        border-collapse: collapse;
        width: 100%;
        font-size: 0.875rem;
    }

    thead {
        tr {
            border-bottom: 1px solid var(--color-border);
        }

        th {
            padding: 0.75rem 1rem;
            text-align: left;
            font-weight: 500;
            color: var(--color-muted-foreground);
            text-transform: none;
        }
    }

    tbody {
        tr {
            border-bottom: 1px solid var(--color-border);
            transition: background-color 0.2s ease-in-out;

            &:hover {
                background-color: var(--color-accent);
            }

            &:last-child {
                border-bottom: none;
            }
        }

        td {
            padding: 0.75rem 1rem;
            color: var(--color-foreground);
        }
    }

    tfoot {
        tr {
            border-top: 1px solid var(--color-border);
        }

        th {
            padding: 0.75rem 1rem;
            text-align: left;
            font-weight: 500;
            color: var(--color-muted-foreground);
        }
    }

    button {
        padding: 0.5rem 0.75rem;
        font-size: 0.875rem;
        font-weight: 500;
        cursor: pointer;
        border-radius: 0.25rem;
        transition: all 0.2s;

        &[data-variant="default"] {
            background-color: var(--color-foreground);
            color: var(--color-background);
            border: 1px solid var(--color-foreground);

            &:hover {
                opacity: 0.9;
            }
        }

        &[data-variant="outline"] {
            background-color: transparent;
            color: var(--color-foreground);
            border: 1px solid var(--color-border);

            &:hover {
                background-color: var(--color-accent);
            }
        }

        &[data-variant="ghost"] {
            background-color: transparent;
            color: var(--color-foreground);
            border: 1px solid transparent;

            &:hover {
                background-color: var(--color-accent);
            }
        }
    }
}