/* Cosmetic branding only: no extra content nodes, changes to cells or editor data. */
.sv-table-card {
    position: relative;
    isolation: isolate;
    border-color: var(--table-line);
    box-shadow: 0 5px 20px rgb(26 62 109 / 7%), 0 0 0 3px rgb(102 153 220 / 5%);
}
.sv-table-card::before,
.sv-table-card::after {
    position: sticky;
    left: 0;
    z-index: 1;
    display: block;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    color: var(--table-heading-ink, #164c92);
    text-align: center;
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
}
.sv-table-card::before {
    content: "◇  sesverin.com  ◇";
    padding: 14px 18px;
    border-bottom: 1px solid var(--table-line, #dde7f2);
    background: linear-gradient(105deg, var(--table-surface, #fff), var(--table-heading, #edf4ff), var(--table-surface, #fff));
    font: 700 18px/1.4 Georgia, "Times New Roman", serif;
    letter-spacing: 1px;
}
.sv-table-card::after {
    content: "✦  sesverin.com  ✦";
    padding: 10px 16px;
    border-top: 1px solid var(--table-line, #dde7f2);
    background: var(--table-surface, #fff);
    font: 600 10px/1.5 Inter, Arial, sans-serif;
    letter-spacing: 2px;
}
[data-theme="dark"] .sv-table-card,
body[data-sv-table-theme="dark"] .sv-table-card {
    box-shadow: 0 5px 20px rgb(0 0 0 / 12%), 0 0 0 3px rgb(112 168 240 / 4%);
}
@media (max-width: 600px) {
    .sv-table-card::before { padding: 12px 10px; font-size: 16px; letter-spacing: .6px; }
    .sv-table-card::after { padding: 9px 10px; font-size: 9px; letter-spacing: 1.4px; }
}
@media print { .sv-table-card { box-shadow: none; } }
