/* Kiradoo shared SaaS shell: platform admin + tenant application panels. */
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("/fonts/filament/filament/inter/inter-latin-wght-normal-NRMW37G5.woff2") format("woff2");
}

:root {
    --ks-font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --ks-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    --ks-weight-medium: 500;
    --ks-weight-semibold: 600;
    --ks-weight-bold: 700;
    --ks-text-xs: .75rem;
    --ks-text-sm: .875rem;
    --ks-text-base: 1rem;
    --ks-text-lg: 1.125rem;
    --ks-text-xl: 1.375rem;
    --ks-leading-xs: 1rem;
    --ks-leading-sm: 1.25rem;
    --ks-leading-base: 1.5rem;
    --ks-leading-lg: 1.75rem;
    --ks-leading-xl: 1.75rem;
    --ks-type-page-title: 1.75rem;
    --ks-type-section-title: 1.25rem;
    --ks-type-component-title: 1rem;
    --ks-type-body: .875rem;
    --ks-type-meta: .8125rem;
    --ks-type-caption: .75rem;
    --ks-type-metric: 1.375rem;
    --ks-shell-bg: #f8f6f2;
    --ks-shell-surface: #ffffff;
    --ks-shell-soft: #f2eee8;
    --ks-shell-border: #ded7ce;
    --ks-shell-text: #29231f;
    --ks-shell-text-secondary: #5f564f;
    --ks-shell-muted: #746a62;
    --ks-shell-placeholder: #9b9188;
    --ks-shell-brand: #493b32;
    --ks-shell-brand-strong: #302720;
    --ks-shell-brand-soft: #eee7df;
    --ks-action-primary-text: #ffffff;
    --ks-action-secondary: #eee9e2;
    --ks-action-secondary-hover: #e6dfd6;
    --ks-action-secondary-border-hover: #b9aea3;
    --ks-action-tertiary-hover: #f3efe9;
    --ks-table-heading: #eee9e2;
    --ks-table-heading-text: #554b44;
    --ks-state-info: #0369a1;
    --ks-state-success: #15803d;
    --ks-state-warning: #b45309;
    --ks-state-danger: #be123c;
    --ks-state-info-soft: #ecfdfb;
    --ks-state-success-soft: #f0fdf4;
    --ks-state-warning-soft: #fffbeb;
    --ks-state-danger-soft: #fff1f2;
    --ks-shell-focus: rgba(128, 106, 88, .28);
    --ks-radius-xs: 8px;
    --ks-radius-sm: 10px;
    --ks-radius-md: 12px;
    --ks-radius-lg: 14px;
    --ks-shell-radius: 14px;
    --ks-shell-shadow: 0 1px 2px rgba(48, 39, 32, .055);
    --ks-shell-shadow-raised: 0 14px 38px rgba(48, 39, 32, .14);
    --ks-shell-row-hover: #f6f2ed;
    --ks-nav-bg: #211c19;
    --ks-nav-surface: #302822;
    --ks-nav-text: #e3dbd2;
    --ks-nav-muted: #b4a99f;
    --ks-nav-active: #fffaf5;
}

.dark {
    --ks-shell-bg: #1f1a17;
    --ks-shell-surface: #28221e;
    --ks-shell-soft: #332b26;
    --ks-shell-border: #51463e;
    --ks-shell-text: #fbf8f4;
    --ks-shell-text-secondary: #ddd5cc;
    --ks-shell-muted: #b9aea3;
    --ks-shell-placeholder: #8e837a;
    --ks-shell-brand: #e3d5c7;
    --ks-shell-brand-strong: #fffaf5;
    --ks-shell-brand-soft: #3a302a;
    --ks-action-primary-text: #29231f;
    --ks-action-secondary: #382f2a;
    --ks-action-secondary-hover: #443932;
    --ks-action-secondary-border-hover: #76685e;
    --ks-action-tertiary-hover: #332b26;
    --ks-table-heading: #332b26;
    --ks-table-heading-text: #ddd5cc;
    --ks-state-info-soft: #102a27;
    --ks-state-success-soft: #12281b;
    --ks-state-warning-soft: #2c2111;
    --ks-state-danger-soft: #32151d;
    --ks-shell-focus: rgba(227, 213, 199, .28);
    --ks-shell-shadow: 0 10px 30px rgba(0, 0, 0, .2);
    --ks-shell-shadow-raised: 0 18px 44px rgba(0, 0, 0, .28);
    --ks-shell-row-hover: #332b26;
    --ks-nav-bg: #171310;
    --ks-nav-surface: #2b241f;
    --ks-nav-text: #e3dbd2;
    --ks-nav-muted: #b4a99f;
    --ks-nav-active: #fffaf5;
}

html {
    font-family: var(--ks-font-sans);
    font-feature-settings: "cv02", "cv03", "cv04", "cv11";
    font-synthesis: none;
    text-rendering: optimizeLegibility;
}

body {
    font-size: var(--ks-text-sm);
    line-height: var(--ks-leading-sm);
}

/* Semantic product typography roles. Use these instead of page-local sizes. */
.ks-type-page,
.ks-type-section,
.ks-type-component,
.ks-type-body,
.ks-type-meta,
.ks-type-caption,
.ks-type-metric {
    margin-block: 0;
    color: var(--ks-shell-text);
}

.ks-type-page { font-size: var(--ks-type-page-title); font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
.ks-type-section { font-size: var(--ks-type-section-title); font-weight: 700; line-height: 1.3; letter-spacing: -.02em; }
.ks-type-component { font-size: var(--ks-type-component-title); font-weight: 600; line-height: 1.4; letter-spacing: -.012em; }
.ks-type-body { font-size: var(--ks-type-body); font-weight: 400; line-height: 1.5; }
.ks-type-meta { color: var(--ks-shell-muted); font-size: var(--ks-type-meta); font-weight: 400; line-height: 1.45; }
.ks-type-caption { color: var(--ks-shell-muted); font-size: var(--ks-type-caption); font-weight: 500; line-height: 1.35; }
.ks-type-metric { font-size: var(--ks-type-metric); font-weight: 700; line-height: 1.1; letter-spacing: -.025em; font-variant-numeric: tabular-nums lining-nums; }
.ks-type-code { font-family: var(--ks-font-mono); font-variant-ligatures: none; }

/* Operational custom pages: the same hierarchy as native Filament surfaces. */
.ks-email-broadcast,
.ks-media-manager {
    color: var(--ks-shell-text);
    font-size: var(--ks-type-body);
    line-height: 1.5;
}

.ks-email-broadcast h2 {
    font-size: var(--ks-type-section-title) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: -.02em;
}

.ks-email-broadcast table,
.ks-media-manager table {
    font-size: var(--ks-type-body) !important;
    line-height: 1.45;
}

.ks-email-broadcast table th,
.ks-media-manager table th {
    color: var(--ks-shell-text-secondary) !important;
    font-size: var(--ks-type-caption) !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    line-height: 1.35;
    text-transform: none !important;
}

.ks-email-broadcast table td,
.ks-media-manager table td {
    font-size: var(--ks-type-body) !important;
}

.ks-email-broadcast table td:last-child,
.ks-media-manager table td :is([style*="font-size: 12px"], [style*="font-size:12px"]) {
    font-size: var(--ks-type-meta) !important;
}

.ks-email-broadcast [style*="font-size:22px"],
.ks-media-manager [style*="font-size:22px"] {
    font-size: var(--ks-type-metric) !important;
    font-variant-numeric: tabular-nums lining-nums;
    letter-spacing: -.025em;
}

.ks-email-broadcast button,
.ks-media-manager :is(button, select, input),
.ks-media-manager > div:first-child a {
    font-size: var(--ks-type-meta) !important;
}

.ks-email-broadcast :is([style*="font-size:13px"], [style*="font-size: 13px"]),
.ks-media-manager :is([style*="font-size:13px"], [style*="font-size: 13px"]) {
    font-size: var(--ks-type-meta) !important;
}

.ks-media-manager [title] {
    font-size: var(--ks-type-body) !important;
    line-height: 1.4;
}

.ks-email-broadcast [style*="font-size: 12px"],
.ks-email-broadcast [style*="font-size:12px"],
.ks-media-manager [style*="font-size: 12px"],
.ks-media-manager [style*="font-size:12px"] {
    font-size: var(--ks-type-caption) !important;
}

.ks-email-broadcast table td:first-child,
.ks-media-manager table td:first-child > div > div:last-child > div:first-child {
    font-size: var(--ks-type-body) !important;
    font-weight: 600;
}

.ks-email-broadcast [style*="font-size:22px"],
.ks-media-manager [style*="font-size:13px"][style*="font-weight:700"] {
    font-variant-numeric: tabular-nums lining-nums;
}

.dark .ks-email-broadcast > div,
.dark .ks-email-broadcast > div > div,
.dark .ks-media-manager [style*="background:white"] {
    background-color: var(--ks-shell-surface) !important;
}

button,
input,
select,
textarea {
    font-family: inherit;
}

::selection {
    color: var(--ks-shell-text);
    background: color-mix(in srgb, var(--ks-shell-brand) 22%, transparent);
}

:where(a, button, input, select, textarea, [role="button"], [tabindex]):focus-visible {
    outline: 3px solid var(--ks-shell-focus);
    outline-offset: 2px;
}

:where(button, input, select, textarea):disabled,
[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: .62;
}

.fi-body {
    color: var(--ks-shell-text);
    background: var(--ks-shell-bg);
}

.fi-layout,
.fi-main-ctn,
.fi-page {
    color: var(--ks-shell-text);
    background: var(--ks-shell-bg);
}

.fi-main {
    width: 100%;
    padding-inline: clamp(1rem, 2.2vw, 2rem) !important;
    padding-block: 1.5rem 2.5rem !important;
}

.fi-main-ctn {
    background: var(--ks-shell-bg);
}

.fi-topbar {
    background: color-mix(in srgb, var(--ks-shell-surface) 94%, transparent) !important;
    border-bottom: 1px solid var(--ks-shell-border) !important;
    box-shadow: 0 1px 0 rgba(41, 37, 36, .025) !important;
    backdrop-filter: blur(14px);
}

.fi-sidebar {
    color: var(--ks-nav-text);
    background: var(--ks-nav-bg) !important;
    border-right: 1px solid color-mix(in srgb, var(--ks-nav-muted) 18%, transparent) !important;
    box-shadow: none !important;
}

.fi-sidebar-header {
    background: var(--ks-nav-bg) !important;
    border-bottom: 1px solid color-mix(in srgb, var(--ks-nav-muted) 18%, transparent) !important;
    box-shadow: none !important;
}

.ks-brand {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: .65rem;
    color: var(--ks-shell-text);
    text-align: left;
}

.ks-brand__logo,
.ks-brand__mark {
    width: 2rem;
    height: 2rem;
    flex: none;
    border-radius: .6rem;
}

.ks-brand__logo {
    object-fit: contain;
    background: var(--ks-shell-soft);
}

.ks-brand__mark {
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(145deg, var(--ks-shell-brand), var(--ks-shell-brand-strong));
    box-shadow: 0 5px 14px color-mix(in srgb, var(--ks-shell-brand) 24%, transparent);
    font-size: .82rem;
    font-weight: 700;
}

.ks-brand__copy {
    display: grid;
    min-width: 0;
    line-height: 1.15;
}

.ks-brand__copy strong {
    overflow: hidden;
    color: var(--ks-nav-active);
    font-size: var(--ks-type-body);
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ks-brand__copy small {
    margin-top: .18rem;
    color: var(--ks-nav-muted);
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.fi-tenant-menu-trigger {
    min-height: var(--ks-control-height);
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-sm) !important;
    background: var(--ks-shell-surface) !important;
}

.fi-tenant-menu-trigger:hover { background: var(--ks-shell-soft) !important; }
.fi-tenant-menu-trigger-current-tenant-label { color: var(--ks-shell-muted) !important; font-size: var(--ks-type-caption) !important; }
.fi-tenant-menu-trigger-tenant-name { color: var(--ks-shell-text) !important; font-weight: 600 !important; }

.fi-sidebar-nav,
.fi-sidebar-nav-groups,
.fi-sidebar-group,
.fi-sidebar-group-items {
    background: transparent !important;
}

.fi-sidebar-item-button {
    color: var(--ks-nav-text) !important;
}

.fi-sidebar-item-icon {
    color: var(--ks-nav-muted) !important;
}

.fi-sidebar-item-button:hover {
    color: var(--ks-nav-active) !important;
    background: var(--ks-nav-surface) !important;
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-button .fi-sidebar-item-icon {
    color: var(--ks-shell-brand) !important;
}

.fi-page-header-main-ctn {
    gap: .75rem;
    align-items: flex-start;
}

.fi-header-heading {
    color: var(--ks-shell-text);
    font-size: var(--ks-type-page-title);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 2.125rem;
    text-wrap: balance;
}

.fi-header-subheading,
.fi-fo-field-wrp-helper-text {
    color: var(--ks-shell-muted);
    line-height: 1.55;
}

.fi-body :where(.fi-link, .fi-breadcrumbs-item-label a, .fi-ta-text a) {
    color: var(--ks-shell-brand-strong);
    text-decoration-color: color-mix(in srgb, currentColor 42%, transparent);
    text-underline-offset: .18em;
}

/* Legacy theme compatibility: links are text actions, never filled buttons. */
.fi-body a.fi-link {
    min-height: 1.5rem;
    padding: 0 !important;
    color: var(--ks-shell-brand-strong) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    align-items: center;
}

.fi-body a.fi-link:hover {
    color: var(--ks-shell-brand) !important;
    background: transparent !important;
}

.fi-body :where(.fi-link, .fi-breadcrumbs-item-label a, .fi-ta-text a):hover {
    color: var(--ks-shell-brand);
    text-decoration: underline;
    text-decoration-thickness: .08em;
}

.fi-section,
.fi-ta,
.fi-modal-window,
.fi-dropdown-panel {
    border-color: var(--ks-shell-border) !important;
    border-radius: var(--ks-shell-radius) !important;
    box-shadow: var(--ks-shell-shadow) !important;
    background: var(--ks-shell-surface);
}

.fi-section:hover {
    border-color: color-mix(in srgb, var(--ks-shell-border) 82%, var(--ks-shell-brand)) !important;
}

.fi-section-header {
    padding-block: 1rem;
    border-bottom-color: var(--ks-shell-border) !important;
}

.fi-section-header-heading {
    color: var(--ks-shell-text);
    font-size: var(--ks-type-component-title);
    font-weight: 600;
    line-height: var(--ks-leading-base);
    letter-spacing: -.012em;
}

.fi-input-wrp {
    min-height: 2.5rem;
    border: 1px solid #d6d3d1 !important;
    border-radius: 11px !important;
    box-shadow: none !important;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
    background: var(--ks-shell-surface) !important;
}

.fi-input,
.fi-select-input {
    min-height: 2.5rem;
}

.fi-input-wrp:focus-within {
    border-color: var(--ks-shell-brand) !important;
    box-shadow: 0 0 0 3px var(--ks-shell-focus) !important;
}

.fi-fo-field-wrp-label label,
.fi-fo-field-wrp-label span {
    color: var(--ks-shell-text-secondary);
    font-weight: 600;
}

.fi-fo-field-wrp-label sup,
.fi-fo-field-label-required-mark {
    font-size: var(--ks-text-xs) !important;
    line-height: 1;
}

.fi-btn {
    min-height: 2.5rem;
    border-radius: 10px !important;
    font-weight: 600 !important;
    letter-spacing: -.005em;
    transition: transform .14s ease, box-shadow .14s ease, background-color .14s ease !important;
}

.fi-icon-btn,
.fi-ac-icon-btn-action {
    min-width: 2.5rem;
    min-height: 2.5rem;
}

.fi-btn:focus-visible,
.fi-sidebar-item-button:focus-visible,
.fi-ta-row a:focus-visible {
    outline: 3px solid var(--ks-shell-focus) !important;
    outline-offset: 2px;
}

.fi-btn:not(:disabled):active {
    transform: translateY(1px);
}

.fi-btn-color-primary {
    background: var(--ks-shell-brand) !important;
    box-shadow: 0 5px 14px rgba(146, 66, 37, .18) !important;
}

/* Filament v4 uses semantic color utilities instead of the legacy color class. */
.fi-btn.fi-color-primary {
    color: var(--ks-action-primary-text) !important;
    background: var(--ks-shell-brand) !important;
    box-shadow: 0 5px 14px color-mix(in srgb, var(--ks-shell-brand) 22%, transparent) !important;
}

.fi-btn.fi-color-primary:hover {
    color: #fff !important;
    background: var(--ks-shell-brand-strong) !important;
}

.fi-btn-color-primary:hover {
    background: var(--ks-shell-brand-strong) !important;
}

.fi-ta-header-cell {
    color: var(--ks-shell-text-secondary) !important;
    font-size: .75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0;
    background: var(--ks-shell-soft) !important;
    text-transform: none;
}

.fi-ta-table {
    font-size: .875rem;
}

.fi-ta-cell {
    border-color: var(--ks-shell-border) !important;
}

.fi-ta-row {
    transition: background-color .14s ease;
}

.fi-ta-row:hover {
    background: var(--ks-shell-row-hover) !important;
}

.fi-ta-empty-state {
    padding-block: 4rem !important;
}

.fi-ta-header-toolbar,
.fi-ta-filters-above-content-ctn {
    gap: .75rem !important;
}

.fi-badge {
    border-radius: 999px;
    font-weight: 600;
}

.fi-tabs {
    border: 1px solid var(--ks-shell-border);
    border-radius: 12px !important;
    background: var(--ks-shell-soft);
    padding: .25rem !important;
}

.fi-tabs-item {
    border-radius: 8px !important;
}

.fi-sidebar-group-label {
    font-size: .69rem !important;
    letter-spacing: .075em !important;
    text-transform: uppercase;
}

.fi-sidebar-group {
    gap: .35rem !important;
}

.fi-sidebar-item-button {
    min-height: 2.55rem;
    border-radius: 9px !important;
    margin-inline: .35rem;
    padding-inline: .7rem !important;
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-button {
    background: var(--ks-nav-surface) !important;
    color: var(--ks-nav-active) !important;
    box-shadow: inset 3px 0 0 var(--ks-shell-brand);
}

.fi-modal-heading {
    color: var(--ks-shell-text);
    font-weight: 700;
    letter-spacing: -.018em;
}

.fi-modal-window {
    overflow: clip;
}

.fi-modal-header,
.fi-modal-footer {
    background: var(--ks-shell-soft);
}

.fi-fo-field-wrp-error-message {
    color: var(--ks-state-danger) !important;
    font-weight: 600;
    line-height: var(--ks-leading-sm);
}

.fi-input-wrp.fi-invalid,
.fi-input-wrp:has(.fi-invalid) {
    border-color: var(--ks-state-danger) !important;
}

.fi-input-wrp.fi-invalid:focus-within,
.fi-input-wrp:has(.fi-invalid):focus-within {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--ks-state-danger) 20%, transparent) !important;
}

.fi-breadcrumbs-item-label {
    color: var(--ks-shell-muted);
    font-size: .78rem;
}

.fi-pagination {
    border-top-color: var(--ks-shell-border) !important;
}

.ksaas-page {
    display: grid;
    gap: 1.125rem;
    max-width: 88rem;
    margin-inline: auto;
}

.ksaas-panel {
    border: 1px solid var(--ks-shell-border);
    border-radius: 18px;
    background: var(--ks-shell-surface);
    box-shadow: var(--ks-shell-shadow);
}

.ksaas-panel-pad {
    padding: 1.125rem;
}

.ksaas-kicker {
    color: var(--ks-shell-brand);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.ksaas-title {
    margin: .35rem 0 0;
    color: var(--ks-shell-text);
    font-size: clamp(1.35rem, 2vw, 1.85rem);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.18;
}

.ksaas-copy {
    color: var(--ks-shell-muted);
    font-size: .82rem;
    line-height: 1.6;
}

@media (max-width: 640px) {
    .fi-main {
        padding-inline: .75rem !important;
        padding-block: 1rem 1.75rem !important;
    }

    .fi-page-header-main-ctn,
    .fi-header-actions {
        width: 100%;
    }

    .fi-header-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .5rem !important;
    }

    .fi-header-actions > .fi-btn:only-child {
        grid-column: auto;
        justify-self: start;
        width: auto;
    }

    .fi-header-actions > .fi-btn {
        justify-content: center;
    }

    .fi-section-content,
    .fi-section-header {
        padding-inline: 1rem !important;
    }

    .fi-modal-window {
        max-height: calc(100dvh - 1rem);
        margin: .5rem;
    }

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

    .fi-input-wrp,
    .fi-input,
    .fi-select-input {
        min-height: 2.75rem;
    }

    .fi-icon-btn,
    .fi-ac-icon-btn-action {
        min-width: 2.75rem;
        min-height: 2.75rem;
    }

    .fi-ta-header-toolbar {
        align-items: stretch !important;
    }

    .fi-ta-search-field {
        width: 100% !important;
        max-width: none !important;
    }

    .fi-tabs {
        overflow-x: auto;
        flex-wrap: nowrap !important;
        scrollbar-width: thin;
    }

    .fi-modal-footer-actions {
        display: grid !important;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .ksaas-panel-pad {
        padding: 1rem;
    }
}

/* KIRADOO-APP-EDITORS-WARM-ENTERPRISE-V50
   All five tenant app editors inherit the shared operational language. */
:is(
    .kui04-editor-panel,
    .appearance-panel,
    .display-panel,
    .access-panel,
    .schedule-panel
) {
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-md) !important;
    background: var(--ks-shell-surface) !important;
    box-shadow: var(--ks-shell-shadow) !important;
}

:is(
    .kui04-editor-head,
    .appearance-head,
    .display-panel header,
    .access-panel header,
    .schedule-panel header
) {
    border-color: var(--ks-shell-border) !important;
}

:is(
    .kui04-editor-head h2,
    .appearance-head h2,
    .display-panel h2,
    .access-panel h2,
    .schedule-panel h2
) {
    color: var(--ks-shell-text) !important;
    font-family: var(--ks-font-sans) !important;
    font-size: var(--ks-type-component-title) !important;
    font-weight: 600 !important;
    letter-spacing: -.012em !important;
}

:is(
    .kui04-editor-head p,
    .appearance-head p,
    .display-panel header p,
    .access-panel header p,
    .schedule-panel header p
) {
    color: var(--ks-shell-muted) !important;
    font-size: var(--ks-type-meta) !important;
}

:is(.kui04-back,.appearance-back,.display-back,.access-back,.schedule-back) {
    color: var(--ks-shell-muted) !important;
    font-size: var(--ks-type-meta) !important;
    font-weight: 600 !important;
}

:is(.kui04-back,.appearance-back,.display-back,.access-back,.schedule-back):hover {
    color: var(--ks-shell-text) !important;
}

:is(
    .appearance-field select,
    .appearance-color,
    .display-fields select,
    .schedule-dates input
) {
    border-color: var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-sm) !important;
    background: var(--ks-shell-surface) !important;
    color: var(--ks-shell-text) !important;
    font-family: var(--ks-font-sans) !important;
    font-size: var(--ks-type-body) !important;
}

:is(
    .appearance-field select,
    .display-fields select,
    .schedule-dates input
):focus {
    border-color: var(--ks-shell-brand) !important;
    outline: 0 !important;
    box-shadow: 0 0 0 3px var(--ks-shell-focus) !important;
}

:is(
    .appearance-field > span,
    .display-fields label > span,
    .display-pages legend,
    .access-choices legend,
    .access-roles legend,
    .schedule-choices legend,
    .schedule-dates span
) {
    color: var(--ks-shell-text-secondary) !important;
    font-size: var(--ks-type-caption) !important;
    font-weight: 600 !important;
}

:is(.access-choices label,.schedule-choices label,.access-roles,.display-pages) {
    border-color: var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-sm) !important;
}

:is(.access-choices label.is-selected,.schedule-choices label.is-selected) {
    border-color: var(--ks-shell-brand) !important;
    background: var(--ks-shell-brand-soft) !important;
}

:is(.access-choices input,.access-roles input,.schedule-choices input,.display-pages input) {
    accent-color: var(--ks-shell-brand) !important;
}

:is(
    .access-choices strong,
    .schedule-choices strong
) {
    color: var(--ks-shell-text) !important;
}

:is(
    .display-pages label,
    .access-roles label,
    .appearance-empty
) {
    background: var(--ks-shell-soft) !important;
    color: var(--ks-shell-text-secondary) !important;
}

:is(
    .appearance-primary,
    .display-primary,
    .access-primary,
    .schedule-primary
) {
    border-color: var(--ks-shell-brand) !important;
    border-radius: var(--ks-radius-sm) !important;
    background: var(--ks-shell-brand) !important;
    color: var(--ks-action-primary-text) !important;
    font-family: var(--ks-font-sans) !important;
    font-size: var(--ks-type-meta) !important;
    font-weight: 600 !important;
}

:is(
    .appearance-secondary,
    .display-secondary,
    .access-secondary,
    .schedule-secondary
) {
    border-color: var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-sm) !important;
    background: var(--ks-action-secondary) !important;
    color: var(--ks-shell-text) !important;
    font-family: var(--ks-font-sans) !important;
    font-size: var(--ks-type-meta) !important;
    font-weight: 600 !important;
}

/* KIRADOO-ADAPTIVE-TABLE-DENSITY-V44
   Fit concise datasets before introducing horizontal navigation. Dense data
   keeps the scroll-preserved contract. Classification is content-aware. */
@media (max-width: 1199px) {
    .fi-body .fi-ta-table.ks-table-compact-fit {
        width: 100% !important;
        min-width: 100% !important;
        table-layout: auto !important;
    }

    .fi-body .fi-ta-table.ks-table-compact-fit :is(th, td, .fi-ta-header-cell, .fi-ta-cell) {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        padding-inline: clamp(.625rem, 2vw, 1rem) !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        hyphens: none !important;
    }

    .fi-body .fi-ta-table.ks-table-compact-fit :is(th, .fi-ta-header-cell) {
        white-space: nowrap !important;
    }

    .fi-body .fi-ta-table.ks-table-balanced-fit {
        width: 100% !important;
        min-width: max(100%, 40rem) !important;
        table-layout: auto !important;
    }

    .fi-body .fi-ta-table.ks-table-balanced-fit :is(th, td, .fi-ta-header-cell, .fi-ta-cell) {
        min-width: 6.5rem !important;
        padding-inline: clamp(.625rem, 1.6vw, .875rem) !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        hyphens: none !important;
    }

    .fi-body .fi-ta-table:is(.ks-table-compact-fit, .ks-table-balanced-fit) :is(
        .fi-ta-selection-cell,
        .fi-ta-actions-header-cell,
        .fi-ta-actions-cell,
        th:has(input[type="checkbox"]),
        td:has(input[type="checkbox"])
    ) {
        width: 3rem !important;
        min-width: 3rem !important;
        max-width: 3rem !important;
        padding-inline: .375rem !important;
        white-space: nowrap !important;
    }
}

/* AUTH-V5: unified tenant-safe entry experience. */
.ks-auth-experience {
    position: fixed;
    inset: 0 50% 0 0;
    z-index: 2;
    overflow: hidden;
    color: #f8fafc;
    background:
        radial-gradient(circle at 78% 18%, rgba(96, 165, 250, .18), transparent 25rem),
        linear-gradient(145deg, #111827 0%, #18202d 58%, #202936 100%);
}
.ks-auth-experience::before {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.75), transparent 88%);
    content: "";
    pointer-events: none;
}
.ks-auth-experience__inner {
    position: relative;
    z-index: 1;
    display: flex;
    width: min(100%, 44rem);
    min-height: 100%;
    margin-inline: auto;
    padding: clamp(2rem, 6vw, 5rem);
    flex-direction: column;
}
.ks-auth-experience__brand { display: flex; align-items: center; gap: .8rem; }
.ks-auth-experience__mark {
    display: grid;
    width: 2.6rem;
    height: 2.6rem;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: .8rem;
    background: rgba(255,255,255,.09);
    box-shadow: inset 0 1px rgba(255,255,255,.12);
    place-items: center;
    font-size: 1.05rem;
    font-weight: 750;
}
.ks-auth-experience__brand strong,
.ks-auth-experience__brand small { display: block; }
.ks-auth-experience__brand strong { font-size: .98rem; letter-spacing: -.01em; }
.ks-auth-experience__brand small { margin-top: .08rem; color: #aeb8c7; font-size: .72rem; }
.ks-auth-experience__message { max-width: 35rem; margin-block: auto; }
.ks-auth-experience__eyebrow,
.ks-auth-standalone__eyebrow {
    margin: 0 0 .85rem;
    color: #93c5fd;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.ks-auth-experience__message h1 {
    max-width: 32rem;
    margin: 0;
    color: #fff;
    font-size: clamp(2.2rem, 4.2vw, 4.15rem);
    font-weight: 650;
    line-height: 1.04;
    letter-spacing: -.055em;
    text-wrap: balance;
}
.ks-auth-experience__message > p:last-child {
    max-width: 31rem;
    margin: 1.4rem 0 0;
    color: #b9c3d1;
    font-size: clamp(.92rem, 1.2vw, 1.04rem);
    line-height: 1.72;
}
.ks-auth-experience__assurance {
    display: flex;
    gap: .75rem 1.25rem;
    flex-wrap: wrap;
    color: #cbd5e1;
    font-size: .75rem;
}
.ks-auth-experience__assurance span { display: inline-flex; align-items: center; gap: .45rem; }
.ks-auth-experience__assurance i {
    width: .42rem;
    height: .42rem;
    border-radius: 50%;
    background: #60a5fa;
    box-shadow: 0 0 0 .22rem rgba(96,165,250,.12);
}
.ks-auth-experience__footer { margin: 1.25rem 0 0; color: #78879a; font-size: .7rem; }
body:has(.ks-auth-experience) .fi-simple-layout {
    min-height: 100dvh;
    padding-left: 50%;
    background: #f5f6f8 !important;
}
body:has(.ks-auth-experience) .fi-simple-layout-header { padding-top: clamp(2rem, 8vh, 6rem); }
body:has(.ks-auth-experience) .fi-simple-main-ctn { width: min(100%, 29.5rem) !important; }
body:has(.ks-auth-experience) .fi-simple-main {
    border-color: #dfe3e8 !important;
    border-radius: 1rem !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 24px 65px rgba(15,23,42,.09) !important;
    backdrop-filter: blur(16px);
}
body:has(.ks-auth-experience) .fi-simple-main::before { background: linear-gradient(90deg, #2563eb, #60a5fa); }
body:has(.ks-auth-experience) .fi-simple-page-content { padding: clamp(1.5rem, 4vw, 2.15rem) !important; }
body:has(.ks-auth-experience) .fi-simple-page .fi-btn[type="submit"] {
    min-height: 2.9rem;
    border-radius: .72rem !important;
    color: #fff !important;
    background: #2563eb !important;
    box-shadow: 0 8px 18px rgba(37,99,235,.16);
}
body:has(.ks-auth-experience) .fi-simple-page .fi-btn[type="submit"]:hover {
    background: #1d4ed8 !important;
}
body:has(.ks-auth-experience) .ks-brand__copy strong { color: #1f2937 !important; }
body:has(.ks-auth-experience) .ks-brand__copy small { color: #687181 !important; }
body:has(.ks-auth-experience) .fi-input-wrp:focus-within {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 3px rgba(37,99,235,.12) !important;
}
.ks-auth-standalone {
    min-width: 320px;
    min-height: 100dvh;
    margin: 0;
    color: #1f2937;
    background: #f5f6f8;
    font-family: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, sans-serif;
}
.ks-auth-standalone__main {
    display: flex;
    min-height: 100dvh;
    margin-left: 50%;
    padding: 2rem;
    align-items: center;
    justify-content: center;
}
.ks-auth-standalone__card {
    width: min(100%, 29.5rem);
    padding: clamp(1.5rem, 4vw, 2.15rem);
    border: 1px solid #dfe3e8;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 24px 65px rgba(15,23,42,.09);
}
.ks-auth-standalone__tenant { display: flex; margin-bottom: 1.6rem; align-items: center; gap: .7rem; }
.ks-auth-standalone__tenant > span {
    display: grid;
    width: 2.45rem;
    height: 2.45rem;
    border-radius: .72rem;
    color: #1d4ed8;
    background: #eff6ff;
    place-items: center;
    font-weight: 750;
}
.ks-auth-standalone__tenant small,
.ks-auth-standalone__tenant strong { display: block; }
.ks-auth-standalone__tenant small { color: #6b7280; font-size: .68rem; }
.ks-auth-standalone__tenant strong { margin-top: .05rem; color: #1f2937; font-size: .88rem; }
.ks-auth-standalone__eyebrow { color: #2563eb; }
.ks-auth-standalone__card h1 { margin: 0; font-size: 1.65rem; letter-spacing: -.035em; }
.ks-auth-standalone__intro { margin: .65rem 0 0; color: #687181; font-size: .86rem; line-height: 1.6; }
.ks-auth-standalone__error {
    margin-top: 1.1rem;
    padding: .75rem .85rem;
    border: 1px solid #fecdd3;
    border-radius: .7rem;
    color: #9f1239;
    background: #fff1f2;
    font-size: .8rem;
}
.ks-auth-standalone__form { display: grid; margin-top: 1.6rem; gap: 1rem; }
.ks-auth-standalone__form label > span { display: block; margin-bottom: .4rem; font-size: .78rem; font-weight: 650; }
.ks-auth-standalone__form input {
    width: 100%;
    min-height: 2.85rem;
    padding: .7rem .8rem;
    border: 1px solid #d6dbe2;
    border-radius: .72rem;
    color: #1f2937;
    background: #fff;
    font: inherit;
    outline: none;
}
.ks-auth-standalone__form input:focus { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,.12); }
.ks-auth-standalone__hint { margin: -.2rem 0 0; color: #7b8492; font-size: .71rem; line-height: 1.55; }
.ks-auth-standalone__form button {
    min-height: 2.9rem;
    border: 0;
    border-radius: .72rem;
    color: #fff;
    background: #2563eb;
    box-shadow: 0 8px 18px rgba(37,99,235,.18);
    font: inherit;
    font-size: .84rem;
    font-weight: 700;
    cursor: pointer;
}
.ks-auth-standalone__form button:hover { background: #1d4ed8; }
@media (max-width: 900px) {
    .ks-auth-experience { display: none; }
    body:has(.ks-auth-experience) .fi-simple-layout { padding-left: 0; }
    .ks-auth-standalone__main { margin-left: 0; padding: 1rem; }
}
@media (max-width: 480px) {
    body:has(.ks-auth-experience) .fi-simple-layout-header { padding-top: 1.15rem; }
    body:has(.ks-auth-experience) .fi-simple-main-ctn { padding-inline: .75rem; }
    .ks-auth-standalone__card { padding: 1.25rem; border-radius: .9rem; }
}
@media (prefers-reduced-motion: reduce) {
    .ks-auth-experience *,
    .ks-auth-standalone * { scroll-behavior: auto !important; transition: none !important; }
}

/* AUTH-V6: warm, product-led entry experience aligned with the SaaS shell. */
.ks-auth-experience {
    color: #fffaf5;
    background:
        radial-gradient(circle at 82% 16%, rgba(205, 174, 139, .2), transparent 22rem),
        radial-gradient(circle at 22% 88%, rgba(130, 103, 82, .2), transparent 25rem),
        linear-gradient(145deg, #1c1815 0%, #29221d 55%, #3a2e27 100%);
}
.ks-auth-experience::before {
    background-image:
        linear-gradient(rgba(255,250,245,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,250,245,.035) 1px, transparent 1px);
}
.ks-auth-experience__mark {
    border-color: rgba(255,250,245,.2);
    color: #fffaf5;
    background: rgba(255,250,245,.08);
    box-shadow: inset 0 1px rgba(255,255,255,.1), 0 10px 28px rgba(0,0,0,.16);
}
.ks-auth-experience__brand small { color: #c6b9ae; }
.ks-auth-experience__eyebrow { color: #d5b894; }
.ks-auth-experience__message > p:last-of-type { color: #d2c8bf; }
.ks-auth-experience__signal {
    position: relative;
    display: grid;
    max-width: 34rem;
    margin-top: clamp(2rem, 4.5vh, 3.2rem);
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
    align-items: center;
}
.ks-auth-experience__signal > span {
    position: relative;
    display: grid;
    min-width: 0;
    gap: .15rem;
    color: #fffaf5;
}
.ks-auth-experience__signal > span > i {
    width: .72rem;
    height: .72rem;
    margin-bottom: .65rem;
    border: 2px solid #d5b894;
    border-radius: 50%;
    background: #29221d;
    box-shadow: 0 0 0 .28rem rgba(213,184,148,.1);
}
.ks-auth-experience__signal strong {
    overflow: hidden;
    font-size: .76rem;
    font-weight: 650;
    text-overflow: ellipsis;
}
.ks-auth-experience__signal small { color: #a99c91; font-size: .66rem; }
.ks-auth-experience__signal > b {
    position: relative;
    width: clamp(.8rem, 2vw, 2rem);
    height: 1px;
    margin: 0 .35rem 2rem;
    overflow: hidden;
    background: rgba(213,184,148,.24);
}
.ks-auth-experience__signal > b::after {
    position: absolute;
    top: -1px;
    width: .25rem;
    height: .25rem;
    border-radius: 50%;
    background: #e3c59f;
    box-shadow: 0 0 10px rgba(227,197,159,.65);
    animation: ks-auth-flow 3.4s ease-in-out infinite;
    content: "";
}
.ks-auth-experience__signal > b:nth-of-type(2)::after { animation-delay: .7s; }
.ks-auth-experience__signal > b:nth-of-type(3)::after { animation-delay: 1.4s; }
.ks-auth-experience__assurance { color: #d6cdc5; }
.ks-auth-experience__assurance i {
    background: #c9aa86;
    box-shadow: 0 0 0 .22rem rgba(201,170,134,.12);
}
.ks-auth-experience__footer { color: #96887d; }
body:has(.ks-auth-experience) .fi-simple-layout { background: #f8f6f2 !important; }
body:has(.ks-auth-experience) .fi-simple-main {
    border-color: #ded7ce !important;
    box-shadow: 0 24px 65px rgba(48,39,32,.11) !important;
}
body:has(.ks-auth-experience) .fi-simple-main::before {
    background: linear-gradient(90deg, #493b32, #9a7d67);
}
body:has(.ks-auth-experience) .fi-simple-page .fi-btn[type="submit"] {
    background: #493b32 !important;
    box-shadow: 0 8px 18px rgba(73,59,50,.2);
}
body:has(.ks-auth-experience) .fi-simple-page .fi-btn[type="submit"]:hover { background: #302720 !important; }
body:has(.ks-auth-experience) .fi-input-wrp:focus-within {
    border-color: #806a58 !important;
    box-shadow: 0 0 0 3px rgba(128,106,88,.16) !important;
}
.ks-auth-signup-link {
    color: #493b32;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: #c7b8ac;
    text-underline-offset: .2em;
}
.ks-auth-signup-link:hover { color: #302720; text-decoration-color: currentColor; }
.ks-auth-invite-note {
    display: block;
    margin-top: .4rem;
    color: #746a62;
    font-size: .75rem;
    line-height: 1.55;
}
@keyframes ks-auth-flow {
    0% { left: -.25rem; opacity: 0; }
    18%, 82% { opacity: 1; }
    100% { left: calc(100% + .1rem); opacity: 0; }
}
@media (max-width: 1100px) {
    .ks-auth-experience__signal { grid-template-columns: 1fr auto 1fr; row-gap: 1.2rem; }
    .ks-auth-experience__signal > span:nth-of-type(n+3),
    .ks-auth-experience__signal > b:nth-of-type(n+2) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .ks-auth-experience__signal > b::after { animation: none; display: none; }
}

/* EMAIL-TEMPLATES-V1: focused message design, delivery remains in Campaigns. */
.ks-email-template-editor-page .fi-page-main,
.ks-email-template-editor-page .fi-page-content,
.ks-email-template-editor-page .fi-sc-form,
.ks-email-template-editor-page .kiradoo-email-template-editor {
    width: 100% !important;
    max-width: none !important;
}
.kiradoo-email-template-editor {
    overflow: hidden;
    border-color: var(--ks-shell-border) !important;
    border-radius: .9rem !important;
    box-shadow: none !important;
}
.ks-email-variable-list {
    display: flex;
    gap: .4rem;
    flex-wrap: wrap;
}

.ks-email-variable-list .ks-email-variable {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .42rem .55rem .42rem .7rem;
    border: 1px solid #e4e4e7;
    border-radius: .6rem;
    background: #fafafa;
    color: #3f3f46;
    font-size: .75rem;
    line-height: 1.2;
}

.ks-email-variable-list .ks-email-variable strong {
    font-weight: 600;
}

.ks-email-variable-list .ks-email-variable code {
    border-radius: .35rem;
    background: #fff;
    color: #52525b;
    padding: .18rem .35rem;
    font-size: .7rem;
}

.ks-email-guidance {
    border-left: 2px solid #a1a1aa;
    padding-left: 1rem;
}
.ks-email-variable-list code {
    padding: .3rem .5rem;
    border: 1px solid #dfe3e8;
    border-radius: .4rem;
    color: #4b5563;
    background: #f8fafc;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .7rem;
}
.kiradoo-email-templates-table table {
    width: 100% !important;
    table-layout: fixed !important;
}
.kiradoo-email-templates-table table th:nth-child(1),
.kiradoo-email-templates-table table td:nth-child(1) { width: 38% !important; }
.kiradoo-email-templates-table table th:nth-child(2),
.kiradoo-email-templates-table table td:nth-child(2) { width: 24% !important; }
.kiradoo-email-templates-table table th:nth-child(3),
.kiradoo-email-templates-table table td:nth-child(3) { width: 12% !important; text-align: center !important; }
.kiradoo-email-templates-table table th:nth-child(4),
.kiradoo-email-templates-table table td:nth-child(4) { width: 18% !important; }
.kiradoo-email-templates-table .fi-ta-actions-header-cell,
.kiradoo-email-templates-table .fi-ta-actions-cell,
.kiradoo-email-templates-table .fi-ta-record-actions-cell,
.kiradoo-email-templates-table table th:last-child,
.kiradoo-email-templates-table table td:last-child {
    width: 8% !important;
    min-width: 100px !important;
    padding-right: 1.4rem !important;
    text-align: center !important;
}
.kiradoo-email-templates-table .fi-ta-actions,
.kiradoo-email-templates-table .fi-ta-record-actions { justify-content: center !important; }
@media (max-width: 900px) {
    .kiradoo-email-templates-table table {
        width: max-content !important;
        min-width: 720px !important;
    }
}

/* KIRADOO-MENU-EDITOR-FLUID-V45
   Template-driven menu editors must remain full-width and show complete select catalogs. */
.ks-menu-editor :is(
    .fi-main,
    .fi-page,
    .fi-page-main,
    .fi-page-content,
    .fi-page-content > form,
    .fi-fo,
    .fi-sc,
    .fi-section,
    .fi-section-content-ctn,
    .fi-section-content
) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.ks-menu-editor .fi-section {
    justify-self: stretch !important;
}

@media (max-width: 640px) {
    .fi-body .fi-ta-table.ks-table-balanced-fit {
        min-width: max(100%, 38rem) !important;
    }
}

/* KIRADOO-CORE-CMS-WORKSPACE-V48
   Pages, Page Categories, Menus and Menu Items share one native workspace.
   Labelled Edit actions use a centred action column, not icon-trigger width. */
.ks-core-cms-list .fi-page,
.ks-core-cms-list .fi-page-content,
.ks-core-cms-list .fi-ta,
.ks-core-cms-list .fi-ta-content,
.ks-core-cms-list .fi-ta-content-ctn {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.ks-core-cms-list .fi-ta-table :is(
    .fi-ta-actions-header-cell,
    .fi-ta-actions-cell,
    .fi-ta-cell:has(> .fi-ta-actions)
) {
    width: 7rem !important;
    min-width: 7rem !important;
    max-width: 7rem !important;
    padding-inline: .875rem !important;
    text-align: center !important;
}

.ks-core-cms-list .fi-ta-table .fi-ta-cell:has(> .fi-ta-actions) > .fi-ta-actions {
    width: 100% !important;
    justify-content: center !important;
}

.ks-core-cms-list .ks-row-edit-action {
    min-width: 4.5rem !important;
    justify-content: center !important;
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-sm) !important;
    background: var(--ks-shell-surface) !important;
    color: var(--ks-shell-text) !important;
    box-shadow: none !important;
}

.ks-core-cms-list .ks-row-edit-action:hover,
.ks-core-cms-list .ks-row-edit-action:focus-visible {
    border-color: var(--ks-action-secondary-border-hover) !important;
    background: var(--ks-action-tertiary-hover) !important;
}

@media (max-width: 640px) {
    .ks-core-cms-list .fi-ta-table :is(
        .fi-ta-actions-header-cell,
        .fi-ta-actions-cell,
        .fi-ta-cell:has(> .fi-ta-actions)
    ) {
        width: 6.5rem !important;
        min-width: 6.5rem !important;
        max-width: 6.5rem !important;
        padding-inline: .625rem !important;
    }
}

/* KIRADOO-CONTENT-AWARE-TABLE-RAIL-V42
   A mouse-visible horizontal control appears whenever the real table width
   exceeds its container, independent of monitor or viewport breakpoints. */
.fi-body .ks-table-scroll-owner.ks-table-is-scrollable {
    max-height: clamp(24rem, calc(100dvh - 13rem), 48rem);
    overflow-x: auto !important;
    overflow-y: auto !important;
    overscroll-behavior: none;
    scrollbar-gutter: stable;
}

.ks-table-scroll-rail {
    position: sticky;
    z-index: 8;
    bottom: 0;
    display: grid;
    grid-template-columns: 2.5rem minmax(8rem, 1fr) 2.5rem;
    align-items: center;
    gap: .625rem;
    min-height: 3.25rem;
    padding: .5rem .75rem;
    border-top: 1px solid var(--ks-shell-border);
    background: color-mix(in srgb, var(--ks-shell-surface) 96%, transparent);
    box-shadow: 0 -.35rem 1rem color-mix(in srgb, var(--ks-shell-text) 6%, transparent);
    backdrop-filter: blur(10px);
}

.ks-table-scroll-rail[hidden] {
    display: none !important;
}

.ks-table-scroll-step {
    display: inline-grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border: 1px solid var(--ks-shell-border);
    border-radius: var(--ks-radius-sm);
    background: var(--ks-shell-surface);
    color: var(--ks-shell-text);
    font-size: 1rem;
    font-weight: 650;
    cursor: pointer;
}

.ks-table-scroll-step:hover {
    background: var(--ks-action-tertiary-hover);
}

.ks-table-scroll-step:focus-visible,
.ks-table-scroll-range:focus-visible {
    outline: 2px solid var(--ks-shell-focus);
    outline-offset: 2px;
}

.ks-table-scroll-range {
    width: 100%;
    min-width: 0;
    height: 1.25rem;
    accent-color: var(--ks-shell-text);
    cursor: ew-resize;
}

/* Native touch contract: finger scrolling only. Phones and touch tablets
   never receive the persistent mouse navigation rail. */
@media (hover: none), (pointer: coarse) {
    .ks-table-scroll-rail {
        display: none !important;
    }

    .fi-body :is(
        .fi-ta-content-ctn,
        .fi-ta-content,
        .fi-ta-table-ctn,
        .fi-ta-table-container,
        .fi-ta .overflow-x-auto
    ) {
        overscroll-behavior-inline: none;
        touch-action: pan-x pan-y;
    }
}

/* KIRADOO-PAGES-EDIT-ACTION-V38
   One calm, direct row action at every viewport size. */
:is(.ks-cms-pages-list, .ks-page-categories-list) .fi-ta-table .fi-ta-cell:has(.ks-row-edit-action) {
    width: 4.75rem !important;
    min-width: 4.75rem !important;
    max-width: 4.75rem !important;
    padding-inline: .375rem !important;
}

:is(.ks-cms-pages-list, .ks-page-categories-list) .ks-row-edit-action {
    display: inline-flex !important;
    min-height: 2.5rem !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .375rem !important;
    padding: .5rem .625rem !important;
    border: 0 !important;
    border-radius: var(--ks-radius-xs) !important;
    background: transparent !important;
    color: var(--ks-shell-text) !important;
    box-shadow: none !important;
    font-size: .8125rem !important;
    font-weight: 600 !important;
    line-height: 1rem !important;
    text-decoration: none !important;
    touch-action: manipulation;
}

:is(.ks-cms-pages-list, .ks-page-categories-list) .ks-row-edit-action:hover,
:is(.ks-cms-pages-list, .ks-page-categories-list) .ks-row-edit-action:focus-visible {
    background: var(--ks-action-tertiary-hover) !important;
}

:is(.ks-cms-pages-list, .ks-page-categories-list) .ks-row-edit-action .fi-icon {
    display: block !important;
    width: 1rem !important;
    height: 1rem !important;
    color: currentColor !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* KIRADOO-PRIMARY-ACTION-CONTRAST-V32
   Primary labels and icons share one foreground token on every action surface. */
:is(
    .fi-btn.fi-color-primary,
    .fi-btn-color-primary,
    .kui04-button-primary,
    .kcrm-action.primary
) {
    color: var(--ks-action-primary-text) !important;
}

:is(
    .fi-btn.fi-color-primary,
    .fi-btn-color-primary,
    .kui04-button-primary,
    .kcrm-action.primary
) :is(svg, .fi-icon):not(.fi-loading-indicator) {
    color: var(--ks-action-primary-text) !important;
    stroke: currentColor !important;
    opacity: 1 !important;
    visibility: visible !important;
}

:is(
    .fi-btn.fi-color-primary,
    .fi-btn-color-primary,
    .kui04-button-primary,
    .kcrm-action.primary
) :is(.fi-btn-label, .fi-ac-btn-label) {
    color: inherit !important;
}

/* KIRADOO-MOBILE-TABLE-ACTIONS-V34
   A normal compact action cell with a viewport-safe floating menu. */
.fi-ta-table :is(th, td):has(> .fi-ta-actions),
.fi-ta-table .fi-ta-cell:has(> .fi-ta-actions) {
    width: 3rem !important;
    min-width: 3rem !important;
    max-width: 3rem !important;
    padding-inline: .375rem !important;
    white-space: nowrap !important;
}

.fi-ta-table .fi-ta-cell:has(> .fi-ta-actions) > .fi-ta-actions {
    display: flex !important;
    width: 2.25rem !important;
    min-width: 2.25rem !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.fi-ta-table .fi-ta-cell:has(> .fi-ta-actions) :is(
    .fi-dropdown,
    .fi-dropdown-trigger,
    .fi-icon-btn,
    button
) {
    opacity: 1 !important;
    visibility: visible !important;
}

.fi-ta-table .fi-ta-cell:has(> .fi-ta-actions) .fi-icon-btn {
    display: inline-flex !important;
    width: 2.5rem !important;
    height: 2.5rem !important;
    min-width: 2.5rem !important;
    min-height: 2.5rem !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.fi-ta-table .fi-ta-cell:has(> .fi-ta-actions) .fi-icon-btn > .fi-icon {
    display: block !important;
    width: 1.125rem !important;
    height: 1.125rem !important;
    color: var(--ks-shell-text-secondary) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body > .fi-dropdown-panel,
.fi-dropdown-panel {
    z-index: 1000 !important;
    width: max-content;
    min-width: 12rem;
    max-width: calc(100vw - 1rem) !important;
    overflow: hidden !important;
    border: 1px solid var(--ks-shell-border) !important;
    background: var(--ks-shell-surface) !important;
    box-shadow: var(--ks-shell-shadow-raised) !important;
}

@media (max-width: 768px) {
    .fi-ta-table .fi-ta-cell:has(> .fi-ta-actions) {
        position: static !important;
        z-index: auto !important;
        border-left: 0 !important;
        background: var(--ks-shell-surface) !important;
        box-shadow: none !important;
    }

    .fi-ta-table .fi-ta-row:hover .fi-ta-cell:has(> .fi-ta-actions) {
        background: var(--ks-table-row-hover) !important;
    }

    .fi-ta-table .fi-ta-row.fi-selected .fi-ta-cell:has(> .fi-ta-actions) {
        background: color-mix(in srgb, var(--ks-shell-brand-soft) 70%, var(--ks-shell-surface)) !important;
    }

    body > .fi-dropdown-panel,
    .fi-dropdown-panel {
        min-width: min(13rem, calc(100vw - 1rem)) !important;
    }
}

/* KIRADOO-WIDGET-GOVERNANCE-V24 */
:root {
    --ks-widget-label-size: .75rem;
    --ks-widget-label-line: 1rem;
    --ks-widget-value-size: 1.75rem;
    --ks-widget-value-line: 2rem;
    --ks-widget-description-size: .75rem;
    --ks-widget-description-line: 1rem;
    --ks-widget-min-height: 7rem;
    --ks-widget-padding: 1.125rem;
}

:where(.fi-widgets, .fi-wi-widget, .fi-wi-stats-overview, .ks-widget) {
    min-width: 0;
    font-family: var(--ks-font-sans) !important;
}

.fi-widgets {
    gap: 1rem !important;
}

:where(.fi-wi-stats-overview-stats-ctn, .ks-widget-grid) {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
    gap: 1rem !important;
}

:where(.fi-wi-widget > .fi-section, .fi-wi-stats-overview-stat, .fi-wi-chart, .ks-widget) {
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-md) !important;
    background: var(--ks-shell-surface) !important;
    background-image: none !important;
    box-shadow: var(--ks-shell-shadow) !important;
}

:where(.fi-wi-widget, .fi-wi-widget > .fi-section, .fi-wi-stats-overview-stat, .fi-wi-chart, .ks-widget)::before,
:where(.fi-wi-widget, .fi-wi-widget > .fi-section, .fi-wi-stats-overview-stat, .fi-wi-chart, .ks-widget)::after {
    content: none !important;
    display: none !important;
}

:where(.fi-wi-widget > .fi-section, .fi-wi-stats-overview-stat, .fi-wi-chart, .ks-widget) {
    transform: none !important;
    transition: border-color 160ms ease, box-shadow 160ms ease !important;
}

:where(.fi-wi-widget > .fi-section, .fi-wi-stats-overview-stat, .fi-wi-chart, .ks-widget):hover {
    transform: none !important;
    border-color: color-mix(in srgb, var(--ks-shell-border) 68%, var(--ks-shell-text-secondary)) !important;
    box-shadow: var(--ks-shell-shadow) !important;
}

.fi-wi-stats-overview-stat {
    min-height: var(--ks-widget-min-height) !important;
    padding: var(--ks-widget-padding) !important;
}

:where(.fi-wi-stats-overview-stat-label, .ks-widget-label) {
    color: var(--ks-ui-muted-text) !important;
    font-size: var(--ks-widget-label-size) !important;
    font-weight: 600 !important;
    line-height: var(--ks-widget-label-line) !important;
    letter-spacing: .01em !important;
}

:where(.fi-wi-stats-overview-stat-value, .ks-widget-value) {
    color: var(--ks-ui-primary-text) !important;
    font-size: var(--ks-widget-value-size) !important;
    font-weight: 700 !important;
    line-height: var(--ks-widget-value-line) !important;
    letter-spacing: -.025em !important;
    font-variant-numeric: tabular-nums lining-nums;
}

:where(.fi-wi-stats-overview-stat-description, .ks-widget-description) {
    color: var(--ks-ui-muted-text) !important;
    font-size: var(--ks-widget-description-size) !important;
    font-weight: 400 !important;
    line-height: var(--ks-widget-description-line) !important;
}

.fi-wi-stats-overview-stat-description > svg {
    width: 1rem !important;
    height: 1rem !important;
}

:where(.fi-wi-chart-heading, .fi-wi-widget .fi-section-heading, .ks-widget-title) {
    color: var(--ks-ui-primary-text) !important;
    font-size: var(--ks-ui-component-size) !important;
    font-weight: 600 !important;
    line-height: var(--ks-ui-component-line) !important;
    letter-spacing: -.01em !important;
}

:where(.fi-wi-chart-description, .fi-wi-widget .fi-section-description, .ks-widget-subtitle) {
    color: var(--ks-ui-muted-text) !important;
    font-size: var(--ks-widget-description-size) !important;
    line-height: var(--ks-widget-description-line) !important;
}

.fi-wi-chart canvas {
    max-width: 100%;
}

.fi-wi-widget :where(.text-3xl, .text-2xl) {
    font-size: var(--ks-widget-value-size) !important;
    line-height: var(--ks-widget-value-line) !important;
}

.fi-wi-widget :where(.text-sm) {
    font-size: var(--ks-ui-control-size) !important;
    line-height: var(--ks-ui-control-line) !important;
}

.fi-wi-widget :where(.text-xs) {
    font-size: var(--ks-widget-description-size) !important;
    line-height: var(--ks-widget-description-line) !important;
}

@media (max-width: 640px) {
    :root {
        --ks-widget-value-size: 1.5rem;
        --ks-widget-value-line: 1.75rem;
        --ks-widget-min-height: 6.5rem;
        --ks-widget-padding: 1rem;
    }

    :where(.fi-wi-stats-overview-stats-ctn, .ks-widget-grid) {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    :where(.fi-wi-widget, .fi-wi-widget *, .ks-widget, .ks-widget *) {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* KIRADOO-UNIVERSAL-TABLE-EXPORT-V25 */
.fi-ta-header-toolbar:has(.ks-export-menu),
.fi-ta-header:has(.ks-export-menu) {
    align-items: center !important;
}

.ks-export-menu.fi-btn,
.fi-btn.ks-export-menu {
    min-height: 2.25rem !important;
    padding-inline: .75rem !important;
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-xs) !important;
    background: var(--ks-shell-surface) !important;
    color: var(--ks-ui-secondary-text) !important;
    box-shadow: none !important;
    font-size: var(--ks-ui-control-size) !important;
    font-weight: 600 !important;
}

.ks-export-menu.fi-btn:hover,
.fi-btn.ks-export-menu:hover {
    border-color: color-mix(in srgb, var(--ks-shell-border) 62%, var(--ks-shell-text-secondary)) !important;
    background: var(--ks-action-tertiary-hover) !important;
    color: var(--ks-ui-primary-text) !important;
}

.ks-export-menu :is(svg, .fi-icon) {
    width: 1rem !important;
    height: 1rem !important;
    color: currentColor !important;
}

.fi-dropdown-panel:has(.ks-export-menu-item) {
    min-width: 13rem !important;
    padding: .375rem !important;
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-sm) !important;
    background: var(--ks-shell-surface) !important;
    box-shadow: var(--ks-shell-shadow-raised) !important;
}

.ks-export-menu-item {
    min-height: 2.375rem !important;
    border-radius: .4375rem !important;
    color: var(--ks-ui-secondary-text) !important;
    font-size: var(--ks-ui-control-size) !important;
    font-weight: 500 !important;
}

.ks-export-menu-item:hover {
    background: var(--ks-action-tertiary-hover) !important;
    color: var(--ks-ui-primary-text) !important;
}

.ks-export-menu-item :is(svg, .fi-icon):not(.fi-loading-indicator) {
    width: 1rem !important;
    height: 1rem !important;
    color: var(--ks-ui-muted-text) !important;
}

@media (max-width: 640px) {
    .ks-export-menu.fi-btn,
    .fi-btn.ks-export-menu {
        min-width: 2.25rem !important;
        padding-inline: .625rem !important;
    }

    .ks-export-menu .fi-btn-label {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
    }
}

/* KIRADOO-CMS-PAGES-FLUID-DENSITY-V17 */
.ks-cms-pages-list .fi-main-ctn {
    width: 100% !important;
    min-width: 0 !important;
}

.ks-cms-pages-list .fi-main {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
}

.ks-cms-pages-list .fi-page-content > *,
.ks-cms-pages-list .fi-ta {
    justify-self: stretch !important;
    align-self: stretch !important;
}

@media (min-width: 1536px) {
    .ks-cms-pages-list .fi-ta-table [data-column="title"] {
        width: 30% !important;
    }

    .ks-cms-pages-list .fi-ta-table [data-column="path"] {
        width: 24% !important;
    }

    .ks-cms-pages-list .fi-ta-table [data-column="category_id"] {
        width: 15% !important;
    }

    .ks-cms-pages-list .fi-ta-table [data-column="updated_at"] {
        width: 12% !important;
    }
}

@media (min-width: 1024px) and (max-width: 1535px) {
    .ks-cms-pages-list .fi-ta-table [data-column="title"] {
        width: 38% !important;
    }

    .ks-cms-pages-list .fi-ta-table [data-column="path"] {
        width: 28% !important;
    }
}

/* KIRADOO-CMS-PAGES-NATIVE-V15 */
.fi-resource-list-records-page,
.fi-resource-list-records-page > .fi-page,
.fi-resource-list-records-page .fi-page-content,
.fi-resource-list-records-page .fi-ta {
    width: 100% !important;
    max-width: none !important;
}

.fi-resource-list-records-page .fi-ta-ctn,
.fi-resource-list-records-page .fi-ta-content,
.fi-resource-list-records-page .fi-ta-table {
    width: 100% !important;
    max-width: none !important;
    min-width: 100% !important;
}

.fi-header-actions .fi-btn.fi-color-primary > svg:not(.fi-loading-indicator) {
    display: block !important;
    width: 1rem !important;
    height: 1rem !important;
    color: var(--ks-action-primary-text) !important;
    stroke: currentColor !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.fi-ta-header-actions:has(.ks-export-action),
.fi-ta-header-toolbar:has(.ks-export-action) {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: .5rem !important;
}

.fi-ta-header-actions .ks-export-pdf-action,
.fi-ta-header-actions .ks-export-excel-action {
    margin-inline-start: 0 !important;
}

@media (max-width: 640px) {
    .fi-ta-header-actions:has(.ks-export-action) {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
    }
}

/*
 * Product typography contract.
 * This block intentionally wins over the retired high-contrast typography in
 * vastuengine-theme.css while that legacy surface theme remains loaded.
 */
.fi-body,
.fi-body button,
.fi-body input,
.fi-body select,
.fi-body textarea {
    font-family: var(--ks-font-sans) !important;
}

.fi-header-heading,
.fi-page-header-heading {
    color: var(--ks-shell-text) !important;
    font-size: var(--ks-type-page-title) !important;
    font-weight: 700 !important;
    line-height: 2.125rem !important;
    letter-spacing: -.025em !important;
}

.fi-section-header-heading,
.fi-modal-heading {
    color: var(--ks-shell-text) !important;
    font-weight: 600 !important;
    line-height: var(--ks-leading-base) !important;
}

.fi-header-subheading,
.fi-section-header-description,
.fi-fo-field-wrp-helper-text,
.fi-fo-field-wrp-hint,
.fi-breadcrumbs-item-label {
    color: var(--ks-shell-muted) !important;
    font-weight: 400 !important;
}

.fi-sidebar-group-label {
    color: var(--ks-shell-muted) !important;
    font-size: var(--ks-text-xs) !important;
    font-weight: 600 !important;
    line-height: var(--ks-leading-xs) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.fi-sidebar-item-label,
.fi-tabs-item-label,
.fi-dropdown-list-item-label {
    font-size: var(--ks-text-sm) !important;
    font-weight: 500 !important;
    line-height: var(--ks-leading-sm) !important;
}

.fi-ta-table {
    color: var(--ks-shell-text) !important;
    font-size: var(--ks-text-sm) !important;
    line-height: var(--ks-leading-sm) !important;
}

.fi-ta-table thead th,
.fi-ta-header-cell {
    color: var(--ks-shell-text-secondary) !important;
    font-size: var(--ks-text-xs) !important;
    font-weight: 600 !important;
    line-height: var(--ks-leading-xs) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.fi-fo-field-wrp-label,
.fi-tabs-item-label,
.fi-dropdown-list-item-label {
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.fi-ta-cell,
.fi-ta-text {
    color: var(--ks-shell-text) !important;
    font-weight: 400 !important;
}

.fi-wi-stats-overview-stat-label {
    color: var(--ks-shell-muted) !important;
    font-size: var(--ks-text-sm) !important;
    font-weight: 500 !important;
    line-height: var(--ks-leading-sm) !important;
}

.fi-wi-stats-overview-stat-value {
    color: var(--ks-shell-text) !important;
    font-variant-numeric: tabular-nums;
    font-weight: 700 !important;
    letter-spacing: -.025em;
}

.fi-fo-field-wrp-label label,
.fi-fo-field-wrp-label span,
.fi-btn,
.fi-badge {
    font-weight: 600 !important;
}

.fi-input,
.fi-select-input,
.fi-textarea {
    color: var(--ks-shell-text) !important;
    font-size: var(--ks-text-sm) !important;
    line-height: var(--ks-leading-sm) !important;
}

.fi-input::placeholder,
.fi-textarea::placeholder {
    color: var(--ks-shell-placeholder) !important;
    opacity: 1;
}

.fi-ta-table :is([data-column*="amount"], [data-column*="total"], [data-column*="date"], [data-column*="number"]),
.fi-wi-stats-overview-stat-value {
    font-variant-numeric: tabular-nums;
}

@media (max-width: 640px) {
    .fi-header-heading,
    .fi-page-header-heading {
        font-size: 1.5rem !important;
        line-height: 1.875rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media (forced-colors: active) {
    :where(a, button, input, select, textarea, [role="button"], [tabindex]):focus-visible {
        outline: 2px solid CanvasText !important;
    }

    .fi-sidebar-item.fi-active > .fi-sidebar-item-button {
        border-inline-start: 3px solid Highlight;
    }
}

/* KIRADOO-GLOBAL-TYPOGRAPHY-GOVERNANCE-V23 */
:root {
    --ks-ui-page-size: 1.75rem;
    --ks-ui-page-line: 2.125rem;
    --ks-ui-section-size: 1.25rem;
    --ks-ui-section-line: 1.75rem;
    --ks-ui-component-size: 1rem;
    --ks-ui-component-line: 1.5rem;
    --ks-ui-body-size: .875rem;
    --ks-ui-body-line: 1.25rem;
    --ks-ui-control-size: .8125rem;
    --ks-ui-control-line: 1.125rem;
    --ks-ui-caption-size: .75rem;
    --ks-ui-caption-line: 1rem;
    --ks-ui-primary-text: #29231f;
    --ks-ui-body-text: #493f38;
    --ks-ui-secondary-text: #5f564f;
    --ks-ui-muted-text: #746a62;
}

.dark {
    --ks-ui-primary-text: #fafafa;
    --ks-ui-body-text: #eee7df;
    --ks-ui-secondary-text: #ddd5cc;
    --ks-ui-muted-text: #b9aea3;
}

:where(body, button, input, select, textarea, option, dialog, .fi-layout, .fi-main, .fi-sidebar, .fi-modal-window, .fi-dropdown-panel, .fi-no-notification) {
    font-family: var(--ks-font-sans) !important;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

:where(.fi-header-heading, .ks-type-page) {
    color: var(--ks-ui-primary-text) !important;
    font-size: var(--ks-ui-page-size) !important;
    font-weight: 700 !important;
    line-height: var(--ks-ui-page-line) !important;
    letter-spacing: -.025em !important;
}

:where(.fi-section-heading, .ks-type-section) {
    color: var(--ks-ui-primary-text) !important;
    font-size: var(--ks-ui-section-size) !important;
    font-weight: 650 !important;
    line-height: var(--ks-ui-section-line) !important;
    letter-spacing: -.018em !important;
}

:where(.fi-modal-heading, .fi-dropdown-header-label, .ks-type-component) {
    color: var(--ks-ui-primary-text) !important;
    font-size: var(--ks-ui-component-size) !important;
    font-weight: 600 !important;
    line-height: var(--ks-ui-component-line) !important;
    letter-spacing: -.01em !important;
}

:where(.fi-header-subheading, .fi-section-description, .fi-modal-description, .fi-no-notification-body, .ks-type-body) {
    color: var(--ks-ui-body-text) !important;
    font-size: var(--ks-ui-body-size) !important;
    font-weight: 400 !important;
    line-height: var(--ks-ui-body-line) !important;
}

:where(.fi-sidebar-item-label, .fi-tabs-item-label, .fi-btn-label, .fi-dropdown-list-item-label, .fi-fo-field-wrp-label label, .fi-fo-field-wrp-label span) {
    font-size: var(--ks-ui-control-size) !important;
    font-weight: 600 !important;
    line-height: var(--ks-ui-control-line) !important;
    letter-spacing: 0 !important;
}

.fi-sidebar-item-label {
    color: var(--ks-nav-text) !important;
    font-weight: 500 !important;
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-button .fi-sidebar-item-label {
    color: var(--ks-nav-active) !important;
    font-weight: 600 !important;
}

:where(.fi-tabs-item-label, .fi-dropdown-list-item-label, .fi-fo-field-wrp-label label, .fi-fo-field-wrp-label span) {
    color: var(--ks-ui-secondary-text) !important;
}

:where(.fi-tabs-item.fi-active, .fi-tabs-item[aria-selected="true"]) .fi-tabs-item-label {
    color: var(--ks-ui-primary-text) !important;
}

:where(.fi-btn, .fi-icon-btn) {
    font-family: var(--ks-font-sans) !important;
    font-size: var(--ks-ui-control-size) !important;
    font-weight: 600 !important;
    line-height: var(--ks-ui-control-line) !important;
    letter-spacing: 0 !important;
}

:where(.fi-input, .fi-select-input, .fi-fo-textarea, .fi-fo-rich-editor, input:not([type="checkbox"], [type="radio"]), select, textarea) {
    color: var(--ks-ui-body-text) !important;
    font-family: var(--ks-font-sans) !important;
    font-size: var(--ks-ui-body-size) !important;
    font-weight: 400 !important;
    line-height: var(--ks-ui-body-line) !important;
}

:where(.fi-header-subheading, .fi-fo-field-wrp-helper-text, .fi-fo-field-wrp-hint, .fi-fo-field-wrp-error-message, .fi-sidebar-group-label, .fi-breadcrumbs, .fi-no-notification-date, .ks-type-meta, .ks-type-caption) {
    color: var(--ks-ui-muted-text) !important;
    font-size: var(--ks-ui-caption-size) !important;
    line-height: var(--ks-ui-caption-line) !important;
}

.fi-sidebar-group-label {
    color: var(--ks-nav-muted) !important;
    font-weight: 600 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase;
}

::placeholder {
    color: var(--ks-shell-placeholder) !important;
    opacity: 1;
}

@media (max-width: 640px) {
    :root {
        --ks-ui-page-size: 1.5rem;
        --ks-ui-page-line: 1.875rem;
        --ks-ui-section-size: 1.125rem;
        --ks-ui-section-line: 1.625rem;
    }
}

/* KIRADOO-TABLE-TYPOGRAPHY-V21 */
:root {
    --ks-table-title-size: 1rem;
    --ks-table-title-line: 1.5rem;
    --ks-table-column-size: .75rem;
    --ks-table-column-line: 1rem;
    --ks-table-data-size: .875rem;
    --ks-table-data-line: 1.25rem;
    --ks-table-meta-size: .75rem;
    --ks-table-meta-line: 1rem;
    --ks-table-technical-size: .78125rem;
    --ks-table-technical-line: 1.125rem;
    --ks-table-primary-text: #29231f;
    --ks-table-data-text: #493f38;
    --ks-table-secondary-text: #5f564f;
    --ks-table-meta-text: #746a62;
}

.dark {
    --ks-table-primary-text: #fafafa;
    --ks-table-data-text: #eee7df;
    --ks-table-secondary-text: #ddd5cc;
    --ks-table-meta-text: #b9aea3;
}

.fi-ta,
.fi-ta-table,
.fi-page-content table:not(.fi-ta-table) {
    font-family: var(--ks-font-sans) !important;
    font-kerning: normal;
    font-optical-sizing: auto;
    font-feature-settings: "cv02", "cv03", "cv04", "cv11", "kern";
}

.fi-ta-header-heading {
    color: var(--ks-table-primary-text) !important;
    font-size: var(--ks-table-title-size) !important;
    font-weight: 600 !important;
    line-height: var(--ks-table-title-line) !important;
    letter-spacing: -.012em !important;
}

.fi-ta-header-description {
    color: var(--ks-table-meta-text) !important;
    font-size: .8125rem !important;
    font-weight: 400 !important;
    line-height: 1.1875rem !important;
}

.fi-ta-header-cell,
.fi-page-content table:not(.fi-ta-table) th {
    color: var(--ks-table-secondary-text) !important;
    font-size: var(--ks-table-column-size) !important;
    font-weight: 600 !important;
    line-height: var(--ks-table-column-line) !important;
    letter-spacing: .005em !important;
    text-transform: none !important;
}

.fi-ta-cell,
.fi-page-content table:not(.fi-ta-table) td {
    color: var(--ks-table-data-text) !important;
    font-size: var(--ks-table-data-size) !important;
    font-weight: 400;
    line-height: var(--ks-table-data-line) !important;
}

.fi-ta-cell:is(
    .fi-ta-cell-title,
    .fi-ta-cell-name,
    .fi-ta-cell-page,
    .fi-ta-cell-subject,
    .fi-ta-cell-label
) .fi-ta-text-item-label {
    color: var(--ks-table-primary-text) !important;
    font-size: var(--ks-table-data-size) !important;
    font-weight: 600 !important;
    line-height: var(--ks-table-data-line) !important;
    letter-spacing: -.005em;
}

.fi-ta-text-description,
.fi-ta-cell small,
.fi-ta-cell .fi-text-xs {
    color: var(--ks-table-meta-text) !important;
    font-size: var(--ks-table-meta-size) !important;
    font-weight: 400 !important;
    line-height: var(--ks-table-meta-line) !important;
}

.fi-ta-cell:is(
    [class*="reference"],
    [class*="external-id"],
    [class*="uuid"],
    [class*="code"],
    [class*="version"]
) {
    color: var(--ks-table-secondary-text) !important;
    font-size: var(--ks-table-technical-size) !important;
    font-weight: 500 !important;
    line-height: var(--ks-table-technical-line) !important;
}

.fi-ta-cell:is(
    [class*="amount"],
    [class*="price"],
    [class*="total"],
    [class*="balance"],
    [class*="count"],
    [class*="quantity"],
    [class*="number"]
) {
    color: var(--ks-table-primary-text) !important;
    font-size: var(--ks-table-data-size) !important;
    font-weight: 500 !important;
}

.fi-ta-cell .fi-badge {
    font-family: var(--ks-font-sans) !important;
    font-size: var(--ks-table-meta-size) !important;
    font-weight: 600 !important;
    line-height: var(--ks-table-meta-line) !important;
}

.fi-ta-actions :is(.fi-btn,.fi-link),
.fi-pagination {
    color: var(--ks-table-secondary-text);
    font-family: var(--ks-font-sans) !important;
    font-size: .8125rem !important;
    font-weight: 500 !important;
    line-height: 1.125rem !important;
}

/* KIRADOO-TABLE-TYPOGRAPHY-GOVERNANCE-V22
   Shared roles keep native, custom and future operational tables identical. */
.ks-table-title {
    color: var(--ks-table-primary-text) !important;
    font: 600 var(--ks-table-title-size) / var(--ks-table-title-line) var(--ks-font-sans) !important;
    letter-spacing: -.012em;
}

.ks-table-column {
    color: var(--ks-table-secondary-text) !important;
    font: 600 var(--ks-table-column-size) / var(--ks-table-column-line) var(--ks-font-sans) !important;
}

.ks-table-primary {
    color: var(--ks-table-primary-text) !important;
    font: 600 var(--ks-table-data-size) / var(--ks-table-data-line) var(--ks-font-sans) !important;
}

.ks-table-data {
    color: var(--ks-table-data-text) !important;
    font: 400 var(--ks-table-data-size) / var(--ks-table-data-line) var(--ks-font-sans) !important;
}

.ks-table-meta {
    color: var(--ks-table-meta-text) !important;
    font: 400 var(--ks-table-meta-size) / var(--ks-table-meta-line) var(--ks-font-sans) !important;
}

.ks-table-number {
    color: var(--ks-table-primary-text) !important;
    font: 500 var(--ks-table-data-size) / var(--ks-table-data-line) var(--ks-font-sans) !important;
    font-variant-numeric: tabular-nums lining-nums;
    text-align: right;
}

.fi-page-content :is(
    .kcrm-table,
    .kapps-app-table,
    .kapps-table,
    .kg-table,
    .cmsr-table,
    .ks-data-table
) {
    color: var(--ks-table-data-text) !important;
    font-family: var(--ks-font-sans) !important;
    font-size: var(--ks-table-data-size) !important;
    line-height: var(--ks-table-data-line) !important;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
}

.fi-page-content :is(
    .kcrm-table,
    .kapps-app-table,
    .kapps-table,
    .kg-table,
    .cmsr-table,
    .ks-data-table
) :is(th,[role="columnheader"],[class*="table-head"]) {
    color: var(--ks-table-secondary-text) !important;
    font-family: var(--ks-font-sans) !important;
    font-size: var(--ks-table-column-size) !important;
    font-weight: 600 !important;
    line-height: var(--ks-table-column-line) !important;
    letter-spacing: .005em !important;
    text-transform: none !important;
}

.fi-page-content :is(
    .kcrm-table,
    .kapps-app-table,
    .kapps-table,
    .kg-table,
    .cmsr-table,
    .ks-data-table
) :is(td,[role="cell"],[class*="table-cell"]) {
    color: var(--ks-table-data-text) !important;
    font-family: var(--ks-font-sans) !important;
    font-size: var(--ks-table-data-size) !important;
    line-height: var(--ks-table-data-line) !important;
}

.fi-body :is(.fi-ta,.ks-data-table,.kcrm-table,.kapps-app-table) {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
}

/* Curator media library and picker: shared operational polish. */
.curator-panel,
.curator-panel-body,
.curator-panel-sidebar,
.curator-panel-toolbar {
    color: var(--ks-shell-text) !important;
    background: var(--ks-shell-surface) !important;
    border-color: var(--ks-shell-border) !important;
}

.curator-picker-grid {
    grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)) !important;
    gap: .75rem !important;
}

.curator-picker-grid li {
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: 12px !important;
    background: var(--ks-shell-surface) !important;
    box-shadow: none !important;
}

.curator-picker-grid li:hover {
    border-color: var(--ks-shell-brand) !important;
    box-shadow: var(--ks-shell-shadow) !important;
    transform: translateY(-1px) !important;
}

.curator-picker-grid li img {
    height: 8.5rem !important;
    object-fit: contain !important;
    background: var(--ks-shell-soft) !important;
}

.curator-panel [class*="filepond"],
.curator-panel [x-ref="uploadArea"] {
    min-height: 9rem;
    border: 1.5px dashed color-mix(in srgb, var(--ks-shell-brand) 45%, var(--ks-shell-border)) !important;
    background: var(--ks-shell-soft) !important;
}

@media (max-width: 640px) {
    .curator-picker-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .5rem !important;
    }

    .curator-picker-grid li img {
        height: 7rem !important;
    }

    .curator-panel-toolbar {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .65rem !important;
    }

    .curator-panel-sidebar {
        border-left: 0 !important;
        border-top: 1px solid var(--ks-shell-border) !important;
    }
}

/* MASTER-SHELL-V4
 * Shared operating system for platform admin and every tenant application.
 * Component rules stay Filament-native so plugins and future apps inherit them.
 */
:root {
    --ks-space-1: .25rem;
    --ks-space-2: .5rem;
    --ks-space-3: .75rem;
    --ks-space-4: 1rem;
    --ks-space-5: 1.25rem;
    --ks-space-6: 1.5rem;
    --ks-control-height: 2.5rem;
    --ks-content-max: 100rem;
    --ks-sidebar-width: 17rem;
    --ks-transition-fast: 140ms cubic-bezier(.2, 0, 0, 1);
    --ks-transition-base: 200ms cubic-bezier(.2, 0, 0, 1);
    color-scheme: light;
}

.dark { color-scheme: dark; }

html {
    scroll-padding-top: 5rem;
    scrollbar-color: color-mix(in srgb, var(--ks-shell-muted) 44%, transparent) transparent;
    scrollbar-width: thin;
}

body {
    min-width: 20rem;
    accent-color: var(--ks-shell-brand);
    font-variant-numeric: proportional-nums;
}

* { border-color: var(--ks-shell-border); }

*::-webkit-scrollbar { width: .65rem; height: .65rem; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 999px;
    background: color-mix(in srgb, var(--ks-shell-muted) 40%, transparent);
    background-clip: padding-box;
}
*::-webkit-scrollbar-thumb:hover { background-color: color-mix(in srgb, var(--ks-shell-muted) 62%, transparent); }

.fi-main {
    max-width: var(--ks-content-max);
    margin-inline: auto;
}

.fi-page {
    container-type: inline-size;
}

/* Top navigation: quiet glass, precise hit targets, visible workspace context. */
.fi-topbar {
    min-height: 4rem;
    isolation: isolate;
}

.fi-topbar nav {
    min-height: 4rem;
    gap: var(--ks-space-2);
    padding-inline: clamp(.75rem, 1.6vw, 1.25rem);
}

.fi-topbar :is(.fi-icon-btn, .fi-dropdown-trigger, button) {
    border-radius: var(--ks-radius-sm) !important;
}

.fi-topbar :is(.fi-icon-btn, button):hover {
    background: var(--ks-shell-soft) !important;
}

.fi-global-search-field {
    width: min(30rem, 34vw);
}

.fi-global-search-field .fi-input-wrp {
    background: color-mix(in srgb, var(--ks-shell-soft) 88%, transparent) !important;
}

/* Sidebar: stable information architecture with restrained active emphasis. */
.fi-sidebar {
    width: var(--ks-sidebar-width) !important;
}

.fi-sidebar-nav {
    padding: .85rem .65rem 1.25rem !important;
    scrollbar-gutter: stable;
}

.fi-sidebar-nav-groups { gap: 1rem !important; }

.fi-sidebar-group-label {
    padding-inline: .65rem;
    color: var(--ks-shell-muted) !important;
    font-size: .69rem !important;
    font-weight: 700 !important;
    letter-spacing: .075em !important;
    text-transform: uppercase;
}

.fi-sidebar-group-button {
    min-height: 2rem;
    border-radius: .55rem;
}

.fi-sidebar-group-items {
    margin-top: .22rem !important;
    gap: .14rem !important;
}

.fi-sidebar-item-button {
    position: relative;
    gap: .7rem !important;
    min-height: 2.45rem;
    border-radius: .65rem !important;
    transition: color var(--ks-transition-fast), background-color var(--ks-transition-fast), box-shadow var(--ks-transition-fast) !important;
}

.fi-sidebar-item-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-button {
    background: var(--ks-shell-brand-soft) !important;
    box-shadow: inset 3px 0 0 var(--ks-shell-brand) !important;
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-button .fi-sidebar-item-label {
    color: var(--ks-shell-brand-strong) !important;
    font-weight: 600 !important;
}

.fi-sidebar-item-badge-ctn .fi-badge {
    min-width: 1.4rem;
    justify-content: center;
    font-variant-numeric: tabular-nums;
}

/* Page framing and hierarchy. */
.fi-page-header {
    padding-bottom: .25rem;
}

.fi-page-header-main-ctn {
    min-width: 0;
}

.fi-header-heading { max-width: 32ch; }
.fi-header-subheading { max-width: 72ch; font-size: var(--ks-type-body); }

.fi-breadcrumbs {
    min-height: 1.5rem;
    margin-bottom: .25rem;
}

.fi-breadcrumbs-list { gap: .3rem !important; }
.fi-breadcrumbs-item-label { transition: color var(--ks-transition-fast); }

.fi-header-actions {
    align-items: center;
    gap: var(--ks-space-2) !important;
}

/* Cards and sections: one surface language, no decorative noise. */
.fi-section,
.fi-wi-widget > :is(.fi-section, .fi-wi-stats-overview-stat),
.fi-ta {
    overflow: clip;
    transition: border-color var(--ks-transition-base), box-shadow var(--ks-transition-base), transform var(--ks-transition-base);
}

.fi-section:hover { box-shadow: var(--ks-shell-shadow-raised) !important; }

.fi-section-header {
    gap: var(--ks-space-3);
    padding: var(--ks-space-4) var(--ks-space-5) !important;
}

.fi-section-content { padding: var(--ks-space-5) !important; }

.fi-section-header-description {
    max-width: 72ch;
    font-size: var(--ks-type-meta) !important;
    line-height: 1.5;
}

/* Stats: readable business metrics with aligned digits. */
.fi-wi-stats-overview-stats-ctn { gap: var(--ks-space-4) !important; }

.fi-wi-stats-overview-stat {
    min-height: 8rem;
    padding: var(--ks-space-5) !important;
}

.fi-wi-stats-overview-stat-value {
    font-size: clamp(1.5rem, 2.4vw, 2rem) !important;
    line-height: 1.1 !important;
    font-variant-numeric: tabular-nums lining-nums;
}

.fi-wi-stats-overview-stat-description {
    color: var(--ks-shell-muted) !important;
    font-size: var(--ks-type-meta) !important;
}

/* Forms: clear labels, predictable control geometry and validation. */
.fi-fo-component-ctn { gap: var(--ks-space-5) !important; }
.fi-fo-field-wrp { min-width: 0; }
.fi-fo-field-wrp-label { margin-bottom: .4rem; }
.fi-fo-field-wrp-helper-text { max-width: 70ch; font-size: var(--ks-type-meta) !important; }

.fi-input-wrp {
    min-height: var(--ks-control-height);
    overflow: hidden;
    border-width: 1px !important;
    border-style: solid !important;
}

.fi-input,
.fi-select-input,
.fi-textarea {
    caret-color: var(--ks-shell-brand);
}

.fi-textarea { min-height: 6.5rem; line-height: 1.55 !important; }

.fi-checkbox-input,
.fi-radio-input {
    accent-color: var(--ks-shell-brand);
}

.fi-toggle-on { background: var(--ks-shell-brand) !important; }

/* Actions: consistent hierarchy and less visual weight for secondary actions. */
.fi-btn {
    gap: .45rem !important;
    white-space: nowrap;
}

.fi-btn:not(.fi-btn-color-primary) {
    box-shadow: none !important;
}

.fi-btn.fi-btn-outlined {
    border-color: var(--ks-shell-border) !important;
    background: var(--ks-shell-surface) !important;
}

.fi-btn.fi-btn-outlined:hover { background: var(--ks-shell-soft) !important; }

/* Data tables: professional density, sticky context and aligned business values. */
.fi-ta-header {
    gap: var(--ks-space-3);
    padding: var(--ks-space-4) var(--ks-space-5) !important;
    background: var(--ks-shell-surface);
    border-bottom: 1px solid var(--ks-shell-border);
}

.fi-ta-header-heading { font-size: var(--ks-type-component-title) !important; font-weight: 600 !important; }
.fi-ta-header-description { max-width: 72ch; color: var(--ks-shell-muted) !important; }
.fi-ta-content { overflow-x: auto; scrollbar-gutter: stable; }

.fi-ta-table thead {
    position: sticky;
    top: 0;
    z-index: 2;
}

.fi-ta-header-cell { height: 2.75rem; }
.fi-ta-cell { min-height: 3.25rem; vertical-align: middle; }
.fi-ta-row:last-child .fi-ta-cell { border-bottom: 0 !important; }

.fi-ta-table :is([data-column*="amount"], [data-column*="price"], [data-column*="total"], [data-column*="count"], [data-column*="date"], [data-column*="number"]) {
    font-variant-numeric: tabular-nums lining-nums;
}

.fi-ta-actions { gap: .25rem !important; }
.fi-ta-empty-state-heading { font-size: var(--ks-type-component-title) !important; font-weight: 600 !important; }
.fi-ta-empty-state-description { max-width: 52ch; margin-inline: auto; color: var(--ks-shell-muted) !important; }

/* Tabs, badges and pagination. */
.fi-tabs-item {
    min-height: 2.15rem;
    padding-inline: .75rem !important;
    transition: color var(--ks-transition-fast), background-color var(--ks-transition-fast), box-shadow var(--ks-transition-fast);
}

.fi-tabs-item.fi-active,
.fi-tabs-item[aria-selected="true"] {
    color: var(--ks-shell-text) !important;
    background: var(--ks-shell-surface) !important;
    box-shadow: 0 1px 4px rgba(41, 37, 36, .09);
}

.fi-badge {
    min-height: 1.45rem;
    padding-inline: .5rem !important;
    font-size: var(--ks-type-caption) !important;
    line-height: 1.2 !important;
}

.fi-pagination { padding: var(--ks-space-3) var(--ks-space-4) !important; }
.fi-pagination-item { font-variant-numeric: tabular-nums; }

/* Overlays and feedback: polished, readable, keyboard-safe. */
.fi-dropdown-panel {
    overflow: hidden;
    border: 1px solid var(--ks-shell-border) !important;
    box-shadow: var(--ks-shell-shadow-raised) !important;
}

.fi-dropdown-list { padding: .35rem !important; }
.fi-dropdown-list-item { min-height: 2.35rem; border-radius: var(--ks-radius-xs) !important; }
.fi-dropdown-list-item:hover { background: var(--ks-shell-soft) !important; }

.fi-modal-window {
    border: 1px solid var(--ks-shell-border) !important;
    box-shadow: 0 28px 90px rgba(28, 25, 23, .18) !important;
}

.fi-modal-header,
.fi-modal-footer { padding: var(--ks-space-5) !important; }
.fi-modal-content { padding: var(--ks-space-5) !important; }

.fi-no-notification {
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-md) !important;
    background: var(--ks-shell-surface) !important;
    box-shadow: var(--ks-shell-shadow-raised) !important;
}

.fi-loading-indicator { color: var(--ks-shell-brand) !important; }

[wire\:loading] { cursor: progress; }

/* Dark surfaces: keep contrast semantic rather than page-specific. */
.dark :is(.fi-section, .fi-ta, .fi-dropdown-panel, .fi-modal-window, .fi-no-notification) {
    background: var(--ks-shell-surface) !important;
}

.dark .fi-input-wrp,
.dark .fi-btn.fi-btn-outlined {
    border-color: var(--ks-shell-border) !important;
    background: var(--ks-shell-soft) !important;
}

.dark .fi-ta-header-cell { background: var(--ks-shell-soft) !important; }

/* Responsive master layout: preserve hierarchy before reducing density. */
@container (max-width: 48rem) {
    .fi-section-header { align-items: flex-start !important; }
    .fi-section-header-actions { width: 100%; }
}

@media (max-width: 768px) {
    :root { --ks-control-height: 2.75rem; }

    .fi-main { padding-inline: .85rem !important; }
    .fi-global-search-field { width: 100%; }
    .fi-page-header { gap: var(--ks-space-4) !important; }
    .fi-page-header-main-ctn { width: 100%; }
    .fi-section-content,
    .fi-section-header { padding: var(--ks-space-4) !important; }
    .fi-ta-header { padding: var(--ks-space-4) !important; }
    .fi-wi-stats-overview-stat { min-height: 7rem; }
}

@media (max-width: 480px) {
    .fi-header-actions { grid-template-columns: 1fr !important; }
    .fi-header-actions > .fi-btn { width: 100%; }
    .fi-tabs { border-inline: 0; border-radius: 0 !important; }
    .fi-modal-header,
    .fi-modal-content,
    .fi-modal-footer { padding: var(--ks-space-4) !important; }
}

@media (prefers-contrast: more) {
    :root { --ks-shell-border: #a8a29e; --ks-shell-muted: #57534e; }
    .dark { --ks-shell-border: #78716c; --ks-shell-muted: #d6d3d1; }
    .fi-sidebar-item.fi-active > .fi-sidebar-item-button { outline: 1px solid var(--ks-shell-brand); }
}

@media print {
    .fi-sidebar,
    .fi-topbar,
    .fi-header-actions,
    .fi-ta-actions { display: none !important; }
    .fi-main { max-width: none; padding: 0 !important; }
    .fi-section,
    .fi-ta { box-shadow: none !important; break-inside: avoid; }
}

/* MASTER-SHELL-V6 — enterprise data-surface protocol.
 * Wide data pages use the available workspace. Column widths remain semantic:
 * identity/content flexes; status, numeric and actions stay compact.
 */
:root {
    --ks-data-row-height: 3.25rem;
    --ks-data-head-height: 2.75rem;
    --ks-data-min-width: 46rem;
    --ks-data-cell-x: 1rem;
}

.fi-main,
.fi-main > .fi-page,
.fi-page,
.fi-page-content,
.fi-page-content > *,
.fi-ta,
.fi-ta-ctn,
.fi-ta-content {
    min-width: 0;
}

.fi-main > .fi-page,
.fi-page:has(.fi-ta),
.fi-page:has(.fi-ta) .fi-page-content,
.fi-page:has(.fi-ta) .fi-ta,
.fi-page:has(.fi-ta) .fi-ta-ctn {
    width: 100%;
    max-width: none;
}

.fi-page:has(.fi-ta) {
    align-self: stretch;
}

.fi-ta {
    isolation: isolate;
}

.fi-ta-content {
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.fi-ta-table {
    width: 100% !important;
    min-width: var(--ks-data-min-width);
    table-layout: auto;
    border-collapse: separate;
    border-spacing: 0;
}

.fi-ta-table :is(th, td) {
    padding-inline: var(--ks-data-cell-x) !important;
}

.fi-ta-table thead tr {
    height: var(--ks-data-head-height);
}

.fi-ta-table tbody tr {
    min-height: var(--ks-data-row-height);
}

.fi-ta-table :is(th, td):first-child {
    padding-left: 1.25rem !important;
}

.fi-ta-table :is(th, td):last-child {
    padding-right: 1.25rem !important;
}

/* Primary/identity content receives the flexible share of the table. */
.fi-ta-table :is(th, td):first-child:not(.fi-ta-selection-cell) {
    width: clamp(15rem, 34%, 34rem);
}

/* Operational metadata stays scannable instead of consuming equal columns. */
.fi-ta-table :is(
    [data-column*="status"],
    [data-column*="version"],
    [data-column*="date"],
    [data-column*="amount"],
    [data-column*="price"],
    [data-column*="total"],
    [data-column*="count"],
    [data-column*="number"]
) {
    width: 1%;
    white-space: nowrap;
}

.fi-ta-table :is(.fi-ta-actions-header-cell, .fi-ta-actions-cell),
.fi-ta-actions {
    width: 1%;
    white-space: nowrap;
}

.fi-ta-header-toolbar {
    width: 100%;
    flex-wrap: wrap;
    align-items: center;
}

.fi-ta-search-field {
    flex: 1 1 17rem;
    width: min(100%, 28rem);
    max-width: 28rem;
}

.fi-ta-filters,
.fi-ta-header-actions {
    flex: 0 0 auto;
}

.fi-ta-pagination,
.fi-pagination {
    min-height: var(--ks-data-row-height);
}

/* Blade-authored operational tables inherit the same geometry as Filament. */
.fi-page-content table:not(.fi-ta-table) {
    width: 100%;
    max-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    color: var(--ks-shell-text);
    font-size: var(--ks-type-body);
}

.fi-page-content table:not(.fi-ta-table) th {
    height: var(--ks-data-head-height);
    padding: .65rem var(--ks-data-cell-x);
    color: var(--ks-shell-text-secondary);
    background: var(--ks-shell-soft);
    border-bottom: 1px solid var(--ks-shell-border);
    font-size: var(--ks-type-caption);
    font-weight: 600;
    letter-spacing: 0;
    text-align: left;
    text-transform: none;
}

.fi-page-content table:not(.fi-ta-table) td {
    min-height: var(--ks-data-row-height);
    padding: .8rem var(--ks-data-cell-x);
    border-bottom: 1px solid var(--ks-shell-border);
    vertical-align: middle;
}

.fi-page-content table:not(.fi-ta-table) tbody tr {
    background: var(--ks-shell-surface);
    transition: background-color var(--ks-transition-fast);
}

.fi-page-content table:not(.fi-ta-table) tbody tr:hover {
    background: var(--ks-shell-row-hover);
}

@media (min-width: 90rem) {
    .fi-main:has(.fi-ta) {
        max-width: none;
        padding-inline: clamp(1.5rem, 2.2vw, 2.75rem) !important;
    }
}

/* KIRADOO-ACTION-HIERARCHY-V11
   Monochrome is layered, not uniformly dark. Only a page's dominant commitment
   is solid graphite; navigation, utilities and row operations remain quieter. */
.fi-header-heading {
    color: var(--ks-shell-text) !important;
    font-weight: 700 !important;
    letter-spacing: -.025em !important;
}

.fi-section-header-heading,
.fi-ta-header-heading {
    color: var(--ks-shell-text) !important;
    font-weight: 600 !important;
}

.fi-ta-header-cell,
.fi-page-content table:not(.fi-ta-table) th {
    background: var(--ks-table-heading) !important;
    color: var(--ks-table-heading-text) !important;
    font-weight: 600 !important;
}

.fi-tabs {
    border-color: var(--ks-shell-border) !important;
    background: var(--ks-action-secondary) !important;
    box-shadow: none !important;
}

.fi-tabs-item {
    color: var(--ks-shell-text-secondary) !important;
    background: transparent !important;
    box-shadow: none !important;
}

.fi-tabs-item:hover {
    color: var(--ks-shell-text) !important;
    background: color-mix(in srgb, var(--ks-shell-surface) 58%, transparent) !important;
}

.fi-tabs-item.fi-active,
.fi-tabs-item[aria-selected="true"] {
    color: var(--ks-shell-text) !important;
    background: var(--ks-shell-surface) !important;
    box-shadow: 0 1px 2px rgba(24, 24, 27, .08) !important;
}

/* Secondary utilities are softly filled, not another dark commitment. */
.fi-btn:is(.fi-color-gray, .fi-color-info),
.fi-btn-color-gray,
.fi-btn-color-info,
.kcrm-action.neutral,
.kui04-button:not(.kui04-button-primary) {
    border: 1px solid var(--ks-shell-border) !important;
    background: var(--ks-action-secondary) !important;
    color: var(--ks-shell-text) !important;
    box-shadow: none !important;
}

.fi-btn:is(.fi-color-gray, .fi-color-info):hover,
.fi-btn-color-gray:hover,
.fi-btn-color-info:hover,
.kcrm-action.neutral:hover,
.kui04-button:not(.kui04-button-primary):hover {
    border-color: var(--ks-action-secondary-border-hover) !important;
    background: var(--ks-action-secondary-hover) !important;
}

/* Dense and repeated actions must remain tertiary even when their server-side
   action was historically declared as primary. */
.fi-ta-actions .fi-btn,
.fi-ta-actions .fi-icon-btn,
.fi-ta-cell .fi-btn,
.fi-section .fi-btn.fi-size-sm.fi-color-primary,
.fi-section .fi-btn.fi-color-primary.fi-size-sm {
    border: 1px solid transparent !important;
    background: transparent !important;
    color: var(--ks-shell-text-secondary) !important;
    box-shadow: none !important;
}

.fi-ta-actions :is(.fi-btn,.fi-icon-btn):hover,
.fi-ta-cell .fi-btn:hover,
.fi-section .fi-btn.fi-size-sm.fi-color-primary:hover,
.fi-section .fi-btn.fi-color-primary.fi-size-sm:hover {
    border-color: var(--ks-shell-border) !important;
    background: var(--ks-action-tertiary-hover) !important;
    color: var(--ks-shell-text) !important;
}

/* The header is the canonical location for the single strong page action. */
.fi-header-actions .fi-btn.fi-color-primary,
.fi-header-actions .fi-btn-color-primary,
.kui04-button-primary,
.kcrm-action.primary {
    border-color: var(--ks-shell-brand) !important;
    background: var(--ks-shell-brand) !important;
    color: #fff !important;
    box-shadow: none !important;
}

/* KIRADOO-EXPORT-TOOLBAR-V12
   Export is table utility, not a page commitment and not a data row. */
.fi-ta-header-toolbar:has(.ks-export-action) {
    width: 100% !important;
    padding: .75rem 1rem !important;
    border-bottom: 1px solid var(--ks-shell-border) !important;
    background: var(--ks-shell-surface) !important;
}

.ks-export-action,
.fi-btn.ks-export-action,
.kcrm .ks-export-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .45rem !important;
    min-height: 2.25rem !important;
    padding-inline: .75rem !important;
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-xs) !important;
    background: var(--ks-action-secondary) !important;
    color: var(--ks-shell-text-secondary) !important;
    box-shadow: none !important;
    font-size: var(--ks-type-meta) !important;
    font-weight: 600 !important;
    line-height: 1 !important;
}

.ks-export-action:hover,
.fi-btn.ks-export-action:hover,
.kcrm .ks-export-action:hover {
    border-color: var(--ks-action-secondary-border-hover) !important;
    background: var(--ks-action-secondary-hover) !important;
    color: var(--ks-shell-text) !important;
}

.ks-export-action:focus-visible {
    outline: 3px solid var(--ks-shell-focus) !important;
    outline-offset: 2px !important;
}

.ks-export-action svg:not(.fi-loading-indicator),
.ks-export-action-icon {
    display: block !important;
    flex: 0 0 auto !important;
    width: 1rem !important;
    height: 1rem !important;
    color: currentColor !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.fi-ta-header-toolbar .ks-export-pdf-action {
    margin-inline-start: auto !important;
}

.kcrm .kcrm-toolbar:has(.ks-export-action) {
    padding: .75rem 0 !important;
    border-bottom: 1px solid var(--ks-shell-border) !important;
    background: transparent !important;
}

@media (max-width: 640px) {
    .fi-ta-header-toolbar:has(.ks-export-action) {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .5rem !important;
    }

    .fi-ta-header-toolbar:has(.ks-export-action) > :not(.ks-export-action) {
        grid-column: 1 / -1;
    }

    .fi-ta-header-toolbar .ks-export-pdf-action {
        margin-inline-start: 0 !important;
    }

    .ks-export-action {
        width: 100% !important;
    }
}

.fi-header-actions .fi-btn.fi-color-primary:hover,
.fi-header-actions .fi-btn-color-primary:hover,
.kui04-button-primary:hover,
.kcrm-action.primary:hover {
    background: var(--ks-shell-brand-strong) !important;
}

/* Sidebar selection is a quiet navigation state, never another call-to-action. */
.fi-sidebar-item.fi-active > .fi-sidebar-item-button {
    background: #382f29 !important;
    box-shadow: inset 2px 0 0 #d8c8b9 !important;
}

.fi-sidebar-item:not(.fi-active) > .fi-sidebar-item-button:hover {
    background: #2b241f !important;
}

@media (max-width: 768px) {
    :root {
        --ks-data-min-width: 42rem;
        --ks-data-cell-x: .8rem;
    }

    .fi-main:has(.fi-ta) {
        padding-inline: .75rem !important;
    }

    .fi-ta {
        border-radius: var(--ks-radius-md) !important;
    }

    .fi-ta-header-toolbar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .fi-ta-search-field {
        grid-column: 1 / -1;
        width: 100%;
        max-width: none;
    }

    .fi-ta-content {
        scrollbar-width: thin;
        scroll-snap-type: x proximity;
    }

    .fi-page-content table:not(.fi-ta-table) {
        min-width: 40rem;
    }
}

@media (max-width: 480px) {
    :root {
        --ks-data-min-width: 38rem;
    }

    .fi-main:has(.fi-ta) {
        padding-inline: .5rem !important;
    }

    .fi-ta-header {
        padding: .9rem !important;
    }

    .fi-ta-header-toolbar {
        grid-template-columns: 1fr;
    }

    .fi-ta-header-actions,
    .fi-ta-filters {
        width: 100%;
    }

    .fi-ta-header-actions > *,
    .fi-ta-filters > * {
        min-height: 2.75rem;
    }
}

/* AUTH-V4: secure first impression shared by admin and tenant authentication. */
.fi-simple-layout {
    position: relative;
    isolation: isolate;
    min-height: 100dvh;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 10%, color-mix(in srgb, var(--ks-shell-brand) 12%, transparent), transparent 30rem),
        radial-gradient(circle at 88% 82%, color-mix(in srgb, var(--ks-state-info) 10%, transparent), transparent 28rem),
        var(--ks-shell-bg) !important;
}

.fi-simple-layout::before,
.fi-simple-layout::after {
    position: fixed;
    z-index: -1;
    width: 22rem;
    height: 22rem;
    border: 1px solid color-mix(in srgb, var(--ks-shell-brand) 14%, transparent);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.fi-simple-layout::before {
    top: -14rem;
    right: -8rem;
    box-shadow: 0 0 0 4rem color-mix(in srgb, var(--ks-shell-brand) 2.5%, transparent), 0 0 0 8rem color-mix(in srgb, var(--ks-shell-brand) 1.5%, transparent);
}

.fi-simple-layout::after { bottom: -17rem; left: -10rem; }

.fi-simple-layout-header {
    padding-top: clamp(2rem, 7vh, 5rem);
}

.fi-simple-main-ctn {
    width: min(100%, 31rem) !important;
    padding-inline: 1rem;
}

.fi-simple-main {
    position: relative;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--ks-shell-border) 82%, var(--ks-shell-brand)) !important;
    border-radius: 1.15rem !important;
    background: color-mix(in srgb, var(--ks-shell-surface) 94%, transparent) !important;
    box-shadow: 0 28px 80px rgba(41, 37, 36, .12) !important;
    backdrop-filter: blur(18px);
}

.fi-simple-main::before {
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: linear-gradient(90deg, var(--ks-shell-brand), color-mix(in srgb, var(--ks-shell-brand) 55%, var(--ks-state-info)), var(--ks-state-info));
    content: "";
}

.fi-simple-page-content { padding: clamp(1.25rem, 4vw, 2rem) !important; }

.fi-simple-page .fi-sc-form > .fi-grid,
.fi-simple-page [x-data^="filamentSchema"] > .fi-grid {
    row-gap: 1.15rem !important;
}

.fi-simple-header { margin-bottom: 1.5rem !important; text-align: left !important; }

.fi-simple-header-heading {
    color: var(--ks-shell-text) !important;
    font-size: 1.55rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: -.025em !important;
    text-wrap: balance;
}

.fi-simple-header-subheading {
    margin-top: .45rem !important;
    color: var(--ks-shell-muted) !important;
    font-size: var(--ks-type-body) !important;
    line-height: 1.55 !important;
}

.fi-simple-page .fi-btn[type="submit"] {
    width: 100%;
    min-height: 2.75rem;
    margin-top: .25rem;
}

.fi-simple-page .fi-input-wrp {
    min-height: 2.8rem;
    border-color: color-mix(in srgb, var(--ks-shell-border) 76%, var(--ks-shell-text-secondary)) !important;
}

.fi-simple-page .fi-input-wrp:hover {
    border-color: color-mix(in srgb, var(--ks-shell-border) 48%, var(--ks-shell-brand)) !important;
}

.fi-simple-page .fi-input-wrp:focus-within {
    border-color: var(--ks-shell-brand) !important;
}

.fi-simple-page .fi-fo-field-wrp { gap: .4rem; }
.fi-simple-page .fi-link { font-size: var(--ks-type-meta) !important; }

.fi-simple-user-menu-ctn {
    top: 1rem !important;
    right: 1rem !important;
}

.dark .fi-simple-main {
    background: color-mix(in srgb, var(--ks-shell-surface) 92%, transparent) !important;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .34) !important;
}

/* Dashboard composition: business-first, consistent rhythm. */
.fi-page:has(.fi-wi-stats-overview) .fi-page-header {
    padding-bottom: var(--ks-space-2);
}

.fi-page:has(.fi-wi-stats-overview) .fi-widgets {
    gap: var(--ks-space-5) !important;
}

.fi-page:has(.fi-wi-stats-overview) .fi-wi-stats-overview-stats-ctn {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)) !important;
}

@media (max-width: 640px) {
    .fi-simple-layout-header { padding-top: 1.5rem; }
    .fi-simple-main-ctn { padding-inline: .75rem; }
    .fi-simple-page-content { padding: 1.25rem !important; }
}

/* PLATFORM-OPS-V1: actionable exceptions and safe quick operations. */
.ks-platform-ops {
    overflow: hidden;
    border: 1px solid var(--ks-shell-border);
    border-radius: 1rem;
    background: var(--ks-shell-surface);
    box-shadow: var(--ks-shell-shadow);
}

.ks-platform-ops__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem;
    border-bottom: 1px solid var(--ks-shell-border);
}

.ks-platform-ops__kicker {
    margin: 0 0 .3rem;
    color: var(--ks-shell-brand);
    font-size: var(--ks-type-caption);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ks-platform-ops__head h2 {
    margin: 0;
    color: var(--ks-shell-text);
    font-size: var(--ks-type-section-title);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.02em;
}

.ks-platform-ops__head > div > p:last-child {
    max-width: 68ch;
    margin: .35rem 0 0;
    color: var(--ks-shell-muted);
    font-size: var(--ks-type-meta);
    line-height: 1.5;
}

.ks-platform-ops__count {
    flex: none;
    padding: .35rem .6rem;
    border-radius: 999px;
    color: var(--ks-state-warning);
    background: color-mix(in srgb, var(--ks-state-warning) 10%, transparent);
    font-size: var(--ks-type-caption);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.ks-platform-ops__count.is-clear {
    color: var(--ks-state-success);
    background: color-mix(in srgb, var(--ks-state-success) 10%, transparent);
}

.ks-platform-ops__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ks-platform-ops__lane {
    min-width: 0;
    padding: 1rem;
    border-right: 1px solid var(--ks-shell-border);
}

.ks-platform-ops__lane:last-child { border-right: 0; }

.ks-platform-ops__lane-head,
.ks-platform-ops__lane-head > div {
    display: flex;
    align-items: center;
}

.ks-platform-ops__lane-head {
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .65rem;
}

.ks-platform-ops__lane-head > div { min-width: 0; gap: .45rem; }
.ks-platform-ops__lane-head strong { overflow: hidden; font-size: var(--ks-type-meta); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.ks-platform-ops__lane-head a { flex: none; color: var(--ks-shell-brand-strong); font-size: var(--ks-type-caption); font-weight: 600; text-decoration: none; }
.ks-platform-ops__lane-head a:hover { text-decoration: underline; text-underline-offset: .18em; }

.ks-platform-ops__signal {
    width: .5rem;
    height: .5rem;
    flex: none;
    border-radius: 50%;
    background: var(--ks-state-warning);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--ks-state-warning) 10%, transparent);
}

.ks-platform-ops__signal.is-billing { background: var(--ks-shell-brand); box-shadow: 0 0 0 4px color-mix(in srgb, var(--ks-shell-brand) 10%, transparent); }
.ks-platform-ops__signal.is-app { background: var(--ks-state-info); box-shadow: 0 0 0 4px color-mix(in srgb, var(--ks-state-info) 10%, transparent); }
.ks-platform-ops__items { display: grid; gap: .3rem; }

.ks-platform-ops__item {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-height: 3.45rem;
    padding: .6rem .65rem;
    border: 1px solid transparent;
    border-radius: .65rem;
    color: var(--ks-shell-text);
    text-decoration: none;
    transition: background-color var(--ks-transition-fast), border-color var(--ks-transition-fast), transform var(--ks-transition-fast);
}

.ks-platform-ops__item:hover {
    border-color: var(--ks-shell-border);
    background: var(--ks-shell-soft);
    transform: translateY(-1px);
}

.ks-platform-ops__item > span { display: grid; min-width: 0; }
.ks-platform-ops__item strong,
.ks-platform-ops__item small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ks-platform-ops__item strong { font-size: var(--ks-type-meta); font-weight: 600; }
.ks-platform-ops__item small { margin-top: .15rem; color: var(--ks-shell-muted); font-size: var(--ks-type-caption); }

.ks-platform-ops__item em {
    flex: none;
    padding: .25rem .45rem;
    border-radius: 999px;
    font-size: .68rem;
    font-style: normal;
    font-weight: 700;
}

.ks-platform-ops__item em.is-warning { color: var(--ks-state-warning); background: color-mix(in srgb, var(--ks-state-warning) 10%, transparent); }
.ks-platform-ops__item em.is-danger { color: var(--ks-state-danger); background: color-mix(in srgb, var(--ks-state-danger) 10%, transparent); }

.ks-platform-ops__empty {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 4.25rem;
    padding: .75rem;
    border-radius: .65rem;
    background: var(--ks-shell-soft);
}

.ks-platform-ops__empty > span {
    display: grid;
    width: 1.65rem;
    height: 1.65rem;
    flex: none;
    place-items: center;
    border-radius: 50%;
    color: var(--ks-state-success);
    background: color-mix(in srgb, var(--ks-state-success) 11%, transparent);
    font-size: var(--ks-type-caption);
    font-weight: 700;
}

.ks-platform-ops__empty p,
.ks-platform-ops__empty strong,
.ks-platform-ops__empty small { margin: 0; }
.ks-platform-ops__empty strong,
.ks-platform-ops__empty small { display: block; }
.ks-platform-ops__empty strong { font-size: var(--ks-type-meta); font-weight: 600; }
.ks-platform-ops__empty small { margin-top: .1rem; color: var(--ks-shell-muted); font-size: var(--ks-type-caption); }

.ks-platform-ops__quick {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem 1.25rem;
    border-top: 1px solid var(--ks-shell-border);
    background: var(--ks-shell-soft);
}

.ks-platform-ops__quick > span { color: var(--ks-shell-muted); font-size: var(--ks-type-caption); font-weight: 600; }
.ks-platform-ops__quick > div { display: flex; flex-wrap: wrap; gap: .4rem; }
.ks-platform-ops__quick a {
    padding: .4rem .6rem;
    border: 1px solid var(--ks-shell-border);
    border-radius: .5rem;
    color: var(--ks-shell-text);
    background: var(--ks-shell-surface);
    font-size: var(--ks-type-meta);
    font-weight: 600;
    text-decoration: none;
}

.ks-platform-ops__quick a:hover { border-color: var(--ks-shell-brand); color: var(--ks-shell-brand-strong); }

@media (max-width: 1199px) {
    .ks-platform-ops__grid { grid-template-columns: 1fr; }
    .ks-platform-ops__lane { border-right: 0; border-bottom: 1px solid var(--ks-shell-border); }
    .ks-platform-ops__lane:last-child { border-bottom: 0; }
}

@media (max-width: 640px) {
    .ks-platform-ops__head,
    .ks-platform-ops__quick { align-items: flex-start; flex-direction: column; }
    .ks-platform-ops__quick > div { width: 100%; }
    .ks-platform-ops__quick a { flex: 1; text-align: center; }
}

/* APP-WORKSPACE-V4: shared language for configuration and dedicated editors. */
.kapps-clean,
.ks-editor-shell {
    --kapps-surface: var(--ks-shell-surface);
    --kapps-soft: var(--ks-shell-soft);
    --kapps-border: var(--ks-shell-border);
    --kapps-text: var(--ks-shell-text);
    --kapps-muted: var(--ks-shell-muted);
    color: var(--kapps-text);
    font-family: var(--ks-font-sans);
    font-size: var(--ks-type-body);
    line-height: 1.5;
}

.kapps13s5q1-direct-install {
    border-color: color-mix(in srgb, var(--ks-state-info) 26%, var(--ks-shell-border)) !important;
    background: linear-gradient(135deg, color-mix(in srgb, var(--ks-state-info) 7%, var(--ks-shell-surface)), var(--ks-shell-surface)) !important;
    box-shadow: var(--ks-shell-shadow) !important;
}

.kapps13s5q1-direct-install > div > div > div:first-child {
    color: var(--ks-state-info) !important;
    font-size: var(--ks-type-caption) !important;
}

.kapps13s5q1-direct-install > div > div > div:nth-child(2) { color: var(--ks-shell-text) !important; font-size: var(--ks-type-body) !important; }
.kapps13s5q1-direct-install > div > div > div:nth-child(3) { color: var(--ks-shell-muted) !important; font-size: var(--ks-type-meta) !important; }
.kapps13s5q1-direct-install button { background: var(--ks-state-info) !important; font-size: var(--ks-type-meta) !important; }

.kapps-clean .kapps-master-panel {
    border-color: var(--kapps-border) !important;
    background: var(--kapps-surface) !important;
    box-shadow: var(--ks-shell-shadow) !important;
}

.kapps-clean .kapps-metric-strip {
    border-color: var(--kapps-border) !important;
    background: linear-gradient(135deg, color-mix(in srgb, var(--ks-shell-brand) 5%, var(--kapps-soft)), var(--kapps-surface)) !important;
}

.kapps-clean .kapps-metric {
    border-color: var(--kapps-border) !important;
    background: var(--kapps-surface) !important;
    box-shadow: none !important;
}

.kapps-clean .kapps-metric-label { color: var(--kapps-muted) !important; font-size: var(--ks-type-caption) !important; font-weight: 600 !important; }
.kapps-clean .kapps-metric-value { color: var(--kapps-text) !important; font-variant-numeric: tabular-nums lining-nums; }
.kapps-clean .kapps-metric-note { color: var(--kapps-muted) !important; font-size: var(--ks-type-caption) !important; }

.kapps-clean .kapps-body::after { background: var(--kapps-border) !important; box-shadow: none !important; }
.kapps-clean .kapps-left,
.kapps-clean .kapps-right { background: var(--kapps-surface) !important; }

.kapps-clean :is(.kapps-search, .kapps-filter) {
    height: var(--ks-control-height) !important;
    border-color: var(--kapps-border) !important;
    background: var(--kapps-soft) !important;
    color: var(--kapps-text) !important;
    font-size: var(--ks-type-meta) !important;
}

.kapps-clean :is(.kapps-search, .kapps-filter):focus {
    border-color: var(--ks-shell-brand) !important;
    box-shadow: 0 0 0 3px var(--ks-shell-focus) !important;
}

.kapps-clean .kapps-app-row:hover {
    border-color: var(--kapps-border) !important;
    background: var(--kapps-soft) !important;
    box-shadow: none !important;
}

.kapps-clean .kapps-app-row.selected {
    border-color: color-mix(in srgb, var(--ks-shell-brand) 48%, var(--kapps-border)) !important;
    background: var(--ks-shell-brand-soft) !important;
    box-shadow: inset 3px 0 0 var(--ks-shell-brand) !important;
}

.kapps-clean .kapps-icon {
    border-color: var(--kapps-border) !important;
    background: var(--kapps-soft) !important;
    color: var(--ks-shell-brand) !important;
}

.kapps-clean .kapps-app-name { color: var(--kapps-text) !important; font-size: var(--ks-type-meta) !important; font-weight: 600 !important; }
.kapps-clean .kapps-variant { color: var(--kapps-muted) !important; font-size: .68rem !important; }

.ks-editor-shell > section,
.ks-editor-shell > div:not([class]) {
    border-color: var(--kapps-border) !important;
    background: var(--kapps-surface) !important;
    box-shadow: var(--ks-shell-shadow) !important;
}

.ks-editor-shell > section > div [style*="background:#fff"],
.ks-editor-shell > section > div [style*="background: #fff"],
.ks-editor-shell > div [style*="background:#fff"],
.ks-editor-shell > div [style*="background:#ffffff"] {
    border-color: var(--kapps-border) !important;
    background: var(--kapps-surface) !important;
}

.ks-editor-shell :is(h1, h2, h3, [style*="color:var(--ks-shell-text"]) ) { color: var(--kapps-text) !important; }
.ks-editor-shell :is(p, ul, [style*="color:var(--ks-shell-text-secondary"], [style*="color:var(--ks-shell-muted"]) { color: var(--kapps-muted) !important; }

.ks-editor-shell :is(select, textarea) {
    border: 1px solid var(--kapps-border) !important;
    background: var(--kapps-soft) !important;
    color: var(--kapps-text) !important;
}

.ks-editor-shell select { min-height: var(--ks-control-height); font-size: var(--ks-type-body) !important; }
.ks-editor-shell textarea { font-family: var(--ks-font-mono) !important; font-size: var(--ks-type-meta) !important; line-height: 1.6 !important; }

.ks-editor-shell button,
.ks-editor-shell a[style*="display:inline-flex"] {
    min-height: var(--ks-control-height) !important;
    font-size: var(--ks-type-meta) !important;
}

.ks-editor-shell [style*="font-size:13px"],
.ks-editor-shell [style*="font-size: 13px"] { font-size: var(--ks-type-meta) !important; }
.ks-editor-shell [style*="font-size:14px"],
.ks-editor-shell [style*="font-size: 14px"] { font-size: var(--ks-type-body) !important; }

.dark .kapps-clean,
.dark .ks-editor-shell { color-scheme: dark; }

@media (max-width: 900px) {
    .kapps-clean .kapps-body { grid-template-columns: 1fr !important; }
    .kapps-clean .kapps-body::after { display: none !important; }
    .kapps-clean .kapps-list { max-height: 22rem !important; }
    .kapps-clean .kapps-metric-strip { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 640px) {
    .kapps-clean .kapps-metric-strip { grid-template-columns: 1fr 1fr !important; }
    .kapps-clean .kapps-body { min-height: 0 !important; }
    .ks-editor-shell > section { padding: 1rem !important; }
    .ks-editor-shell [style*="grid-template-columns:repeat(4"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .ks-editor-shell [style*="grid-template-columns:repeat(2"] { grid-template-columns: 1fr !important; }
}

/* EDITOR-FAMILY-V4: content, versioning, app studio and package studio. */
.ks-editor-shell.kui04-editor-shell .kui04-editor-panel {
    border-color: var(--kapps-border) !important;
    background: var(--kapps-surface) !important;
    box-shadow: var(--ks-shell-shadow) !important;
}

.ks-editor-shell.kui04-editor-shell .kui04-editor-help {
    color: var(--kapps-muted) !important;
    font-size: var(--ks-type-meta) !important;
}

.ks-editor-shell.kui04-editor-shell .kui04-app-link {
    border-color: var(--kapps-border) !important;
    background: var(--kapps-soft) !important;
    color: var(--kapps-text) !important;
}

.ks-editor-shell.kui04-editor-shell .kui04-app-link.is-active {
    border-color: var(--ks-shell-brand) !important;
    background: var(--ks-shell-brand-soft) !important;
    color: var(--ks-shell-brand-strong) !important;
    box-shadow: inset 3px 0 0 var(--ks-shell-brand);
}

.ks-editor-shell.kui04-editor-shell :is(.kui04-app-link strong, .kui04-app-link span) {
    font-size: var(--ks-type-meta) !important;
}

.ks-editor-shell.kui04-editor-shell :is(input, select, textarea) {
    border-color: var(--kapps-border) !important;
    background: var(--kapps-soft) !important;
    color: var(--kapps-text) !important;
    font-size: var(--ks-type-body) !important;
}

.ks-editor-shell.kui04-editor-shell :is(input, select, textarea):focus {
    border-color: var(--ks-shell-brand) !important;
    box-shadow: 0 0 0 3px var(--ks-shell-focus) !important;
    outline: 0;
}

.ks-editor-shell.kui04-editor-shell :is(.kui04-meta, .kui04-item-card, .kui04-fields) {
    border-color: var(--kapps-border) !important;
}

.ks-version-editor > div {
    border-color: var(--kapps-border) !important;
    background: var(--kapps-surface) !important;
}

.ks-version-editor > div:first-child {
    background: linear-gradient(135deg, var(--kapps-soft), var(--kapps-surface)) !important;
}

.ks-version-editor [style*="background:#fffbeb"],
.ks-version-editor [style*="background:#fef3c7"] {
    border-color: color-mix(in srgb, var(--ks-state-warning) 24%, var(--kapps-border)) !important;
    background: color-mix(in srgb, var(--ks-state-warning) 8%, var(--kapps-surface)) !important;
    color: var(--ks-state-warning) !important;
}

.ks-version-editor select {
    min-height: var(--ks-control-height) !important;
    border-color: var(--kapps-border) !important;
    background: var(--kapps-soft) !important;
    color: var(--kapps-text) !important;
    font-size: var(--ks-type-meta) !important;
}

.ks-editor-shell.kps,
.ks-editor-shell.kas {
    --bg: var(--ks-shell-surface) !important;
    --soft: var(--ks-shell-soft) !important;
    --line: var(--ks-shell-border) !important;
    --text: var(--ks-shell-text) !important;
    --muted: var(--ks-shell-muted) !important;
    --accent: var(--ks-shell-brand) !important;
    --accent-strong: var(--ks-shell-brand-strong) !important;
    --accent-soft: var(--ks-shell-brand-soft) !important;
    --success: var(--ks-state-success) !important;
    --warn: var(--ks-state-warning) !important;
    --danger: var(--ks-state-danger) !important;
}

.ks-editor-shell :is(.kps-card, .kas-card) {
    border-radius: 1rem !important;
    box-shadow: var(--ks-shell-shadow) !important;
}

.ks-editor-shell :is(.kps-title, .kas-title) {
    font-size: clamp(1.55rem, 3vw, 2rem) !important;
    line-height: 1.15 !important;
    letter-spacing: -.035em !important;
}

.ks-editor-shell :is(.kps-kpi strong, .kas-kpi strong) {
    font-variant-numeric: tabular-nums lining-nums;
}

.ks-editor-shell :is(.kps-btn, .kas-btn) {
    min-height: var(--ks-control-height) !important;
    border-radius: var(--ks-radius-sm) !important;
    font-size: var(--ks-type-meta) !important;
    font-weight: 600 !important;
}

@media (max-width: 900px) {
    .ks-editor-shell.kui04-editor-shell { grid-template-columns: 1fr !important; }
    .ks-editor-shell.kui04-editor-shell .kui04-editor-left { position: static !important; }
    .ks-version-editor > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
}

/* KIRADOO-WARM-ENTERPRISE-DOMAINS-V49
   Route metadata remains available for product logic, but visual identity is
   deliberately identical in every module. */
:root[data-ks-domain] {
    --ks-shell-brand: #493b32;
    --ks-shell-brand-strong: #302720;
    --ks-shell-brand-soft: #eee7df;
    --ks-shell-focus: rgba(128, 106, 88, .28);
}

.dark[data-ks-domain] {
    --ks-shell-brand: #e3d5c7;
    --ks-shell-brand-strong: #fffaf5;
    --ks-shell-brand-soft: #3a302a;
    --ks-shell-focus: rgba(227, 213, 199, .28);
}

/* The navigation stays graphite; only the active indicator adopts domain identity. */
.fi-sidebar-group-label {
    color: var(--ks-nav-muted) !important;
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-button .fi-sidebar-item-icon {
    color: var(--ks-nav-active) !important;
}

/* KIRADOO-APP-EDITOR-TOOLBAR-V52 */
.ks-app-editor-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: 1rem;
}

.ks-app-editor-nav {
    display: inline-flex;
    min-height: 2.4rem;
    align-items: center;
    justify-content: center;
    padding-inline: .9rem;
    border: 1px solid var(--ks-shell-border);
    border-radius: var(--ks-radius-sm);
    background: var(--ks-shell-surface);
    color: var(--ks-shell-text-secondary);
    font-size: var(--ks-type-meta);
    font-weight: 600;
    line-height: 1;
    text-decoration: none !important;
    white-space: nowrap;
}

.ks-app-editor-nav:hover {
    border-color: var(--ks-shell-border-strong);
    background: var(--ks-shell-soft);
    color: var(--ks-shell-text);
    text-decoration: none !important;
}

.ks-app-editor-nav:focus-visible {
    outline: 0;
    border-color: var(--ks-shell-brand);
    box-shadow: 0 0 0 3px var(--ks-shell-focus);
}

@media (max-width: 520px) {
    .ks-app-editor-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .ks-app-editor-nav {
        width: 100%;
    }
}

/* KIRADOO-NAVIGATION-DESTINATION-ICONS-V51:
   Wide SaaS sidebars use one semantic icon per destination. Group icons are
   intentionally omitted so Filament does not substitute connector dots/rails. */
.fi-sidebar-item-icon {
    width: 1.15rem !important;
    height: 1.15rem !important;
    min-width: 1.15rem !important;
    flex: 0 0 1.15rem !important;
    color: var(--ks-nav-muted) !important;
    transition: color var(--ks-transition-fast) !important;
}

.fi-sidebar-item-button:hover .fi-sidebar-item-icon {
    color: var(--ks-nav-text) !important;
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-button .fi-sidebar-item-icon {
    color: var(--ks-nav-active) !important;
}

.fi-sidebar .fi-tenant-menu-trigger {
    border-color: color-mix(in srgb, var(--ks-nav-muted) 22%, transparent) !important;
    background: var(--ks-nav-surface) !important;
}

.fi-sidebar .fi-tenant-menu-trigger:hover {
    background: color-mix(in srgb, var(--ks-nav-surface) 82%, #fff) !important;
}

.fi-sidebar :is(.fi-tenant-menu-trigger-current-tenant-label,.fi-tenant-menu-trigger-tenant-name) {
    color: var(--ks-nav-text) !important;
}

/* Canonical native data surface. */
.fi-ta {
    overflow: hidden;
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-md) !important;
    background: var(--ks-shell-surface) !important;
    box-shadow: var(--ks-shell-shadow) !important;
}

.fi-ta-header {
    border-bottom: 1px solid var(--ks-shell-border) !important;
    background: var(--ks-shell-surface) !important;
}

.fi-ta-header-cell {
    min-height: 2.75rem;
    padding-block: .75rem !important;
    color: var(--ks-shell-text-secondary) !important;
    background: var(--ks-shell-soft) !important;
    font-size: var(--ks-type-caption) !important;
    font-weight: 600 !important;
    line-height: 1rem !important;
    text-transform: none !important;
}

.fi-ta-row {
    min-height: 4rem;
    border-bottom: 1px solid var(--ks-shell-border) !important;
    box-shadow: none !important;
}

.fi-ta-row:last-child {
    border-bottom: 0 !important;
}

.fi-ta-row:hover {
    background: var(--ks-shell-row-hover) !important;
}

.fi-ta-cell {
    padding-block: .75rem !important;
    color: var(--ks-shell-text);
    font-size: var(--ks-type-body) !important;
}

/* Canonical actions: domain identity for primary, neutral utility actions elsewhere. */
.fi-btn {
    min-height: 2.5rem;
    border-radius: var(--ks-radius-xs) !important;
    box-shadow: none !important;
}

.fi-btn.fi-color-primary,
.fi-btn-color-primary {
    color: #fff !important;
    border-color: var(--ks-shell-brand) !important;
    background: var(--ks-shell-brand) !important;
    box-shadow: 0 1px 2px color-mix(in srgb, var(--ks-shell-brand) 20%, transparent) !important;
}

.fi-btn.fi-color-primary:hover,
.fi-btn-color-primary:hover {
    background: var(--ks-shell-brand-strong) !important;
}

.fi-section,
.fi-modal-window,
.fi-dropdown-panel {
    border-color: var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-md) !important;
    background: var(--ks-shell-surface) !important;
}

.fi-section {
    box-shadow: var(--ks-shell-shadow) !important;
}

.fi-section:hover {
    border-color: var(--ks-shell-border) !important;
}

/* KIRADOO-NATIVE-APPS-BRIDGE-V1
   App Control and its five editors share the same surfaces as native Filament pages. */
:is(
    .kapps-simple-shell,
    .kapps-focus,
    .appearance-editor,
    .display-editor,
    .access-editor,
    .schedule-editor,
    .ks-editor-shell
) {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    color: var(--ks-shell-text) !important;
    font-family: var(--ks-font-sans) !important;
}

:is(
    .kapps-app-table,
    .kapps-action-list,
    .appearance-panel,
    .display-panel,
    .access-panel,
    .schedule-panel
) {
    overflow: hidden !important;
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-md) !important;
    background: var(--ks-shell-surface) !important;
    box-shadow: var(--ks-shell-shadow) !important;
}

.kapps-app-table table {
    width: 100% !important;
    border-collapse: collapse !important;
    color: var(--ks-shell-text) !important;
    font-size: var(--ks-type-body) !important;
}

.kapps-app-table th {
    height: var(--ks-data-head-height) !important;
    padding: .75rem 1rem !important;
    color: var(--ks-shell-text-secondary) !important;
    background: var(--ks-shell-soft) !important;
    font-size: var(--ks-type-caption) !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.kapps-app-table td {
    min-height: var(--ks-data-row-height) !important;
    padding: .75rem 1rem !important;
    border-top: 1px solid var(--ks-shell-border) !important;
    color: var(--ks-shell-text-secondary) !important;
    background: transparent !important;
    font-size: var(--ks-type-body) !important;
}

.kapps-app-table tbody tr:hover {
    background: var(--ks-shell-row-hover) !important;
}

.kapps-app-table :is(strong,.kapps-version) {
    color: var(--ks-shell-text) !important;
}

.kapps-app-table small {
    color: var(--ks-shell-muted) !important;
}

.kapps-more,
.kapps-back,
:is(.appearance-back,.display-back,.access-back,.schedule-back) {
    color: var(--ks-shell-muted) !important;
}

.kapps-more:hover,
.kapps-back:hover,
:is(.appearance-back,.display-back,.access-back,.schedule-back):hover {
    color: var(--ks-shell-text) !important;
    background: var(--ks-shell-soft) !important;
}

.kapps-focus header,
:is(.appearance-head,.display-panel header,.access-panel header,.schedule-panel header) {
    border-color: var(--ks-shell-border) !important;
}

.kapps-focus :is(h1, strong),
:is(.appearance-panel,.display-panel,.access-panel,.schedule-panel) :is(h2,strong) {
    color: var(--ks-shell-text) !important;
}

.kapps-focus :is(header p,header span,small),
:is(.appearance-panel,.display-panel,.access-panel,.schedule-panel) :is(header p,small) {
    color: var(--ks-shell-muted) !important;
}

.kapps-action-list > :is(a,div) {
    border-color: var(--ks-shell-border) !important;
    background: transparent !important;
}

.kapps-action-list > a:hover {
    background: var(--ks-shell-row-hover) !important;
}

.kapps-action-icon {
    color: var(--ks-shell-brand) !important;
    background: var(--ks-shell-brand-soft) !important;
}

.kapps-preview,
:is(
    .appearance-primary,
    .display-primary,
    .access-primary,
    .schedule-primary
) {
    min-height: var(--ks-control-height) !important;
    border: 1px solid var(--ks-shell-brand) !important;
    border-radius: var(--ks-radius-xs) !important;
    color: #fff !important;
    background: var(--ks-shell-brand) !important;
    box-shadow: 0 1px 2px color-mix(in srgb, var(--ks-shell-brand) 20%, transparent) !important;
}

:is(
    .appearance-secondary,
    .display-secondary,
    .access-secondary,
    .schedule-secondary
) {
    min-height: var(--ks-control-height) !important;
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-xs) !important;
    color: var(--ks-shell-text-secondary) !important;
    background: var(--ks-shell-surface) !important;
    box-shadow: none !important;
}

:is(
    .appearance-field select,
    .display-fields select,
    .schedule-dates input
) {
    min-height: var(--ks-control-height) !important;
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-xs) !important;
    color: var(--ks-shell-text) !important;
    background: var(--ks-shell-surface) !important;
}

:is(.schedule-choices,.access-choices) label.is-selected {
    border-color: var(--ks-shell-brand) !important;
    background: var(--ks-shell-brand-soft) !important;
}

:is(.schedule-choices,.access-choices,.access-roles) input {
    accent-color: var(--ks-shell-brand) !important;
}

/* KIRADOO-NATIVE-APP-EDITORS-V2
   Editors are native form surfaces, not dashboards or card galleries. */
:is(.appearance-panel,.display-panel,.access-panel,.schedule-panel) {
    padding: 0 !important;
}

:is(.appearance-panel,.display-panel,.access-panel,.schedule-panel) > :is(.appearance-back,.display-back,.access-back,.schedule-back) {
    margin: 12px 16px 0 !important;
    padding: 6px 8px !important;
    border-radius: var(--ks-radius-xs) !important;
    font-size: var(--ks-type-meta) !important;
    font-weight: 600 !important;
}

:is(.appearance-head,.display-panel > header,.access-panel > header,.schedule-panel > header) {
    margin-top: 8px !important;
    padding: 12px 16px !important;
    border-top: 1px solid var(--ks-shell-border) !important;
    border-bottom: 1px solid var(--ks-shell-border) !important;
    background: var(--ks-shell-soft) !important;
}

:is(.appearance-head,.display-panel > header,.access-panel > header,.schedule-panel > header) h2 {
    color: var(--ks-shell-text) !important;
    font-size: var(--ks-type-component-title) !important;
    font-weight: 600 !important;
    letter-spacing: -.012em !important;
}

:is(.appearance-head,.display-panel > header,.access-panel > header,.schedule-panel > header) p {
    color: var(--ks-shell-muted) !important;
    font-size: var(--ks-type-meta) !important;
}

:is(.appearance-panel,.display-panel,.access-panel,.schedule-panel) > form {
    padding: 16px !important;
}

:is(.appearance-fields,.display-fields,.schedule-dates) {
    gap: 16px !important;
    margin-top: 0 !important;
}

:is(.appearance-field,.display-fields label,.schedule-dates label) > span,
:is(.display-pages,.access-choices,.access-roles,.schedule-choices) legend {
    color: var(--ks-shell-text-secondary) !important;
    font-size: var(--ks-type-meta) !important;
    font-weight: 600 !important;
}

:is(
    .appearance-field select,
    .display-fields select,
    .schedule-dates input,
    .appearance-color
) {
    min-height: var(--ks-control-height) !important;
    padding: 8px 12px !important;
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-xs) !important;
    color: var(--ks-shell-text) !important;
    background: var(--ks-shell-surface) !important;
    box-shadow: none !important;
    font-size: var(--ks-type-body) !important;
}

:is(
    .appearance-field select,
    .display-fields select,
    .schedule-dates input,
    .appearance-color
):focus-within {
    border-color: var(--ks-shell-brand) !important;
    box-shadow: 0 0 0 3px var(--ks-shell-focus) !important;
    outline: 0 !important;
}

:is(.access-choices,.schedule-choices) {
    display: block !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-xs) !important;
}

:is(.access-choices,.schedule-choices) legend {
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid var(--ks-shell-border) !important;
    background: var(--ks-shell-soft) !important;
}

:is(.access-choices,.schedule-choices) label {
    display: grid !important;
    min-height: 56px !important;
    grid-template-columns: 18px minmax(0,1fr) !important;
    align-items: start !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 11px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ks-shell-border) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

:is(.access-choices,.schedule-choices) label:last-child {
    border-bottom: 0 !important;
}

:is(.access-choices,.schedule-choices) label:hover {
    background: var(--ks-shell-row-hover) !important;
}

:is(.access-choices,.schedule-choices) label.is-selected {
    background: var(--ks-shell-brand-soft) !important;
    box-shadow: inset 3px 0 0 var(--ks-shell-brand) !important;
}

:is(.access-choices,.schedule-choices) label strong {
    color: var(--ks-shell-text) !important;
    font-size: var(--ks-type-body) !important;
    font-weight: 600 !important;
}

:is(.access-choices,.schedule-choices) label small {
    color: var(--ks-shell-muted) !important;
    font-size: var(--ks-type-meta) !important;
}

.access-roles,
.display-pages {
    margin-top: 16px !important;
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-xs) !important;
    background: var(--ks-shell-surface) !important;
}

:is(.access-roles,.display-pages) label {
    border-radius: 0 !important;
    color: var(--ks-shell-text-secondary) !important;
    background: transparent !important;
}

:is(.appearance-actions,.display-actions,.access-actions,.schedule-actions) {
    padding-top: 16px !important;
    border-top: 1px solid var(--ks-shell-border) !important;
}

/* Content editor: remove the remaining dashboard/card treatment. */
.ks-editor-shell.kui04-editor-shell {
    gap: 16px !important;
}

.ks-editor-shell.kui04-editor-shell :is(.kui04-fields,.kui04-items-section,.kui04-item-card) {
    border-color: var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-xs) !important;
    background: var(--ks-shell-surface) !important;
    box-shadow: none !important;
}

.ks-editor-shell.kui04-editor-shell .kui04-item-card + .kui04-item-card {
    margin-top: 8px !important;
}

.ks-editor-shell.kui04-editor-shell :is(.kui04-editor-head,.kui04-section-head,.kui04-item-bar) {
    border-color: var(--ks-shell-border) !important;
    background: var(--ks-shell-soft) !important;
}

.ks-editor-shell.kui04-editor-shell :is(.kui04-button:not(.kui04-secondary),.kui04-mini-button.is-primary) {
    border-color: var(--ks-shell-brand) !important;
    color: #fff !important;
    background: var(--ks-shell-brand) !important;
    box-shadow: none !important;
}

.ks-editor-shell.kui04-editor-shell :is(.kui04-secondary,.kui04-mini-button) {
    border-color: var(--ks-shell-border) !important;
    color: var(--ks-shell-text-secondary) !important;
    background: var(--ks-shell-surface) !important;
    box-shadow: none !important;
}

/* CRM native table mobile contract. */
@media (max-width: 639px) {
    .kcrm .fi-ta {
        width: 100% !important;
        min-width: 0 !important;
    }

    .kcrm .fi-ta-content-ctn,
    .kcrm .fi-ta-content {
        width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
    }

    .kcrm .fi-ta-table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: auto !important;
    }

    .kcrm .fi-ta-header-toolbar {
        align-items: stretch !important;
        flex-direction: column !important;
        padding: 12px !important;
    }

    .kcrm .fi-ta-search-field,
    .kcrm .fi-ta-search-field .fi-input-wrp {
        width: 100% !important;
        max-width: none !important;
    }

    .kcrm .fi-ta-header-cell,
    .kcrm .fi-ta-cell {
        min-width: 0 !important;
        padding-inline: 12px !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .kcrm .fi-ta-actions-header-cell,
    .kcrm .fi-ta-actions-cell {
        width: 52px !important;
        padding-inline: 8px !important;
    }

    .kcrm .fi-pagination {
        align-items: stretch !important;
        flex-direction: column !important;
        gap: 10px !important;
        padding: 12px !important;
    }
}

/* KIRADOO-NATIVE-MONOCHROME-V10
   Final authority for shell geometry, tables and actions. Page-specific colour
   experiments must not override the operational backend language. */
.fi-main,
.fi-main > .fi-page,
.fi-page,
.fi-page-content {
    width: 100% !important;
    max-width: none !important;
}

.fi-ta-table {
    width: 100% !important;
    min-width: 100% !important;
}

.fi-page-content :is(
    .kapps-studio,
    .kapps-scope,
    .kapps-package-studio,
    .apps-configuration,
    .cmsr-shell,
    .kcml-shell,
    .page-sections-guide,
    .kcrm
) {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
}

/* Neutral actions are white/graphite. Colour is reserved for semantic state. */
.fi-btn:is(.fi-color-gray, .fi-color-info),
.fi-btn-color-gray,
.fi-btn-color-info {
    border-color: var(--ks-shell-border) !important;
    background: var(--ks-shell-surface) !important;
    color: var(--ks-shell-text) !important;
}

.fi-btn:is(.fi-color-gray, .fi-color-info):hover,
.fi-btn-color-gray:hover,
.fi-btn-color-info:hover {
    border-color: #a1a1aa !important;
    background: var(--ks-shell-soft) !important;
}

.fi-badge:not(.fi-color-danger):not(.fi-color-warning):not(.fi-color-success) {
    background: var(--ks-shell-soft) !important;
    color: var(--ks-shell-text-secondary) !important;
}

.fi-ta-header-cell,
.fi-page-content table:not(.fi-ta-table) th {
    background: var(--ks-table-heading) !important;
    color: var(--ks-table-heading-text) !important;
}

.dark .fi-ta-header-cell,
.dark .fi-page-content table:not(.fi-ta-table) th {
    background: var(--ks-table-heading) !important;
    color: var(--ks-table-heading-text) !important;
}

@media (max-width: 768px) {
    .fi-ta-table {
        min-width: 100% !important;
    }

    .fi-ta-table :is(th, td) {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .fi-page-content table:not(.fi-ta-table) {
        min-width: 100% !important;
    }
}

/* V11 cascade authority: keep the hierarchy after all compatibility bridges. */
.fi-tabs {
    border-color: var(--ks-shell-border) !important;
    background: var(--ks-action-secondary) !important;
    box-shadow: none !important;
}

.fi-tabs-item {
    color: var(--ks-shell-text-secondary) !important;
    background: transparent !important;
    box-shadow: none !important;
}

.fi-tabs-item.fi-active,
.fi-tabs-item[aria-selected="true"] {
    color: var(--ks-shell-text) !important;
    background: var(--ks-shell-surface) !important;
    box-shadow: 0 1px 2px rgba(24, 24, 27, .08) !important;
}

.fi-ta-header-cell,
.fi-page-content table:not(.fi-ta-table) th {
    background: var(--ks-table-heading) !important;
    color: var(--ks-table-heading-text) !important;
}

.fi-btn:is(.fi-color-gray, .fi-color-info),
.fi-btn-color-gray,
.fi-btn-color-info,
.kcrm-action.neutral,
.kui04-button:not(.kui04-button-primary) {
    border: 1px solid var(--ks-shell-border) !important;
    background: var(--ks-action-secondary) !important;
    color: var(--ks-shell-text) !important;
    box-shadow: none !important;
}

.fi-ta-actions :is(.fi-btn,.fi-icon-btn),
.fi-ta-cell .fi-btn,
.fi-section .fi-btn.fi-size-sm.fi-color-primary {
    border-color: transparent !important;
    background: transparent !important;
    color: var(--ks-shell-text-secondary) !important;
    box-shadow: none !important;
}

.fi-header-actions .fi-btn.fi-color-primary,
.fi-header-actions .fi-btn-color-primary,
.kui04-button-primary,
.kcrm-action.primary {
    border-color: var(--ks-shell-brand) !important;
    background: var(--ks-shell-brand) !important;
    color: var(--ks-action-primary-text) !important;
    box-shadow: none !important;
}

/* V12 final export authority. */
.ks-export-action,
.fi-btn.ks-export-action,
.kcrm .ks-export-action {
    border: 1px solid var(--ks-shell-border) !important;
    background: var(--ks-action-secondary) !important;
    color: var(--ks-shell-text-secondary) !important;
    box-shadow: none !important;
}

.ks-export-action:hover,
.fi-btn.ks-export-action:hover,
.kcrm .ks-export-action:hover {
    border-color: var(--ks-action-secondary-border-hover) !important;
    background: var(--ks-action-secondary-hover) !important;
    color: var(--ks-shell-text) !important;
}

.ks-export-action svg:not(.fi-loading-indicator),
.ks-export-action-icon {
    display: block !important;
    width: 1rem !important;
    height: 1rem !important;
    color: currentColor !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Livewire owns loading-indicator visibility. Never force its spinner onscreen. */
.ks-export-action .fi-loading-indicator {
    color: currentColor !important;
}

/* KIRADOO-CMS-PAGES-WORKFLOW-V14 */
.fi-header-actions .fi-btn svg:not(.fi-loading-indicator) {
    display: block !important;
    flex: 0 0 auto !important;
    width: 1rem !important;
    height: 1rem !important;
    color: currentColor !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.fi-header-actions {
    align-items: center !important;
    gap: .5rem !important;
}

.ks-page-editor-tabs,
.ks-page-editor-tabs.fi-tabs,
.ks-page-editor-tabs > .fi-tabs {
    width: 100% !important;
    max-width: none !important;
}

.ks-page-editor-tabs .fi-tabs,
.ks-page-editor-tabs.fi-tabs {
    overflow-x: auto !important;
    padding: .3rem !important;
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-md) !important;
    background: var(--ks-action-secondary) !important;
    scrollbar-width: thin;
}

.ks-page-editor-tabs .fi-tabs-item {
    flex: 0 0 auto !important;
    min-height: 2.5rem !important;
    padding-inline: .85rem !important;
}

.ks-page-editor-tabs .fi-tabs-item svg {
    width: 1rem !important;
    height: 1rem !important;
    color: currentColor !important;
}

.ks-page-editor-tabs :is(.fi-section,.fi-fo-component-ctn) {
    box-shadow: none !important;
}

.ks-page-editor-tabs .fi-section {
    border-radius: var(--ks-radius-md) !important;
}

.ks-page-editor-tabs .fi-section-header {
    padding: 1rem 1.1rem !important;
    background: var(--ks-shell-soft) !important;
}

.ks-page-editor-tabs .fi-section-content-ctn {
    padding: 1.1rem !important;
}

.ks-page-editor-tabs .fi-fo-field-wrp {
    min-width: 0;
}

.fi-ta-actions .fi-dropdown-trigger {
    border: 1px solid transparent !important;
    border-radius: var(--ks-radius-xs) !important;
    color: var(--ks-shell-muted) !important;
    background: transparent !important;
}

.fi-ta-actions .fi-dropdown-trigger:hover {
    border-color: var(--ks-shell-border) !important;
    color: var(--ks-shell-text) !important;
    background: var(--ks-action-tertiary-hover) !important;
}

@media (max-width: 640px) {
    .fi-header-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }

    .fi-header-actions > .fi-btn {
        width: 100% !important;
    }

    .ks-page-editor-tabs .fi-tabs {
        flex-wrap: nowrap !important;
    }

    .ks-page-editor-tabs .fi-section-header,
    .ks-page-editor-tabs .fi-section-content-ctn {
        padding: .9rem !important;
    }
}

/* V15 final CMS Pages native authority. */
.fi-resource-list-records-page,
.fi-resource-list-records-page > .fi-page,
.fi-resource-list-records-page .fi-page-content,
.fi-resource-list-records-page .fi-ta,
.fi-resource-list-records-page .fi-ta-ctn,
.fi-resource-list-records-page .fi-ta-content,
.fi-resource-list-records-page .fi-ta-table {
    width: 100% !important;
    max-width: none !important;
}

.fi-resource-list-records-page .fi-ta-table {
    min-width: 100% !important;
}

.fi-header-actions .fi-btn.fi-color-primary > svg:not(.fi-loading-indicator) {
    display: block !important;
    color: var(--ks-action-primary-text) !important;
    stroke: currentColor !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.fi-ta-header-actions:has(.ks-export-action) {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: .5rem !important;
}

/* KIRADOO-CMS-PAGES-SCREEN-FIT-V16 */
.ks-cms-pages-list :is(.fi-main,.fi-page,.fi-page-content,.fi-ta,.fi-ta-ctn,.fi-ta-content) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.ks-cms-pages-list .fi-ta-content {
    overflow-x: hidden !important;
}

.ks-cms-pages-list .fi-ta-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: auto !important;
}

.ks-cms-pages-list .fi-ta-table :is(th,td) {
    min-width: 0 !important;
    max-width: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

.ks-cms-pages-list .fi-ta-table :is(th,td):first-child:not(.fi-ta-selection-cell) {
    width: auto !important;
}

.ks-cms-pages-list .fi-ta-table :is([data-column="page_type"],[data-column="status"]) {
    width: 1% !important;
    white-space: nowrap !important;
}

.ks-cms-pages-list .fi-ta-actions-header-cell,
.ks-cms-pages-list .fi-ta-actions-cell {
    width: 3rem !important;
    min-width: 3rem !important;
}

@media (max-width: 640px) {
    .ks-cms-pages-list .fi-main {
        padding-inline: .5rem !important;
    }

    .ks-cms-pages-list .fi-ta-table :is(th,td) {
        padding-inline: .65rem !important;
    }
}

/* V17 final fluid-density authority. */
.ks-cms-pages-list .fi-main-ctn,
.ks-cms-pages-list .fi-main,
.ks-cms-pages-list .fi-page-content,
.ks-cms-pages-list .fi-page-content > *,
.ks-cms-pages-list .fi-ta {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    justify-self: stretch !important;
}

@media (min-width: 1536px) {
    .ks-cms-pages-list .fi-ta-table [data-column="title"] { width: 30% !important; }
    .ks-cms-pages-list .fi-ta-table [data-column="path"] { width: 24% !important; }
    .ks-cms-pages-list .fi-ta-table [data-column="category_id"] { width: 15% !important; }
    .ks-cms-pages-list .fi-ta-table [data-column="updated_at"] { width: 12% !important; }
}

@media (min-width: 1024px) and (max-width: 1535px) {
    .ks-cms-pages-list .fi-ta-table [data-column="title"] { width: 38% !important; }
    .ks-cms-pages-list .fi-ta-table [data-column="path"] { width: 28% !important; }
}

/* KIRADOO-FLUID-WORKSPACE-V18
   Operational pages use the full panel width on ultrawide displays. */
.fi-main-ctn,
.fi-main,
.fi-page,
.fi-page-main,
.fi-page-content {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.fi-main {
    margin-inline: 0 !important;
    padding-inline: clamp(1rem, 1.6vw, 2rem) !important;
}

.fi-page-content > :is(.fi-ta,.fi-ta-ctn,[wire\\:id]) {
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
}

@media (min-width: 1920px) {
    .fi-main {
        padding-inline: clamp(1.5rem, 1.5vw, 2.5rem) !important;
    }
}

/* KIRADOO-TABLE-ARCHITECTURE-V19
   One compact operational table language across native Filament resources. */
:root {
    --ks-table-head-height: 2.75rem;
    --ks-table-row-height: 3.5rem;
    --ks-table-cell-x: 1rem;
    --ks-table-cell-y: .625rem;
    --ks-table-status-radius: .375rem;
}

.fi-ta {
    width: 100% !important;
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-md) !important;
    background: var(--ks-shell-surface) !important;
    box-shadow: none !important;
}

.fi-ta-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.fi-ta-header-cell {
    height: var(--ks-table-head-height) !important;
    min-height: var(--ks-table-head-height) !important;
    padding: .625rem var(--ks-table-cell-x) !important;
    border-bottom: 1px solid var(--ks-shell-border) !important;
    background: var(--ks-table-heading) !important;
    color: var(--ks-table-heading-text) !important;
    font-size: var(--ks-type-caption) !important;
    font-weight: 600 !important;
    line-height: 1rem !important;
    letter-spacing: .005em !important;
}

.fi-ta-row {
    min-height: var(--ks-table-row-height) !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ks-shell-border) !important;
    border-radius: 0 !important;
    background: var(--ks-shell-surface) !important;
    box-shadow: none !important;
}

.fi-ta-row:last-child {
    border-bottom: 0 !important;
}

.fi-ta-row:hover {
    background: var(--ks-shell-row-hover) !important;
    transform: none !important;
}

.fi-ta-cell {
    height: auto !important;
    min-height: var(--ks-table-row-height) !important;
    padding: var(--ks-table-cell-y) var(--ks-table-cell-x) !important;
    border: 0 !important;
    vertical-align: middle !important;
    line-height: 1.3 !important;
}

.fi-ta-text {
    line-height: 1.3 !important;
}

.fi-ta-text-description {
    margin-top: .125rem !important;
    color: var(--ks-shell-muted) !important;
    font-size: var(--ks-type-caption) !important;
    line-height: 1.25 !important;
}

/* Badges are compact status labels, never decorative bubbles. */
.fi-ta-cell .fi-badge {
    min-height: 1.375rem !important;
    padding: .1875rem .4375rem !important;
    border-radius: var(--ks-table-status-radius) !important;
    box-shadow: none !important;
    font-size: .75rem !important;
    font-weight: 600 !important;
    line-height: 1rem !important;
}

/* Ordinary metadata is plain text even when an older resource declared badge(). */
.fi-ta-cell[data-column]:not(
    [data-column*="status"],
    [data-column*="state"],
    [data-column*="priority"],
    [data-column*="health"],
    [data-column*="verified"],
    [data-column*="verification"]
) .fi-badge {
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--ks-shell-text-secondary) !important;
    font-weight: 500 !important;
}

.fi-ta-cell[data-column]:not(
    [data-column*="status"],
    [data-column*="state"],
    [data-column*="priority"],
    [data-column*="health"],
    [data-column*="verified"],
    [data-column*="verification"]
) .fi-badge .fi-icon {
    display: none !important;
}

.fi-ta-actions {
    align-items: center !important;
    gap: .125rem !important;
}

.fi-ta-actions :is(.fi-btn,.fi-icon-btn,.fi-dropdown-trigger) {
    min-width: 2rem !important;
    min-height: 2rem !important;
    border-radius: var(--ks-radius-xs) !important;
}

.fi-ta-selection-cell {
    width: 2.75rem !important;
    min-width: 2.75rem !important;
}

.fi-ta-pagination,
.fi-pagination {
    min-height: 3rem !important;
    padding: .625rem 1rem !important;
    border-top: 1px solid var(--ks-shell-border) !important;
}

/* Blade-authored operational tables inherit the same density. */
.fi-page-content table:not(.fi-ta-table) th {
    height: var(--ks-table-head-height) !important;
    padding: .625rem var(--ks-table-cell-x) !important;
}

.fi-page-content table:not(.fi-ta-table) td {
    min-height: var(--ks-table-row-height) !important;
    padding: var(--ks-table-cell-y) var(--ks-table-cell-x) !important;
}

/* Legacy table-only pill bridges: compact and squared without erasing state. */
:is(.kcrm,.kapps-simple-shell,.ks-editor-shell) table :is(
    .kcrm-pill,
    .kcrm-priority,
    .kcrm-pipeline,
    .kcrm-sla,
    .kapps-version,
    [class*="pill"]
) {
    min-height: 1.375rem !important;
    padding: .1875rem .4375rem !important;
    border-radius: var(--ks-table-status-radius) !important;
    box-shadow: none !important;
    font-size: .75rem !important;
    line-height: 1rem !important;
}

@media (max-width: 768px) {
    :root {
        --ks-table-cell-x: .75rem;
        --ks-table-cell-y: .5625rem;
    }

    .fi-ta-header-cell {
        white-space: normal !important;
    }

    .fi-ta-cell {
        overflow-wrap: anywhere !important;
    }
}

@media (max-width: 480px) {
    :root {
        --ks-table-cell-x: .625rem;
    }
}

/* V19 Filament DOM selector authority. */
.fi-ta-cell[class*="fi-ta-cell-"]:not(
    [class*="status"],
    [class*="state"],
    [class*="priority"],
    [class*="health"],
    [class*="verified"],
    [class*="verification"]
) .fi-badge {
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--ks-shell-text-secondary) !important;
    font-weight: 500 !important;
}

.fi-ta-cell[class*="fi-ta-cell-"]:not(
    [class*="status"],
    [class*="state"],
    [class*="priority"],
    [class*="health"],
    [class*="verified"],
    [class*="verification"]
) .fi-badge .fi-icon {
    display: none !important;
}

.fi-ta-cell:is(
    [class*="status"],
    [class*="state"],
    [class*="priority"],
    [class*="health"],
    [class*="verified"],
    [class*="verification"]
) .fi-badge {
    border-radius: var(--ks-table-status-radius) !important;
}

.ks-cms-pages-list .fi-ta-table :is(.fi-ta-cell-page-type,.fi-ta-cell-status) {
    width: 1% !important;
    white-space: nowrap !important;
}

@media (min-width: 1536px) {
    .ks-cms-pages-list .fi-ta-table .fi-ta-cell-title { width: 30% !important; }
    .ks-cms-pages-list .fi-ta-table .fi-ta-cell-path { width: 24% !important; }
    .ks-cms-pages-list .fi-ta-table .fi-ta-cell-category-id { width: 15% !important; }
    .ks-cms-pages-list .fi-ta-table .fi-ta-cell-updated-at { width: 12% !important; }
}

@media (min-width: 1024px) and (max-width: 1535px) {
    .ks-cms-pages-list .fi-ta-table .fi-ta-cell-title { width: 38% !important; }
    .ks-cms-pages-list .fi-ta-table .fi-ta-cell-path { width: 28% !important; }
}

/* KIRADOO-TABLE-PRODUCTION-HARDENING-V20 */
.fi-ta-cell:is(
    [class*="amount"],
    [class*="price"],
    [class*="total"],
    [class*="balance"],
    [class*="count"],
    [class*="quantity"],
    [class*="number"]
) {
    text-align: right !important;
    font-variant-numeric: tabular-nums lining-nums;
    white-space: nowrap !important;
}

.fi-ta-cell:is(
    [class*="date"],
    [class*="-at"],
    [class*="time"]
) {
    font-variant-numeric: tabular-nums lining-nums;
}

.fi-ta-cell .fi-ta-col {
    min-width: 0 !important;
}

.fi-ta-cell :is(.fi-ta-text,.fi-ta-text-item-label) {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.fi-ta-row.fi-selected {
    background: color-mix(in srgb, var(--ks-shell-brand-soft) 70%, var(--ks-shell-surface)) !important;
}

.fi-ta-row.fi-selected:hover {
    background: color-mix(in srgb, var(--ks-shell-brand-soft) 82%, var(--ks-shell-surface)) !important;
}

.fi-ta-table-loading-ctn {
    background: color-mix(in srgb, var(--ks-shell-surface) 88%, transparent) !important;
    backdrop-filter: blur(1px);
}

.fi-ta-empty-state {
    min-height: 12rem !important;
    padding: 2.5rem 1.5rem !important;
    background: var(--ks-shell-surface) !important;
}

.fi-ta-empty-state-content {
    max-width: 30rem !important;
    margin-inline: auto !important;
}

.fi-ta-empty-state-icon-bg {
    border-radius: var(--ks-radius-md) !important;
    background: var(--ks-shell-soft) !important;
}

.fi-ta-empty-state-heading {
    color: var(--ks-shell-text) !important;
    font-size: var(--ks-type-component-title) !important;
    font-weight: 600 !important;
}

.fi-ta-empty-state-description {
    color: var(--ks-shell-muted) !important;
    line-height: 1.5 !important;
}

.fi-ta-header-cell-sort-btn {
    min-height: 2rem !important;
    border-radius: var(--ks-radius-xs) !important;
}

.fi-ta-header-cell-sort-btn:focus-visible,
.fi-ta-actions :is(a,button):focus-visible,
.fi-pagination :is(a,button):focus-visible {
    outline: 2px solid var(--ks-shell-text) !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 4px var(--ks-shell-focus) !important;
}

.fi-ta-row:focus-within {
    position: relative;
    z-index: 1;
}

.dark .fi-ta-row.fi-selected {
    background: color-mix(in srgb, var(--ks-shell-brand-soft) 58%, var(--ks-shell-surface)) !important;
}

.dark .fi-ta-table-loading-ctn {
    background: color-mix(in srgb, var(--ks-shell-surface) 86%, transparent) !important;
}

@media (prefers-reduced-motion: reduce) {
    .fi-ta *,
    .fi-ta *::before,
    .fi-ta *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media (forced-colors: active) {
    .fi-ta,
    .fi-ta-header-cell,
    .fi-ta-row,
    .fi-ta-cell,
    .fi-ta-pagination {
        border-color: CanvasText !important;
        forced-color-adjust: auto;
    }

    .fi-ta-cell .fi-badge {
        border: 1px solid CanvasText !important;
    }

    .fi-ta-row.fi-selected {
        outline: 2px solid Highlight !important;
        outline-offset: -2px !important;
    }
}

/* KIRADOO-EXPORT-TRIGGER-V29 */
.fi-ta-header-toolbar:has(.ks-export-trigger) {
    display: flex !important;
    align-items: center !important;
    gap: .75rem !important;
    padding: .875rem 1.25rem !important;
}

.fi-ta-header-toolbar:has(.ks-export-trigger) > div:not(.fi-ta-actions) {
    order: 1;
    display: flex;
    flex: 1 1 20rem;
    min-width: 0;
    align-items: center;
    gap: .625rem;
}

.fi-ta-header-toolbar:has(.ks-export-trigger) > .fi-ta-actions {
    order: 2;
    flex: 0 0 auto;
    width: auto !important;
    margin-inline-start: 0 !important;
}

.fi-ta-header-toolbar:has(.ks-export-trigger) .ks-export-menu {
    margin-inline: 0 !important;
}

.ks-export-trigger {
    display: inline-flex !important;
    position: relative !important;
    width: 2.25rem !important;
    height: 2.25rem !important;
    min-width: 2.25rem !important;
    flex: 0 0 2.25rem !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-xs) !important;
    background: var(--ks-shell-surface) !important;
    color: var(--ks-ui-secondary-text) !important;
    opacity: 1 !important;
    visibility: visible !important;
    cursor: pointer !important;
}

.ks-export-trigger::after {
    content: "" !important;
    position: absolute !important;
    inset: 50% auto auto 50% !important;
    z-index: 3 !important;
    display: block !important;
    width: 1.125rem !important;
    height: 1.125rem !important;
    transform: translate(-50%, -50%) !important;
    background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.8' stroke='%233f3f46'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M7.5 10.5 12 15m0 0 4.5-4.5M12 15V3'/%3E%3C/svg%3E") !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
}

.dark .ks-export-trigger::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.8' stroke='%23e4e4e7'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M7.5 10.5 12 15m0 0 4.5-4.5M12 15V3'/%3E%3C/svg%3E") !important;
}

.ks-export-trigger:hover {
    border-color: color-mix(in srgb, var(--ks-shell-border) 62%, var(--ks-shell-text-secondary)) !important;
    background: var(--ks-action-tertiary-hover) !important;
}

.ks-export-menu.fi-icon-btn {
    display: inline-flex !important;
    width: 2.25rem !important;
    height: 2.25rem !important;
    min-width: 2.25rem !important;
    flex: 0 0 2.25rem !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--ks-shell-border) !important;
    border-radius: var(--ks-radius-xs) !important;
    background: var(--ks-shell-surface) !important;
    color: var(--ks-ui-secondary-text) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.ks-export-menu.fi-icon-btn:hover {
    border-color: color-mix(in srgb, var(--ks-shell-border) 62%, var(--ks-shell-text-secondary)) !important;
    background: var(--ks-action-tertiary-hover) !important;
    color: var(--ks-ui-primary-text) !important;
}

.ks-export-menu.fi-icon-btn > svg:not(.fi-loading-indicator),
.ks-export-menu.fi-icon-btn .fi-icon:not(.fi-loading-indicator) {
    display: block !important;
    width: 1.125rem !important;
    height: 1.125rem !important;
    color: currentColor !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

@media (max-width: 768px) {
    .fi-ta-header-toolbar:has(.ks-export-trigger) {
        align-items: stretch !important;
        padding: .75rem 1rem !important;
    }

    .fi-ta-header-toolbar:has(.ks-export-trigger) > div:not(.fi-ta-actions) {
        flex: 1 1 100%;
    }
}

@media (max-width: 480px) {
    .fi-ta-header-toolbar:has(.ks-export-trigger) {
        gap: .625rem !important;
        padding: .75rem !important;
    }
}

/* KIRADOO-TABLE-ROW-DIVIDERS-V30
   A quiet, reliable row rhythm for every native and future backend table. */
:root {
    --ks-table-row-divider: #e7e7e4;
    --ks-table-row-hover: #f7f7f5;
}

.dark {
    --ks-table-row-divider: rgba(255, 255, 255, .08);
    --ks-table-row-hover: rgba(255, 255, 255, .035);
}

/* Cell borders remain dependable when tables use border-collapse: separate. */
.fi-ta-table tbody .fi-ta-cell,
.fi-page-content table:not(.fi-ta-table) tbody td {
    border: 0 !important;
    border-bottom: 1px solid var(--ks-table-row-divider) !important;
}

.fi-ta-table tbody .fi-ta-row:last-child .fi-ta-cell,
.fi-page-content table:not(.fi-ta-table) tbody tr:last-child td {
    border-bottom: 0 !important;
}

.fi-ta-table tbody .fi-ta-row,
.fi-page-content table:not(.fi-ta-table) tbody tr {
    background: var(--ks-shell-surface) !important;
    box-shadow: none !important;
    transition: background-color .14s ease !important;
}

.fi-ta-table tbody .fi-ta-row:hover,
.fi-page-content table:not(.fi-ta-table) tbody tr:hover {
    background: var(--ks-table-row-hover) !important;
}

.fi-ta-table thead .fi-ta-header-cell,
.fi-page-content table:not(.fi-ta-table) thead th {
    border-bottom-color: var(--ks-table-row-divider) !important;
}

/* KIRADOO-PAGE-EDITOR-WORKSPACE-V31
   One calm editing surface: contextual header, stage tabs and border-led groups. */
.ks-page-editor .fi-main {
    padding-bottom: 3rem !important;
}

.ks-page-editor .fi-header {
    align-items: end !important;
    padding-bottom: 1rem !important;
    border-bottom: 1px solid var(--ks-table-row-divider) !important;
}

.ks-page-editor .fi-header-heading {
    max-width: 22ch;
    letter-spacing: -.025em !important;
}

.ks-page-editor .fi-header-subheading {
    margin-top: .375rem !important;
    color: var(--ks-shell-muted) !important;
    font-variant-numeric: tabular-nums lining-nums;
}

.ks-page-editor .ks-page-editor-tabs,
.ks-page-editor .ks-page-editor-tabs.fi-tabs,
.ks-page-editor .ks-page-editor-tabs > .fi-tabs {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.ks-page-editor .ks-page-editor-tabs .fi-tabs,
.ks-page-editor .ks-page-editor-tabs.fi-tabs {
    gap: 1.5rem !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ks-table-row-divider) !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.ks-page-editor .ks-page-editor-tabs .fi-tabs-item {
    position: relative;
    min-height: 3rem !important;
    padding: .75rem 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ks-page-editor .ks-page-editor-tabs .fi-tabs-item.fi-active::after,
.ks-page-editor .ks-page-editor-tabs .fi-tabs-item[aria-selected="true"]::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: var(--ks-shell-text);
}

.ks-page-editor .ks-page-editor-tabs .fi-section {
    overflow: hidden;
    border: 1px solid var(--ks-table-row-divider) !important;
    border-radius: var(--ks-radius-md) !important;
    background: var(--ks-shell-surface) !important;
    box-shadow: none !important;
}

.ks-page-editor .ks-page-editor-tabs .fi-section-header {
    padding: 1.125rem 1.25rem .875rem !important;
    border-bottom: 1px solid var(--ks-table-row-divider) !important;
    background: var(--ks-shell-soft) !important;
}

.ks-page-editor .ks-page-editor-tabs .fi-section-content-ctn {
    padding: 1.25rem !important;
}

.ks-page-editor .fi-form-actions {
    padding-top: 1.25rem !important;
    border-top: 1px solid var(--ks-table-row-divider) !important;
}

@media (max-width: 640px) {
    .ks-page-editor .fi-header {
        align-items: stretch !important;
    }

    .ks-page-editor .ks-page-editor-tabs .fi-tabs,
    .ks-page-editor .ks-page-editor-tabs.fi-tabs {
        gap: 1.125rem !important;
    }

    .ks-page-editor .ks-page-editor-tabs .fi-section-header,
    .ks-page-editor .ks-page-editor-tabs .fi-section-content-ctn {
        padding: 1rem !important;
    }
}

/* V34 final mobile action authority: flat trigger, reliable touch, safe overlay. */
.fi-ta-table .fi-ta-cell:has(> .fi-ta-actions) {
    width: 3rem !important;
    min-width: 3rem !important;
    max-width: 3rem !important;
    padding-inline: .25rem !important;
    background: inherit !important;
    box-shadow: none !important;
}

.fi-ta-table .fi-ta-cell:has(> .fi-ta-actions) .fi-ta-actions,
.fi-ta-table .fi-ta-cell:has(> .fi-ta-actions) .fi-dropdown,
.fi-ta-table .fi-ta-cell:has(> .fi-ta-actions) .fi-dropdown-trigger {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.fi-ta-table .fi-ta-cell:has(> .fi-ta-actions) .fi-dropdown-trigger,
.fi-ta-table .fi-ta-cell:has(> .fi-ta-actions) .fi-dropdown-trigger > button {
    width: 2.5rem !important;
    height: 2.5rem !important;
    min-width: 2.5rem !important;
    min-height: 2.5rem !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    touch-action: manipulation;
    pointer-events: auto !important;
    cursor: pointer !important;
}

.fi-ta-table .fi-ta-cell:has(> .fi-ta-actions) .fi-dropdown-trigger > button:hover,
.fi-ta-table .fi-ta-cell:has(> .fi-ta-actions) .fi-dropdown-trigger > button:focus-visible {
    background: var(--ks-action-tertiary-hover) !important;
}

body > .fi-dropdown-panel,
.fi-dropdown-panel {
    z-index: 1000 !important;
    min-width: 12rem !important;
    max-width: calc(100vw - 1rem) !important;
    border: 1px solid var(--ks-shell-border) !important;
    background: var(--ks-shell-surface) !important;
    box-shadow: var(--ks-shell-shadow-raised) !important;
    pointer-events: auto !important;
}

@media (max-width: 640px) {
    .fi-ta-table .fi-ta-cell:has(> .fi-ta-actions) {
        position: static !important;
        border-left: 0 !important;
        box-shadow: none !important;
    }

    body > .fi-dropdown-panel,
    .fi-dropdown-panel {
        min-width: min(13rem, calc(100vw - 1rem)) !important;
    }
}

/* KIRADOO-RESPONSIVE-TABLE-CONTRACT-V40
   Touch screens scroll wide, readable tables. Never squeeze words into
   one-character lines. This overrides retired workspace squeeze rules. */
@media (max-width: 1199px) {
    .fi-body :is(
        .fi-ta-content-ctn,
        .fi-ta-content,
        .fi-ta-table-ctn,
        .fi-ta-table-container,
        .fi-ta .overflow-x-auto
    ) {
        position: relative;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        overscroll-behavior-inline: none;
        scroll-behavior: smooth;
        scrollbar-gutter: stable;
        scrollbar-width: thin;
        scrollbar-color: color-mix(in srgb, var(--ks-shell-muted) 58%, transparent) var(--ks-shell-soft);
        touch-action: pan-x pan-y;
        -webkit-overflow-scrolling: touch;
    }

    /* Only the wrapper that directly owns the table becomes the scroll
       viewport, preventing nested/double scrollbars in Filament markup. */
    .fi-body :is(
        .fi-ta-content-ctn,
        .fi-ta-content,
        .fi-ta-table-ctn,
        .fi-ta-table-container,
        .fi-ta .overflow-x-auto
    ):has(> .fi-ta-table),
    .fi-body :is(
        .fi-ta-content-ctn,
        .fi-ta-content,
        .fi-ta-table-ctn,
        .fi-ta-table-container,
        .fi-ta .overflow-x-auto
    ):has(> table) {
        max-height: clamp(24rem, calc(100dvh - 13rem), 48rem);
        overflow-x: auto !important;
        overflow-y: auto !important;
    }

    .fi-body :is(
        .fi-ta-content-ctn,
        .fi-ta-content,
        .fi-ta-table-ctn,
        .fi-ta-table-container,
        .fi-ta .overflow-x-auto
    )::-webkit-scrollbar {
        height: .55rem;
    }

    .fi-body :is(
        .fi-ta-content-ctn,
        .fi-ta-content,
        .fi-ta-table-ctn,
        .fi-ta-table-container,
        .fi-ta .overflow-x-auto
    )::-webkit-scrollbar-track {
        border-radius: 999px;
        background: var(--ks-shell-soft);
    }

    .fi-body :is(
        .fi-ta-content-ctn,
        .fi-ta-content,
        .fi-ta-table-ctn,
        .fi-ta-table-container,
        .fi-ta .overflow-x-auto
    )::-webkit-scrollbar-thumb {
        min-width: 3rem;
        border: 2px solid var(--ks-shell-soft);
        border-radius: 999px;
        background: color-mix(in srgb, var(--ks-shell-muted) 58%, transparent);
    }

    .fi-body .fi-ta-table {
        width: max-content !important;
        min-width: max(100%, 56rem) !important;
        table-layout: auto !important;
    }

    .fi-body .fi-ta-table :is(th, td, .fi-ta-header-cell, .fi-ta-cell) {
        min-width: 8rem !important;
        max-width: 22rem;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }

    .fi-body .fi-ta-table :is(th, .fi-ta-header-cell) {
        position: sticky;
        top: 0;
        z-index: 2;
        white-space: nowrap !important;
        background: var(--ks-shell-soft) !important;
    }

    .fi-body .fi-ta-table :is(
        .fi-ta-selection-cell,
        .fi-ta-actions-header-cell,
        .fi-ta-actions-cell,
        th:has(input[type="checkbox"]),
        td:has(input[type="checkbox"])
    ) {
        width: 3rem !important;
        min-width: 3rem !important;
        max-width: 3rem !important;
        white-space: nowrap !important;
    }

    .fi-body .fi-ta-table :is(
        [data-column="title"],
        [data-column="name"],
        [data-column="subject"],
        [data-column="label"]
    ) {
        min-width: 13rem !important;
    }

    .fi-body .fi-page-content :is(.ks-data-table, .kcrm-table, .kapps-app-table) {
        width: max-content !important;
        min-width: max(100%, 56rem) !important;
        table-layout: auto !important;
    }

    .fi-body .fi-page-content :is(.ks-data-table, .kcrm-table, .kapps-app-table) :is(th, td) {
        min-width: 8rem !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }

    .fi-body .fi-page-content :is(.ks-data-table, .kcrm-table, .kapps-app-table) th {
        white-space: nowrap !important;
    }
}

@media (max-width: 640px) {
    .fi-body .fi-ta-table,
    .fi-body .fi-page-content :is(.ks-data-table, .kcrm-table, .kapps-app-table) {
        min-width: max(100%, 52rem) !important;
    }
}

/* V44 final authority: adaptive classes override the wide-table fallback. */
@media (max-width: 1199px) {
    .fi-body .fi-ta-table.ks-table-compact-fit {
        width: 100% !important;
        min-width: 100% !important;
        table-layout: auto !important;
    }

    .fi-body .fi-ta-table.ks-table-compact-fit :is(th, td, .fi-ta-header-cell, .fi-ta-cell) {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        padding-inline: clamp(.625rem, 2vw, 1rem) !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        hyphens: none !important;
    }

    .fi-body .fi-ta-table.ks-table-compact-fit :is(th, .fi-ta-header-cell) {
        white-space: nowrap !important;
    }

    .fi-body .fi-ta-table.ks-table-balanced-fit {
        width: 100% !important;
        min-width: max(100%, 40rem) !important;
        table-layout: auto !important;
    }

    .fi-body .fi-ta-table.ks-table-balanced-fit :is(th, td, .fi-ta-header-cell, .fi-ta-cell) {
        min-width: 6.5rem !important;
        padding-inline: clamp(.625rem, 1.6vw, .875rem) !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        hyphens: none !important;
    }

    .fi-body .fi-ta-table:is(.ks-table-compact-fit, .ks-table-balanced-fit) :is(
        .fi-ta-selection-cell,
        .fi-ta-actions-header-cell,
        .fi-ta-actions-cell,
        th:has(input[type="checkbox"]),
        td:has(input[type="checkbox"])
    ) {
        width: 3rem !important;
        min-width: 3rem !important;
        max-width: 3rem !important;
        padding-inline: .375rem !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 640px) {
    .fi-body .fi-ta-table.ks-table-balanced-fit {
        min-width: max(100%, 38rem) !important;
    }
}
/* Contacts directory: balanced content columns and a protected action edge. */
.kiradoo-contacts-table table {
    table-layout: fixed !important;
}

/* Individual contact editor: one calm operational surface. */
.ks-contact-editor-page :is(
    .fi-main,
    .fi-main > .fi-page,
    .fi-page,
    .fi-page-content,
    .fi-page-content > form,
    .fi-sc,
    .fi-fo-component-ctn,
    .kiradoo-contact-editor
) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

/* Email Audience: one full-width consent ledger and one editing surface. */
.ks-email-permission-page :is(
    .fi-main,
    .fi-main > .fi-page,
    .fi-page,
    .fi-page-content,
    .fi-page-content > form,
    .fi-sc,
    .fi-sc-form,
    .fi-fo-component-ctn,
    .kiradoo-email-permission-editor
) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

/* Campaigns: full-width operational ledger and a single calm editor. */
.ks-campaign-editor-page :is(
    .fi-main,
    .fi-main > .fi-page,
    .fi-page,
    .fi-page-content,
    .fi-page-content > form,
    .fi-sc,
    .fi-sc-form,
    .fi-fo-component-ctn,
    .kiradoo-campaign-editor
) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.ks-campaign-editor-page .fi-main {
    margin-inline: 0 !important;
}

.kiradoo-campaigns-table table {
    table-layout: fixed !important;
}

.kiradoo-campaigns-table .fi-ta-header-cell-subject { width: 36% !important; }
.kiradoo-campaigns-table .fi-ta-header-cell-recipient-type { width: 24% !important; }
.kiradoo-campaigns-table .fi-ta-header-cell-scheduled-at { width: 20% !important; }
.kiradoo-campaigns-table .fi-ta-header-cell-sent-count { width: 12% !important; }

.kiradoo-campaigns-table .fi-ta-actions-header-cell,
.kiradoo-campaigns-table .fi-ta-actions-cell,
.kiradoo-campaigns-table table th:last-child,
.kiradoo-campaigns-table table td:last-child {
    width: 8% !important;
    min-width: 104px !important;
    padding-right: 1.4rem !important;
    text-align: center !important;
}

.kiradoo-campaigns-table .fi-ta-actions {
    justify-content: center !important;
    margin-inline: auto !important;
}

@media (max-width: 1199px) {
    .kiradoo-campaigns-table table {
        width: max-content !important;
        min-width: 760px !important;
    }
}

@media (max-width: 767px) {
    .ks-campaign-editor-page .fi-main {
        padding-inline: 0.85rem !important;
    }
}

.ks-email-permission-page .fi-main {
    margin-inline: 0 !important;
}

.kiradoo-email-audience-table table {
    table-layout: fixed !important;
}

.kiradoo-email-audience-table .fi-ta-header-cell-contact-name {
    width: 32% !important;
}

.kiradoo-email-audience-table .fi-ta-header-cell-status {
    width: 24% !important;
}

.kiradoo-email-audience-table .fi-ta-header-cell-source {
    width: 20% !important;
}

.kiradoo-email-audience-table .fi-ta-header-cell-email-count {
    width: 16% !important;
}

.kiradoo-email-audience-table .fi-ta-actions-header-cell,
.kiradoo-email-audience-table .fi-ta-actions-cell,
.kiradoo-email-audience-table table th:last-child,
.kiradoo-email-audience-table table td:last-child {
    width: 8% !important;
    min-width: 104px !important;
    padding-right: 1.4rem !important;
    text-align: center !important;
}

.kiradoo-email-audience-table .fi-ta-actions {
    justify-content: center !important;
    margin-inline: auto !important;
}

@media (max-width: 1199px) {
    .kiradoo-email-audience-table table {
        width: max-content !important;
        min-width: 760px !important;
    }
}

@media (max-width: 767px) {
    .ks-email-permission-page .fi-main {
        padding-inline: 0.85rem !important;
    }
}

.ks-contact-editor-page .fi-main {
    margin-inline: 0 !important;
}

.ks-contact-editor-page .fi-page-content > form {
    display: block !important;
}

.kiradoo-contact-editor {
    width: 100% !important;
}

.kiradoo-contact-editor > .fi-section-content-ctn,
.kiradoo-contact-editor > .fi-section-content {
    border-top: 1px solid var(--kiradoo-table-line, #e7e2da);
}

.kiradoo-contact-editor .fi-fo-field-wrp {
    min-width: 0;
}

@media (max-width: 767px) {
    .ks-contact-editor-page .fi-main {
        padding-inline: 0.85rem !important;
    }

    .kiradoo-contact-editor {
        border-radius: 16px !important;
    }
}

.kiradoo-contacts-table .fi-ta-header-cell-name,
.kiradoo-contacts-table .kiradoo-contacts-table__contact {
    width: 36% !important;
}

.kiradoo-contacts-table .fi-ta-header-cell-status,
.kiradoo-contacts-table .kiradoo-contacts-table__status {
    width: 27% !important;
}

.kiradoo-contacts-table .fi-ta-header-cell-connections,
.kiradoo-contacts-table .kiradoo-contacts-table__connections {
    width: 27% !important;
}

.kiradoo-contacts-table .fi-ta-actions-header-cell,
.kiradoo-contacts-table .fi-ta-actions-cell,
.kiradoo-contacts-table .fi-ta-record-actions-cell,
.kiradoo-contacts-table table th:last-child,
.kiradoo-contacts-table table td:last-child {
    width: 10% !important;
    min-width: 112px !important;
    max-width: 132px !important;
    padding-left: 0.8rem !important;
    padding-right: 1.6rem !important;
    text-align: center !important;
}

.kiradoo-contacts-table .fi-ta-actions,
.kiradoo-contacts-table .fi-ta-record-actions {
    justify-content: center !important;
    margin-inline: auto !important;
}

@media (max-width: 1199px) {
    .kiradoo-contacts-table table {
        width: max-content !important;
        min-width: 760px !important;
        table-layout: fixed !important;
    }
}

/* AUTH-V7 — quiet glass account entry. */
body:has(.ks-auth-experience) {
    background:
        radial-gradient(circle at 76% 14%, rgba(255,255,255,.96) 0 12%, transparent 38%),
        radial-gradient(circle at 92% 82%, rgba(214,198,178,.38), transparent 36%),
        #e9e4dc !important;
}

.ks-auth-experience {
    background:
        radial-gradient(circle at 18% 18%, rgba(255,255,255,.14), transparent 28%),
        linear-gradient(150deg, #28241f 0%, #423a31 54%, #716253 100%) !important;
}

.ks-auth-experience::after {
    content: "";
    position: absolute;
    inset: 9% 8%;
    pointer-events: none;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 2.25rem;
    background: linear-gradient(135deg, rgba(255,255,255,.09), rgba(255,255,255,.015));
    box-shadow: inset 0 1px rgba(255,255,255,.12);
}

.ks-auth-experience__inner { z-index: 1; }
.ks-auth-experience__message { max-width: 29rem; }
.ks-auth-experience__message h1 {
    margin: .65rem 0 .8rem;
    font-size: clamp(3rem, 5.2vw, 5.7rem);
    letter-spacing: -.075em;
}
.ks-auth-experience__message > p:last-child {
    max-width: 25rem;
    font-size: .96rem;
}
.ks-auth-experience__assurance { gap: 1.15rem; }

body:has(.ks-auth-experience) .fi-simple-main {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.8) !important;
    border-radius: 1.6rem !important;
    background: rgba(255,255,255,.62) !important;
    box-shadow:
        0 2rem 5rem rgba(58,48,38,.16),
        inset 0 1px rgba(255,255,255,.9) !important;
    -webkit-backdrop-filter: blur(28px) saturate(160%);
    backdrop-filter: blur(28px) saturate(160%);
}

body:has(.ks-auth-experience) .fi-simple-main::before { display: none; }
body:has(.ks-auth-experience) .fi-simple-page-content { padding: clamp(1.6rem,4vw,2.35rem) !important; }
body:has(.ks-auth-experience) .fi-input-wrp {
    border: 1px solid rgba(94,83,70,.18) !important;
    border-radius: .82rem !important;
    background: rgba(255,255,255,.62) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.85) !important;
}
body:has(.ks-auth-experience) .fi-input-wrp:focus-within {
    border-color: rgba(70,61,52,.55) !important;
    box-shadow: 0 0 0 4px rgba(69,60,51,.08), inset 0 1px rgba(255,255,255,.9) !important;
}
body:has(.ks-auth-experience) .fi-simple-page .fi-btn[type="submit"] {
    min-height: 3.15rem;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: .86rem !important;
    background: linear-gradient(180deg, #3a352f, #24211d) !important;
    box-shadow: 0 .7rem 1.5rem rgba(45,39,33,.2), inset 0 1px rgba(255,255,255,.18) !important;
}
.ks-auth-signup-link { white-space: nowrap; }
.ks-auth-invite-note { display: none; }

.ks-glass-auth {
    margin: 0;
    min-width: 320px;
    color: #29251f;
    background:
        radial-gradient(circle at 18% 12%, rgba(255,255,255,.9), transparent 28%),
        radial-gradient(circle at 86% 82%, rgba(202,181,155,.5), transparent 32%),
        #e9e4dc;
    font-family: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, sans-serif;
}
.ks-glass-auth *, .ks-glass-auth *::before, .ks-glass-auth *::after { box-sizing: border-box; }
.ks-glass-auth__shell { min-height: 100svh; display: grid; grid-template-columns: minmax(20rem,.88fr) minmax(25rem,1.12fr); }
.ks-glass-auth__intro {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    margin: 1rem;
    padding: clamp(2rem,5vw,4.8rem);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 2.2rem;
    color: #fff;
    background: radial-gradient(circle at 18% 16%, rgba(255,255,255,.16), transparent 28%), linear-gradient(150deg,#28241f,#4b4137 62%,#766657);
    box-shadow: 0 1.4rem 4rem rgba(53,44,36,.17), inset 0 1px rgba(255,255,255,.14);
}
.ks-glass-auth__intro::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 22rem;
    aspect-ratio: 1;
    right: -9rem;
    bottom: -8rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50%;
    box-shadow: 0 0 0 3.5rem rgba(255,255,255,.025), 0 0 0 7rem rgba(255,255,255,.018);
}
.ks-glass-auth__brand { display: flex; align-items: center; gap: .72rem; font-size: .82rem; font-weight: 750; }
.ks-glass-auth__brand > span { display: grid; width: 2rem; aspect-ratio: 1; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: .65rem; background: rgba(255,255,255,.12); box-shadow: inset 0 1px rgba(255,255,255,.16); }
.ks-glass-auth__eyebrow { margin: 0 0 .55rem; color: #d8c3a9; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.ks-glass-auth__intro h1 { max-width: 8ch; margin: 0; font-size: clamp(3rem,5.2vw,5.6rem); line-height: .98; letter-spacing: -.075em; }
.ks-glass-auth__intro div > p:last-child { margin: 1rem 0 0; color: #d9d0c7; font-size: .95rem; }
.ks-glass-auth__trust { display: flex; align-items: center; gap: .55rem; color: #d8d0c7; font-size: .75rem; font-weight: 700; }
.ks-glass-auth__trust i { width: .45rem; aspect-ratio: 1; border-radius: 50%; background: #a8d5b6; box-shadow: 0 0 0 .28rem rgba(168,213,182,.11); }
.ks-glass-auth__stage { display: grid; padding: clamp(1.25rem,5vw,4.8rem); place-items: center; }
.ks-glass-auth__card {
    width: min(100%,31.5rem);
    padding: clamp(1.5rem,4vw,2.35rem);
    border: 1px solid rgba(255,255,255,.82);
    border-radius: 1.6rem;
    background: rgba(255,255,255,.58);
    box-shadow: 0 2rem 5rem rgba(58,48,38,.15), inset 0 1px rgba(255,255,255,.95);
    -webkit-backdrop-filter: blur(28px) saturate(160%);
    backdrop-filter: blur(28px) saturate(160%);
}
.ks-glass-auth__card header h2 { margin: 0; font-size: clamp(1.75rem,3vw,2.15rem); letter-spacing: -.045em; }
.ks-glass-auth__card header p { margin: .4rem 0 0; color: #746b61; font-size: .84rem; }
.ks-glass-auth__fields { display: grid; margin-top: 1.35rem; gap: .82rem; }
.ks-glass-auth__fields label > span { display: block; margin: 0 0 .38rem; color: #504a43; font-size: .72rem; font-weight: 750; }
.ks-glass-auth__fields input {
    width: 100%;
    min-height: 2.95rem;
    padding: .68rem .8rem;
    border: 1px solid rgba(94,83,70,.18);
    border-radius: .8rem;
    outline: none;
    color: #29251f;
    background: rgba(255,255,255,.62);
    box-shadow: inset 0 1px rgba(255,255,255,.9);
    font: inherit;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.ks-glass-auth__fields input:focus { border-color: rgba(70,61,52,.55); background: rgba(255,255,255,.85); box-shadow: 0 0 0 4px rgba(69,60,51,.08); }
.ks-glass-auth__terms { display: flex; align-items: flex-start; gap: .58rem; margin: 1rem 0; color: #665f57; font-size: .72rem; line-height: 1.5; }
.ks-glass-auth__terms input { margin-top: .15rem; accent-color: #302b25; }
.ks-glass-auth__submit {
    width: 100%;
    min-height: 3.05rem;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: .84rem;
    color: #fff;
    background: linear-gradient(180deg,#3a352f,#24211d);
    box-shadow: 0 .7rem 1.5rem rgba(45,39,33,.2), inset 0 1px rgba(255,255,255,.18);
    font: inherit;
    font-weight: 780;
    cursor: pointer;
}
.ks-glass-auth__submit:hover { filter: brightness(1.08); transform: translateY(-1px); }
.ks-glass-auth__switch { margin: 1rem 0 0; text-align: center; color: #776f66; font-size: .76rem; }
.ks-glass-auth__switch a { color: #312d28; font-weight: 780; text-decoration: none; }
.ks-glass-auth__error { margin-top: 1rem; padding: .72rem .8rem; border: 1px solid rgba(173,70,60,.2); border-radius: .75rem; color: #97372f; background: rgba(255,245,243,.75); font-size: .76rem; }

@media (max-width: 820px) {
    .ks-glass-auth__shell { grid-template-columns: 1fr; }
    .ks-glass-auth__intro { min-height: 13rem; margin: .65rem; padding: 1.4rem; border-radius: 1.5rem; }
    .ks-glass-auth__intro h1 { font-size: 2.5rem; }
    .ks-glass-auth__intro div > p:last-child { margin-top: .55rem; }
    .ks-glass-auth__stage { padding: 1rem 1rem 2rem; }
    .ks-glass-auth__card { border-radius: 1.35rem; }
}

@media (max-width: 1023px) {
    body:has(.ks-auth-experience) .fi-simple-main {
        border-radius: 1.35rem !important;
        background: rgba(255,255,255,.68) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ks-glass-auth__submit { transition: none; }
}

/* AUTH-V8 — one liquid-glass language for sign in, signup and OTP. */
.ks-auth-mode {
    display: inline-flex;
    align-items: center;
    gap: .18rem;
    margin: .8rem auto .35rem;
    padding: .22rem;
    border: 1px solid rgba(91,78,64,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.38);
    box-shadow: inset 0 1px rgba(255,255,255,.82), 0 .3rem .9rem rgba(61,51,41,.06);
    -webkit-backdrop-filter: blur(16px) saturate(150%);
    backdrop-filter: blur(16px) saturate(150%);
}
.ks-auth-mode :is(a,strong) {
    display: block;
    padding: .44rem .72rem;
    border-radius: 999px;
    color: #655c52;
    font-size: .72rem;
    font-weight: 760;
    line-height: 1;
    text-decoration: none;
}
.ks-auth-mode strong {
    color: #fff;
    background: linear-gradient(180deg, rgba(62,56,49,.96), rgba(36,32,28,.98));
    box-shadow: 0 .3rem .8rem rgba(43,37,31,.18), inset 0 1px rgba(255,255,255,.18);
}
.ks-auth-mode a:hover { color: #28231e; background: rgba(255,255,255,.48); }
.ks-auth-next {
    display: block;
    margin-top: .28rem;
    color: #81776c;
    font-size: .7rem;
    font-weight: 650;
    letter-spacing: .01em;
}
.ks-auth-next b { margin-inline: .25rem; color: #a08c73; }

body:has(.ks-auth-experience),
.ks-glass-auth {
    background:
        radial-gradient(circle at 76% 12%, rgba(255,255,255,.98) 0 7%, transparent 31%),
        radial-gradient(circle at 95% 82%, rgba(198,175,146,.5), transparent 34%),
        radial-gradient(circle at 56% 54%, rgba(255,255,255,.64), transparent 28%),
        #e9e4dc !important;
}

.ks-glass-auth__shell { grid-template-columns: 1fr 1fr; }
.ks-glass-auth__intro {
    margin: 0;
    border-width: 0 1px 0 0;
    border-radius: 0;
    background:
        linear-gradient(118deg, rgba(255,255,255,.055), transparent 38%),
        radial-gradient(circle at 18% 16%, rgba(255,255,255,.14), transparent 28%),
        linear-gradient(150deg,#2d2924,#4b4238 62%,#6c5e51);
}
.ks-glass-auth__brand small {
    margin-left: .12rem;
    color: #c8bdb3;
    font-size: .68rem;
    font-weight: 550;
}
.ks-glass-auth__stage { position: relative; isolation: isolate; overflow: hidden; }
.ks-glass-auth__stage::before,
.ks-glass-auth__stage::after {
    content: "";
    position: absolute;
    z-index: -1;
    border: 1px solid rgba(142,119,93,.12);
    border-radius: 50%;
    pointer-events: none;
}
.ks-glass-auth__stage::before {
    width: 25rem;
    aspect-ratio: 1;
    right: -10rem;
    top: -12rem;
    box-shadow: 0 0 0 4.5rem rgba(255,255,255,.16), 0 0 0 8rem rgba(255,255,255,.08);
}
.ks-glass-auth__stage::after {
    width: 18rem;
    aspect-ratio: 1;
    left: -10rem;
    bottom: -10rem;
    box-shadow: 0 0 0 3.5rem rgba(196,173,145,.08);
}

.ks-glass-auth__card,
body:has(.ks-auth-experience) .fi-simple-main {
    border: 1px solid rgba(255,255,255,.78) !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,.62), rgba(255,255,255,.35)) !important;
    box-shadow:
        0 2rem 5rem rgba(58,48,38,.16),
        inset 0 1px rgba(255,255,255,.95),
        inset 1px 0 rgba(255,255,255,.42) !important;
    -webkit-backdrop-filter: blur(32px) saturate(175%);
    backdrop-filter: blur(32px) saturate(175%);
}
.ks-glass-auth__card { position: relative; overflow: hidden; }
.ks-glass-auth__card::before,
body:has(.ks-auth-experience) .fi-simple-main::after {
    content: "";
    position: absolute;
    width: 12rem;
    height: 3rem;
    left: 12%;
    top: -2.45rem;
    border-radius: 50%;
    background: rgba(255,255,255,.78);
    filter: blur(16px);
    pointer-events: none;
}
.ks-glass-auth__card header { text-align: center; }
.ks-glass-auth__card header .ks-auth-mode { margin-top: .85rem; }
.ks-glass-auth__fields input,
body:has(.ks-auth-experience) .fi-input-wrp {
    border-color: rgba(95,82,68,.16) !important;
    background: linear-gradient(145deg, rgba(255,255,255,.72), rgba(255,255,255,.46)) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.95), 0 .25rem .8rem rgba(62,51,40,.035) !important;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}
.ks-glass-auth__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
}
.ks-glass-auth__submit i { font-style: normal; opacity: .72; transition: transform .18s ease; }
.ks-glass-auth__submit:hover i { transform: translateX(.18rem); }
.ks-glass-auth__otp-copy { margin: 1.4rem 0 1rem; text-align: center; color: #6f665c; font-size: .8rem; }
.ks-glass-auth__otp > span { display: block; margin-bottom: .45rem; text-align: center; color: #514a43; font-size: .72rem; font-weight: 760; }
.ks-glass-auth__otp input {
    width: 100%;
    min-height: 4.2rem;
    padding: .7rem .7rem .7rem 1.05rem;
    border: 1px solid rgba(95,82,68,.17);
    border-radius: .9rem;
    outline: none;
    text-align: center;
    color: #2d2823;
    background: linear-gradient(145deg,rgba(255,255,255,.74),rgba(255,255,255,.46));
    box-shadow: inset 0 1px rgba(255,255,255,.95);
    font: 800 1.55rem/1 ui-monospace, SFMono-Regular, Menlo, monospace;
    letter-spacing: .42em;
}
.ks-glass-auth__otp input:focus { border-color: rgba(70,61,52,.55); box-shadow: 0 0 0 4px rgba(69,60,51,.08), inset 0 1px rgba(255,255,255,.95); }
.ks-glass-auth__card--otp .ks-glass-auth__submit { margin-top: 1rem; }
.ks-glass-auth__status { margin: 1rem 0 0; padding: .72rem .8rem; border: 1px solid rgba(62,126,81,.18); border-radius: .75rem; color: #356844; background: rgba(241,251,244,.68); text-align: center; font-size: .75rem; }
.ks-glass-auth__resend { width: min(100%,31.5rem); margin-top: .7rem; text-align: center; }
.ks-glass-auth__resend button { padding: .5rem .75rem; border: 0; color: #5f564d; background: transparent; font: 750 .72rem "Plus Jakarta Sans",Inter,ui-sans-serif,system-ui,sans-serif; cursor: pointer; }
.ks-glass-auth__resend button:hover { color: #29241f; text-decoration: underline; text-underline-offset: .2rem; }
.ks-glass-auth__resend button:disabled { color: #958b80; cursor: default; text-decoration: none; }

@media (max-width: 820px) {
    .ks-glass-auth__shell { grid-template-columns: 1fr; }
    .ks-glass-auth__intro {
        min-height: 11.5rem;
        margin: .65rem;
        border: 1px solid rgba(255,255,255,.14);
        border-radius: 1.5rem;
    }
    .ks-glass-auth__brand small { display: none; }
    .ks-glass-auth__intro h1 { font-size: 2.35rem; }
    .ks-glass-auth__trust { font-size: .68rem; }
}

body:has(.ks-auth-experience) .fi-simple-main-ctn {
    width: min(100%,31.5rem) !important;
}

/* EXPERIENCE-RUNTIME-V1 — restrained depth and motion across every Filament app. */
:root {
    --ks-pointer-x: 50vw;
    --ks-pointer-y: 20vh;
    --ks-experience-ease: cubic-bezier(.22, 1, .36, 1);
}

html[data-ks-experience="ready"] .fi-main::before {
    content: "";
    position: fixed;
    z-index: -1;
    width: 34rem;
    aspect-ratio: 1;
    left: calc(var(--ks-pointer-x) - 17rem);
    top: calc(var(--ks-pointer-y) - 17rem);
    border-radius: 50%;
    background: radial-gradient(circle, color-mix(in srgb, var(--ks-domain-accent, #2563eb) 8%, transparent), transparent 68%);
    filter: blur(8px);
    pointer-events: none;
    transition: opacity .35s ease;
}

html[data-ks-experience="ready"] :is(.fi-page-header, .fi-section, .fi-ta-ctn, .fi-wi, [data-ks-experience-surface])[data-ks-experience-ready="true"] {
    animation: ksExperienceReveal .62s var(--ks-experience-ease) both;
    animation-delay: calc(var(--ks-reveal-order, 0) * 45ms);
}

@keyframes ksExperienceReveal {
    from { opacity: 0; transform: translateY(.65rem) scale(.995); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.fi-section,
.fi-ta-ctn,
.fi-wi-stats-overview-stat {
    position: relative;
    isolation: isolate;
}

.fi-section::after,
.fi-wi-stats-overview-stat::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(118deg, rgba(255,255,255,.3), transparent 28%);
    opacity: 0;
    pointer-events: none;
    transition: opacity .28s ease;
}

.fi-section:hover::after,
.fi-wi-stats-overview-stat:hover::after { opacity: 1; }

.fi-btn {
    position: relative;
    overflow: hidden;
    transform: translateZ(0);
    transition: transform .2s var(--ks-experience-ease), box-shadow .2s ease, filter .2s ease !important;
}

.fi-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 25%, rgba(255,255,255,.28) 48%, transparent 72%);
    transform: translateX(-125%);
    transition: transform .55s var(--ks-experience-ease);
    pointer-events: none;
}

.fi-btn:hover { transform: translateY(-1px); filter: saturate(1.06); }
.fi-btn:hover::after { transform: translateX(125%); }
.fi-btn:active { transform: translateY(0) scale(.985); }

.fi-input-wrp:focus-within {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--ks-domain-accent, #2563eb) 12%, transparent), 0 .7rem 1.8rem rgba(15,23,42,.055) !important;
    transition: box-shadow .2s ease, border-color .2s ease;
}

.fi-ta-row {
    transition: background-color .18s ease, box-shadow .18s ease;
}

.fi-ta-row:hover {
    background: color-mix(in srgb, var(--ks-domain-accent, #2563eb) 3%, white);
    box-shadow: inset 3px 0 color-mix(in srgb, var(--ks-domain-accent, #2563eb) 42%, transparent);
}

@media (prefers-reduced-motion: reduce) {
    html[data-ks-experience] :is(.fi-page-header, .fi-section, .fi-ta-ctn, .fi-wi, [data-ks-experience-surface]),
    .fi-btn,
    .fi-btn::after,
    .fi-section::after,
    .fi-wi-stats-overview-stat::after,
    .fi-ta-row {
        animation: none !important;
        transition: none !important;
    }
    html[data-ks-experience="ready"] .fi-main::before { display: none; }
}

@media (max-width: 640px), (hover: none) {
    html[data-ks-experience="ready"] .fi-main::before { display: none; }
    .fi-section:hover::after,
    .fi-wi-stats-overview-stat:hover::after { opacity: 0; }
}
