:root {
    color-scheme: light;
    --tfk-admin-accent: #966e69;
    --tfk-admin-sidebar: #ebe5e2;
    --tfk-admin-surface: #f5f3f1;
    --tfk-admin-ink: #231f1e;
    --tfk-admin-muted: #756d6a;
    --tfk-admin-line: rgb(35 31 30 / 9%);
    --tfk-admin-accent-soft: #f4ecea;
    --tfk-admin-surface-raised: #fff;
    --tfk-admin-surface-subtle: #f8f5f3;
    --tfk-admin-surface-inset: #f3efec;
    --tfk-admin-line-strong: #ded6d2;
}

#fi-main-content:focus {
    outline: none;
}

.fi-body {
    background: var(--tfk-admin-surface);
}

.fi-body a[href] {
    cursor: pointer;
}

.fi-sidebar,
.fi-sidebar-header {
    background: var(--tfk-admin-sidebar);
    border-color: transparent;
}

.fi-sidebar {
    border-right: 1px solid rgb(35 31 30 / 8%);
    box-shadow: 0 0 2rem rgb(35 31 30 / 5%);
}

.fi-sidebar-nav {
    display: flex;
    flex-direction: column;
    padding-inline: 1rem;
}

.fi-sidebar-item-btn {
    border-radius: 0.75rem;
    color: #504543;
}

.fi-sidebar-item-label,
.fi-sidebar-item-icon {
    color: #504543;
}

.fi-sidebar-item-btn:hover {
    background: rgb(150 110 105 / 10%);
    color: #332a28;
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    background: var(--tfk-admin-accent);
    color: white;
}

.fi-sidebar-item-btn:hover .fi-sidebar-item-label,
.fi-sidebar-item-btn:hover .fi-sidebar-item-icon {
    color: #332a28;
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-btn .fi-sidebar-item-label,
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn .fi-sidebar-item-icon {
    color: white;
}

.fi-sidebar-close-btn,
.fi-sidebar-collapse-btn {
    color: #504543;
}

.tfk-mobile-sidebar-close {
    display: none;
}

.fi-topbar {
    background: rgb(255 255 255 / 92%);
    border-color: rgb(28 25 23 / 8%);
    backdrop-filter: blur(16px);
}

.fi-main {
    padding-block: 2.5rem 4rem;
}

.fi-header-heading {
    color: #1c1917;
    font-size: clamp(1.75rem, 2.4vw, 2.35rem);
    font-weight: 600;
    letter-spacing: -0.035em;
}

.fi-header-subheading {
    color: #78716c;
}

.fi-section,
.fi-ta-ctn,
.fi-wi-stats-overview-stat {
    border: 1px solid rgb(28 25 23 / 8%);
    border-radius: 1rem;
    box-shadow: 0 1px 2px rgb(28 25 23 / 3%), 0 18px 44px rgb(28 25 23 / 4%);
}

.fi-section:not(.fi-section-not-contained):not(.fi-aside) {
    overflow: hidden;
    border: 1px solid var(--tfk-admin-line-strong);
    background: var(--tfk-admin-surface-subtle);
    box-shadow: 0 1px 2px rgb(28 25 23 / 3%), 0 18px 44px rgb(28 25 23 / 4%);
    isolation: isolate;
}

.fi-section:not(.fi-section-not-contained):not(.fi-aside) > .fi-section-header {
    background: rgb(255 255 255 / 52%);
}

.fi-section:not(.fi-section-not-contained):not(.fi-aside).fi-section-has-header:not(.fi-collapsed) > .fi-section-content-ctn {
    border-top-color: var(--tfk-admin-line-strong);
}

.fi-section:not(.fi-section-not-contained):not(.fi-aside) > .fi-section-content-ctn,
.fi-section:not(.fi-section-not-contained).fi-aside > .fi-section-content-ctn {
    background: var(--tfk-admin-surface-inset);
}

.fi-section:not(.fi-section-not-contained).fi-aside > .fi-section-content-ctn {
    overflow: hidden;
    border: 1px solid var(--tfk-admin-line-strong);
    box-shadow: 0 1px 2px rgb(28 25 23 / 3%), 0 18px 44px rgb(28 25 23 / 4%);
}

.fi-section.fi-collapsed:not(.fi-section-not-contained):not(.fi-aside) {
    background: var(--tfk-admin-surface-raised);
}

.fi-sc-tabs.fi-contained {
    overflow: hidden;
    border: 1px solid var(--tfk-admin-line-strong);
    background: var(--tfk-admin-surface-inset);
    box-shadow: 0 1px 2px rgb(28 25 23 / 3%), 0 18px 44px rgb(28 25 23 / 4%);
    isolation: isolate;
}

.fi-sc-tabs.fi-contained > .fi-tabs.fi-contained {
    border-color: var(--tfk-admin-line-strong);
    background: rgb(255 255 255 / 48%);
}

.fi-sc-tabs.fi-contained > .fi-sc-tabs-tab.fi-active {
    background: var(--tfk-admin-surface-inset);
}

.fi-tabs:not(.fi-contained) {
    border: 1px solid var(--tfk-admin-line-strong);
    background: var(--tfk-admin-surface-subtle);
    box-shadow: 0 1px 2px rgb(28 25 23 / 3%);
}

.fi-tabs-item.fi-active {
    background: var(--tfk-admin-surface-raised);
    box-shadow: 0 1px 2px rgb(28 25 23 / 4%);
}

.fi-fieldset:not(.fi-fieldset-not-contained),
.fi-in-repeatable.fi-contained > .fi-in-repeatable-item {
    border-color: var(--tfk-admin-line-strong);
    background: var(--tfk-admin-surface-subtle);
    box-shadow: 0 1px 2px rgb(28 25 23 / 3%);
}

.fi-fo-builder-item,
.fi-fo-repeater-item {
    overflow: hidden;
    border-color: var(--tfk-admin-line-strong);
    background: var(--tfk-admin-surface-raised);
    box-shadow: 0 1px 2px rgb(63 47 43 / 4%);
}

.fi-fo-builder-item-header,
.fi-fo-repeater-item-header {
    background: var(--tfk-admin-surface-raised);
}

.fi-fo-builder-item-content,
.fi-fo-repeater-item-content {
    border-top-color: var(--tfk-admin-line-strong);
    background: var(--tfk-admin-surface-inset);
}

.fi-ta-ctn {
    overflow: hidden;
    border: 1px solid var(--tfk-admin-line-strong);
    background: var(--tfk-admin-surface-inset);
    isolation: isolate;
}

.fi-ta-ctn .fi-ta-header,
.fi-ta-ctn .fi-ta-header-toolbar,
.fi-ta-ctn .fi-ta-filter-indicators,
.fi-ta-ctn .fi-ta-selection-indicator,
.fi-ta-ctn .fi-ta-reorder-indicator,
.fi-ta-ctn .fi-pagination {
    border-color: var(--tfk-admin-line-strong);
    background: var(--tfk-admin-surface-subtle);
}

.fi-ta-content {
    background: var(--tfk-admin-surface-inset);
}

.fi-ta-table,
.fi-ta-row {
    background: var(--tfk-admin-surface-raised);
}

.fi-ta-table {
    border-collapse: separate;
    border-spacing: 0 0.45rem;
    background: var(--tfk-admin-surface-inset);
    padding: 0.2rem 0.7rem 0.45rem;
}

.fi-ta-table thead > tr > * {
    border-block: 1px solid var(--tfk-admin-line-strong);
    background: #f1ece9;
}

.fi-ta-table thead > tr > :first-child,
.fi-ta-table tbody > .fi-ta-row > :first-child {
    border-inline-start: 1px solid var(--tfk-admin-line-strong);
    border-radius: 0.7rem 0 0 0.7rem;
}

.fi-ta-table thead > tr > :last-child,
.fi-ta-table tbody > .fi-ta-row > :last-child {
    border-inline-end: 1px solid var(--tfk-admin-line-strong);
    border-radius: 0 0.7rem 0.7rem 0;
}

.fi-ta-table tbody > .fi-ta-row > * {
    border-block: 1px solid var(--tfk-admin-line);
    background: var(--tfk-admin-surface-raised);
    transition: background-color 120ms ease, border-color 120ms ease;
}

.fi-ta-table tbody > .fi-ta-row.fi-clickable:hover > * {
    border-color: #ded0cc;
    background: #fcf8f7;
}

.fi-ta-table tbody > .fi-ta-row.fi-selected > * {
    background: #faf3f1;
}

.fi-ta-table tbody > .fi-ta-row.fi-ta-group-header-row > * {
    background: #f1ece9;
}

.fi-ta-header-cell,
.fi-ta-group-header-cell,
.fi-ta-summary-header-cell {
    border-color: var(--tfk-admin-line-strong);
    background: #f1ece9;
}

.fi-ta-row {
    transition: background-color 120ms ease;
}

.fi-ta-row.fi-clickable:hover {
    background: #fcf8f7;
}

.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header,
.fi-ta-content-ctn .fi-ta-content-header {
    background: #f1ece9;
}

.fi-ta-content-ctn .fi-ta-content .fi-ta-record,
.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record:not(.fi-selected) {
    background: var(--tfk-admin-surface-raised);
}

.fi-modal > .fi-modal-window-ctn > .fi-modal-window {
    overflow-y: auto;
    overscroll-behavior-y: contain;
    border: 1px solid var(--tfk-admin-line-strong);
    background: var(--tfk-admin-surface-inset);
    box-shadow: 0 24px 70px rgb(35 31 30 / 22%);
}

.fi-modal > .fi-modal-window-ctn > .fi-modal-window:has(.fi-fo-select) {
    overflow: visible;
}

.fi-modal > .fi-modal-window-ctn > .fi-modal-window .fi-modal-header,
.fi-modal > .fi-modal-window-ctn > .fi-modal-window .fi-modal-footer {
    border-color: var(--tfk-admin-line-strong);
    background: var(--tfk-admin-surface-subtle);
}

.fi-modal > .fi-modal-window-ctn > .fi-modal-window .fi-modal-content {
    background: var(--tfk-admin-surface-inset);
}

.fi-btn,
.fi-input-wrp,
.fi-dropdown-panel {
    border-radius: 0.75rem;
}

.fi-input-wrp,
.fi-fo-file-upload-input-ctn,
.fi-dropdown-panel {
    background: var(--tfk-admin-surface-raised);
}

.fi-btn.fi-color-primary {
    background: var(--tfk-admin-accent) !important;
    color: white !important;
}

.fi-btn.fi-color-primary:hover {
    background: #7f5d59 !important;
    color: white !important;
}

.tfk-mfa-setup-action.fi-btn {
    width: 100%;
    min-height: 2.75rem;
    padding-inline: 1.1rem;
    background: #302d2b !important;
    color: white !important;
    font-weight: 700;
    box-shadow: 0 8px 18px rgb(48 45 43 / 18%);
}

.tfk-mfa-setup-action.fi-btn:hover {
    background: #1f1d1c !important;
    color: white !important;
}

.tfk-auth-footer {
    width: min(100%, 28rem);
    margin: 1.25rem auto 0;
    padding: 1.1rem 0 2.5rem;
    border-top: 1px solid #ddd8d4;
    color: #6d6864;
    font-size: 0.82rem;
    line-height: 1.55;
    text-align: center;
}

.tfk-auth-footer p {
    margin: 0;
}

.tfk-auth-footer__heading {
    color: #302d2b;
    font-weight: 700;
}

.tfk-auth-footer__links,
.tfk-auth-footer__languages {
    display: flex;
    justify-content: center;
    gap: 0.8rem;
    margin-top: 0.55rem;
}

.tfk-auth-footer a {
    color: #765754;
    font-weight: 650;
    text-decoration: none;
}

.tfk-auth-footer a:hover {
    color: #302d2b;
}

.tfk-auth-footer__languages a {
    color: #8a8480;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
}

.tfk-auth-footer__languages a.is-active {
    color: #302d2b;
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}

.tfk-page-publish-actions,
.tfk-page-publish-utilities {
    width: 100%;
}

.tfk-page-publish-actions .fi-ac {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: 1fr;
    width: 100%;
}

.tfk-page-publish-actions .fi-btn {
    justify-content: center;
    min-height: 2.65rem;
    width: 100%;
}

.tfk-page-publish-actions .fi-btn:not(.fi-color-primary):not(.fi-color-success) {
    background: white;
    border: 1px solid #ded7d4;
    color: #4f4643;
}

.tfk-page-publish-utilities .fi-ac {
    align-items: center;
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.tfk-page-publish-utilities .fi-btn {
    background: transparent;
    box-shadow: none;
    color: var(--tfk-admin-muted);
    font-size: 0.76rem;
    min-height: 2rem;
    padding-inline: 0.35rem;
}

.tfk-publication-status {
    background: #f8f6f5;
    border: 1px solid #e6e0dd;
    border-radius: 0.8rem;
    overflow: hidden;
}

.tfk-publication-status__primary {
    align-items: flex-start;
    display: flex;
    gap: 0.7rem;
    padding: 0.9rem;
}

.tfk-publication-status__primary > span {
    background: #6f8f78;
    border: 3px solid #e2eee5;
    border-radius: 999px;
    flex: none;
    height: 0.75rem;
    margin-top: 0.2rem;
    width: 0.75rem;
}

.tfk-publication-status--draft .tfk-publication-status__primary > span,
.tfk-publication-status--review .tfk-publication-status__primary > span {
    background: #b57a32;
    border-color: #f4e6d1;
}

.tfk-publication-status--hidden .tfk-publication-status__primary > span {
    background: #8b817d;
    border-color: #e9e4e2;
}

.tfk-publication-status strong {
    color: var(--tfk-admin-ink);
    display: block;
    font-size: 0.84rem;
    line-height: 1.25;
}

.tfk-publication-status p {
    color: var(--tfk-admin-muted);
    font-size: 0.72rem;
    line-height: 1.35;
    margin: 0.15rem 0 0;
}

.tfk-publication-status dl {
    border-top: 1px solid #e6e0dd;
    margin: 0;
    padding: 0.25rem 0.9rem;
}

.tfk-publication-status dl > div {
    align-items: baseline;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    padding-block: 0.48rem;
}

.tfk-publication-status dt,
.tfk-publication-status dd {
    font-size: 0.7rem;
    margin: 0;
}

.tfk-publication-status dt {
    color: var(--tfk-admin-muted);
}

.tfk-publication-status dd {
    color: #4d4542;
    font-weight: 600;
    text-align: right;
}

.tfk-tracking-field-status {
    align-items: center;
    background: #edf5ef;
    border: 1px solid #d4e7d9;
    border-radius: 999px;
    color: #41694c;
    display: inline-flex;
    font-size: 0.64rem;
    font-weight: 700;
    gap: 0.35rem;
    line-height: 1;
    padding: 0.34rem 0.5rem;
}

.tfk-tracking-field-status::before {
    background: #5d8b69;
    border-radius: 999px;
    content: '';
    height: 0.36rem;
    width: 0.36rem;
}

.tfk-tracking-field-status--partial,
.tfk-tracking-field-status--unverified {
    background: #fbf2e5;
    border-color: #efddc3;
    color: #8a5d28;
}

.tfk-tracking-field-status--partial::before,
.tfk-tracking-field-status--unverified::before {
    background: #b67b35;
}

.tfk-tracking-field-status--missing {
    background: #f0edeb;
    border-color: #e1dcda;
    color: #706866;
}

.tfk-tracking-field-status--missing::before {
    background: #918986;
}

.tfk-page-editor-mode .fi-ac {
    align-items: center;
    display: inline-flex;
    width: fit-content;
}

.tfk-page-editor-mode .fi-btn {
    background: white;
    border: 1px solid #d8cfcc;
    border-radius: 0.65rem;
    box-shadow: none;
    color: #5f4a46;
    font-size: 0.78rem;
    gap: 0.4rem;
    min-height: 2.3rem;
    padding-inline: 0.9rem;
}

.tfk-page-editor-mode .fi-btn svg {
    height: 1rem;
    width: 1rem;
}

.tfk-page-editor-locale-content > .fi-tabs {
    align-self: flex-start;
    margin-inline: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    justify-content: flex-start;
    padding: 0;
}

.tfk-page-editor-locale-content > .fi-tabs .fi-tabs-item {
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    box-shadow: none;
    min-height: 2.75rem;
}

.tfk-page-editor-locale-content > .fi-tabs .fi-tabs-item.fi-active {
    border-bottom-color: #966e69;
}

.tfk-email-workspace {
    align-items: start;
    gap: 1rem;
}

.tfk-communication-settings-tabs {
    display: inline-flex;
    width: fit-content;
    padding: 0.25rem;
    border: 1px solid #ded6d3;
    border-radius: 0.8rem;
    background: #eee9e6;
}

.tfk-communication-settings-tabs a {
    padding: 0.55rem 0.85rem;
    border-radius: 0.58rem;
    color: #756b67;
    font-size: 0.78rem;
    font-weight: 650;
    text-decoration: none;
}

.tfk-communication-settings-tabs a:hover {
    color: #493936;
}

.tfk-communication-settings-tabs a.is-active {
    color: #493936;
    background: #fff;
    box-shadow: 0 1px 3px rgb(53 40 37 / 12%);
}

.tfk-email-workspace__editor {
    gap: 0.85rem;
}

.tfk-email-usage-badges .fi-badge {
    padding: 0.18rem 0.45rem;
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.2;
}

.tfk-resizable-rich-editor .fi-fo-rich-editor-content {
    height: 9rem;
    min-height: 9rem;
    max-height: 70vh;
    overflow: auto;
    resize: vertical;
}

.tfk-resizable-rich-editor .fi-fo-rich-editor-content .tiptap {
    height: 100%;
    min-height: 100%;
    box-sizing: border-box;
}

.tfk-email-workspace .fi-fo-rich-editor-merge-tags-list::before {
    content: 'Systemfelter';
    display: block;
    margin-bottom: 0.15rem;
    color: #756b67;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.tfk-email-workspace .fi-fo-rich-editor-merge-tags-list > button:nth-of-type(7) {
    position: relative;
    margin-top: 1.9rem;
}

.tfk-email-workspace .fi-fo-rich-editor-merge-tags-list > button:nth-of-type(7)::before {
    position: absolute;
    bottom: calc(100% + 0.55rem);
    left: 0;
    color: #756b67;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    pointer-events: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.tfk-merge-tags--template .fi-fo-rich-editor-merge-tags-list > button:nth-of-type(7)::before {
    content: 'Skabelonens felter';
}

.tfk-merge-tags--text-block .fi-fo-rich-editor-merge-tags-list > button:nth-of-type(7)::before {
    content: 'Brugerdefinerede felter';
}

.tfk-email-source-update-status {
    width: fit-content;
    padding: 0.35rem 0.55rem;
    border: 1px solid #ead7a5;
    border-radius: 0.55rem;
    background: #fff9e8;
    color: #725719;
    font-size: 0.75rem;
    font-weight: 650;
}

.tfk-email-local-customization-status {
    width: fit-content;
    padding: 0.35rem 0.55rem;
    border: 1px solid color-mix(in srgb, var(--tfk-accent) 32%, #ded8d4);
    border-radius: 0.55rem;
    background: color-mix(in srgb, var(--tfk-accent) 8%, #fff);
    color: #665754;
    font-size: 0.75rem;
    font-weight: 650;
}

.tfk-email-source-update-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 0.35rem;
    padding: 0.16rem 0.42rem;
    border: 1px solid #e5ca83;
    border-radius: 999px;
    background: #fff6d9;
    color: #735615;
    font-size: 0.66rem;
    font-weight: 700;
    line-height: 1.2;
    vertical-align: middle;
}

.tfk-email-local-customization-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 0.35rem;
    padding: 0.16rem 0.42rem;
    border: 1px solid color-mix(in srgb, var(--tfk-accent) 36%, #ddd6d2);
    border-radius: 999px;
    background: color-mix(in srgb, var(--tfk-accent) 9%, #fff);
    color: #685753;
    font-size: 0.66rem;
    font-weight: 700;
    line-height: 1.2;
    vertical-align: middle;
}

.tfk-email-field-source-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 0.35rem;
    padding: 0.14rem 0.4rem;
    border: 1px solid color-mix(in srgb, var(--tfk-accent) 28%, #ddd6d2);
    border-radius: 999px;
    background: color-mix(in srgb, var(--tfk-accent) 7%, #fff);
    color: #756561;
    font-size: 0.64rem;
    font-weight: 650;
    line-height: 1.2;
    vertical-align: middle;
}

.tfk-email-add-block-action {
    justify-content: center;
}

.tfk-invoice-analysis {
    align-items: center;
    background: rgb(150 110 105 / 9%);
    border: 1px solid rgb(150 110 105 / 24%);
    border-radius: 0.75rem;
    color: #756561;
    display: flex;
    font-size: 0.82rem;
    gap: 0.7rem;
    padding: 0.75rem 0.85rem;
    transition: opacity 120ms ease;
}

.tfk-invoice-analysis strong {
    color: #403c3a;
    display: block;
    font-size: 0.86rem;
    margin-bottom: 0.1rem;
}

.tfk-invoice-analysis__spinner {
    color: var(--tfk-accent);
    flex: 0 0 auto;
    height: 1.25rem;
    width: 1.25rem;
}

.tfk-email-snapshot {
    background: #fff;
    border: 1px solid #e3dcda;
    border-radius: 1rem;
    box-shadow: 0 16px 38px rgb(56 45 42 / 6%);
    overflow: hidden;
}

.tfk-email-snapshot__header {
    align-items: flex-start;
    background: linear-gradient(135deg, #f4efed, #faf8f7);
    border-bottom: 1px solid #e3dcda;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1.4rem 1.5rem;
}

.tfk-email-snapshot__header span {
    color: var(--tfk-accent);
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

.tfk-email-snapshot__header h2 {
    color: #292625;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.25;
    margin: 0;
}

.tfk-email-snapshot__header p {
    color: #756f6c;
    font-size: 0.84rem;
    line-height: 1.5;
    margin: 0.4rem 0 0;
}

.tfk-email-snapshot__status {
    background: #e8f5ed;
    border: 1px solid #b9dec7;
    border-radius: 999px;
    color: #247044;
    flex: 0 0 auto;
    font-size: 0.7rem;
    padding: 0.38rem 0.65rem;
}

.tfk-email-snapshot__status--spam {
    background: #fcebea;
    border-color: #efc2bf;
    color: #a23a33;
}

.tfk-email-snapshot__section {
    padding: 1.25rem 1.5rem;
}

.tfk-email-snapshot__section + .tfk-email-snapshot__section {
    border-top: 1px solid #eee9e7;
}

.tfk-email-snapshot__section > h3 {
    color: #34302e;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin: 0 0 0.9rem;
    text-transform: uppercase;
}

.tfk-email-snapshot__grid {
    display: grid;
    gap: 1rem 1.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.tfk-email-snapshot__field--wide {
    grid-column: 1 / -1;
}

.tfk-email-snapshot__field--wide dd {
    white-space: pre-line;
}

.tfk-email-snapshot__list {
    display: grid;
    gap: 0;
    margin: 0;
}

.tfk-email-snapshot__list > div {
    align-items: baseline;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(8rem, 0.7fr) minmax(0, 1.5fr);
    padding: 0.7rem 0;
}

.tfk-email-snapshot__list > div + div {
    border-top: 1px solid #f0ecea;
}

.tfk-email-snapshot dt {
    color: #8a817d;
    font-size: 0.7rem;
    font-weight: 650;
    letter-spacing: 0.025em;
    margin-bottom: 0.2rem;
    text-transform: uppercase;
}

.tfk-email-snapshot dd {
    color: #373331;
    font-size: 0.88rem;
    font-weight: 550;
    line-height: 1.45;
    margin: 0;
    overflow-wrap: anywhere;
}

.tfk-email-snapshot__colour {
    align-items: center;
    display: flex;
    gap: 0.5rem;
}

.tfk-email-snapshot__colour span {
    background: var(--snapshot-colour);
    border: 1px solid rgb(0 0 0 / 12%);
    border-radius: 50%;
    height: 0.9rem;
    width: 0.9rem;
}

.tfk-email-snapshot__blocks {
    display: grid;
    gap: 0.65rem;
}

.tfk-email-snapshot__blocks section {
    background: #faf8f7;
    border: 1px solid #e9e3e0;
    border-radius: 0.75rem;
    padding: 0.85rem 0.95rem;
}

.tfk-email-snapshot__blocks span {
    color: #8a817d;
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    margin-bottom: 0.35rem;
}

.tfk-email-snapshot__blocks p {
    color: #494441;
    font-size: 0.84rem;
    line-height: 1.55;
    margin: 0;
    white-space: pre-line;
}

@media (max-width: 640px) {
    .tfk-email-snapshot__header {
        flex-direction: column;
    }

    .tfk-email-snapshot__grid,
    .tfk-email-snapshot__list > div {
        grid-template-columns: 1fr;
    }
}

.tfk-email-source-update-actions {
    margin-top: -0.35rem;
}

.tfk-email-source-update-preview {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    text-align: left;
}

.tfk-email-source-update-preview section {
    min-width: 0;
    padding: 0.85rem;
    border: 1px solid #e5dfdc;
    border-radius: 0.75rem;
    background: #faf8f7;
}

.tfk-email-source-update-preview strong {
    display: block;
    margin-bottom: 0.55rem;
    color: #4f4542;
    font-size: 0.75rem;
}

.tfk-email-source-update-preview pre {
    margin: 0;
    color: #5f5754;
    font: inherit;
    font-size: 0.8rem;
    line-height: 1.55;
    white-space: pre-wrap;
}

@media (max-width: 700px) {
    .tfk-email-source-update-preview {
        grid-template-columns: 1fr;
    }
}

.tfk-email-workspace__section,
.tfk-email-workspace__preview {
    min-width: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.tfk-email-workspace .tfk-email-workspace__section > .fi-section,
.tfk-email-workspace .tfk-email-workspace__preview > .fi-section {
    border-color: #e5dfdc;
    border-radius: 1rem;
    box-shadow: 0 10px 28px rgb(63 47 43 / 5%);
}

.tfk-email-workspace .tfk-email-workspace__section > .fi-section {
    overflow: visible;
    isolation: auto;
}

.tfk-email-workspace .tfk-email-workspace__section > .fi-section > .fi-section-header {
    border-radius: 1rem 1rem 0 0;
}

.tfk-email-workspace .tfk-email-workspace__section > .fi-section > .fi-section-content-ctn {
    border-radius: 0 0 1rem 1rem;
}

.tfk-email-workspace__section:focus-within {
    position: relative;
    z-index: 20;
}

.tfk-email-workspace .tfk-email-workspace__preview > .fi-section {
    overflow: hidden;
    isolation: isolate;
}

.tfk-email-workspace .tfk-email-workspace__section--setup > .fi-section {
    border-color: #d9cbc7;
    background: linear-gradient(145deg, #fff 0%, #fbf7f6 100%);
}

.tfk-email-workspace .tfk-email-workspace__section--data > .fi-section {
    background: #f8f5f3;
}

.tfk-email-workspace .tfk-email-workspace__section--content > .fi-section {
    background: #f4f0ed;
}

.tfk-email-workspace .tfk-email-workspace__section--data > .fi-section > .fi-section-header,
.tfk-email-workspace .tfk-email-workspace__section--content > .fi-section > .fi-section-header {
    border-bottom: 1px solid #e3dcd8;
    background: rgb(255 255 255 / 48%);
}

.tfk-email-variables {
    border: 1px solid #e5dfdc;
    border-radius: 0.75rem;
    background: #fff;
}

.tfk-email-variables summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.7rem 0.85rem;
    color: #4d4542;
    cursor: pointer;
    list-style: none;
}

.tfk-email-variables summary::-webkit-details-marker {
    display: none;
}

.tfk-email-variables summary span {
    font-size: 0.78rem;
    font-weight: 700;
}

.tfk-email-variables summary small {
    color: #8a817e;
    font-size: 0.7rem;
}

.tfk-email-variables[open] summary {
    border-bottom: 1px solid #ece7e4;
}

.tfk-email-variables__groups {
    display: grid;
    gap: 0;
    padding: 0.75rem 0.85rem;
}

.tfk-email-variables__groups section + section {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid #eee8e5;
}

.tfk-email-variables__groups h4 {
    margin: 0 0 0.45rem;
    color: #5c514e;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.tfk-email-variables__groups section > div {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.tfk-email-variables code {
    padding: 0.28rem 0.48rem;
    border: 1px solid #e4d9d6;
    border-radius: 999px;
    background: #f8f2f0;
    color: #765651;
    font-size: 0.68rem;
}

.tfk-email-variables__empty {
    color: #918784;
    font-size: 0.7rem;
}

.tfk-email-workspace .fi-fo-builder-item {
    border-color: #ded5d1;
    border-radius: 0.8rem;
    background: #fff;
    box-shadow: 0 1px 2px rgb(63 47 43 / 4%);
}

.tfk-email-workspace .fi-fo-builder-item-header {
    min-height: 3.15rem;
    background: #fff;
}

.tfk-email-workspace .fi-fo-builder-item:not(:hover) .fi-color-danger {
    color: #9b918e;
}

.tfk-email-workspace .fi-fo-builder-item-content {
    border-top-color: #ded5d1;
    background: #f8f4f2;
}

.tfk-email-workspace .fi-fo-repeater-item {
    overflow: hidden;
    border-color: #ded5d1;
    background: #fff;
    box-shadow: 0 1px 2px rgb(63 47 43 / 4%);
}

.tfk-email-workspace .fi-fo-repeater-item-header {
    background: #fff;
}

.tfk-email-workspace .fi-fo-repeater-item-content {
    border-top-color: #ded5d1;
    background: #f8f4f2;
}

.tfk-email-composer-preview {
    display: flex;
    min-height: min(48rem, calc(100dvh - 18rem));
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e3ddda;
    border-radius: 0.9rem;
    background: white;
}

.tfk-email-composer-preview__meta {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.3rem 0.8rem;
    padding: 0.8rem 0.9rem;
    border-bottom: 1px solid #e8e2df;
    background: #fbfaf9;
}

.tfk-email-composer-preview__meta span {
    color: #8a817e;
    font-size: 0.7rem;
    font-weight: 700;
}

.tfk-email-composer-preview__meta strong {
    overflow: hidden;
    color: #332d2b;
    font-size: 0.75rem;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tfk-email-composer-preview__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.7rem 0.85rem;
    border-bottom: 1px solid #e8e2df;
}

.tfk-email-composer-preview__heading > div {
    display: grid;
    gap: 0.1rem;
}

.tfk-email-composer-preview__heading strong {
    color: #332d2b;
    font-size: 0.8rem;
}

.tfk-email-composer-preview__heading small {
    color: #8a817e;
    font-size: 0.68rem;
}

.tfk-email-composer-preview__heading > span {
    flex: none;
    padding: 0.28rem 0.55rem;
    border: 1px solid #e3ddda;
    border-radius: 999px;
    color: #796e6b;
    background: #f8f6f5;
    font-size: 0.64rem;
    font-weight: 700;
}

.tfk-email-composer-preview__frame {
    width: 100%;
    min-height: 32rem;
    flex: 1;
    border: 0;
    background: white;
}

.tfk-email-composer-preview--block {
    min-height: min(42rem, calc(100dvh - 20rem));
}

@media (min-width: 1280px) {
    .tfk-email-workspace__preview {
        position: sticky;
        top: 1rem;
    }

    .tfk-email-composer-preview {
        min-height: calc(100dvh - 19rem);
    }
}

@media (max-width: 1279px) {
    .tfk-email-composer-preview {
        min-height: 42rem;
    }
}

@media (max-width: 640px) {
    .tfk-email-variables summary {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.15rem;
    }
}

.tfk-page-editor-mode .fi-btn:hover {
    background: var(--tfk-admin-accent-soft);
    border-color: var(--tfk-admin-accent);
    color: #493633;
}

.tfk-review-changes {
    background: linear-gradient(135deg, #fbf7f6 0%, #f5efed 100%);
    border: 1px solid #d9c8c4;
    border-radius: 1rem;
    box-shadow: 0 12px 30px rgb(75 53 48 / 7%);
    overflow: hidden;
}

.tfk-review-changes__header {
    align-items: flex-start;
    display: flex;
    gap: 0.85rem;
    padding: 1rem 1.1rem 0.8rem;
}

.tfk-review-changes__icon {
    align-items: center;
    background: var(--tfk-admin-accent);
    border-radius: 0.7rem;
    color: white;
    display: flex;
    flex: none;
    height: 2.4rem;
    justify-content: center;
    width: 2.4rem;
}

.tfk-review-changes__icon svg {
    height: 1.25rem;
    width: 1.25rem;
}

.tfk-review-changes__header p {
    color: var(--tfk-admin-accent);
    font-size: 0.65rem;
    font-weight: 750;
    letter-spacing: 0.09em;
    margin: 0 0 0.18rem;
}

.tfk-review-changes__header h3 {
    color: var(--tfk-admin-ink);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.3;
    margin: 0;
}

.tfk-review-changes__header div > span {
    color: var(--tfk-admin-muted);
    display: block;
    font-size: 0.76rem;
    line-height: 1.45;
    margin-top: 0.25rem;
}

.tfk-review-changes__groups {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    padding: 0 1.1rem 0.9rem 4.35rem;
}

.tfk-review-changes__groups span {
    align-items: center;
    background: rgb(255 255 255 / 75%);
    border: 1px solid #e2d7d4;
    border-radius: 999px;
    color: #625653;
    display: inline-flex;
    font-size: 0.68rem;
    gap: 0.35rem;
    padding: 0.28rem 0.52rem;
}

.tfk-review-changes__groups strong {
    align-items: center;
    background: #e8ddda;
    border-radius: 999px;
    color: #58413d;
    display: inline-flex;
    font-size: 0.62rem;
    height: 1.15rem;
    justify-content: center;
    min-width: 1.15rem;
}

.tfk-review-changes__details {
    border-top: 1px solid #ded1ce;
}

.tfk-review-changes__details summary {
    align-items: center;
    color: #58413d;
    cursor: pointer;
    display: flex;
    font-size: 0.75rem;
    font-weight: 650;
    justify-content: space-between;
    list-style: none;
    padding: 0.82rem 1.1rem;
}

.tfk-review-changes__details summary::-webkit-details-marker {
    display: none;
}

.tfk-review-changes__details summary svg {
    height: 1rem;
    transition: transform 160ms ease;
    width: 1rem;
}

.tfk-review-changes__details[open] summary svg {
    transform: rotate(180deg);
}

.tfk-review-changes__list {
    background: rgb(255 255 255 / 72%);
    border-top: 1px solid #e6dcda;
    max-height: 32rem;
    overflow: auto;
    padding: 0.4rem 1.1rem 1rem;
}

.tfk-review-changes__list > section > h4 {
    color: #766a67;
    font-size: 0.65rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    margin: 0;
    padding: 1rem 0 0.45rem;
    text-transform: uppercase;
}

.tfk-review-changes__list article {
    border-top: 1px solid #ece5e3;
    padding: 0.8rem 0;
}

.tfk-review-changes__list article:first-of-type {
    border-top: 0;
}

.tfk-review-changes__list h5 {
    color: var(--tfk-admin-ink);
    font-size: 0.78rem;
    font-weight: 650;
    margin: 0 0 0.55rem;
}

.tfk-review-changes__comparison {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tfk-review-changes__comparison > div {
    background: #f4f1f0;
    border-radius: 0.6rem;
    min-width: 0;
    padding: 0.65rem;
}

.tfk-review-changes__comparison > div:last-child {
    background: #f3e9e7;
    box-shadow: inset 0 0 0 1px #e1ceca;
}

.tfk-review-changes__comparison span {
    color: #817572;
    display: block;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

.tfk-review-changes__comparison p {
    color: #534b49;
    font-size: 0.72rem;
    line-height: 1.5;
    margin: 0;
    overflow-wrap: anywhere;
}

.tfk-review-field-change {
    background: linear-gradient(90deg, rgb(150 110 105 / 9%), rgb(150 110 105 / 2%));
    border-left: 3px solid var(--tfk-admin-accent);
    border-radius: 0.75rem;
    margin-inline: -0.7rem;
    padding: 0.72rem;
    position: relative;
}

.tfk-review-field-change::after {
    background: #efe3e1;
    border: 1px solid #dbc6c2;
    border-radius: 999px;
    color: #6c4e49;
    content: 'Ændret';
    font-size: 0.58rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    padding: 0.2rem 0.42rem;
    position: absolute;
    right: 0.65rem;
    text-transform: uppercase;
    top: 0.55rem;
}

.tfk-review-section-change {
    border-color: #d8c2be !important;
    box-shadow: inset 3px 0 0 var(--tfk-admin-accent), 0 8px 22px rgb(75 53 48 / 6%) !important;
    position: relative;
}

.tfk-review-section-change::after {
    background: #efe3e1;
    border: 1px solid #dbc6c2;
    border-radius: 999px;
    color: #6c4e49;
    content: attr(data-review-count) ' ændringer';
    font-size: 0.58rem;
    font-weight: 750;
    letter-spacing: 0.05em;
    padding: 0.22rem 0.46rem;
    position: absolute;
    right: 3rem;
    text-transform: uppercase;
    top: 1.05rem;
    z-index: 2;
}

@media (max-width: 640px) {
    .tfk-review-changes__groups {
        padding-left: 1.1rem;
    }

    .tfk-review-changes__comparison {
        grid-template-columns: 1fr;
    }
}

.fi-wi-stats-overview-stat {
    overflow: hidden;
}

.fi-wi-stats-overview-stat::before {
    background: var(--tfk-admin-accent);
    content: '';
    inset: 0 auto 0 0;
    opacity: 0.7;
    position: absolute;
    width: 0.2rem;
}

.tfk-gallery-ai-status-cell {
    min-width: 12rem;
    width: 12rem;
}

.tfk-gallery-ai-status {
    min-height: 2.75rem;
    min-width: 10.5rem;
    overflow: visible !important;
}

.tfk-gallery-ai-status .fi-badge {
    max-width: none;
    overflow: visible;
    white-space: nowrap;
}

.tfk-gallery-inline-edit .fi-input-wrp {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    transition: background-color 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
}

.tfk-gallery-inline-edit .fi-input-wrp:hover {
    background: rgb(150 110 105 / 6%);
    border-color: rgb(150 110 105 / 20%);
}

.tfk-gallery-inline-edit .fi-input-wrp:focus-within {
    background: white;
    border-color: rgb(150 110 105 / 45%);
    box-shadow: 0 0 0 3px rgb(150 110 105 / 10%);
}

@media (min-width: 768px) {
    .tfk-gallery-inline-edit .fi-input-wrp {
        border: 1px solid rgb(150 110 105 / 24%);
    }

    .tfk-desktop-inline-edit .tfk-gallery-description {
        min-width: 20rem;
    }
}

.tfk-gallery-quick-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.tfk-gallery-quick-filter {
    display: block;
}

.tfk-gallery-quick-filter--city {
    width: 13rem;
}

.tfk-gallery-quick-filter--visibility {
    width: 11rem;
}

.tfk-gallery-quick-filter--status {
    width: 16rem;
}

@media (max-width: 767px) {
    .tfk-gallery-quick-filters {
        width: 100%;
    }

    .tfk-gallery-quick-filter {
        flex: 1 1 12rem;
        width: auto;
    }
}

.tfk-gallery-inline-uploader {
    scroll-margin-top: 1.5rem;
}

.tfk-gallery-continuous-upload__dropzone {
    background: var(--tfk-admin-accent-soft);
    border: 1px dashed rgb(150 110 105 / 55%);
    border-radius: 1rem;
    color: #504543;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    min-height: 18rem;
    padding: 2rem;
    place-content: center;
    text-align: center;
    transition: background 150ms ease, border-color 150ms ease;
    width: 100%;
}

.tfk-gallery-continuous-upload__dropzone:hover,
.tfk-gallery-continuous-upload__dropzone:focus-visible,
.tfk-gallery-continuous-upload__dropzone.is-dragging {
    background: #f0e3e0;
    border-color: var(--tfk-admin-accent);
    outline: none;
}

.tfk-gallery-continuous-upload__dropzone span {
    font-weight: 650;
}

.tfk-gallery-continuous-upload__dropzone small {
    color: #817875;
    font-size: 0.75rem;
    font-weight: 450;
}

.tfk-gallery-continuous-upload__files {
    display: grid;
    gap: 0.5rem;
    list-style: none;
    margin: 0.75rem 0 0;
    padding: 0;
}

.tfk-gallery-continuous-upload__files li {
    background: #fff;
    border: 1px solid var(--tfk-admin-line);
    border-radius: 0.75rem;
    display: grid;
    gap: 0.6rem;
    padding: 0.75rem;
}

.tfk-gallery-continuous-upload__files li.is-failed {
    background: #fff8f7;
    border-color: #e7bbb5;
}

.tfk-gallery-continuous-upload__files li div {
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    min-width: 0;
}

.tfk-gallery-continuous-upload__files strong {
    color: #282321;
    font-size: 0.82rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tfk-gallery-continuous-upload__files span {
    color: #817875;
    flex: none;
    font-size: 0.72rem;
}

.tfk-gallery-continuous-upload__files progress {
    accent-color: var(--tfk-admin-accent);
    height: 0.35rem;
    width: 100%;
}

.tfk-media-preview {
    align-items: center;
    background: #faf9f8;
    border: 1px solid var(--tfk-admin-line);
    border-radius: 0.9rem;
    display: flex;
    gap: 1rem;
    max-width: 34rem;
    padding: 0.65rem;
}

.tfk-media-preview img {
    background: #eee9e7;
    border-radius: 0.65rem;
    display: block;
    flex: 0 0 auto;
    height: auto;
    max-height: 10rem;
    max-width: 42%;
    object-fit: contain;
    width: auto;
}

.tfk-media-preview div {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.tfk-media-preview strong,
.tfk-media-preview span {
    overflow: hidden;
    text-overflow: ellipsis;
}

.tfk-media-preview strong {
    color: var(--tfk-admin-ink);
    font-size: 0.9rem;
    white-space: nowrap;
}

.tfk-media-preview span,
.tfk-media-preview__empty {
    color: var(--tfk-admin-muted);
    font-size: 0.8rem;
}

.tfk-media-preview__empty {
    margin: 0;
}

.tfk-media-preview__help {
    color: var(--tfk-admin-muted);
    font-size: 0.8rem;
    margin: 0.5rem 0 0;
}

.tfk-media-picker {
    display: grid;
    gap: 1rem;
}

.tfk-media-picker__search {
    align-items: center;
    background: white;
    border: 1px solid rgb(35 31 30 / 14%);
    border-radius: 0.75rem;
    display: flex;
    gap: 0.6rem;
    padding: 0 0.8rem;
}

.tfk-media-picker__search:focus-within {
    border-color: var(--tfk-admin-accent);
    box-shadow: 0 0 0 3px rgb(150 110 105 / 12%);
}

.tfk-media-picker__search svg {
    color: var(--tfk-admin-muted);
    height: 1.1rem;
    width: 1.1rem;
}

.tfk-media-picker__search input {
    background: transparent;
    border: 0;
    color: var(--tfk-admin-ink);
    min-height: 2.8rem;
    outline: 0;
    width: 100%;
}

.tfk-media-picker__grid {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
    max-height: min(60vh, 40rem);
    overflow-y: auto;
    padding: 0.15rem;
}

.tfk-media-picker__item {
    cursor: pointer;
    min-width: 0;
}

.tfk-media-picker__item > input {
    height: 1px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.tfk-media-picker__card {
    background: #faf9f8;
    border: 1px solid var(--tfk-admin-line);
    border-radius: 0.85rem;
    display: grid;
    gap: 0.6rem;
    overflow: hidden;
    padding: 0.45rem;
    position: relative;
    transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.tfk-media-picker__item:hover .tfk-media-picker__card {
    border-color: rgb(150 110 105 / 45%);
    transform: translateY(-1px);
}

.tfk-media-picker__item > input:focus-visible + .tfk-media-picker__card,
.tfk-media-picker__item > input:checked + .tfk-media-picker__card {
    border-color: var(--tfk-admin-accent);
    box-shadow: 0 0 0 3px rgb(150 110 105 / 14%);
}

.tfk-media-picker__card > img {
    aspect-ratio: 16 / 10;
    background: #eee9e7;
    border-radius: 0.6rem;
    display: block;
    object-fit: cover;
    width: 100%;
}

.tfk-media-picker__card > span {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
    padding: 0 0.25rem 0.25rem;
}

.tfk-media-picker__card strong,
.tfk-media-picker__card small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tfk-media-picker__card strong {
    color: var(--tfk-admin-ink);
    font-size: 0.8rem;
}

.tfk-media-picker__card small {
    color: var(--tfk-admin-muted);
    font-size: 0.7rem;
}

.tfk-media-picker__card > svg {
    color: var(--tfk-admin-accent);
    display: none;
    height: 1.4rem;
    position: absolute;
    right: 0.75rem;
    top: 0.75rem;
    width: 1.4rem;
}

.tfk-media-picker__item > input:checked + .tfk-media-picker__card > svg {
    display: block;
}

.tfk-character-guidance {
    align-items: center;
    display: inline-flex;
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
    gap: 0.3rem;
    white-space: nowrap;
}

.tfk-character-guidance > i {
    background: currentColor;
    border-radius: 999px;
    display: block;
    height: 0.42rem;
    width: 0.42rem;
}

.tfk-character-guidance > span {
    color: var(--tfk-admin-ink);
    font-weight: 650;
}

.tfk-character-guidance > small {
    color: var(--tfk-admin-muted);
    font-size: inherit;
}

.tfk-character-guidance--success {
    color: #34845e;
}

.tfk-character-guidance--warning {
    color: #b47718;
}

.tfk-character-guidance--danger {
    color: #c2413b;
}

.tfk-character-guidance--neutral {
    color: #9a928f;
}

.tfk-media-thumb-cell {
    max-width: 5.5rem;
    min-width: 5.5rem;
    width: 5.5rem;
}

.tfk-media-thumb-cell img {
    border-radius: 0.55rem;
    height: 3rem !important;
    object-fit: cover;
    width: 4rem !important;
}

.tfk-gallery-table-image {
    align-items: center;
    display: flex;
    min-height: 3rem;
    width: 4rem;
}

.tfk-gallery-table-image > img {
    border-radius: 0.55rem;
    height: 3rem;
    object-fit: cover;
    width: 4rem;
}

.tfk-gallery-table-preview {
    background: #1d1b1a;
    border: 1px solid rgb(255 255 255 / 12%);
    border-radius: 0.9rem;
    box-shadow: 0 24px 70px rgb(30 23 21 / 32%);
    margin: 0;
    overflow: hidden;
    pointer-events: none;
    position: fixed;
    width: 26.25rem;
    z-index: 100;
}

.tfk-gallery-table-preview img {
    display: block;
    height: 20rem;
    object-fit: contain;
    width: 100%;
}

.tfk-gallery-table-preview figcaption {
    color: rgb(255 255 255 / 82%);
    font-size: 0.75rem;
    overflow: hidden;
    padding: 0.7rem 0.85rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tfk-gallery-edit-preview {
    margin: 0;
}

.tfk-gallery-edit-preview__media {
    align-items: center;
    background: #1d1b1a;
    border-radius: 0.9rem;
    display: flex;
    justify-content: center;
    min-height: 28rem;
    overflow: hidden;
}

.tfk-gallery-edit-preview__media img {
    display: block;
    max-height: 68vh;
    object-fit: contain;
    width: 100%;
}

.tfk-gallery-edit-preview figcaption {
    align-items: center;
    color: var(--tfk-admin-muted);
    display: flex;
    font-size: 0.75rem;
    justify-content: space-between;
    padding-top: 0.75rem;
}

.tfk-gallery-edit-preview__status {
    background: #f0eeec;
    border-radius: 999px;
    color: #655e5b;
    font-weight: 600;
    padding: 0.25rem 0.55rem;
}

.tfk-gallery-edit-preview__status--ready {
    background: #e8f7ef;
    color: #26704c;
}

.tfk-gallery-edit-preview__status--failed,
.tfk-gallery-edit-preview__status--needs_configuration {
    background: #fdeceb;
    color: #a63d37;
}

.tfk-gallery-edit-upload {
    border-top: 1px solid var(--tfk-admin-line);
    margin-top: 0.25rem;
    padding-top: 1.25rem;
}

@media (max-width: 640px) {
    .tfk-gallery-edit-preview__media {
        min-height: 18rem;
    }

    .tfk-gallery-table-preview {
        display: none !important;
    }
}

.tfk-revision-snapshot__images {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
}

.tfk-revision-snapshot__images figure {
    background: #faf9f8;
    border: 1px solid var(--tfk-admin-line);
    border-radius: 0.85rem;
    margin: 0;
    overflow: hidden;
}

.tfk-revision-snapshot__images img {
    aspect-ratio: 16 / 10;
    display: block;
    object-fit: cover;
    width: 100%;
}

.tfk-revision-snapshot__images figcaption {
    display: grid;
    gap: 0.15rem;
    padding: 0.7rem 0.8rem;
}

.tfk-revision-snapshot__images strong {
    color: var(--tfk-admin-ink);
    font-size: 0.8rem;
}

.tfk-revision-snapshot__images span {
    color: var(--tfk-admin-muted);
    font-size: 0.72rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 767px) {
    .fi-grid-col:has(> .fi-sc-component > .tfk-media-usage-section) {
        order: 2;
    }
}

.tfk-media-usage {
    display: grid;
    gap: 1.25rem;
}

.tfk-media-usage section {
    display: grid;
    gap: 0.6rem;
}

.tfk-media-usage h4 {
    color: var(--tfk-admin-muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin: 0;
    text-transform: uppercase;
}

.tfk-media-usage article {
    align-items: start;
    background: #faf9f8;
    border: 1px solid var(--tfk-admin-line);
    border-radius: 0.8rem;
    display: grid;
    gap: 0.35rem;
    padding: 0.8rem 0.9rem;
}

.tfk-media-usage article div {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.65rem;
}

.tfk-media-usage article a,
.tfk-media-usage article strong {
    color: var(--tfk-admin-ink);
    font-size: 0.88rem;
    font-weight: 650;
}

.tfk-media-usage article a:hover {
    color: var(--tfk-admin-accent);
}

.tfk-media-usage article span,
.tfk-media-usage article p,
.tfk-media-usage__empty p {
    color: var(--tfk-admin-muted);
    font-size: 0.78rem;
    margin: 0;
}

.tfk-media-usage__empty {
    align-items: center;
    background: #faf9f8;
    border: 1px dashed rgb(35 31 30 / 18%);
    border-radius: 0.85rem;
    display: flex;
    gap: 0.8rem;
    padding: 1rem;
}

.tfk-media-usage__empty svg {
    color: var(--tfk-admin-muted);
    height: 1.5rem;
    width: 1.5rem;
}

.tfk-media-usage__empty strong {
    color: var(--tfk-admin-ink);
    font-size: 0.88rem;
}

.tfk-admin-brand {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: flex-start;
    width: 100%;
}

.tfk-admin-brand__logo {
    display: block;
    height: 2.5rem;
    max-width: 10.5rem;
    object-fit: contain;
    width: auto;
}

.tfk-sidebar-footer {
    border-top: 1px solid rgb(35 31 30 / 10%);
    display: grid;
    gap: 0.7rem;
    margin-top: auto;
    padding: 0.9rem 0.35rem 0.15rem;
}

.tfk-sidebar-footer__context {
    color: #887a76;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin: 0;
    text-transform: uppercase;
}

.tfk-sidebar-footer__identity {
    align-items: center;
    color: inherit;
    display: flex;
    gap: 0.65rem;
    min-width: 0;
    text-decoration: none;
}

.tfk-sidebar-footer__details {
    display: grid;
    line-height: 1.25;
    min-width: 0;
}

.tfk-sidebar-footer__details strong,
.tfk-sidebar-footer__details span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tfk-sidebar-footer__details strong {
    color: #332a28;
    font-size: 0.76rem;
}

.tfk-sidebar-footer__details span {
    color: #887a76;
    font-size: 0.66rem;
    margin-top: 0.1rem;
}

.tfk-sidebar-footer__meta {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.tfk-sidebar-footer__meta a,
.tfk-sidebar-footer__meta button {
    color: #776965;
    font-size: 0.68rem;
}

.tfk-sidebar-footer__languages {
    align-items: center;
    display: flex;
    font-size: 0.65rem;
    gap: 0.3rem;
}

.tfk-sidebar-footer__languages a {
    font-weight: 600;
    text-decoration: none;
}

.tfk-sidebar-footer__languages a.is-active {
    color: var(--tfk-admin-accent);
}

.tfk-sidebar-footer__meta a:hover,
.tfk-sidebar-footer__meta button:hover {
    color: var(--tfk-admin-accent);
}

.tfk-sidebar-footer__meta button svg {
    height: 1.1rem;
    width: 1.1rem;
}

.tfk-sidebar-footer__versions {
    color: #9a8d89;
    display: flex;
    font-size: 0.61rem;
    gap: 0.55rem;
    margin: 0;
}

.tfk-sidebar-footer__versions span + span::before {
    content: '·';
    margin-right: 0.55rem;
}

.tfk-settings-primary-tabs > .fi-tabs {
    display: none;
}

.tfk-settings-primary-tabs.fi-sc-tabs.fi-contained {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.tfk-settings-primary-tabs.fi-sc-tabs.fi-contained > .fi-sc-tabs-tab.fi-active {
    background: transparent;
}

.tfk-submenu-parent {
    position: relative;
}

.tfk-admin-submenu {
    background: white;
    border: 1px solid var(--tfk-admin-line);
    border-radius: 0.85rem;
    box-shadow: 0 18px 44px rgb(35 31 30 / 16%);
    display: none;
    gap: 0.15rem;
    left: calc(100% + 0.6rem);
    min-width: 13rem;
    padding: 0.55rem;
    position: absolute;
    top: 0;
    z-index: 50;
}

.tfk-submenu-parent:hover > .tfk-admin-submenu,
.tfk-submenu-parent:focus-within > .tfk-admin-submenu {
    display: grid;
}

@media (min-width: 1051px) {
    .tfk-admin-submenu:not(.is-context) {
        display: grid;
        visibility: hidden;
        transition: visibility 0s linear 400ms;
    }

    .tfk-submenu-parent:hover > .tfk-admin-submenu:not(.is-context),
    .tfk-submenu-parent:focus-within > .tfk-admin-submenu:not(.is-context) {
        visibility: visible;
        transition-delay: 0s;
    }

    .tfk-sidebar-flyouts-ready .tfk-submenu-parent > .tfk-admin-submenu:not(.is-context) {
        visibility: hidden;
        transition: none;
    }

    .tfk-sidebar-flyouts-ready .tfk-submenu-parent.is-submenu-open > .tfk-admin-submenu:not(.is-context) {
        visibility: visible;
    }
}

.tfk-admin-submenu:not(.is-context)::before {
    content: '';
    height: 100%;
    position: absolute;
    right: 100%;
    top: 0;
    width: 0.7rem;
}

.tfk-admin-submenu p {
    color: #8a7d79;
    font-size: 0.63rem;
    font-weight: 750;
    letter-spacing: 0.07em;
    margin: 0;
    padding: 0.35rem 0.6rem 0.45rem;
    text-transform: uppercase;
}

.tfk-admin-submenu a {
    border-radius: 0.6rem;
    color: #504543;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.5rem 0.6rem;
    text-decoration: none;
}

.tfk-admin-submenu a:hover,
.tfk-admin-submenu a.is-active {
    background: var(--tfk-admin-accent-soft);
    color: var(--tfk-admin-accent);
}

.tfk-admin-submenu.is-context {
    background: transparent;
    border: 0;
    border-left: 1px solid rgb(150 110 105 / 26%);
    border-radius: 0;
    box-shadow: none;
    display: grid;
    left: auto;
    margin: 0.25rem 0 0.25rem 1.7rem;
    min-width: 0;
    padding: 0.1rem 0 0.1rem 0.55rem;
    position: static;
}

.tfk-admin-submenu.is-context p {
    display: none;
}

.tfk-admin-submenu.is-context a {
    font-size: 0.74rem;
    padding: 0.42rem 0.6rem;
}

.tfk-inquiry-attachments > strong {
    color: var(--tfk-admin-ink);
    display: block;
    font-size: 0.875rem;
    margin-bottom: 0.65rem;
}

.tfk-inquiry-attachments__grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
}

.tfk-inquiry-attachment {
    background: white;
    border: 1px solid var(--tfk-admin-line);
    border-radius: 0.9rem;
    display: grid;
    gap: 0.65rem;
    overflow: hidden;
    padding: 0.6rem;
}

.tfk-inquiry-attachment__preview {
    align-items: center;
    aspect-ratio: 4 / 3;
    background: #eee9e6;
    border-radius: 0.65rem;
    cursor: zoom-in;
    display: flex;
    justify-content: center;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.tfk-inquiry-attachment__preview img {
    height: 100%;
    object-fit: cover;
    transition: transform 180ms ease;
    width: 100%;
}

.tfk-inquiry-attachment__preview:hover img {
    transform: scale(1.025);
}

.tfk-inquiry-attachment__filetype {
    color: var(--tfk-admin-accent);
    font-size: 1rem;
    font-weight: 750;
    letter-spacing: 0.06em;
}

.tfk-inquiry-attachment__open {
    background: rgb(35 31 30 / 76%);
    border-radius: 999px;
    bottom: 0.55rem;
    color: white;
    font-size: 0.7rem;
    font-weight: 650;
    left: 50%;
    opacity: 0;
    padding: 0.35rem 0.65rem;
    position: absolute;
    transform: translate(-50%, 0.25rem);
    transition: opacity 160ms ease, transform 160ms ease;
    white-space: nowrap;
}

.tfk-inquiry-attachment__preview:hover .tfk-inquiry-attachment__open,
.tfk-inquiry-attachment__preview:focus-visible .tfk-inquiry-attachment__open {
    opacity: 1;
    transform: translate(-50%, 0);
}

.tfk-inquiry-attachment__meta {
    display: grid;
    gap: 0.1rem;
    min-width: 0;
}

.tfk-inquiry-attachment__meta span {
    color: var(--tfk-admin-ink);
    font-size: 0.78rem;
    font-weight: 650;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tfk-inquiry-attachment__meta small {
    color: var(--tfk-admin-muted);
    font-size: 0.68rem;
}

.tfk-inquiry-attachment__download {
    align-items: center;
    background: var(--tfk-admin-accent);
    border-radius: 0.6rem;
    color: white;
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 650;
    justify-content: center;
    padding: 0.48rem 0.7rem;
    text-decoration: none;
}

.tfk-inquiry-attachment__download:hover {
    background: #7f5d59;
    color: white;
}

.tfk-inquiry-attachment-modal {
    background: transparent;
    border: 0;
    height: min(calc(100dvh - 3rem), 52rem);
    inset: 0;
    margin: auto;
    max-height: none;
    max-width: none;
    outline: none;
    padding: 0;
    position: fixed;
    width: min(calc(100vw - 3rem), 72rem);
}

.tfk-inquiry-attachment-modal::backdrop {
    background: rgb(24 20 19 / 76%);
    backdrop-filter: blur(6px);
}

.tfk-inquiry-attachment-modal__shell {
    background: #1d1918;
    border: 1px solid rgb(255 255 255 / 12%);
    border-radius: 1.1rem;
    box-shadow: 0 30px 90px rgb(0 0 0 / 38%);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    height: 100%;
    overflow: hidden;
}

.tfk-inquiry-attachment-modal header,
.tfk-inquiry-attachment-modal footer {
    align-items: center;
    background: #2a2523;
    color: white;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 0.75rem 0.9rem;
}

.tfk-inquiry-attachment-modal__info {
    align-items: baseline;
    display: grid;
    gap: 0.12rem 0.75rem;
    grid-template-columns: auto minmax(0, 1fr);
    min-width: 0;
}

.tfk-inquiry-attachment-modal__info > span {
    background: rgb(150 110 105 / 22%);
    border-radius: 999px;
    color: #c9aaa5;
    font-size: 0.68rem;
    font-weight: 750;
    grid-row: 1 / span 2;
    letter-spacing: 0.06em;
    padding: 0.28rem 0.48rem;
}

.tfk-inquiry-attachment-modal__info strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tfk-inquiry-attachment-modal__info small {
    color: rgb(255 255 255 / 58%);
}

.tfk-inquiry-attachment-modal__close {
    align-items: center;
    background: rgb(255 255 255 / 10%);
    border-radius: 999px;
    color: white;
    display: inline-flex;
    flex: 0 0 2.35rem;
    font-size: 1.45rem;
    height: 2.35rem;
    justify-content: center;
    line-height: 1;
    transition: background 160ms ease;
    width: 2.35rem;
}

.tfk-inquiry-attachment-modal__close:hover {
    background: rgb(255 255 255 / 18%);
}

.tfk-inquiry-attachment-modal__media {
    align-items: center;
    background: radial-gradient(circle at center, #2a2523 0, #1b1817 72%);
    display: flex;
    justify-content: center;
    min-height: 0;
    overflow: hidden;
    padding: 1.25rem 4rem;
    position: relative;
}

.tfk-inquiry-attachment-modal__stage {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    min-height: 0;
    min-width: 0;
    width: 100%;
}

.tfk-inquiry-attachment-modal__stage img {
    border-radius: 0.4rem;
    box-shadow: 0 15px 50px rgb(0 0 0 / 28%);
    display: block;
    height: auto;
    max-height: 100%;
    max-width: 100%;
    width: auto;
}

.tfk-inquiry-attachment-modal__stage iframe {
    background: white;
    border: 0;
    border-radius: 0.4rem;
    height: 100%;
    width: 100%;
}

.tfk-inquiry-attachment-modal__nav {
    align-items: center;
    background: rgb(255 255 255 / 12%);
    border: 1px solid rgb(255 255 255 / 10%);
    border-radius: 999px;
    color: white;
    display: inline-flex;
    font-size: 1.25rem;
    height: 2.75rem;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: background 160ms ease, transform 160ms ease;
    width: 2.75rem;
    z-index: 2;
}

.tfk-inquiry-attachment-modal__nav:hover {
    background: var(--tfk-admin-accent);
    transform: translateY(-50%) scale(1.04);
}

.tfk-inquiry-attachment-modal__nav--previous {
    left: 0.7rem;
}

.tfk-inquiry-attachment-modal__nav--next {
    right: 0.7rem;
}

.tfk-inquiry-attachment-modal__file {
    align-items: center;
    color: rgb(255 255 255 / 64%);
    display: grid;
    gap: 0.75rem;
    justify-items: center;
    text-align: center;
}

.tfk-inquiry-attachment-modal__file span {
    color: #c9aaa5;
    font-size: 2rem;
    font-weight: 750;
}

.tfk-inquiry-attachment-modal footer {
    border-top: 1px solid rgb(255 255 255 / 8%);
}

.tfk-inquiry-attachment-modal footer > span {
    color: rgb(255 255 255 / 56%);
    font-size: 0.72rem;
}

.tfk-outro-variants {
    counter-reset: tfk-outro-variant;
}

.tfk-outro-variants .fi-fo-repeater-items {
    gap: 1.15rem;
}

.tfk-outro-variants .fi-fo-repeater-item {
    border: 1px solid rgb(150 110 105 / 28%);
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgb(35 31 30 / 5%);
    counter-increment: tfk-outro-variant;
    overflow: hidden;
}

.tfk-outro-variants .fi-fo-repeater-item-header {
    align-items: center;
    background: var(--tfk-admin-accent-soft);
    border-bottom: 1px solid rgb(150 110 105 / 18%);
    min-height: 3.4rem;
    padding-inline: 0.9rem;
}

.tfk-outro-variants .fi-fo-repeater-item-header::before {
    background: var(--tfk-admin-accent);
    border-radius: 999px;
    color: white;
    content: 'Variant ' counter(tfk-outro-variant);
    flex: 0 0 auto;
    font-size: 0.64rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    padding: 0.32rem 0.58rem;
    text-transform: uppercase;
}

.tfk-outro-variants .fi-fo-repeater-item-header-label {
    color: var(--tfk-admin-ink);
    font-size: 0.85rem;
    font-weight: 700;
}

.tfk-outro-variants .fi-fo-repeater-item-content {
    background: white;
    padding: 1.1rem;
}

@media (max-width: 640px) {
    .tfk-inquiry-attachment-modal {
        height: calc(100dvh - 1rem);
        width: calc(100vw - 1rem);
    }

    .tfk-inquiry-attachment-modal__media {
        padding: 0.75rem 3rem;
    }

    .tfk-inquiry-attachment-modal__nav--previous {
        left: 0.55rem;
    }

    .tfk-inquiry-attachment-modal__nav--next {
        right: 0.55rem;
    }

    .tfk-inquiry-attachment-modal footer > span {
        display: none;
    }
}

.tfk-admin-dashboard .fi-header {
    display: none;
}

.tfk-admin-page-heading {
    display: grid;
    gap: 0.2rem;
}

.tfk-admin-page-eyebrow {
    color: var(--tfk-admin-accent);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    line-height: 1.2;
    text-transform: uppercase;
}

.tfk-admin-page-title {
    color: var(--tfk-admin-ink);
    display: block;
    letter-spacing: -0.035em;
}

.fi-header-subheading {
    color: var(--tfk-admin-muted);
    font-size: 0.82rem;
    line-height: 1.55;
    margin-top: 0.15rem;
}

.tfk-admin-dashboard .fi-page-content {
    display: grid;
    gap: 1.75rem;
}

.tfk-dashboard-intro {
    align-items: flex-end;
    display: flex;
    gap: 1.5rem;
    justify-content: space-between;
}

.tfk-dashboard-intro > div > span,
.tfk-dashboard-kicker,
.tfk-dashboard-module header > div > span {
    color: var(--tfk-admin-accent);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.tfk-dashboard-intro h1 {
    color: var(--tfk-admin-ink);
    font-size: clamp(1.7rem, 3vw, 2.25rem);
    font-weight: 700;
    letter-spacing: -0.035em;
    margin: 0.25rem 0 0.35rem;
}

.tfk-dashboard-intro p,
.tfk-dashboard-panel header p {
    color: var(--tfk-admin-muted);
    font-size: 0.82rem;
    line-height: 1.55;
    margin: 0;
}

.tfk-dashboard-reset {
    align-items: center;
    border: 1px solid var(--tfk-admin-line);
    border-radius: 0.7rem;
    color: var(--tfk-admin-accent);
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 700;
    gap: 0.4rem;
    padding: 0.55rem 0.75rem;
}

.tfk-dashboard-reset:hover {
    background: var(--tfk-admin-accent);
    border-color: var(--tfk-admin-accent);
    color: white;
}

.tfk-dashboard-reset svg {
    height: 0.9rem;
    width: 0.9rem;
}

.tfk-dashboard-canvas {
    align-items: start;
    display: grid;
    gap: 0.8rem;
    grid-auto-rows: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tfk-dashboard-widget {
    min-width: 0;
    position: relative;
}

.tfk-dashboard-widget--full {
    grid-column: 1 / -1;
}

.tfk-dashboard-widget--two-thirds {
    grid-column: span 2;
}

.tfk-dashboard-panel,
.tfk-dashboard-module {
    background: white;
    border: 1px solid var(--tfk-admin-line);
    border-radius: 1rem;
    box-shadow: 0 8px 24px rgb(35 31 30 / 4%);
    padding: 1.15rem;
}

.tfk-dashboard-panel > header,
.tfk-dashboard-module header {
    align-items: flex-start;
    display: flex;
    gap: 0.75rem;
}

.tfk-dashboard-panel > header > div {
    flex: 1;
}

.tfk-dashboard-panel h2,
.tfk-dashboard-module h2 {
    color: var(--tfk-admin-ink);
    font-size: 1rem;
    font-weight: 750;
    margin: 0 0 0.2rem;
}

.tfk-dashboard-module {
    display: flex;
    flex-direction: column;
}

.tfk-dashboard-module__icon {
    background: var(--tfk-admin-accent-soft);
    border-radius: 0.75rem;
    color: var(--tfk-admin-accent);
    display: grid;
    flex: none;
    height: 2.45rem;
    place-items: center;
    width: 2.45rem;
}

.tfk-dashboard-module__icon svg {
    height: 1.25rem;
    width: 1.25rem;
}

.tfk-dashboard-module > p {
    color: var(--tfk-admin-muted);
    font-size: 0.75rem;
    line-height: 1.55;
    margin: 0.85rem 0;
    min-height: 2.4rem;
}

.tfk-dashboard-module dl {
    border-block: 1px solid var(--tfk-admin-line);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0.8rem 0;
}

.tfk-dashboard-module dl > div {
    border-left: 1px solid var(--tfk-admin-line);
    min-width: 0;
    padding: 0 0.55rem;
}

.tfk-dashboard-module dl > div:first-child {
    border-left: 0;
    padding-left: 0;
}

.tfk-dashboard-module dt {
    color: var(--tfk-admin-muted);
    font-size: 0.62rem;
}

.tfk-dashboard-module dd {
    color: var(--tfk-admin-ink);
    font-size: 1.15rem;
    font-weight: 800;
    margin: 0.2rem 0 0;
}

.tfk-dashboard-module > a,
.tfk-dashboard-attention a {
    align-items: center;
    color: var(--tfk-admin-accent);
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 750;
    gap: 0.35rem;
    margin-top: auto;
    padding-top: 0.9rem;
    text-decoration: none;
    width: fit-content;
}

.tfk-dashboard-module > a svg,
.tfk-dashboard-attention a svg {
    height: 0.9rem;
    width: 0.9rem;
}

.tfk-dashboard-communication {
    border-color: #d9cbc7;
    background: linear-gradient(145deg, #fff 0%, #faf5f3 100%);
}

.tfk-dashboard-communication > a.tfk-dashboard-communication__primary {
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 0.72rem 0.9rem;
    border-radius: 0.7rem;
    color: #fff;
    background: var(--tfk-admin-accent);
}

.tfk-dashboard-attention {
    align-items: baseline;
    background: var(--tfk-admin-accent-soft);
    border-radius: 0.8rem;
    display: flex;
    gap: 0.45rem;
    margin-top: 0.9rem;
    padding: 0.9rem 1rem;
}

.tfk-dashboard-attention > strong {
    color: var(--tfk-admin-accent);
    font-size: 1.45rem;
}

.tfk-dashboard-attention > span {
    color: var(--tfk-admin-ink);
    font-size: 0.78rem;
    font-weight: 700;
}

.tfk-dashboard-attention a {
    margin-left: auto;
    padding-top: 0;
}

.tfk-dashboard-single-stat {
    align-items: baseline;
    border-block: 1px solid var(--tfk-admin-line);
    display: flex;
    gap: 0.4rem;
    padding: 0.8rem 0;
}

.tfk-dashboard-single-stat strong {
    color: var(--tfk-admin-ink);
    font-size: 1.15rem;
}

.tfk-dashboard-single-stat span {
    color: var(--tfk-admin-muted);
    font-size: 0.65rem;
}

.tfk-dashboard-review-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0.9rem;
}

.tfk-dashboard-review-grid > section {
    min-width: 0;
}

.tfk-dashboard-review-grid > section + section {
    border-left: 1px solid var(--tfk-admin-line);
    padding-left: 1.25rem;
}

.tfk-dashboard-review-grid h3 {
    align-items: center;
    color: var(--tfk-admin-ink);
    display: flex;
    font-size: 0.75rem;
    font-weight: 750;
    gap: 0.45rem;
    margin: 0;
}

.tfk-dashboard-review-grid h3 span {
    background: var(--tfk-admin-accent-soft);
    border-radius: 999px;
    color: var(--tfk-admin-accent);
    font-size: 0.62rem;
    padding: 0.15rem 0.45rem;
}

.tfk-revision-history {
    display: grid;
    gap: 1rem;
}

.tfk-revision-history__intro {
    color: var(--tfk-admin-muted);
    font-size: 0.78rem;
    line-height: 1.55;
    margin: 0;
    max-width: 44rem;
}

.tfk-revision-history__list {
    display: grid;
    gap: 0.7rem;
}

.tfk-revision-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--tfk-admin-line);
    border-radius: 0.85rem;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 1rem;
}

.tfk-revision-card.is-current {
    background: rgb(150 110 105 / 6%);
    border-color: rgb(150 110 105 / 34%);
}

.tfk-revision-card__main {
    min-width: 0;
}

.tfk-revision-card__status {
    color: var(--tfk-admin-accent);
    display: block;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

.tfk-revision-card__main h3 {
    color: var(--tfk-admin-ink);
    font-size: 0.92rem;
    font-weight: 750;
    line-height: 1.3;
    margin: 0;
}

.tfk-revision-card__main p {
    color: var(--tfk-admin-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 0.69rem;
    gap: 0.35rem;
    margin: 0.35rem 0 0;
}

.tfk-revision-card__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: flex-end;
}

.tfk-revision-button {
    align-items: center;
    border: 1px solid var(--tfk-admin-line);
    border-radius: 0.65rem;
    display: inline-flex;
    font-size: 0.7rem;
    font-weight: 750;
    gap: 0.4rem;
    min-height: 2.25rem;
    padding: 0.5rem 0.7rem;
}

.tfk-revision-button svg {
    height: 0.95rem;
    width: 0.95rem;
}

.tfk-revision-button--secondary {
    background: #fff;
    color: var(--tfk-admin-ink);
}

.tfk-revision-button--secondary:hover {
    border-color: var(--tfk-admin-accent);
    color: var(--tfk-admin-accent);
}

.tfk-revision-button--restore {
    background: var(--tfk-admin-ink);
    border-color: var(--tfk-admin-ink);
    color: #fff;
}

.tfk-revision-button--restore:hover {
    background: var(--tfk-admin-accent);
    border-color: var(--tfk-admin-accent);
}

.tfk-revision-snapshot {
    background: transparent;
    border: 0;
    color: var(--tfk-admin-ink);
    margin: auto;
    max-height: calc(100vh - 2rem);
    max-width: 54rem;
    padding: 0;
    width: calc(100% - 2rem);
}

.tfk-revision-snapshot::backdrop {
    background: rgb(35 31 30 / 55%);
    backdrop-filter: blur(2px);
}

.tfk-revision-snapshot__panel {
    background: #f8f7f6;
    border: 1px solid rgb(255 255 255 / 65%);
    border-radius: 1rem;
    box-shadow: 0 24px 70px rgb(35 31 30 / 26%);
    max-height: calc(100vh - 2rem);
    overflow: hidden;
}

.tfk-revision-snapshot__panel > header {
    align-items: flex-start;
    background: #fff;
    border-bottom: 1px solid var(--tfk-admin-line);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1.15rem 1.25rem;
}

.tfk-revision-snapshot__panel > header span {
    color: var(--tfk-admin-accent);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.tfk-revision-snapshot__panel > header h3 {
    font-size: 1rem;
    font-weight: 750;
    margin: 0.2rem 0 0;
}

.tfk-revision-snapshot__panel > header p {
    color: var(--tfk-admin-muted);
    font-size: 0.7rem;
    margin: 0.25rem 0 0;
}

.tfk-revision-snapshot__panel > header button {
    border: 1px solid var(--tfk-admin-line);
    border-radius: 0.6rem;
    color: var(--tfk-admin-muted);
    display: grid;
    height: 2rem;
    place-items: center;
    width: 2rem;
}

.tfk-revision-snapshot__panel > header button:hover {
    border-color: var(--tfk-admin-accent);
    color: var(--tfk-admin-accent);
}

.tfk-revision-snapshot__panel > header svg {
    height: 1rem;
    width: 1rem;
}

.tfk-revision-snapshot__content {
    display: grid;
    gap: 0.8rem;
    max-height: calc(100vh - 8.5rem);
    overflow-y: auto;
    padding: 1rem;
}

.tfk-revision-snapshot__content > section {
    background: #fff;
    border: 1px solid var(--tfk-admin-line);
    border-radius: 0.8rem;
    padding: 1rem;
}

.tfk-revision-snapshot__content h4 {
    color: var(--tfk-admin-ink);
    font-size: 0.78rem;
    font-weight: 800;
    margin: 0 0 0.75rem;
}

.tfk-revision-snapshot__content dl,
.tfk-revision-snapshot__sections {
    display: grid;
    gap: 0.65rem;
    margin: 0;
}

.tfk-revision-snapshot__content dl > div {
    display: grid;
    gap: 0.18rem;
}

.tfk-revision-snapshot__content dt {
    color: var(--tfk-admin-muted);
    font-size: 0.61rem;
    font-weight: 750;
    text-transform: uppercase;
}

.tfk-revision-snapshot__content dd {
    color: var(--tfk-admin-ink);
    font-size: 0.74rem;
    line-height: 1.55;
    margin: 0;
    white-space: pre-line;
}

.tfk-revision-snapshot__sections > article {
    border-top: 1px solid var(--tfk-admin-line);
    padding-top: 0.75rem;
}

.tfk-revision-snapshot__sections > article:first-child {
    border-top: 0;
    padding-top: 0;
}

.tfk-revision-snapshot__sections h5 {
    color: var(--tfk-admin-accent);
    font-size: 0.72rem;
    font-weight: 800;
    margin: 0 0 0.6rem;
}

.tfk-dashboard-activity {
    display: grid;
    margin-top: 0.85rem;
}

.tfk-dashboard-activity a {
    align-items: center;
    border-top: 1px solid var(--tfk-admin-line);
    color: inherit;
    display: grid;
    gap: 0.7rem;
    grid-template-columns: 2rem minmax(0, 1fr) auto;
    padding: 0.65rem 0;
    text-decoration: none;
}

.tfk-dashboard-activity a > span:first-child {
    background: #f1efee;
    border-radius: 0.6rem;
    color: var(--tfk-admin-muted);
    display: grid;
    height: 2rem;
    place-items: center;
    width: 2rem;
}

.tfk-dashboard-activity a > span:first-child.is-unread {
    background: var(--tfk-admin-accent-soft);
    color: var(--tfk-admin-accent);
}

.tfk-dashboard-activity svg {
    height: 1rem;
    width: 1rem;
}

.tfk-dashboard-activity a > span:nth-child(2) {
    display: grid;
    gap: 0.08rem;
    min-width: 0;
}

.tfk-dashboard-activity strong {
    color: var(--tfk-admin-ink);
    font-size: 0.76rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tfk-dashboard-activity small,
.tfk-dashboard-activity time,
.tfk-dashboard-empty {
    color: var(--tfk-admin-muted);
    font-size: 0.66rem;
}

.tfk-dashboard-actions > div {
    display: grid;
    max-height: 14.5rem;
    margin-top: 0.85rem;
    overflow-y: auto;
    padding-right: 0.25rem;
    scrollbar-color: #cfc5c1 transparent;
    scrollbar-width: thin;
}

.tfk-dashboard-actions {
    container-type: inline-size;
}

@container (min-width: 280px) {
    .tfk-dashboard-actions > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 1rem;
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }
}

.tfk-dashboard-actions > div > :is(a, button) {
    border-top: 1px solid var(--tfk-admin-line);
    color: inherit;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: 1.2rem minmax(0, 1fr);
    padding: 0.7rem 0;
    text-align: left;
    text-decoration: none;
    width: 100%;
}

.tfk-dashboard-actions > div > :is(a, button) > svg {
    color: var(--tfk-admin-accent);
    height: 1.1rem;
    margin-top: 0.1rem;
    width: 1.1rem;
}

.tfk-dashboard-actions > div > :is(a, button) > span {
    display: grid;
    gap: 0.1rem;
}

.tfk-dashboard-actions strong {
    color: var(--tfk-admin-ink);
    font-size: 0.75rem;
}

.tfk-dashboard-actions small {
    color: var(--tfk-admin-muted);
    font-size: 0.66rem;
}

.tfk-dashboard-drag-handle {
    border: 1px solid transparent;
    border-radius: 0.5rem;
    color: #a39b98;
    cursor: grab;
    display: grid;
    flex: none;
    height: 1.8rem;
    margin-left: auto;
    place-items: center;
    touch-action: none;
    width: 1.8rem;
}

.tfk-dashboard-drag-handle:hover {
    border-color: var(--tfk-admin-line);
    color: var(--tfk-admin-accent);
}

.tfk-dashboard-drag-handle svg {
    height: 1rem;
    width: 1rem;
}

.tfk-dashboard-widget.is-dragging {
    background: rgb(150 110 105 / 6%);
    border: 1px dashed rgb(150 110 105 / 60%);
    min-height: 6rem;
}

.tfk-dashboard-widget.is-dragging > * {
    opacity: 0;
}

.tfk-dashboard-drag-ghost {
    box-shadow: 0 20px 48px rgb(35 31 30 / 24%) !important;
    max-height: 12rem;
    max-width: calc(100vw - 2rem);
    opacity: 0.96;
    overflow: hidden;
    pointer-events: none;
    position: fixed !important;
    transform: rotate(1deg) scale(0.98);
    z-index: 1000;
}

@media (max-width: 640px) {
    .fi-main {
        padding-block: 1.5rem 3rem;
    }

    .tfk-dashboard-intro {
        align-items: flex-start;
        flex-direction: column;
    }

    .tfk-dashboard-canvas {
        grid-template-columns: 1fr;
    }

    .tfk-dashboard-widget--full,
    .tfk-dashboard-widget--two-thirds {
        grid-column: auto;
    }

    .tfk-dashboard-attention {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .tfk-dashboard-attention a {
        margin-left: 0;
        width: 100%;
    }

    .tfk-dashboard-activity a {
        grid-template-columns: 2rem minmax(0, 1fr);
    }

    .tfk-dashboard-activity time {
        grid-column: 2;
    }

    .tfk-dashboard-review-grid {
        grid-template-columns: 1fr;
    }

    .tfk-dashboard-review-grid > section + section {
        border-left: 0;
        border-top: 1px solid var(--tfk-admin-line);
        padding-left: 0;
        padding-top: 1rem;
    }

    .tfk-revision-card {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .tfk-revision-card__actions {
        justify-content: flex-start;
    }

    .tfk-revision-button {
        justify-content: center;
        width: 100%;
    }

}

@media (min-width: 1051px) {
    .fi-sidebar-nav {
        overflow: visible;
    }
}

@media (max-width: 1050px) {
    .fi-body {
        --sidebar-width: min(20rem, calc(100vw - 2rem));
    }

    .fi-sidebar-close-overlay {
        background: transparent;
        backdrop-filter: none;
        transition: none;
        -webkit-backdrop-filter: none;
    }

    html.fi:has(.fi-main-sidebar.fi-sidebar-open),
    html.fi:has(.fi-main-sidebar.fi-sidebar-open) body {
        overflow: hidden;
        overscroll-behavior: none;
    }

    .fi-main-sidebar {
        height: 100dvh;
        max-height: 100dvh;
        overflow: hidden;
    }

    .fi-main-sidebar .fi-sidebar-header {
        box-shadow: 0 1px 0 rgb(35 31 30 / 8%), 0 12px 24px -20px rgb(35 31 30 / 45%);
        position: relative;
        z-index: 3;
    }

    .fi-main-sidebar .fi-sidebar-nav {
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior-y: contain;
        padding-bottom: max(1rem, env(safe-area-inset-bottom));
        touch-action: pan-y;
        -webkit-overflow-scrolling: touch;
    }

    .fi-main-sidebar .fi-sidebar-item-btn {
        min-height: 2.75rem;
    }

    .tfk-mobile-sidebar-close {
        align-items: center;
        background: rgb(255 255 255 / 58%);
        border: 1px solid rgb(35 31 30 / 10%);
        border-radius: 999px;
        color: #504543;
        display: flex;
        height: 2.75rem;
        justify-content: center;
        position: absolute;
        right: max(0.75rem, env(safe-area-inset-right));
        top: max(0.625rem, env(safe-area-inset-top));
        width: 2.75rem;
        z-index: 4;
    }

    .tfk-mobile-sidebar-close svg {
        height: 1.25rem;
        width: 1.25rem;
    }

    .tfk-admin-submenu,
    .tfk-admin-submenu.is-context {
        background: transparent;
        border: 0;
        border-left: 1px solid rgb(150 110 105 / 26%);
        border-radius: 0;
        box-shadow: none;
        display: grid;
        left: auto;
        margin: 0.25rem 0 0.25rem 1.7rem;
        min-width: 0;
        padding: 0.1rem 0 0.1rem 0.55rem;
        position: static;
    }

    .tfk-admin-submenu p {
        display: none;
    }

    .tfk-admin-submenu a {
        align-items: center;
        display: flex;
        min-height: 2.5rem;
    }
}

@media (min-width: 641px) and (max-width: 1050px) {
    .tfk-dashboard-canvas {
        grid-template-columns: 1fr;
    }

    .tfk-dashboard-widget--full,
    .tfk-dashboard-widget--two-thirds {
        grid-column: auto;
    }
}

/* Keep publication first for touch/keyboard users; preserve the desktop inspector. */
@media (min-width: 1280px) {
    .tfk-page-edit-grid > .fi-grid > .fi-grid-col:has(.tfk-page-publication) {
        grid-column: 8 / span 3 !important;
        grid-row: 1;
    }

    .tfk-page-edit-grid > .fi-grid > .fi-grid-col:has(.tfk-page-editor-locale-content) {
        grid-column: 1 / span 7 !important;
        grid-row: 1 / span 2;
    }

    .tfk-page-edit-grid > .fi-grid > .fi-grid-col:has(.tfk-page-settings) {
        grid-column: 8 / span 3 !important;
        grid-row: 2;
    }
}

.tfk-mobile-navigation {
    display: none;
}

@media (max-width: 1023px) {
    .fi-body-has-navigation .fi-no {
        z-index: 60;
    }

    .fi-body-has-navigation .fi-no.fi-vertical-align-start {
        top: calc(4.25rem + env(safe-area-inset-top));
    }

    .fi-body-has-navigation .fi-layout-sidebar-toggle-btn-ctn,
    .fi-body-has-navigation .tfk-mobile-sidebar-close {
        display: none;
    }

    .fi-body-has-navigation .fi-main {
        padding-top: calc(4.5rem + env(safe-area-inset-top));
        padding-bottom: calc(5rem + env(safe-area-inset-bottom));
    }

    .tfk-mobile-navigation {
        display: contents;
    }

    .tfk-mobile-navigation button {
        align-items: center;
        background: var(--tfk-admin-surface-raised);
        border: 1px solid var(--tfk-admin-line-strong);
        border-radius: 999px;
        box-shadow: 0 4px 16px rgb(35 31 30 / 12%);
        display: flex;
        gap: .5rem;
        justify-content: center;
        min-height: 2.75rem;
        min-width: 2.75rem;
        padding: .5rem .75rem;
        position: fixed;
        right: max(1rem, env(safe-area-inset-right));
    }

    .tfk-mobile-admin-header {
        align-items: center;
        background: var(--tfk-admin-surface-raised);
        border-bottom: 1px solid var(--tfk-admin-line);
        box-shadow: 0 8px 24px -20px rgb(35 31 30 / 45%);
        display: flex;
        justify-content: space-between;
        left: 0;
        min-height: 4.25rem;
        transition: transform 220ms ease;
        padding: calc(.75rem + env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) .75rem max(1rem, env(safe-area-inset-left));
        position: fixed;
        right: 0;
        top: 0;
        z-index: 50;
    }

    .tfk-mobile-admin-header.is-scrolled-away {
        transform: translateY(-110%);
    }

    body:has(.fi-main-sidebar.fi-sidebar-open) .tfk-mobile-admin-header,
    .tfk-mobile-admin-header:has(:focus-visible) {
        transform: translateY(0);
    }

    .tfk-mobile-admin-header .tfk-admin-brand__logo {
        height: 2rem;
        width: auto;
    }

    .tfk-mobile-navigation .tfk-mobile-menu-toggle {
        position: static;
        box-shadow: none;
        background: transparent;
    }

    .tfk-mobile-back-to-top {
        width: 2.75rem;
        height: 2.75rem;
        padding: 0;
        bottom: max(1rem, env(safe-area-inset-bottom));
        z-index: 20;
    }

    /* Keep original actions and form bindings; only their mobile placement changes. */
    .fi-main :is(.fi-section, .fi-section-content-ctn, .fi-sc-tabs.fi-contained):has([data-tfk-mobile-form-action]:not(.fi-modal *)) {
        isolation: auto;
        overflow: visible;
    }

    .fi-main :is([data-tfk-mobile-form-action="save"][type="submit"], [data-tfk-mobile-form-action="cancel"]):not(.fi-modal *) {
        align-items: center;
        display: inline-flex;
        justify-content: center;
        position: fixed;
        bottom: max(1rem, env(safe-area-inset-bottom));
        top: auto;
        left: auto;
        width: 2.75rem;
        height: 2.75rem;
        min-height: 2.75rem;
        padding: 0;
        gap: 0;
        font-size: 0;
        border-radius: 999px;
        box-shadow: 0 4px 16px rgb(35 31 30 / 12%);
        margin: 0;
        z-index: 31;
    }

    .fi-main :is([data-tfk-mobile-form-action="save"][type="submit"], [data-tfk-mobile-form-action="cancel"]):not(.fi-modal *) .fi-icon {
        width: 1.25rem;
        height: 1.25rem;
    }

    .fi-main [data-tfk-mobile-form-action="save"][type="submit"]:not(.fi-modal *),
    .fi-main [data-tfk-mobile-form-action="cancel"]:not(.fi-modal *) {
        right: max(1rem, env(safe-area-inset-right));
        bottom: calc(max(1rem, env(safe-area-inset-bottom)) + 3.25rem);
    }

    .fi-main [data-tfk-mobile-form-action="cancel"]:not(.fi-modal *) {
        background: var(--tfk-admin-surface-raised);
        border: 1px solid var(--tfk-admin-line-strong);
        color: var(--tfk-admin-ink);
    }

    body:has(.fi-main [data-tfk-mobile-form-action="save"][type="submit"]:not(.fi-modal *)) .fi-main [data-tfk-mobile-form-action="cancel"]:not(.fi-modal *) {
        bottom: calc(max(1rem, env(safe-area-inset-bottom)) + 6.5rem);
    }

    body:has(.fi-modal-open, dialog[open], .fi-main-sidebar.fi-sidebar-open) .fi-main [data-tfk-mobile-form-action]:not(.fi-modal *) {
        visibility: hidden;
    }

    .tfk-mobile-navigation button:focus-visible {
        outline: 2px solid #966e69;
        outline-offset: 2px;
    }

    .tfk-mobile-navigation svg {
        height: 1.25rem;
        width: 1.25rem;
    }

    body:has(.fi-modal-open, dialog[open]) .tfk-mobile-navigation {
        display: none;
    }
}

.fi-modal-window:has(.fi-fo-file-upload, .tfk-page-image-upload) .fi-modal-content {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior-y: contain;
}

@media (prefers-reduced-motion: reduce) {
    .tfk-mobile-admin-header {
        transition: none;
    }
}

@media (max-width: 767px) {
    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-table,
    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-table thead,
    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-table tbody {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-table {
        padding: .5rem;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-table thead > tr {
        display: flex;
        padding: .5rem 1rem;
        margin-bottom: .5rem;
        border: 1px solid var(--tfk-admin-line);
        border-radius: .75rem;
        background: var(--tfk-admin-surface-raised);
        overflow: hidden;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-table thead th {
        display: none;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-table thead th.fi-ta-selection-cell {
        display: flex;
        align-items: center;
        min-height: 2.75rem;
        padding: 0;
        border: 0;
        background: transparent;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-table tbody > .fi-ta-row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        position: relative;
        gap: .375rem .75rem;
        padding: 1rem;
        margin-bottom: .5rem;
        border: 1px solid var(--tfk-admin-line);
        border-radius: .75rem;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-table tbody > .fi-ta-row > td {
        display: block;
        min-width: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-col {
        padding: .25rem 0;
        min-width: 0;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) :is(.fi-ta-text, .fi-ta-text-item) {
        white-space: normal;
        overflow-wrap: anywhere;
        padding: 0;
        line-height: 1.45;
    }

    .fi-ta-row > .tfk-mobile-list-title {
        flex: 1 1 100%;
        font-weight: 600;
    }

    .fi-ta-row:has(.fi-ta-selection-cell) > .tfk-mobile-list-title {
        padding-right: 2rem !important;
    }

    .fi-ta-row:has(.tfk-mobile-list-image) > .tfk-mobile-list-title {
        flex-basis: calc(100% - 5rem);
    }

    .fi-ta-row > .tfk-mobile-list-image {
        flex: 0 0 4rem;
    }

    .fi-ta-row > .tfk-mobile-list-image .fi-ta-image {
        padding: 0;
    }

    .fi-ta-row:has(.tfk-media-thumb-cell) .fi-ta-text-description {
        display: none;
    }

    .fi-ta-row > .tfk-mobile-list-url {
        flex: 1 1 100%;
        color: var(--tfk-admin-text-muted);
    }

    .fi-ta-row > .tfk-mobile-list-meta {
        font-size: .8125rem;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-table tbody > .fi-ta-row > .tfk-mobile-list-secondary {
        display: none;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-row > .fi-ta-selection-cell {
        position: absolute;
        right: 2.25rem;
        top: 1rem;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-row > td:has(> .fi-ta-actions) {
        margin-left: auto;
        width: auto;
        flex-shrink: 0;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-actions .fi-icon-btn {
        min-height: 2.75rem;
        min-width: 2.75rem;
    }
}

.tfk-mobile-list-sort {
    display: none;
}

@media (max-width: 767px) {
    .tfk-mobile-list-sort {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-header-toolbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        gap: .75rem;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-search-field {
        order: -1;
        grid-column: 1 / -1;
        width: 100%;
        max-width: none;
    }
}

@media (max-width: 767px) {
    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-header-toolbar > div:has(> .fi-ta-search-field) {
        display: contents;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-table thead th.fi-ta-selection-cell {
        width: auto;
        gap: .5rem;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-table thead th.fi-ta-selection-cell input {
        flex-shrink: 0;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-table thead th.fi-ta-selection-cell::after {
        content: 'Vælg alle';
        font-weight: 400;
        font-size: .8125rem;
        white-space: nowrap;
    }

    html:lang(en) .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-table thead th.fi-ta-selection-cell::after {
        content: 'Select all';
    }
}

@media (max-width: 767px) {
    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-table thead:not(:has(.fi-ta-selection-cell)) {
        display: none;
    }
}

@media (max-width: 767px) {
    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-header-toolbar > .fi-ta-actions {
        display: contents;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-header-toolbar > .fi-ta-actions > * {
        grid-column: 1 / -1;
        order: 2;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-header-toolbar :is(.fi-input-wrp, .fi-btn) {
        border-radius: .625rem;
        min-height: 2.75rem;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-header-toolbar .fi-input-wrp {
        align-items: center;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-header-toolbar :is(.fi-input, .fi-select-input, .fi-select-input-btn) {
        min-height: 2.75rem;
        align-content: center;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-row > .fi-ta-selection-cell {
        right: 2.25rem;
    }
}

@media (max-width: 767px) {
    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-modal .fi-modal-window {
        max-height: calc(100dvh - 2rem);
        border-radius: 1rem;
        overflow: hidden;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-modal-content {
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior-y: contain;
    }
}

@media (max-width: 767px) {
    .fi-ta-row:has(.tfk-mobile-list-date) > :is(.tfk-mobile-list-title, .tfk-mobile-list-url) {
        order: -2;
    }

    .fi-ta-row > .tfk-mobile-list-date {
        order: -1;
    }
}


@media (max-width: 767px) {
    .fi-ta-ctn:has(.tfk-mobile-list-sort) .tfk-gallery-quick-filters {
        display: none;
    }

    .fi-ta-row > .tfk-mobile-list-title,
    .fi-ta-row > .tfk-mobile-list-image {
        order: -2;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-row > .tfk-mobile-list-field {
        flex: 1 1 calc(50% - .75rem);
        width: auto;
        max-width: 100%;
        align-self: flex-start;
    }

    .fi-ta-row > .tfk-mobile-list-field::before {
        content: attr(data-mobile-label);
        display: block;
        color: #78716c;
        font-size: .75rem;
        line-height: 1.4;
        margin-bottom: .125rem;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) :is(.fi-ta-icon, .fi-ta-text-input) {
        padding: .25rem 0;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-row :is(.fi-ta-col, .fi-ta-text-input, .fi-input-wrp, .fi-ta-text) {
        max-width: 100%;
    }

    .fi-ta-row > .tfk-mobile-list-field:has(input, textarea),
    .fi-ta-row > .tfk-mobile-list-field:has(.tfk-gallery-ai-status) {
        flex-basis: 100%;
    }

    .fi-ta-row:has(.tfk-mobile-list-field) > td:has(> .fi-ta-actions) {
        flex-basis: 100%;
        justify-content: flex-end;
    }

    .fi-ta-row:has(.tfk-mobile-list-field) .fi-ta-actions {
        justify-content: flex-end;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .tfk-gallery-table-image {
        width: 4rem;
        padding: 0;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .tfk-gallery-table-image img {
        width: 4rem;
        height: 3rem;
        object-fit: contain;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .tfk-gallery-ai-status {
        min-width: 0;
        width: auto;
    }
}

@media (max-width: 767px) {
    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-row > .tfk-mobile-list-detail {
        flex-basis: 100%;
        order: -1;
    }

    .fi-ta-row:has(.tfk-mobile-list-field) > td:has(> .fi-ta-actions) {
        order: 1;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-header-toolbar:not(:has(.fi-dropdown, .fi-modal-trigger)) {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 767px) {
    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-row > td:has(> .fi-ta-reorder-handle) {
        position: absolute;
        right: .75rem;
        top: .75rem;
        width: auto;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-ta-reorder-handle {
        min-width: 2.75rem;
        min-height: 2.75rem;
    }

    .fi-ta-row:has(.fi-ta-reorder-handle) > .tfk-mobile-list-title {
        padding-right: 2.75rem !important;
    }

    .fi-ta-ctn:has(.tfk-mobile-list-sort) .fi-dropdown-panel {
        max-width: calc(100vw - 2rem);
        max-height: calc(100dvh - 7rem);
        overflow-y: auto;
    }
}

.tfk-mobile-editable-text {
    display: none;
}

.tfk-mobile-quick-edit {
    position: absolute;
}

.fi-modal[id^="mobile-quick-edit-"] {
    position: fixed;
    inset: 0;
    z-index: 50;
}

.fi-modal[id^="mobile-quick-edit-"] textarea {
    display: block;
    width: 100%;
    border: 1px solid var(--tfk-admin-line-strong);
    border-radius: .625rem;
    background: var(--tfk-admin-surface-raised);
    padding: .75rem;
    resize: vertical;
}

.tfk-mobile-quick-edit-error {
    color: #b91c1c;
    font-size: .875rem;
    margin-top: .5rem;
}

.tfk-mobile-quick-edit-actions {
    display: flex;
    justify-content: flex-end;
    gap: .75rem;
    margin-top: 1rem;
}

@media (max-width: 767px) {
    .fi-modal[id^="mobile-quick-edit-"] .fi-modal-window-ctn {
        align-content: start;
        align-items: start;
        justify-content: stretch;
        grid-template-columns: minmax(0, 1fr);
        padding: max(.5rem, env(safe-area-inset-top)) .5rem max(.5rem, env(safe-area-inset-bottom));
    }

    .fi-modal[id^="mobile-quick-edit-"] .fi-modal-window-ctn > .fi-modal-window {
        width: 100%;
        max-width: none;
        margin: 0;
        max-height: calc(100dvh - 1rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    }

    .fi-modal[id^="mobile-quick-edit-"] .fi-modal-window :is(.fi-modal-header, .fi-modal-content) {
        padding: 1rem;
    }

    .fi-modal[id^="mobile-quick-edit-"] textarea {
        height: clamp(12rem, 55dvh, 36rem);
        font-size: 1rem;
    }

    .tfk-desktop-inline-edit {
        display: none;
    }

    .tfk-mobile-editable-text {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: .5rem;
        text-align: left;
        width: 100%;
        white-space: normal;
        min-height: 2.75rem;
        padding: .375rem 0;
        border-radius: .375rem;
    }

    .tfk-mobile-editable-text span {
        min-width: 0;
        white-space: normal;
        overflow-wrap: anywhere;
        text-decoration: underline dashed #b6a5a1;
        text-underline-offset: .25rem;
        line-height: 1.5;
    }

    .tfk-mobile-editable-text svg {
        width: 1rem;
        height: 1rem;
        flex-shrink: 0;
        color: #966e69;
    }

    .tfk-mobile-editable-text:focus-visible {
        outline: 2px solid #966e69;
        outline-offset: .25rem;
    }

    .tfk-mobile-editable-text:disabled {
        opacity: .6;
    }
}

/* The page-image dialog renders its dropzone without waiting for FilePond. */
.tfk-page-image-upload__dropzone {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 10rem;
    padding: 1.5rem;
    border: 1px dashed var(--tfk-admin-line-strong);
    border-radius: .75rem;
    background: var(--tfk-admin-surface-raised);
    text-align: center;
}

.tfk-page-image-upload__dropzone:has(input:focus-visible) {
    outline: 2px solid #966e69;
    outline-offset: 3px;
}

/* Keep the upload dialog stationary while Filament fades it in and out. */
.fi-modal > .fi-modal-window-ctn > .fi-modal-window:has(.tfk-page-image-upload) {
    scale: 1;
}

.tfk-page-image-upload__dropzone input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.tfk-page-image-upload__dropzone svg {
    width: 1.75rem;
    height: 1.75rem;
    color: #966e69;
}

.tfk-page-image-upload__dropzone span,
.tfk-page-image-upload__status {
    font-size: .8125rem;
}

.tfk-page-image-upload__status {
    display: grid;
    gap: .375rem;
    margin-top: .75rem;
    overflow-wrap: anywhere;
}

.tfk-page-image-upload__status progress {
    width: 100%;
    accent-color: #966e69;
}
