.fi-ta-record.forstsoft-inactive-row {
    opacity: 0.52;
    filter: grayscale(1);
}

.fi-ta-record.forstsoft-inactive-row:hover {
    opacity: 0.72;
}

.forstsoft-module-explanation {
    --forstsoft-explanation-border: #bbf7d0;
    --forstsoft-explanation-bg: #f0fdf4;
    --forstsoft-explanation-text: #052e16;
    --forstsoft-explanation-muted: rgba(5, 46, 22, .86);
    --forstsoft-explanation-badge-bg: rgba(255, 255, 255, .78);
    --forstsoft-explanation-badge-text: #374151;
    margin-bottom: 1.5rem;
    padding: 1rem;
    border: 1px solid var(--forstsoft-explanation-border);
    border-radius: 1rem;
    background: var(--forstsoft-explanation-bg);
    color: var(--forstsoft-explanation-text);
    box-shadow: 0 1px 2px rgba(15, 23, 42, .06);
}

.forstsoft-module-explanation--amber {
    --forstsoft-explanation-border: #fde68a;
    --forstsoft-explanation-bg: #fffbeb;
    --forstsoft-explanation-text: #451a03;
    --forstsoft-explanation-muted: rgba(69, 26, 3, .86);
}

.forstsoft-module-explanation--cyan {
    --forstsoft-explanation-border: #a5f3fc;
    --forstsoft-explanation-bg: #ecfeff;
    --forstsoft-explanation-text: #083344;
    --forstsoft-explanation-muted: rgba(8, 51, 68, .86);
}

.forstsoft-module-explanation--gray {
    --forstsoft-explanation-border: #e5e7eb;
    --forstsoft-explanation-bg: #f9fafb;
    --forstsoft-explanation-text: #111827;
    --forstsoft-explanation-muted: rgba(17, 24, 39, .78);
}

.forstsoft-module-explanation--indigo {
    --forstsoft-explanation-border: #c7d2fe;
    --forstsoft-explanation-bg: #eef2ff;
    --forstsoft-explanation-text: #1e1b4b;
    --forstsoft-explanation-muted: rgba(30, 27, 75, .86);
}

.forstsoft-module-explanation--lime {
    --forstsoft-explanation-border: #d9f99d;
    --forstsoft-explanation-bg: #f7fee7;
    --forstsoft-explanation-text: #1a2e05;
    --forstsoft-explanation-muted: rgba(26, 46, 5, .86);
}

.forstsoft-module-explanation--orange {
    --forstsoft-explanation-border: #fed7aa;
    --forstsoft-explanation-bg: #fff7ed;
    --forstsoft-explanation-text: #431407;
    --forstsoft-explanation-muted: rgba(67, 20, 7, .86);
}

.forstsoft-module-explanation--rose {
    --forstsoft-explanation-border: #fecdd3;
    --forstsoft-explanation-bg: #fff1f2;
    --forstsoft-explanation-text: #4c0519;
    --forstsoft-explanation-muted: rgba(76, 5, 25, .86);
}

.forstsoft-module-explanation--sky {
    --forstsoft-explanation-border: #bae6fd;
    --forstsoft-explanation-bg: #f0f9ff;
    --forstsoft-explanation-text: #082f49;
    --forstsoft-explanation-muted: rgba(8, 47, 73, .86);
}

.forstsoft-module-explanation--slate {
    --forstsoft-explanation-border: #cbd5e1;
    --forstsoft-explanation-bg: #f8fafc;
    --forstsoft-explanation-text: #0f172a;
    --forstsoft-explanation-muted: rgba(15, 23, 42, .82);
}

.forstsoft-module-explanation--violet {
    --forstsoft-explanation-border: #ddd6fe;
    --forstsoft-explanation-bg: #f5f3ff;
    --forstsoft-explanation-text: #2e1065;
    --forstsoft-explanation-muted: rgba(46, 16, 101, .86);
}

.forstsoft-module-explanation__layout {
    display: flex;
    flex-direction: column;
    gap: .85rem;
}

.forstsoft-module-explanation__content {
    display: grid;
    gap: .5rem;
}

.forstsoft-module-explanation__heading {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.forstsoft-module-explanation__heading h2 {
    margin: 0;
    color: var(--forstsoft-explanation-text);
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.5rem;
}

.forstsoft-module-explanation__icon {
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 auto;
}

.forstsoft-module-explanation__content p {
    max-width: 70rem;
    margin: 0;
    color: var(--forstsoft-explanation-muted);
    font-size: .9rem;
    line-height: 1.55rem;
}

.forstsoft-module-explanation__points {
    display: grid;
    gap: .35rem;
    max-width: 76rem;
    margin: .1rem 0 0;
    padding: 0;
    list-style: none;
    color: var(--forstsoft-explanation-muted);
    font-size: .86rem;
    line-height: 1.45rem;
}

.forstsoft-module-explanation__points li {
    display: flex;
    gap: .45rem;
}

.forstsoft-module-explanation__badge {
    align-self: flex-start;
    padding: .25rem .65rem;
    border-radius: 999px;
    background: var(--forstsoft-explanation-badge-bg);
    color: var(--forstsoft-explanation-badge-text);
    font-size: .74rem;
    font-weight: 650;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .06);
}

.dark .forstsoft-module-explanation {
    --forstsoft-explanation-border: rgba(74, 222, 128, .28);
    --forstsoft-explanation-bg: rgba(34, 197, 94, .10);
    --forstsoft-explanation-text: #dcfce7;
    --forstsoft-explanation-muted: rgba(220, 252, 231, .82);
    --forstsoft-explanation-badge-bg: rgba(255, 255, 255, .10);
    --forstsoft-explanation-badge-text: #f9fafb;
}

@media (min-width: 768px) {
    .forstsoft-module-explanation__points {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .forstsoft-module-explanation__layout {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
    }

    .forstsoft-module-explanation__badge {
        flex: 0 0 auto;
    }
}

.fi-sidebar .fi-tenant-menu {
    margin-inline: .75rem;
}

.fi-sidebar .fi-tenant-menu-trigger {
    align-items: flex-start;
}

.fi-sidebar .fi-tenant-menu-trigger-text {
    min-width: 0;
    flex: 1;
}

.fi-sidebar .fi-tenant-menu-trigger-tenant-name {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.25rem;
}

.fi-tenant-menu .fi-dropdown-panel {
    width: min(24rem, calc(100vw - 2rem));
    max-width: none;
}

.fi-tenant-menu .fi-dropdown-list-item-label {
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (min-width: 1024px) {
    .fi-topbar {
        position: relative;
    }

    .fi-topbar-end > .fi-global-search-ctn {
        position: absolute;
        left: 50%;
        width: min(34rem, 42vw);
        transform: translateX(-50%);
    }

    .fi-topbar-end > .fi-global-search-ctn .fi-global-search,
    .fi-topbar-end > .fi-global-search-ctn .fi-global-search-field {
        width: 100%;
    }

    .fi-topbar-end > .fi-global-search-ctn .fi-global-search-results-ctn {
        inset-inline: 0;
        width: 100%;
        max-width: none;
    }
}

.forstsoft-plan-grid {
    display: grid;
    gap: 1.75rem;
}

.forstsoft-plan-group h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5rem;
}

.forstsoft-plan-list {
    margin: 0.75rem 0 0;
    padding-left: 1.25rem;
    list-style: disc;
    font-size: 0.875rem;
    line-height: 1.45rem;
}

.forstsoft-plan-list li + li {
    margin-top: 0.4rem;
}

@media (min-width: 768px) {
    .forstsoft-plan-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.forstsoft-report-toolbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.25rem;
}

.forstsoft-report-toolbar label {
    display: grid;
    gap: .35rem;
    min-width: 10rem;
    color: rgb(75 85 99);
    font-size: .78rem;
    font-weight: 600;
}

.forstsoft-report-toolbar select {
    min-height: 2.5rem;
    padding: .5rem .75rem;
    border: 1px solid rgb(209 213 219);
    border-radius: .5rem;
    background: white;
    color: rgb(17 24 39);
    font-size: .9rem;
}

.dark .forstsoft-report-toolbar select {
    border-color: rgb(75 85 99);
    background: rgb(31 41 55);
    color: white;
}

.forstsoft-report-toolbar p {
    margin: 0;
    color: rgb(107 114 128);
    font-size: .82rem;
}

.forstsoft-report-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: .85rem;
}

.forstsoft-report-card {
    padding: 1rem;
    border: 1px solid rgb(229 231 235);
    border-top: 3px solid rgb(107 114 128);
    border-radius: .7rem;
    background: white;
}

.dark .forstsoft-report-card {
    border-color: rgb(55 65 81);
    background: rgb(17 24 39);
}

.forstsoft-report-card--success { border-top-color: #16a34a; }
.forstsoft-report-card--danger { border-top-color: #dc2626; }
.forstsoft-report-card--warning { border-top-color: #d97706; }
.forstsoft-report-card--gray { border-top-color: #6b7280; }

.forstsoft-report-cards--compact {
    margin-bottom: 1rem;
}

.forstsoft-report-card span,
.forstsoft-report-card strong,
.forstsoft-report-card small {
    display: block;
}

.forstsoft-report-card span {
    min-height: 2.2em;
    color: rgb(107 114 128);
    font-size: .74rem;
    line-height: 1.1rem;
}

.forstsoft-report-card strong {
    margin-top: .3rem;
    color: rgb(17 24 39);
    font-size: 1.15rem;
}

.dark .forstsoft-report-card strong { color: white; }

.forstsoft-report-card small {
    margin-top: .35rem;
    color: rgb(107 114 128);
    font-size: .68rem;
}

.is-negative { color: #b91c1c !important; }
.is-positive { color: #15803d !important; }

.forstsoft-month-chart {
    display: grid;
    gap: .45rem;
}

.forstsoft-month-chart-row {
    display: grid;
    grid-template-columns: 2.25rem minmax(12rem, 1fr) 8rem;
    align-items: center;
    gap: .7rem;
    font-size: .78rem;
}

.forstsoft-month-chart-row > strong { text-align: right; }

.forstsoft-month-bars {
    display: grid;
    grid-template-rows: repeat(3, 5px);
    gap: 2px;
}

.forstsoft-month-bars i {
    display: block;
    min-width: 0;
    border-radius: 999px;
}

.income { background: #16a34a; }
.expenses { background: #dc2626; }
.distributions { background: #d97706; }

.forstsoft-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 1rem;
    color: rgb(107 114 128);
    font-size: .72rem;
}

.forstsoft-chart-legend span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.forstsoft-chart-legend i {
    width: .7rem;
    height: .7rem;
    border-radius: 999px;
}

.forstsoft-report-table-wrap { overflow-x: auto; }

.forstsoft-report-table-wrap--mt { margin-top: 1rem; }

.forstsoft-report-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .8rem;
}

.forstsoft-report-table th {
    padding: .65rem .7rem;
    border-bottom: 1px solid rgb(209 213 219);
    color: rgb(75 85 99);
    text-align: left;
    white-space: nowrap;
}

.forstsoft-report-table td {
    padding: .65rem .7rem;
    border-bottom: 1px solid rgb(229 231 235);
}

.dark .forstsoft-report-table th,
.dark .forstsoft-report-table td { border-color: rgb(55 65 81); }

.forstsoft-report-table th:not(:first-child),
.forstsoft-report-table td:not(:first-child) { text-align: right; }

.forstsoft-report-table .is-overdue { background: rgb(254 242 242); }
.dark .forstsoft-report-table .is-overdue { background: rgb(69 10 10 / .2); }

.forstsoft-open-totals {
    display: flex;
    gap: 2rem;
    margin-bottom: 1rem;
    color: rgb(107 114 128);
    font-size: .8rem;
}

.forstsoft-open-totals strong {
    margin-left: .35rem;
    color: rgb(17 24 39);
}

.dark .forstsoft-open-totals strong { color: white; }

.forstsoft-report-empty {
    color: rgb(107 114 128);
    font-size: .85rem;
}

@media (max-width: 1100px) {
    .forstsoft-report-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .forstsoft-report-toolbar { align-items: stretch; flex-direction: column; }
    .forstsoft-report-cards { grid-template-columns: 1fr; }
    .forstsoft-month-chart-row { grid-template-columns: 2.25rem minmax(8rem, 1fr) 6.5rem; }
    .forstsoft-open-totals { flex-direction: column; gap: .5rem; }
}

.forstsoft-backup-page {
    display: grid;
    gap: 1.5rem;
}

.forstsoft-backup-hero {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.25rem;
    border: 1px solid rgb(229 231 235);
    border-radius: 1rem;
    background: white;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .05);
}

.dark .forstsoft-backup-hero {
    border-color: rgb(55 65 81);
    background: rgb(17 24 39);
}

.forstsoft-backup-kicker {
    margin: 0;
    color: #15803d;
    font-size: .82rem;
    font-weight: 700;
}

.dark .forstsoft-backup-kicker {
    color: #86efac;
}

.forstsoft-backup-hero h2 {
    margin: .2rem 0 0;
    color: rgb(17 24 39);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.75rem;
}

.dark .forstsoft-backup-hero h2 {
    color: white;
}

.forstsoft-backup-hero p {
    margin: .35rem 0 0;
    max-width: 48rem;
    color: rgb(75 85 99);
    font-size: .9rem;
    line-height: 1.45rem;
}

.dark .forstsoft-backup-hero p {
    color: rgb(209 213 219);
}

.forstsoft-backup-status {
    flex: 0 0 min(31rem, 42%);
    padding: .9rem 1rem;
    border: 1px solid;
    border-radius: .75rem;
    font-size: .86rem;
}

.forstsoft-backup-status-title {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.forstsoft-backup-status-title span {
    width: .6rem;
    height: .6rem;
    border-radius: 999px;
}

.forstsoft-backup-status strong,
.forstsoft-backup-status small {
    display: block;
}

.forstsoft-backup-status p {
    margin: .35rem 0 0;
    font-size: .82rem;
    line-height: 1.3rem;
}

.forstsoft-backup-status small {
    margin-top: .45rem;
    opacity: .8;
}

.forstsoft-backup-status--success {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #166534;
}

.forstsoft-backup-status--success .forstsoft-backup-status-title span {
    background: #22c55e;
}

.forstsoft-backup-status--warning {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}

.forstsoft-backup-status--warning .forstsoft-backup-status-title span {
    background: #f59e0b;
}

.forstsoft-backup-status--danger {
    border-color: #fecaca;
    background: #fef2f2;
    color: #991b1b;
}

.forstsoft-backup-status--danger .forstsoft-backup-status-title span {
    background: #ef4444;
}

.dark .forstsoft-backup-status--success {
    border-color: rgba(34, 197, 94, .35);
    background: rgba(34, 197, 94, .12);
    color: #dcfce7;
}

.dark .forstsoft-backup-status--warning {
    border-color: rgba(245, 158, 11, .35);
    background: rgba(245, 158, 11, .12);
    color: #fef3c7;
}

.dark .forstsoft-backup-status--danger {
    border-color: rgba(239, 68, 68, .35);
    background: rgba(239, 68, 68, .12);
    color: #fee2e2;
}

.forstsoft-backup-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}

.forstsoft-backup-hint,
.forstsoft-backup-empty {
    padding: .75rem .9rem;
    border: 1px solid rgb(229 231 235);
    border-radius: .7rem;
    background: rgb(249 250 251);
    color: rgb(75 85 99);
    font-size: .86rem;
    line-height: 1.35rem;
}

.forstsoft-backup-hint {
    margin-bottom: 1rem;
}

.forstsoft-backup-empty {
    border-style: dashed;
    text-align: center;
}

.dark .forstsoft-backup-hint,
.dark .forstsoft-backup-empty {
    border-color: rgb(55 65 81);
    background: rgba(255, 255, 255, .04);
    color: rgb(209 213 219);
}

.forstsoft-backup-list,
.forstsoft-checklist,
.forstsoft-export-list {
    overflow: hidden;
    border: 1px solid rgb(229 231 235);
    border-radius: .75rem;
    background: white;
}

.dark .forstsoft-backup-list,
.dark .forstsoft-checklist,
.dark .forstsoft-export-list {
    border-color: rgb(55 65 81);
    background: rgb(17 24 39);
}

.forstsoft-backup-row,
.forstsoft-export-row,
.forstsoft-checklist-row {
    padding: .85rem .95rem;
    border-top: 1px solid rgb(229 231 235);
}

.forstsoft-backup-row:first-child,
.forstsoft-export-row:first-child,
.forstsoft-checklist-row:first-child {
    border-top: 0;
}

.dark .forstsoft-backup-row,
.dark .forstsoft-export-row,
.dark .forstsoft-checklist-row {
    border-color: rgb(55 65 81);
}

.forstsoft-backup-row,
.forstsoft-export-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.forstsoft-backup-row > div:first-child,
.forstsoft-export-row > div:first-child {
    min-width: 0;
}

.forstsoft-backup-row strong,
.forstsoft-backup-row small,
.forstsoft-export-row strong,
.forstsoft-export-row small {
    display: block;
}

.forstsoft-backup-row strong,
.forstsoft-export-row strong {
    overflow: hidden;
    color: rgb(17 24 39);
    font-size: .88rem;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dark .forstsoft-backup-row strong,
.dark .forstsoft-export-row strong {
    color: white;
}

.forstsoft-backup-row small,
.forstsoft-export-row small {
    margin-top: .2rem;
    color: rgb(107 114 128);
    font-size: .75rem;
}

.forstsoft-backup-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: .45rem;
}

.forstsoft-checklist-row {
    display: grid;
    grid-template-columns: 14rem 1fr;
    gap: 1rem;
    align-items: start;
    font-size: .86rem;
}

.forstsoft-checklist-row > div {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: rgb(17 24 39);
}

.dark .forstsoft-checklist-row > div {
    color: white;
}

.forstsoft-checklist-row p {
    margin: 0;
    color: rgb(75 85 99);
    line-height: 1.35rem;
}

.dark .forstsoft-checklist-row p {
    color: rgb(209 213 219);
}

.forstsoft-checklist-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1.3rem;
    height: 1.3rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
}

.forstsoft-checklist-badge--ok {
    background: #dcfce7;
    color: #15803d;
}

.forstsoft-checklist-badge--warning {
    background: #fef3c7;
    color: #b45309;
}

.forstsoft-checklist-badge--manual {
    background: #f3f4f6;
    color: #4b5563;
}

.forstsoft-export-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
}

.forstsoft-export-title span {
    display: inline-flex;
    align-items: center;
    min-height: 1.35rem;
    padding: .1rem .45rem;
    border-radius: 999px;
    background: rgb(243 244 246);
    color: rgb(75 85 99);
    font-size: .7rem;
    font-weight: 700;
}

.dark .forstsoft-export-title span {
    background: rgba(255, 255, 255, .08);
    color: rgb(209 213 219);
}

.forstsoft-export-row p {
    margin: .3rem 0 0;
    color: rgb(75 85 99);
    font-size: .84rem;
}

.dark .forstsoft-export-row p {
    color: rgb(209 213 219);
}

.forstsoft-version-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.forstsoft-version-card {
    border-radius: 1rem;
    border: 1px solid rgb(229 231 235);
    background: linear-gradient(135deg, rgb(248 250 252), rgb(255 255 255));
    padding: 1rem;
}

.dark .forstsoft-version-card {
    border-color: rgba(255, 255, 255, .1);
    background: linear-gradient(135deg, rgba(15, 23, 42, .8), rgba(30, 41, 59, .55));
}

.forstsoft-version-card span {
    display: block;
    color: rgb(107 114 128);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.forstsoft-version-card strong {
    display: block;
    margin-top: .25rem;
    color: rgb(17 24 39);
    font-size: 1.5rem;
    line-height: 1.15;
}

.dark .forstsoft-version-card strong {
    color: rgb(249 250 251);
}

.forstsoft-version-card p {
    margin: .45rem 0 0;
    color: rgb(75 85 99);
    font-size: .88rem;
}

.dark .forstsoft-version-card p,
.dark .forstsoft-version-entry p,
.dark .forstsoft-version-entry li {
    color: rgb(209 213 219);
}

.forstsoft-version-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
    gap: 1rem;
}

.forstsoft-version-list {
    display: grid;
    gap: .75rem;
}

.forstsoft-version-list h3 {
    margin: 0;
    color: rgb(31 41 55);
    font-size: .95rem;
    font-weight: 800;
}

.dark .forstsoft-version-list h3 {
    color: rgb(243 244 246);
}

.forstsoft-version-entry {
    border-radius: .9rem;
    border: 1px solid rgb(229 231 235);
    padding: .9rem;
}

.dark .forstsoft-version-entry {
    border-color: rgba(255, 255, 255, .1);
}

.forstsoft-version-entry > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    color: rgb(107 114 128);
    font-size: .78rem;
}

.forstsoft-version-entry h4 {
    margin: .35rem 0;
    color: rgb(17 24 39);
    font-size: .98rem;
    font-weight: 800;
}

.dark .forstsoft-version-entry h4 {
    color: rgb(249 250 251);
}

.forstsoft-version-entry ul {
    margin: .45rem 0 0;
    padding-left: 1.15rem;
}

.forstsoft-version-entry li,
.forstsoft-version-entry p {
    color: rgb(75 85 99);
    font-size: .86rem;
}

@media (max-width: 1180px) {
    .forstsoft-backup-hero,
    .forstsoft-backup-row,
    .forstsoft-export-row {
        align-items: stretch;
        flex-direction: column;
    }

    .forstsoft-backup-status {
        flex-basis: auto;
    }

    .forstsoft-backup-grid {
        grid-template-columns: 1fr;
    }

    .forstsoft-version-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .forstsoft-version-grid {
        grid-template-columns: 1fr;
    }

    .forstsoft-checklist-row {
        grid-template-columns: 1fr;
        gap: .35rem;
    }
}

@media (max-width: 640px) {
    .forstsoft-report-table-wrap {
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    .forstsoft-report-table {
        min-width: 34rem;
    }

    .forstsoft-report-table th:first-child,
    .forstsoft-report-table td:first-child {
        position: sticky;
        left: 0;
        z-index: 1;
        max-width: 12rem;
        background: white;
        box-shadow: 1px 0 0 rgb(229 231 235);
        white-space: normal;
    }

    .forstsoft-report-table th:first-child {
        z-index: 2;
    }

    .dark .forstsoft-report-table th:first-child,
    .dark .forstsoft-report-table td:first-child {
        background: rgb(17 24 39);
        box-shadow: 1px 0 0 rgb(55 65 81);
    }

    .fi-ta-content-ctn {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    .fi-ta table {
        border-collapse: separate;
        border-spacing: 0;
    }

    .fi-ta table th:first-child,
    .fi-ta table td:first-child {
        position: sticky;
        z-index: 1;
        left: 0;
        max-width: 13.5rem;
        white-space: normal;
        overflow-wrap: anywhere;
        background: white;
        box-shadow: 1px 0 0 rgb(229 231 235);
    }

    .dark .fi-ta table th:first-child,
    .dark .fi-ta table td:first-child {
        background: rgb(17 24 39);
        box-shadow: 1px 0 0 rgb(55 65 81);
    }

    .fi-ta table th:first-child {
        z-index: 2;
    }

    .fi-ta-header-toolbar,
    .fi-ta-header-toolbar .fi-ac,
    .fi-page-header-main-ctn .fi-ac {
        gap: .45rem;
    }

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

.forstsoft-access-page {
    display: grid;
    gap: 1rem;
}

.forstsoft-access-targets {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}

.forstsoft-access-target {
    border: 1px solid rgb(229 231 235);
    border-radius: 1rem;
    padding: .9rem 1rem;
    background: white;
}

.dark .forstsoft-access-target {
    background: rgb(17 24 39);
    border-color: rgb(55 65 81);
}

.forstsoft-access-target span,
.forstsoft-access-target strong,
.forstsoft-access-target small {
    display: block;
}

.forstsoft-access-target span {
    color: rgb(107 114 128);
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.forstsoft-access-target strong {
    color: rgb(17 24 39);
    margin-top: .35rem;
}

.dark .forstsoft-access-target strong {
    color: white;
}

.forstsoft-access-target small {
    color: rgb(107 114 128);
    margin-top: .15rem;
}

.forstsoft-access-table-list {
    display: grid;
    gap: .8rem;
}

.forstsoft-access-table-card {
    border: 1px solid rgb(229 231 235);
    border-radius: 1rem;
    background: white;
    overflow: hidden;
}

.dark .forstsoft-access-table-card {
    background: rgb(17 24 39);
    border-color: rgb(55 65 81);
}

.forstsoft-access-table-card summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    cursor: pointer;
    padding: 1rem;
}

.forstsoft-access-table-card summary::marker {
    color: rgb(107 114 128);
}

.forstsoft-access-table-card summary p {
    margin: .25rem 0 0;
    color: rgb(107 114 128);
    font-size: .9rem;
}

.forstsoft-access-table-card summary aside {
    text-align: right;
}

.forstsoft-access-table-card summary aside strong,
.forstsoft-access-table-card summary aside small {
    display: block;
}

.forstsoft-access-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .45rem;
}

.forstsoft-access-priority,
.forstsoft-access-sensitive {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .2rem .55rem;
    font-size: .72rem;
    font-weight: 700;
}

.forstsoft-access-priority--high {
    background: rgb(254 226 226);
    color: rgb(153 27 27);
}

.forstsoft-access-priority--medium {
    background: rgb(254 243 199);
    color: rgb(146 64 14);
}

.forstsoft-access-priority--low {
    background: rgb(220 252 231);
    color: rgb(22 101 52);
}

.forstsoft-access-priority--unknown {
    background: rgb(243 244 246);
    color: rgb(55 65 81);
}

.forstsoft-access-sensitive {
    background: rgb(219 234 254);
    color: rgb(30 64 175);
}

.forstsoft-access-empty {
    padding: 0 1rem 1rem;
    color: rgb(107 114 128);
}

.forstsoft-access-import-list {
    display: grid;
    gap: .85rem;
}

.forstsoft-access-import-card {
    display: grid;
    gap: .9rem;
    border: 1px solid rgb(229 231 235);
    border-radius: 1rem;
    padding: 1rem;
    background: white;
}

.dark .forstsoft-access-import-card {
    background: rgb(17 24 39);
    border-color: rgb(55 65 81);
}

.forstsoft-access-import-card p {
    margin: .25rem 0 0;
    color: rgb(107 114 128);
    font-size: .9rem;
}

.forstsoft-access-targets--compact {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.forstsoft-access-empty-state {
    border: 1px dashed rgb(209 213 219);
    border-radius: 1rem;
    padding: 1rem;
    color: rgb(75 85 99);
    background: rgb(249 250 251);
}

.dark .forstsoft-access-empty-state {
    background: rgb(17 24 39);
    border-color: rgb(55 65 81);
    color: rgb(209 213 219);
}

.forstsoft-access-empty-state p {
    margin: .3rem 0 0;
    color: rgb(107 114 128);
}

.forstsoft-quality-checklist {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
}

.forstsoft-quality-checklist-card {
    border: 1px solid rgba(148, 163, 184, .28);
    border-left: 5px solid #22c55e;
    border-radius: 1rem;
    padding: 1rem;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
}

.dark .forstsoft-quality-checklist-card {
    background: rgba(15, 23, 42, .42);
}

.forstsoft-quality-checklist-card--danger {
    border-left-color: #ef4444;
}

.forstsoft-quality-checklist-card--warning {
    border-left-color: #f59e0b;
}

.forstsoft-quality-checklist-card--info {
    border-left-color: #3b82f6;
}

.forstsoft-quality-checklist-card > div:first-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.forstsoft-quality-checklist-card > div:first-child strong {
    color: rgb(17 24 39);
}

.dark .forstsoft-quality-checklist-card > div:first-child strong,
.dark .forstsoft-quality-checklist-card dd {
    color: white;
}

.forstsoft-quality-checklist-card > div:first-child span {
    border-radius: 999px;
    background: rgba(34, 197, 94, .12);
    color: #166534;
    padding: .2rem .55rem;
    font-size: .72rem;
    font-weight: 700;
    white-space: nowrap;
}

.forstsoft-quality-checklist-card--danger > div:first-child span {
    background: rgba(239, 68, 68, .12);
    color: #991b1b;
}

.forstsoft-quality-checklist-card--warning > div:first-child span {
    background: rgba(245, 158, 11, .14);
    color: #92400e;
}

.forstsoft-quality-checklist-card--info > div:first-child span {
    background: rgba(59, 130, 246, .12);
    color: #1d4ed8;
}

.forstsoft-quality-checklist-card p {
    color: #64748b;
    margin: .65rem 0 .85rem;
    font-size: .86rem;
    line-height: 1.45;
}

.dark .forstsoft-quality-checklist-card p,
.dark .forstsoft-quality-checklist-card dt {
    color: rgb(203 213 225);
}

.forstsoft-quality-checklist-card dl {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .45rem;
    margin: 0;
}

.forstsoft-quality-checklist-card dl div {
    border-radius: .75rem;
    background: rgba(148, 163, 184, .10);
    padding: .5rem;
}

.forstsoft-quality-checklist-card dt {
    color: #64748b;
    font-size: .7rem;
    margin: 0;
}

.forstsoft-quality-checklist-card dd {
    color: rgb(17 24 39);
    font-weight: 800;
    margin: 0;
}

@media (max-width: 900px) {
    .forstsoft-access-targets {
        grid-template-columns: 1fr;
    }

    .forstsoft-access-table-card summary {
        grid-template-columns: 1fr;
    }

    .forstsoft-access-table-card summary aside {
        text-align: left;
    }

    .forstsoft-quality-checklist-card dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
