/* 🚀 Στόχευση του main container που έχει το width-7xl */
.fi-main.fi-width-7xl {
    max-width: 100% !important;
    width: 100% !important;
}

/* 🚀 Στόχευση του εσωτερικού container της σελίδας */
.fi-page-header-main-ctn {
    max-width: 100% !important;
    width: 100% !important;
}

/* 🚀 Στόχευση του wrapper του πίνακα */
.fi-page.fi-page-main {
    max-width: 100% !important;
    width: 100% !important;
}

.fi-main {
    padding-inline: 0.75rem !important;
}

@media (min-width: 64rem) {
    .fi-main {
        padding-inline: 1rem !important;
    }

    .fi-sidebar-header {
        padding-inline: 1rem !important;
    }

    .fi-sidebar-nav {
        padding-inline: 1rem !important;
        padding-block: 1.5rem !important;
    }

    .fi-sidebar-nav-groups {
        margin-inline: 0 !important;
    }
}

html.fi-custom-osde-view-page .fi-page-header-main-ctn {
    gap: 0 !important;
    padding-block: 0 !important;
}

html.fi-custom-osde-view-page .fi-page-main,
html.fi-custom-osde-view-page .fi-page-content,
html.fi-custom-osde-view-page .fi-simple-page-content {
    gap: 0 !important;
}

html.fi-custom-osde-view-page .fi-page-content > :first-child,
html.fi-custom-osde-view-page .fi-simple-page-content > :first-child {
    margin-block-start: 0 !important;
}

html.fi-custom-osde-view-page .fi-sc-tabs,
html.fi-custom-osde-view-page .fi-sc-tabs-tab {
    margin-block-start: 0 !important;
}

html.fi-custom-osde-view-page .fi-sc-tabs-tab {
    background: #f1f5f9;
}

html.dark.fi-custom-osde-view-page .fi-sc-tabs-tab {
    background: #111827;
}

html.fi-custom-osde-view-page .fi-osde-map-shell {
    margin-bottom: 0 !important;
}

.fi-osde-map-shell {
    position: relative;
}

.fi-osde-map-widget {
    display: grid;
    gap: 0.75rem;
}

.fi-osde-heading-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.375rem;
}

.fi-osde-heading-action {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    background: #ffffff;
    color: #475569;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.fi-osde-heading-action:hover {
    border-color: #94a3b8;
    background: #f8fafc;
    color: #0f172a;
}

.fi-osde-heading-action svg {
    width: 1.125rem;
    height: 1.125rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.fi-osde-map-frame {
    position: relative;
    overflow: hidden;
    width: 100%;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.fi-osde-map-canvas {
    width: 100%;
    height: 300px;
}

.fi-osde-map-frame-overview .fi-osde-map-canvas {
    height: calc(100dvh - 4rem);
    min-height: 300px;
}

.fi-osde-map-frame .ol-viewport {
    z-index: 1;
}

.fi-osde-map-tooltip {
    position: absolute;
    z-index: 70;
    width: 16rem;
    max-width: calc(100% - 1rem);
    padding: 0.625rem 0.75rem;
    border: 1px solid rgba(15, 23, 42, 0.16);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.96);
    color: #1f2937;
    font-size: 0.8125rem;
    line-height: 1.35rem;
    pointer-events: none;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.18);
}

.fi-osde-map-tooltip > div {
    display: block;
    overflow-wrap: anywhere;
}

.fi-osde-map-tooltip strong {
    color: #111827;
    font-weight: 600;
}

.dark .fi-osde-map-tooltip {
    border-color: rgba(255, 255, 255, 0.18);
    background: rgba(17, 24, 39, 0.96);
    color: #e5e7eb;
}

.dark .fi-osde-map-tooltip strong {
    color: #ffffff;
}

.fi-osde-map-close {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 80;
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #111827;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1;
    pointer-events: auto;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.16);
}

html.fi-custom-osde-view-page .fi-osde-map-frame-fixed + .fi-osde-map-close {
    position: fixed;
    top: calc(var(--fi-osde-map-top, 4rem) + 0.75rem);
    right: 1.75rem;
}

.fi-osde-map-close:hover {
    background: #ffffff;
}

.dark .fi-osde-map-close {
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(17, 24, 39, 0.92);
    color: #f9fafb;
}

.dark .fi-osde-map-frame {
    border-color: rgba(255, 255, 255, 0.1);
    background: #111827;
}

html.fi-custom-osde-view-page .fi-osde-map-frame-fixed {
    position: fixed;
    top: var(--fi-osde-map-top, 4rem);
    right: 1rem;
    left: calc(var(--sidebar-width) + 1rem);
    z-index: 25;
}

@media (max-width: 1023px) {
    html.fi-custom-osde-view-page .fi-osde-map-frame-fixed {
        right: 0.75rem;
        left: 0.75rem;
    }

    html.fi-custom-osde-view-page .fi-osde-map-frame-fixed + .fi-osde-map-close {
        right: 1.5rem;
    }
}

.fi-osde-map-title {
    position: absolute;
    bottom: 0.75rem;
    left: 0.75rem;
    z-index: 2;
    max-width: calc(100% - 1.5rem);
    overflow: hidden;
    border-radius: 0.375rem;
    background: rgba(255, 255, 255, 0.92);
    padding: 0.2rem 0.5rem;
    color: #1f2937;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.25rem;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
}

.dark .fi-osde-map-title {
    background: rgba(17, 24, 39, 0.92);
    color: #f9fafb;
}

.fi-osde-details-panel {
    overflow: hidden;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    background: #f1f5f9;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.dark .fi-osde-details-panel {
    border-color: rgba(255, 255, 255, 0.1);
    background: #111827;
}

.fi-osde-details-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    border-bottom: 0;
    padding: 0.75rem 1rem;
}

.dark .fi-osde-details-header {
    border-color: rgba(255, 255, 255, 0.1);
}

.fi-osde-details-title {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 0.125rem;
    color: #111827;
    font-size: 0.875rem;
    font-weight: 600;
}

.fi-osde-details-title strong {
    color: #111827;
    font-size: 0.875rem;
    font-weight: 600;
}

.dark .fi-osde-details-title {
    color: #f9fafb;
}

.dark .fi-osde-details-title strong {
    color: #cbd5e1;
}

.fi-osde-details-tabs {
    display: inline-flex;
    justify-self: center;
    flex-shrink: 0;
    max-width: 100%;
    overflow-x: auto;
    gap: 0.25rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.625rem;
    background: #ffffff;
    padding: 0.1875rem;
    scrollbar-width: none;
}

.fi-osde-details-tabs::-webkit-scrollbar {
    display: none;
}

.fi-osde-details-close {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    align-items: center;
    justify-content: center;
    justify-self: end;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #111827;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.16);
}

.fi-osde-details-close:hover {
    background: #ffffff;
}

.dark .fi-osde-details-close {
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(17, 24, 39, 0.92);
    color: #f9fafb;
}

.dark .fi-osde-details-tabs {
    border-color: rgba(255, 255, 255, 0.1);
    background: #1f2937;
}

.fi-osde-details-tab {
    border-radius: 0.4375rem;
    padding: 0.375rem 0.625rem;
    color: #64748b;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1rem;
    white-space: nowrap;
}

.fi-osde-details-tab.fi-active {
    background: #e0f2fe;
    color: #0369a1;
}

.dark .fi-osde-details-tab {
    color: #cbd5e1;
}

.dark .fi-osde-details-tab.fi-active {
    background: rgba(14, 165, 233, 0.18);
    color: #7dd3fc;
}

.fi-osde-details-content {
    display: grid;
    gap: 1rem;
    padding: 1rem;
}

.fi-osde-details-section {
    display: grid;
    gap: 0.75rem;
}

.fi-osde-details-section h3 {
    color: #111827;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.25rem;
}

.dark .fi-osde-details-section h3 {
    color: #f9fafb;
}

.fi-osde-details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    gap: 0.5rem;
}

.fi-osde-details-item {
    min-width: 0;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    background: #ffffff;
    padding: 0.625rem 0.75rem;
}

.dark .fi-osde-details-item {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.04);
}

.fi-osde-details-item dt {
    color: #64748b;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1rem;
}

.fi-osde-details-item dd {
    margin-top: 0.25rem;
    overflow-wrap: anywhere;
    white-space: pre-line;
    color: #111827;
    font-size: 0.8125rem;
    line-height: 1.25rem;
}

.dark .fi-osde-details-item dt {
    color: #cbd5e1;
}

.dark .fi-osde-details-item dd {
    color: #f9fafb;
}

.fi-osde-details-empty {
    color: #64748b;
    font-size: 0.875rem;
    font-weight: 600;
}

.fi-osde-satellite-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.fi-osde-satellite-toolbar h3 {
    color: #111827;
    font-size: 0.95rem;
    font-weight: 600;
}

.fi-osde-satellite-toolbar p,
.fi-osde-satellite-help {
    margin-top: 0.2rem;
    color: #64748b;
    font-size: 0.75rem;
    line-height: 1.2rem;
}

.fi-osde-satellite-refresh {
    flex-shrink: 0;
    border-radius: 0.5rem;
    background: #16a34a;
    padding: 0.55rem 0.8rem;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 600;
}

.fi-osde-satellite-refresh:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.fi-osde-satellite-notice {
    border: 1px solid #fbbf24;
    border-radius: 0.5rem;
    background: #fffbeb;
    padding: 0.75rem;
    color: #92400e;
    font-size: 0.8rem;
    font-weight: 600;
}

.fi-osde-satellite-content {
    display: grid;
    gap: 1rem;
}

.fi-osde-satellite-alerts {
    display: grid;
    gap: 0.5rem;
}

.fi-osde-satellite-alert {
    display: grid;
    gap: 0.2rem;
    border: 1px solid #f59e0b;
    border-radius: 0.6rem;
    background: #fffbeb;
    padding: 0.7rem 0.8rem;
    color: #92400e;
    font-size: 0.75rem;
    line-height: 1.2rem;
}

.fi-osde-satellite-alert strong {
    font-size: 0.8rem;
}

.fi-osde-satellite-alert.fi-danger {
    border-color: #ef4444;
    background: #fef2f2;
    color: #991b1b;
}

.fi-osde-satellite-controls {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    align-items: end;
    gap: 0.75rem;
}

.fi-osde-satellite-date {
    display: grid;
    gap: 0.3rem;
    color: #475569;
    font-size: 0.72rem;
    font-weight: 600;
}

.fi-osde-satellite-date select {
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    background: #ffffff;
    padding: 0.5rem 0.65rem;
    color: #111827;
    font-size: 0.82rem;
}

.fi-osde-satellite-view-switch {
    display: grid;
    gap: 0.3rem;
    color: #475569;
    font-size: 0.72rem;
    font-weight: 600;
}

.fi-osde-satellite-view-switch > div {
    display: flex;
    min-height: 2.35rem;
    overflow: hidden;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    background: #ffffff;
}

.fi-osde-satellite-view-switch button {
    flex: 1;
    padding: 0.45rem 0.6rem;
    color: #475569;
    font-size: 0.74rem;
    font-weight: 600;
}

.fi-osde-satellite-view-switch button.fi-active {
    background: #dcfce7;
    color: #166534;
}

.fi-osde-satellite-hide {
    justify-self: start;
    border: 1px solid #cbd5e1;
    border-radius: 0.5rem;
    background: #ffffff;
    padding: 0.5rem 0.7rem;
    color: #334155;
    font-size: 0.75rem;
    font-weight: 600;
}

.fi-osde-satellite-show {
    justify-self: start;
    border-radius: 0.5rem;
    background: #15803d;
    padding: 0.55rem 0.8rem;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 600;
}

.fi-osde-satellite-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.fi-osde-satellite-show.fi-osde-satellite-true-color {
    background: #0369a1;
}

.fi-osde-satellite-show:hover {
    background: #166534;
}

.fi-osde-satellite-show.fi-osde-satellite-true-color:hover {
    background: #075985;
}

.fi-osde-satellite-compare-toggle {
    justify-self: start;
    border: 1px solid #93c5fd;
    border-radius: 0.5rem;
    background: #eff6ff;
    padding: 0.55rem 0.8rem;
    color: #1d4ed8;
    font-size: 0.75rem;
    font-weight: 600;
}

.fi-osde-satellite-comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.fi-osde-satellite-compare-card {
    display: grid;
    min-width: 0;
    gap: 0.55rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.65rem;
    background: #ffffff;
    padding: 0.7rem;
}

.fi-osde-satellite-compare-card select {
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    background: #ffffff;
    padding: 0.5rem 0.65rem;
    color: #111827;
    font-size: 0.8rem;
    font-weight: 600;
}

.fi-osde-satellite-compare-image {
    display: grid;
    width: 100%;
    height: clamp(16rem, 32vw, 28rem);
    min-width: 0;
    place-items: center;
    overflow: hidden;
    border-radius: 0.5rem;
    background: #0f172a;
}

.fi-osde-satellite-compare-image img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain !important;
    object-position: center;
}

.fi-osde-satellite-hide:hover {
    background: #f8fafc;
}

.fi-osde-satellite-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.5rem;
}

.fi-osde-satellite-metrics > div {
    display: grid;
    gap: 0.15rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 0.65rem 0.75rem;
}

.fi-osde-satellite-metrics span {
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 600;
}

.fi-osde-satellite-metrics strong {
    color: #166534;
    font-size: 1.05rem;
}

.fi-osde-satellite-chart {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) 1.25rem;
    height: 12.5rem;
    gap: 0.45rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.6rem;
    background: linear-gradient(to bottom, #dcfce7, #fefce8 50%, #fee2e2);
    padding: 0.75rem;
    min-width: 0;
    overflow: hidden;
}

.fi-osde-satellite-chart-axis {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    grid-column: 1;
    grid-row: 1;
    color: #64748b;
    font-size: 0.62rem;
    font-weight: 600;
}

.fi-osde-satellite-chart svg {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 100%;
    min-width: 0;
    overflow: hidden;
}

.fi-osde-satellite-chart-months {
    position: relative;
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    border-top: 1px solid rgba(100, 116, 139, 0.35);
}

.fi-osde-satellite-chart-months span {
    position: absolute;
    top: 0.2rem;
    transform: translateX(-50%);
    color: #64748b;
    font-size: 0.58rem;
    font-weight: 600;
    line-height: 0.8rem;
    white-space: nowrap;
}

.fi-osde-satellite-chart line {
    stroke: rgba(100, 116, 139, 0.35);
    stroke-width: 0.35;
}

.fi-osde-satellite-chart polyline {
    fill: none;
    stroke: #15803d;
    stroke-width: 1.2;
    vector-effect: non-scaling-stroke;
}

.dark .fi-osde-satellite-toolbar h3,
.dark .fi-osde-satellite-date,
.dark .fi-osde-satellite-metrics strong {
    color: #f9fafb;
}

.dark .fi-osde-satellite-date select,
.dark .fi-osde-satellite-metrics > div,
.dark .fi-osde-satellite-view-switch > div,
.dark .fi-osde-satellite-compare-card,
.dark .fi-osde-satellite-compare-card select {
    border-color: rgba(255, 255, 255, 0.12);
    background: #111827;
    color: #f9fafb;
}

.dark .fi-osde-satellite-view-switch,
.dark .fi-osde-satellite-view-switch button {
    color: #cbd5e1;
}

.dark .fi-osde-satellite-view-switch button.fi-active {
    background: #14532d;
    color: #dcfce7;
}

.dark .fi-osde-satellite-alert {
    background: #422006;
    color: #fde68a;
}

.dark .fi-osde-satellite-alert.fi-danger {
    background: #450a0a;
    color: #fecaca;
}

.dark .fi-osde-satellite-hide {
    border-color: rgba(255, 255, 255, 0.16);
    background: #111827;
    color: #f9fafb;
}

.dark .fi-osde-satellite-chart {
    border-color: rgba(255, 255, 255, 0.12);
    background: linear-gradient(to bottom, #123524, #292b1b 50%, #3b1d1d);
}

@media (max-width: 767px) {
    .fi-osde-satellite-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .fi-osde-satellite-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fi-osde-satellite-comparison {
        grid-template-columns: minmax(0, 1fr);
    }

    .fi-osde-satellite-compare-image {
        height: min(70vh, 30rem);
    }

    .fi-osde-satellite-chart-months span:not(.fi-mobile-visible) {
        display: none;
    }
}

.osde-details-cell:hover {
    text-decoration: underline;
}

.fi-osde-related-table-wrap {
    overflow-x: auto;
    max-width: 100%;
    scrollbar-gutter: stable;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    background: #ffffff;
}

.fi-osde-related-table {
    width: max-content;
    min-width: 100%;
    border-collapse: collapse;
    font-size: 0.8125rem;
    line-height: 1.25rem;
}

.fi-osde-related-table th,
.fi-osde-related-table td {
    max-width: 20rem;
    overflow: hidden;
    text-overflow: ellipsis;
    border-bottom: 1px solid #e5e7eb;
    padding: 0.625rem 0.75rem;
    text-align: left;
    vertical-align: top;
    white-space: nowrap;
}

.fi-osde-related-table th {
    background: #f8fafc;
    color: #111827;
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}

.fi-osde-related-table th.fi-wrapped-header {
    white-space: pre-line;
    line-height: 1.15;
}

.fi-osde-related-table td {
    color: #1f2937;
}

.fi-osde-related-table .fi-numeric {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.fi-osde-related-table tbody tr:last-child td {
    border-bottom: 0;
}

.fi-osde-related-table tbody tr:nth-of-type(even) td {
    background: #f8fafc;
}

.fi-osde-empty-table {
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    background: #ffffff;
    padding: 1rem;
    color: #64748b;
    font-size: 0.875rem;
    font-weight: 600;
}

.dark .fi-osde-related-table-wrap,
.dark .fi-osde-empty-table {
    border-color: rgba(255, 255, 255, 0.1);
    background: #111827;
}

.dark .fi-osde-related-table th {
    background: #1f2937;
    color: #f9fafb;
}

.dark .fi-osde-related-table th,
.dark .fi-osde-related-table td {
    border-color: rgba(255, 255, 255, 0.1);
}

.dark .fi-osde-related-table td {
    color: #f9fafb;
}

.dark .fi-osde-related-table tbody tr:nth-of-type(even) td {
    background: #1f2937;
}

.dark .fi-osde-empty-table {
    color: #cbd5e1;
}

.fi-zoiki-card {
    display: grid;
    gap: 1rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    background: #ffffff;
    padding: 1rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.fi-zoiki-card-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 0.75rem;
}

.fi-zoiki-card-header h3,
.fi-zoiki-animals h4 {
    color: #111827;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.25rem;
}

.fi-zoiki-card-header span {
    color: #0369a1;
    font-size: 0.8125rem;
    font-weight: 600;
    white-space: nowrap;
}

.fi-zoiki-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    gap: 0.625rem;
}

.fi-zoiki-item {
    min-width: 0;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 0.625rem 0.75rem;
}

.fi-zoiki-item dt {
    color: #64748b;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1rem;
}

.fi-zoiki-item dd {
    margin-top: 0.25rem;
    overflow-wrap: anywhere;
    color: #111827;
    font-size: 0.8125rem;
    line-height: 1.25rem;
    white-space: pre-line;
}

.fi-zoiki-animals {
    display: grid;
    gap: 0.75rem;
    border-top: 1px solid #e5e7eb;
    padding-top: 1rem;
}

.fi-zoiki-grid-animals {
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 0.75rem;
}

.fi-zoiki-grid-animals:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.dark .fi-zoiki-card {
    border-color: rgba(255, 255, 255, 0.1);
    background: #111827;
}

.dark .fi-zoiki-card-header,
.dark .fi-zoiki-animals,
.dark .fi-zoiki-grid-animals {
    border-color: rgba(255, 255, 255, 0.1);
}

.dark .fi-zoiki-card-header h3,
.dark .fi-zoiki-animals h4,
.dark .fi-zoiki-item dd {
    color: #f9fafb;
}

.dark .fi-zoiki-card-header span {
    color: #7dd3fc;
}

.dark .fi-zoiki-item {
    border-color: rgba(255, 255, 255, 0.1);
}

.dark .fi-zoiki-item dt {
    color: #cbd5e1;
}

.fi-ta-row.osde-selected-row > .fi-ta-cell {
    background-color: #dbeafe !important;
}

.fi-ta-row.osde-selected-row > .fi-ta-cell:first-child {
    box-shadow: inset 4px 0 0 #2563eb;
}

.dark .fi-ta-row.osde-selected-row > .fi-ta-cell {
    background-color: rgba(37, 99, 235, 0.22) !important;
}

.fi-topbar {
    position: relative;
    height: 3rem;
    min-height: 3rem;
    padding-block: 0 !important;
    gap: 0.75rem;
}

.fi-topbar-ctn {
    height: 3rem;
    min-height: 3rem;
}

.fi-topbar-start,
.fi-topbar-end {
    height: 100%;
    align-items: center;
}

.fi-topbar-end {
    display: flex;
    flex: 0 1 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    min-width: 0;
}

.fi-topbar-end .fi-global-search-ctn {
    flex: 0 1 clamp(12rem, 18vw, 18rem);
    width: clamp(12rem, 18vw, 18rem);
    min-width: 10rem;
    max-width: 12rem;
}

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

.fi-topbar-end .fi-input-wrp,
.fi-topbar-end .fi-input {
    width: 100%;
    min-width: 0;
}

.fi-topbar-start {
    min-width: 0;
}

@media (min-width: 64rem) {
    .fi-custom-topbar-center {
        position: fixed;
        top: 0;
        inset-inline-start: 50%;
        z-index: 31;
        width: max-content;
        height: 3rem;
        max-width: calc(100vw - 24rem);
        flex: 0 0 auto;
        transform: translateX(-50%);
    }

    .fi-topbar-start {
        flex: 0 0 calc(var(--sidebar-width) - 2rem);
        max-width: var(--sidebar-width);
    }
}

.fi-custom-topbar-center {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    max-width: 100%;
    min-width: 0;
}

.fi-custom-topbar-actions {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    gap: 0.5rem;
}

.fi-custom-topbar-actions[hidden] {
    display: none !important;
}

.fi-custom-topbar-action-button.fi-btn {
    white-space: nowrap;
}

.fi-custom-topbar-tabs {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    gap: 0.25rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    background: #ffffff;
    padding: 0.25rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08), 0 8px 20px rgba(15, 23, 42, 0.06);
}

.fi-custom-topbar-tabs[hidden] {
    display: none !important;
}

.fi-custom-topbar-tab {
    border-radius: 0.5rem;
    padding: 0.375rem 0.75rem;
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1rem;
    white-space: nowrap;
}

.fi-custom-topbar-tab.fi-active {
    background: #f8fafc;
    color: #0284c7;
}

.fi-custom-topbar-page-title {
    height: 3rem;
    min-height: 3rem;
    box-sizing: border-box;
    min-width: 0;
    max-width: min(42rem, 36vw);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #111827;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.25rem;
    pointer-events: none;
}

.fi-custom-source-actions-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    clip-path: inset(50%) !important;
}

.fi-custom-source-tabs-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    clip-path: inset(50%) !important;
}

.fi-custom-source-tabs-wrapper {
    margin-block-start: 0 !important;
}

.dark .fi-custom-topbar-page-title {
    color: #f9fafb;
}

.dark .fi-custom-topbar-tabs {
    border-color: #374151;
    background: #111827;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.dark .fi-custom-topbar-tab {
    color: #d1d5db;
}

.dark .fi-custom-topbar-tab.fi-active {
    background: #1f2937;
    color: #38bdf8;
}

.fi-header > div:first-child {
    display: none !important;
}

.fi-header:not(:has(.fi-header-actions-ctn)) {
    display: none !important;
}

.fi-header:has(.fi-custom-source-actions-hidden) {
    display: none !important;
}

.fi-header {
    margin-block: 0 !important;
    padding-block: 0 !important;
}

.fi-header.fi-header-has-breadcrumbs .fi-header-actions-ctn {
    margin-block-start: 0 !important;
}

@media (max-width: 900px) {
    .fi-topbar {
        gap: 0.375rem;
        padding-inline: 0.5rem;
    }

    .fi-custom-topbar-center {
        z-index: 20;
        flex-shrink: 1;
        flex: 1 1 auto;
        max-width: none;
        margin-inline-start: 0.25rem;
        gap: 0.375rem;
        overflow: hidden;
    }

    .fi-custom-topbar-tabs {
        flex-shrink: 0;
        max-width: 100%;
        overflow-x: auto;
        border-radius: 0.625rem;
        padding: 0.125rem;
        box-shadow: none;
        scrollbar-width: none;
    }

    .fi-custom-topbar-tabs::-webkit-scrollbar {
        display: none;
    }

    .fi-custom-topbar-tab {
        padding: 0.3125rem 0.5rem;
        font-size: 0.8125rem;
    }

    .fi-custom-topbar-action-button.fi-btn {
        min-height: 0;
        padding: 0.3125rem 0.5rem;
        font-size: 0.8125rem;
        line-height: 1rem;
    }

    .fi-custom-topbar-page-title {
        display: block;
        min-width: 3.5rem;
        max-width: clamp(6rem, 26vw, 16rem);
        font-size: 0.75rem;
        line-height: 1rem;
    }

    .fi-topbar-end {
        gap: 0.375rem;
    }

    .fi-topbar-end .fi-global-search-ctn {
        flex: 0 1 clamp(8rem, 24vw, 12rem);
        width: clamp(8rem, 24vw, 12rem);
        min-width: 7rem;
        max-width: 10rem;
    }
}

@media (max-width: 640px) {
    .fi-zoiki-card-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .fi-zoiki-card-header span {
        white-space: normal;
    }

    .fi-osde-details-header {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .fi-osde-details-tabs {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: stretch;
        width: 100%;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .fi-osde-details-close {
        grid-column: 2;
        grid-row: 1;
    }

    .fi-osde-details-tabs::-webkit-scrollbar {
        display: none;
    }

    .fi-custom-topbar-center {
        max-width: none;
        gap: 0.25rem;
    }

    .fi-custom-topbar-tabs {
        gap: 0.125rem;
        max-width: min(16rem, 42vw);
    }

    .fi-custom-topbar-tab {
        padding-inline: 0.375rem;
    }

    .fi-custom-topbar-page-title {
        max-width: clamp(4.5rem, 20vw, 8rem);
    }

    .fi-topbar-end .fi-global-search-ctn {
        flex: 0 1 clamp(6.75rem, 28vw, 8.5rem);
        width: clamp(6.75rem, 28vw, 8.5rem);
        min-width: 6.25rem;
        max-width: 8.5rem;
    }
}

/* Compact application rail */
@media (min-width: 64rem) {
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar {
        position: fixed !important;
        inset-inline-start: 0;
        width: 3rem !important;
        top: 3rem !important;
        height: calc(100dvh - 3rem) !important;
        overflow: visible;
        background: #ffffff;
        border-inline-end: 1px solid #e5e7eb;
        box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
        transition: width 180ms ease !important;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-main {
        flex: 0 0 calc(100% - 3rem) !important;
        width: calc(100% - 3rem) !important;
        max-width: calc(100% - 3rem) !important;
        min-width: 0;
        margin-inline-start: 3rem !important;
    }

    html:not(.fi-custom-osde-view-page) body:is(.fi-panel-admin, .fi-panel-user):has(.fi-sidebar:hover) .fi-page,
    html:not(.fi-custom-osde-view-page) body:is(.fi-panel-admin, .fi-panel-user):has(.fi-sidebar:focus-within) .fi-page {
        width: calc(100% - 13.5rem) !important;
        max-width: calc(100% - 13.5rem) !important;
        margin-inline-start: 13.5rem !important;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within {
        width: 16.5rem !important;
        z-index: 40;
        box-shadow: 8px 0 30px rgba(15, 23, 42, 0.14);
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar-nav {
        gap: 0.75rem;
        padding: 0.5rem 0 !important;
        overflow-x: hidden;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar-nav-groups {
        width: 100%;
        gap: 0.75rem;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar-group,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar-group-items,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar-item {
        width: 100%;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar-group-btn {
        display: none;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar-item-btn {
        width: 3rem;
        min-width: 3rem;
        max-width: 3rem;
        min-height: 2.75rem;
        justify-content: center;
        gap: 0 !important;
        border-radius: 0;
        padding-inline: 0;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar-item-icon,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar-item-btn > .fi-icon {
        flex: 0 0 auto;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar-item-label,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar-item-badge-ctn,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar-database-notifications-btn-label,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar-database-notifications-btn-badge-ctn,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar .fi-user-menu-trigger-text,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar .fi-user-menu-trigger > .fi-icon {
        width: 0;
        max-width: 0;
        overflow: hidden;
        opacity: 0;
        white-space: nowrap;
        transition: opacity 120ms ease, max-width 180ms ease;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-sidebar-item-btn,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-sidebar-item-btn,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-sidebar-database-notifications-btn,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-sidebar-database-notifications-btn,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-user-menu-trigger,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-user-menu-trigger {
        justify-content: flex-start;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-sidebar-item-btn,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-sidebar-item-btn {
        width: 100%;
        min-width: 0;
        max-width: none;
        border-radius: 0.5rem;
        gap: 0.75rem !important;
        padding-inline: 0.625rem;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-sidebar-item-label,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-sidebar-item-label,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-sidebar-item-badge-ctn,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-sidebar-item-badge-ctn,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-sidebar-database-notifications-btn-label,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-sidebar-database-notifications-btn-label,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-sidebar-database-notifications-btn-badge-ctn,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-sidebar-database-notifications-btn-badge-ctn,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-user-menu-trigger-text,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-user-menu-trigger-text,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-user-menu-trigger > .fi-icon,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-user-menu-trigger > .fi-icon {
        width: auto;
        max-width: 12rem;
        opacity: 1;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar-footer {
        margin: 0.5rem 0.5rem 0.75rem;
        gap: 0.25rem;
        border-top: 1px solid #e5e7eb;
        padding-top: 0.625rem;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-custom-sidebar-search {
        order: -1;
        width: 2rem;
        max-width: 2rem;
        min-width: 0;
        justify-self: start;
        transition: width 180ms ease, max-width 180ms ease;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-custom-sidebar-search .fi-global-search-ctn {
        width: 100%;
        min-width: 0;
        margin: 0 !important;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-custom-sidebar-search .fi-global-search {
        width: 100%;
        min-width: 0;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-custom-sidebar-search .fi-input-wrp {
        width: 2rem;
        min-width: 2rem;
        height: 2.75rem;
        overflow: hidden;
        border-color: transparent;
        background: transparent;
        box-shadow: none;
        transition: width 180ms ease, border-color 180ms ease, background 180ms ease;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-custom-sidebar-search .fi-input-wrp-prefix {
        padding-inline: 0.375rem !important;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-custom-sidebar-search .fi-input {
        width: 11.5rem;
        opacity: 0;
        pointer-events: auto;
        transition: opacity 120ms ease;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-custom-sidebar-search .fi-input-wrp,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-custom-sidebar-search .fi-input-wrp {
        width: 100%;
        border-color: #d1d5db;
        background: #ffffff;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-custom-sidebar-search .fi-input,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-custom-sidebar-search .fi-input {
        opacity: 1;
        pointer-events: auto;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar-database-notifications-btn,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar .fi-user-menu-trigger {
        width: 2rem;
        min-width: 2rem;
        height: 2.75rem;
        justify-self: start;
        justify-content: center;
        gap: 0 !important;
        padding: 0;
        transition: width 180ms ease;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar-database-notifications-btn > .fi-icon {
        width: 1.25rem !important;
        height: 1.25rem !important;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar .fi-user-avatar {
        position: static !important;
        inset: auto !important;
        width: 2rem !important;
        min-width: 2rem !important;
        max-width: 2rem !important;
        height: 2rem !important;
        min-height: 2rem !important;
        max-height: 2rem !important;
        flex: 0 0 2rem !important;
        aspect-ratio: 1;
        margin: 0 !important;
        border-radius: 999px !important;
        object-fit: cover;
        transform: none !important;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-custom-sidebar-search,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-custom-sidebar-search,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-sidebar-database-notifications-btn,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-sidebar-database-notifications-btn,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-user-menu-trigger,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-user-menu-trigger {
        width: 100%;
        max-width: 100%;
        justify-self: stretch;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-sidebar-database-notifications-btn,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-sidebar-database-notifications-btn,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-user-menu-trigger,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-user-menu-trigger {
        justify-content: flex-start;
        gap: 0.75rem !important;
        padding-inline: 0.5rem;
        overflow: hidden;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-user-menu-trigger-text,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-user-menu-trigger-text {
        display: block;
        min-width: 0;
        flex: 1 1 auto;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-user-menu-trigger > .fi-icon,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-user-menu-trigger > .fi-icon {
        width: 1.25rem;
        min-width: 1.25rem;
        max-width: 1.25rem;
        flex: 0 0 1.25rem;
        margin-inline-start: auto;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar .fi-user-menu {
        width: 100%;
        min-width: 0;
    }

    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:hover .fi-user-menu .fi-dropdown-panel,
    body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar:focus-within .fi-user-menu .fi-dropdown-panel {
        width: calc(100% - 0.5rem) !important;
        min-width: 0 !important;
        max-width: calc(100% - 0.5rem) !important;
        translate: -0.5rem 0;
    }

    html.dark body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar {
        border-color: #374151;
        background: #111827;
    }

    html.dark body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar-footer {
        border-color: #374151;
    }
}

body:is(.fi-panel-admin, .fi-panel-user) a.fi-dropdown-list-item[href$="/book-instructions"] {
    margin-top: 0.2rem;
    border-top: 1px solid #e5e7eb !important;
    border-radius: 0 !important;
}

body:is(.fi-panel-admin, .fi-panel-user) .fi-user-menu-logout {
    margin-top: 0.2rem;
    border-radius: 0 !important;
}

body:is(.fi-panel-admin, .fi-panel-user) a.fi-dropdown-list-item[href$="/help-support"] {
    margin-bottom: 0.2rem;
    border-bottom: 1px solid #e5e7eb !important;
    border-radius: 0 !important;
}

html.dark body:is(.fi-panel-admin, .fi-panel-user) a.fi-dropdown-list-item[href$="/book-instructions"] {
    border-top-color: #374151 !important;
}

html.dark body:is(.fi-panel-admin, .fi-panel-user) a.fi-dropdown-list-item[href$="/help-support"] {
    border-bottom-color: #374151 !important;
}

body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master):has(.fi-simple-layout) .fi-simple-layout {
    min-height: 100dvh;
    background-image: linear-gradient(rgba(15, 23, 42, 0.18), rgba(15, 23, 42, 0.28)), url('/images/background-login.jpg');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master):has(.fi-simple-layout) .fi-simple-main {
    border: 1px solid rgba(255, 255, 255, 0.65);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
    backdrop-filter: blur(8px);
}

html.dark body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master):has(.fi-simple-layout) .fi-simple-main {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(17, 24, 39, 0.9);
}

body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master):has(.fi-simple-layout) .fi-simple-header-heading {
    font-size: 1.125rem;
    line-height: 1.5rem;
}

/* The current page title replaces the farmLink logo. */
body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master) .fi-topbar-start > a:has(.fi-logo),
body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master) .fi-topbar-start > .fi-logo {
    display: none !important;
}

@media (min-width: 64rem) {
    body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master) .fi-topbar-start {
        flex: 0 1 clamp(18rem, 29vw, 34rem) !important;
        width: clamp(18rem, 29vw, 34rem);
        max-width: 34rem !important;
    }
}

body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master) .fi-topbar-start .fi-custom-topbar-page-title {
    display: flex;
    max-width: 100%;
    align-items: center;
    font-size: 0.9375rem;
}

.fi-custom-page-title-short {
    display: none;
}

.fi-custom-page-title-full {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* OSDE field list and map, side by side on desktop. */
html.fi-custom-osde-view-page .fi-ta-ctn {
    overflow: visible;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

@media (min-width: 64rem) {
    html.fi-custom-osde-view-page .fi-ta-main {
        position: relative;
        min-height: calc(100dvh - 3rem);
        padding-inline-start: 19rem;
    }

    html.fi-custom-osde-view-page .fi-ta-header-ctn {
        border: 0;
    }

    html.fi-custom-osde-view-page .fi-osde-cultivations-heading {
        position: fixed;
        top: 3rem;
        inset-inline-start: 4rem;
        z-index: 15;
        width: 18rem;
        height: 4rem;
        min-height: 0;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0.5rem 1rem;
        background: #ffffff;
        transition: inset-inline-start 180ms ease;
    }

    html.fi-custom-osde-view-page .fi-osde-cultivations-heading > div {
        display: grid;
        gap: 0.125rem;
    }

    html.fi-custom-osde-view-page .fi-osde-cultivations-heading strong {
        color: #111827;
        font-size: 0.9375rem;
        font-weight: 600;
    }

    html.fi-custom-osde-view-page .fi-osde-cultivations-heading span {
        color: #64748b;
        font-size: 0.75rem;
    }

    html.fi-custom-osde-view-page .fi-osde-heading-actions {
        display: flex !important;
        flex-direction: row;
        flex-wrap: nowrap;
        flex: 0 0 auto;
        align-items: center;
        gap: 0.375rem;
    }

    html.fi-custom-osde-view-page .fi-osde-heading-action {
        display: inline-flex;
        width: 2rem;
        height: 2rem;
        flex: 0 0 2rem;
        align-items: center;
        justify-content: center;
        border: 1px solid #d1d5db;
        border-radius: 0.5rem;
        background: #ffffff;
        color: #475569;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
    }

    html.fi-custom-osde-view-page .fi-osde-heading-action:hover {
        border-color: #94a3b8;
        background: #f8fafc;
        color: #0f172a;
    }

    html.fi-custom-osde-view-page .fi-osde-heading-action svg {
        width: 1.125rem;
        height: 1.125rem;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    html.fi-custom-osde-view-page .fi-ta-header-toolbar {
        position: fixed;
        top: 6.5rem;
        inset-inline-start: 4rem;
        z-index: 15;
        width: 18rem;
        height: 3rem;
        min-height: 0;
        box-sizing: border-box;
        align-items: center;
        padding: 0 1rem;
        border-bottom: 1px solid #e5e7eb;
        background: #ffffff;
        transition: inset-inline-start 180ms ease;
    }

    html.fi-custom-osde-view-page .fi-ta-header-toolbar .fi-ta-search-field {
        flex: 1 1 auto;
        width: 100%;
        max-width: none;
        margin: 0 !important;
    }

    html.fi-custom-osde-view-page .fi-ta-header-toolbar > .fi-ta-actions {
        display: none !important;
    }

    html.fi-custom-osde-view-page .fi-ta-header-toolbar > div:has(.fi-ta-search-field) {
        width: 100%;
        margin-inline: 0 !important;
    }

    html.fi-custom-osde-view-page .fi-ta-header-toolbar .fi-input-wrp {
        width: 100%;
    }

    html.fi-custom-osde-view-page .fi-ta-content-ctn {
        position: fixed;
        top: 9.5rem;
        bottom: 0;
        inset-inline-start: 4rem;
        z-index: 14;
        width: 18rem;
        overflow-x: hidden;
        overflow-y: auto;
        border: 0;
        background: #ffffff;
        scrollbar-width: thin;
        transition: inset-inline-start 180ms ease;
    }

    html.fi-custom-osde-view-page body:is(.fi-panel-admin, .fi-panel-user):has(.fi-sidebar:hover) .fi-osde-cultivations-heading,
    html.fi-custom-osde-view-page body:is(.fi-panel-admin, .fi-panel-user):has(.fi-sidebar:focus-within) .fi-osde-cultivations-heading,
    html.fi-custom-osde-view-page body:is(.fi-panel-admin, .fi-panel-user):has(.fi-sidebar:hover) .fi-ta-header-toolbar,
    html.fi-custom-osde-view-page body:is(.fi-panel-admin, .fi-panel-user):has(.fi-sidebar:focus-within) .fi-ta-header-toolbar,
    html.fi-custom-osde-view-page body:is(.fi-panel-admin, .fi-panel-user):has(.fi-sidebar:hover) .fi-ta-content-ctn,
    html.fi-custom-osde-view-page body:is(.fi-panel-admin, .fi-panel-user):has(.fi-sidebar:focus-within) .fi-ta-content-ctn {
        inset-inline-start: 17.5rem;
    }

}

html.fi-custom-osde-view-page .fi-osde-cultivations-heading {
    color: #111827;
}

html.fi-custom-osde-view-page .fi-ta-content-ctn .fi-ta-record {
    margin: 0;
    border: 1px solid transparent;
    border-radius: 0;
    background: #ffffff;
    cursor: pointer;
    overflow: hidden;
    transition: border-color 120ms ease, background 120ms ease, box-shadow 120ms ease;
}

html.fi-custom-osde-view-page .fi-ta-content-ctn .fi-ta-record:hover {
    border-color: #bae6fd;
    background: #f0f9ff;
    box-shadow: 0 4px 12px rgba(14, 116, 144, 0.08);
}

html.fi-custom-osde-view-page .fi-ta-content-ctn .fi-ta-record.osde-selected-row {
    border-color: #7dd3fc;
    background: #e0f2fe;
    box-shadow: inset 3px 0 0 #0284c7;
}

html.fi-custom-osde-view-page .fi-ta-content-ctn .fi-ta-record-content-ctn,
html.fi-custom-osde-view-page .fi-ta-content-ctn .fi-ta-record-content-ctn > div,
html.fi-custom-osde-view-page .fi-ta-content-ctn .fi-ta-record-content {
    width: 100%;
}

html.fi-custom-osde-view-page .fi-ta-content-ctn .fi-ta-record-content-ctn {
    display: block;
    padding-block: 0;
}

html.fi-custom-osde-view-page .fi-ta-content-ctn .fi-ta-record:nth-of-type(even) .fi-ta-record-content-ctn {
    background: #f8fafc;
}

html.fi-custom-osde-view-page .fi-ta-content-ctn .fi-ta-record:hover .fi-ta-record-content-ctn {
    background: #f0f9ff;
}

html.fi-custom-osde-view-page .fi-ta-content-ctn .fi-ta-record.osde-selected-row .fi-ta-record-content-ctn {
    background: #e0f2fe;
}

html.fi-custom-osde-view-page .fi-ta-content-ctn .fi-ta-record-content {
    display: block;
    padding: 0.375rem 0.625rem;
    color: #334155;
    text-align: start;
    text-decoration: none !important;
}

html.fi-custom-osde-view-page .fi-ta-content-ctn .fi-ta-record .fi-ta-actions {
    display: none !important;
}

html.fi-custom-osde-view-page .fi-osde-card-stack {
    display: grid;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    gap: 0.125rem !important;
}

html.fi-custom-osde-view-page .fi-osde-card-line {
    display: flex !important;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

html.fi-custom-osde-view-page .fi-osde-card-line-first {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr);
    column-gap: 0.375rem;
}

html.fi-custom-osde-view-page .fi-osde-card-line-first > .fi-grid-col:has(.fi-osde-card-aa) {
    flex: 0 0 auto !important;
    width: auto !important;
}

html.fi-custom-osde-view-page .fi-osde-card-line-first > .fi-grid-col:has(.fi-osde-card-topos) {
    flex: none !important;
    width: auto !important;
    min-width: 0;
    overflow: hidden;
}

html.fi-custom-osde-view-page .fi-osde-card-stack .fi-ta-col {
    min-width: 0;
    color: #475569;
    font-size: 0.75rem;
    font-weight: 400 !important;
    line-height: 1.125rem;
    text-decoration: none !important;
}

html.fi-custom-osde-view-page .fi-osde-card-stack .fi-ta-text {
    display: block;
    height: auto;
    min-height: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1rem;
    white-space: nowrap;
}

html.fi-custom-osde-view-page .fi-osde-card-aa {
    flex: 0 0 auto;
    color: #0f172a !important;
    font-weight: 800 !important;
}

html.fi-custom-osde-view-page .fi-osde-card-topos,
html.fi-custom-osde-view-page .fi-osde-card-area {
    flex: 0 1 auto;
    text-align: end;
}

html.fi-custom-osde-view-page .fi-osde-card-topos {
    text-align: start;
}

html.fi-custom-osde-view-page .fi-osde-card-topos,
html.fi-custom-osde-view-page .fi-osde-card-topos .fi-ta-text {
    min-width: 0;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

html.fi-custom-osde-view-page .fi-osde-card-variety,
html.fi-custom-osde-view-page .fi-osde-card-xarto {
    width: 100%;
}

html.fi-custom-osde-view-page .fi-osde-card-line-last > .fi-grid-col:has(.fi-osde-card-xarto) {
    flex: none !important;
    width: auto !important;
    min-width: 0;
}

html.fi-custom-osde-view-page .fi-osde-card-line-last > .fi-grid-col:has(.fi-osde-card-area) {
    flex: none !important;
    width: auto !important;
    min-width: max-content;
}

html.fi-custom-osde-view-page .fi-osde-card-line-last {
    display: grid !important;
    grid-template-columns: minmax(7.75rem, 1fr) max-content;
    column-gap: 0.5rem;
}

html.fi-custom-osde-view-page .fi-osde-card-xarto {
    display: block;
    width: 100% !important;
    min-width: 0;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 0.8125rem !important;
    letter-spacing: normal;
}

html.fi-custom-osde-view-page .fi-osde-card-area {
    width: auto !important;
    font-size: 0.8125rem !important;
    white-space: nowrap !important;
}

html.fi-custom-osde-view-page .fi-osde-card-xarto .fi-ta-text,
html.fi-custom-osde-view-page .fi-osde-card-area .fi-ta-text {
    font-size: 0.8125rem !important;
    line-height: 1.125rem !important;
}

html.fi-custom-osde-view-page .fi-osde-card-variety {
    color: #334155 !important;
}

html.dark.fi-custom-osde-view-page .fi-ta-content-ctn .fi-ta-record:nth-of-type(even) .fi-ta-record-content-ctn {
    background: #1f2937;
}

html.dark.fi-custom-osde-view-page .fi-osde-cultivations-heading,
html.dark.fi-custom-osde-view-page .fi-ta-header-toolbar,
html.dark.fi-custom-osde-view-page .fi-ta-content-ctn,
html.dark.fi-custom-osde-view-page .fi-ta-main > .fi-pagination,
html.dark.fi-custom-osde-view-page .fi-ta-content-ctn .fi-ta-record {
    border-color: #374151;
    background: #111827;
}

html.dark.fi-custom-osde-view-page .fi-osde-cultivations-heading strong,
html.dark.fi-custom-osde-view-page .fi-osde-card-aa {
    color: #f9fafb;
}

@media (max-width: 63.999rem) {
    body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master) .fi-topbar-start {
        display: flex !important;
        flex: 0 0 auto;
        width: auto;
        min-width: 2rem;
    }

    body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master) .fi-topbar-start .fi-custom-topbar-page-title {
        min-width: 2rem;
        max-width: 3rem;
        font-size: 0.8125rem;
    }

    body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master) .fi-topbar-start .fi-custom-page-title-full {
        display: none;
    }

    body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master) .fi-topbar-start .fi-custom-page-title-short {
        display: inline;
    }

    html.fi-custom-osde-view-page .fi-osde-cultivations-heading {
        padding: 0.875rem 1rem;
        border-bottom: 1px solid #e5e7eb;
    }

    html.fi-custom-osde-view-page .fi-ta-content-ctn {
        max-height: 28rem;
        overflow-y: auto;
    }
}

.fi-btn {
    min-height: 2rem;
    padding: 0.35rem 0.75rem;
    font-size: 0.8rem;
    border-radius: 0.4rem;
}

.fi-btn-icon {
    width: 1rem;
    height: 1rem;
}

/* Ζωική: κανονικοί οριζόντιοι πίνακες, όπως τα Δικαιώματα. */
.fi-zoiki-section {
    display: grid;
    width: 100%;
    min-width: 0;
    gap: 1rem;
}

.fi-vivlia-section {
    display: grid;
    width: 100%;
    min-width: 0;
    gap: 0;
    background: #f1f5f9;
}

.fi-vivlia-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    height: 4rem;
    min-height: 4rem;
    box-sizing: border-box;
    align-items: center;
    gap: 1rem;
    padding: 0.625rem 1.5rem;
    border-bottom: 1px solid #e5e7eb;
    background: #ffffff;
}

.fi-vivlia-header > .fi-ta-header-heading {
    justify-self: start;
}

.fi-vivlia-header-action {
    min-width: 0;
    justify-self: end;
}

.fi-vivlia-group-tabs,
html.fi-custom-osde-view-page .fi-osde-standard-tabs .fi-tabs {
    display: inline-flex;
    justify-self: center;
    width: max-content;
    max-width: 100%;
    gap: 0.2rem;
    overflow-x: auto;
    border: 1px solid #e5e7eb;
    border-radius: 0.65rem;
    margin-inline: auto;
    padding: 0.2rem;
    background: #f8fafc;
    white-space: nowrap;
}

.fi-vivlia-group-tab,
html.fi-custom-osde-view-page .fi-osde-standard-tabs .fi-tabs-item {
    min-height: 2rem;
    border-radius: 0.45rem;
    padding: 0.5rem 0.8rem;
    color: #64748b;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1rem;
}

.fi-vivlia-group-tab.fi-active,
html.fi-custom-osde-view-page .fi-osde-standard-tabs .fi-tabs-item.fi-active {
    background: #ffffff;
    color: #0284c7;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
}

html.fi-custom-osde-view-page .fi-osde-standard-tabs .fi-tabs-item-label {
    color: inherit;
    font: inherit;
}

.fi-vivlia-export-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.fi-vivlia-tabs {
    display: flex;
    overflow-x: auto;
    gap: 0.25rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.625rem;
    padding: 0.1875rem;
    background: #ffffff;
    scrollbar-width: thin;
    width: calc(100% - 2rem);
    margin: 1rem 1rem 0;
}

.fi-vivlia-tab {
    flex: 0 0 auto;
    border-radius: 0.4375rem;
    padding: 0.5rem 0.75rem;
    color: #64748b;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1rem;
    white-space: nowrap;
}

.fi-vivlia-tab.fi-active {
    background: #e0f2fe;
    color: #0369a1;
}

.fi-vivlia-tab-panel {
    min-width: 0;
    margin: 1rem;
}

.fi-vivlia-tab-panel-eco {
    margin: 0;
}

.fi-eco-workspace {
    min-height: 100%;
}

.fi-osde-workspace-direct {
    grid-template-columns: 1.8rem minmax(0, 1fr) !important;
}

.fi-osde-workspace-direct strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fi-vivlia-table {
    min-width: 70rem;
}

.fi-vivlia-native-table {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.fi-vivlia-native-table .fi-ta-ctn {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-shadow: none;
}

.fi-vivlia-native-table .fi-ta-content-ctn {
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    scrollbar-width: thin;
}

.fi-vivlia-native-table .fi-ta-table {
    width: max-content;
    min-width: 100%;
}

.dark .fi-vivlia-section {
    background: #111827;
}

.dark .fi-vivlia-header {
    border-bottom-color: #374151;
    background: #111827;
}

.dark .fi-vivlia-tabs {
    border-color: #374151;
    background: #1f2937;
}

.dark .fi-vivlia-group-tabs,
html.dark.fi-custom-osde-view-page .fi-osde-standard-tabs .fi-tabs {
    border-color: #374151;
    background: #1f2937;
}

.dark .fi-vivlia-group-tab,
html.dark.fi-custom-osde-view-page .fi-osde-standard-tabs .fi-tabs-item {
    color: #cbd5e1;
}

.dark .fi-vivlia-group-tab.fi-active,
html.dark.fi-custom-osde-view-page .fi-osde-standard-tabs .fi-tabs-item.fi-active {
    background: #111827;
    color: #7dd3fc;
}

.dark .fi-vivlia-tab {
    color: #cbd5e1;
}

.dark .fi-vivlia-tab.fi-active {
    background: rgba(14, 165, 233, 0.18);
    color: #7dd3fc;
}

@media (max-width: 79.999rem) {
    .fi-vivlia-header {
        height: auto;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .fi-vivlia-group-tabs {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: center;
        max-width: 100%;
        overflow-x: auto;
    }

    .fi-vivlia-header-action {
        grid-column: 2;
        grid-row: 1;
    }

    .fi-vivlia-export-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 47.999rem) {
    .fi-vivlia-header {
        grid-template-columns: 1fr;
    }

    .fi-vivlia-header > .fi-ta-header-heading,
    .fi-vivlia-header-action,
    .fi-vivlia-group-tabs {
        grid-column: 1;
        justify-self: stretch;
    }

    .fi-vivlia-header > .fi-ta-header-heading {
        grid-row: 1;
    }

    .fi-vivlia-group-tabs {
        grid-row: 2;
        justify-content: flex-start;
    }

    .fi-vivlia-header-action {
        grid-row: 3;
    }
}

/* The direct eco-actions entry must align and hover like the other group headings. */
html.fi-custom-osde-view-page:not(.fi-osde-workspace-collapsed) .fi-osde-workspace-group-toggle.fi-osde-workspace-direct {
    grid-template-columns: 1.65rem minmax(0, 1fr) !important;
    gap: .35rem !important;
    padding: .15rem .1rem !important;
}

html.fi-custom-osde-view-page .fi-osde-workspace-direct:hover {
    background: #f5f8fc !important;
    color: #12346e !important;
}

html.fi-custom-osde-view-page .fi-osde-workspace-direct:hover > strong {
    color: #12346e !important;
    opacity: 1 !important;
    visibility: visible !important;
}

html.fi-custom-osde-view-page .fi-osde-workspace-direct:hover > span {
    border-color: transparent !important;
    background: #f0f4f8 !important;
    color: #526b89 !important;
}

@media (min-width: 64rem) {
    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-group-toggle.fi-osde-workspace-direct {
        width: 3rem !important;
        min-width: 3rem !important;
        height: 2.75rem !important;
        min-height: 2.75rem !important;
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        gap: 0 !important;
        padding: 0 !important;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-group-toggle.fi-osde-workspace-direct > span {
        width: 1.75rem !important;
        height: 1.75rem !important;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-nav:not(.fi-osde-workspace-hover-suppressed):hover .fi-osde-workspace-group-toggle.fi-osde-workspace-direct {
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        grid-template-columns: 1.65rem minmax(0, 1fr) !important;
        justify-items: stretch !important;
        gap: .35rem !important;
        padding: .15rem .1rem !important;
    }
}

/* Parcel details use normal page scrolling; the map keeps the fixed workspace. */
@media (min-width: 64rem) {
    html.fi-custom-osde-view-page.fi-osde-details-scroll,
    html.fi-custom-osde-view-page.fi-osde-details-scroll body {
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    html.fi-custom-osde-view-page.fi-osde-details-scroll .fi-page,
    html.fi-custom-osde-view-page.fi-osde-details-scroll .fi-page-main,
    html.fi-custom-osde-view-page.fi-osde-details-scroll .fi-page-content {
        min-height: 100% !important;
        overflow: visible !important;
    }

    html.fi-custom-osde-view-page.fi-osde-details-scroll .fi-ta-main {
        grid-template-rows: 4rem var(--fi-osde-table-height) 1rem auto;
        height: auto !important;
        min-height: calc(100dvh - 3.25rem) !important;
        overflow: visible !important;
    }

    html.fi-custom-osde-view-page.fi-osde-details-scroll .fi-osde-details-panel {
        height: auto !important;
        min-height: calc(100dvh - 8.25rem - var(--fi-osde-table-height));
        overflow: visible !important;
    }
}

/* MyAADE-style OΣΔΕ workspace */
#fi-osde-record-context {
    display: contents;
}

.fi-in-entry:has(#fi-osde-record-context),
.fi-sc-component:has(> .fi-in-entry > #fi-osde-record-context) {
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    overflow: visible !important;
}

html.fi-custom-osde-view-page .fi-topbar,
html.fi-custom-osde-view-page .fi-topbar-ctn {
    height: 3rem;
    min-height: 3rem;
}

html.fi-custom-osde-view-page .fi-topbar-start {
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
}

html.fi-custom-osde-view-page .fi-topbar-end,
html.fi-custom-osde-view-page .fi-custom-topbar-center {
    display: none !important;
}

.fi-custom-topbar-page-title.fi-osde-topbar-record {
    display: flex;
    width: 100%;
    max-width: none;
    align-items: center;
    gap: 0.65rem;
    overflow: visible;
    padding-inline: 0.75rem;
    pointer-events: auto;
}

.fi-osde-topbar-back,
.fi-osde-applicant-trigger {
    border: 0;
    background: transparent;
    color: #0f172a;
}

.fi-osde-topbar-back {
    flex: 0 0 auto;
    padding: 0.4rem;
    font-size: 1.45rem;
    line-height: 1;
}

.fi-osde-applicant-trigger {
    display: inline-flex;
    min-width: 0;
    max-width: min(44rem, 48vw);
    align-items: center;
    gap: 0.5rem;
    border: 1px solid #d9e1ec;
    border-radius: 999px;
    padding: 0.25rem 0.45rem 0.25rem 0.25rem;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.09);
    cursor: pointer;
}

.fi-osde-applicant-avatar {
    display: grid;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    place-items: center;
    border-radius: 999px;
    background: #12346e;
    color: #fff;
}

.fi-osde-applicant-avatar svg {
    width: 1.125rem;
    height: 1.125rem;
}

.fi-osde-topbar-record .fi-custom-page-title-full {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #12346e;
    font-size: 0.9rem;
    font-weight: 800;
}

.fi-osde-applicant-chevron {
    color: #64748b;
    font-size: 1rem;
}

.fi-osde-status {
    flex: 0 0 auto;
    border-radius: 999px;
    background: #e0f5fd;
    color: #0794ca;
    padding: 0.32rem 0.8rem;
    font-size: 0.72rem;
    font-weight: 800;
}

.fi-osde-application-meta {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0.35rem;
    color: #94a3b8;
    font-size: 0.72rem;
    font-weight: 500;
}

.fi-osde-application-meta b {
    font-weight: 700;
}

.fi-osde-application-meta i {
    width: 1px;
    height: 1.25rem;
    background: #e2e8f0;
}

.fi-osde-year {
    margin-inline-start: auto;
    color: #0f172a;
    font-size: 0.78rem;
    white-space: nowrap;
}

.fi-osde-year strong {
    font-size: 0.9rem;
}

[data-opekepe-export-action="true"] {
    display: none !important;
}

.fi-opekepe-export-trigger {
    margin-inline-start: auto;
}

.fi-osde-workspace-nav {
    position: fixed;
    z-index: 29;
    inset-block: 3rem 0;
    inset-inline-start: 3rem;
    width: 19rem;
    overflow-y: auto;
    border-inline-end: 1px solid #e4eaf2;
    background: #fff;
    padding: 0.75rem 0.65rem 1.5rem;
    box-shadow: 5px 0 18px rgba(15, 23, 42, 0.035);
    transition: width 180ms ease;
}

.fi-osde-workspace-collapse {
    display: block;
    width: 100%;
    padding: 0.35rem 0.55rem 0.75rem;
    color: #64748b;
    font-size: 0.75rem;
    text-align: end;
}

.fi-osde-workspace-group {
    border-bottom: 1px solid #eef2f7;
    padding: 0.65rem 0;
}

.fi-osde-workspace-group h2 {
    display: grid;
    grid-template-columns: 1.8rem 1fr auto;
    align-items: center;
    gap: 0.5rem;
    color: #12346e;
    font-size: 0.82rem;
    font-weight: 850;
    letter-spacing: 0.025em;
}

.fi-osde-workspace-group h2 > span {
    display: grid;
    width: 1.65rem;
    height: 1.65rem;
    place-items: center;
    border-radius: 999px;
    background: #f0f4f8;
    color: #526b89;
    font-size: 0.92rem;
}

.fi-osde-workspace-group h2 b {
    font-weight: 700;
}

.fi-osde-workspace-group > div {
    display: grid;
    gap: 0.18rem;
    margin-block-start: 0.35rem;
}

.fi-osde-workspace-link {
    display: grid;
    grid-template-columns: 1.65rem 1fr;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    border-radius: 0.38rem;
    padding: 0.43rem 0.55rem;
    color: #586a83;
    text-align: start;
}

.fi-osde-workspace-link > span {
    display: grid;
    width: 1.3rem;
    height: 1.3rem;
    place-items: center;
    border: 1px solid #dbe4ef;
    border-radius: 999px;
    background: #fff;
    font-size: 0.65rem;
    font-weight: 800;
}

.fi-osde-workspace-link em {
    overflow: hidden;
    font-size: 0.78rem;
    font-style: normal;
    line-height: 1.18rem;
}

.fi-osde-workspace-link:hover,
.fi-osde-workspace-link.fi-active {
    background: #0798cf;
    color: #fff;
}

.fi-osde-workspace-link:hover > span:not(:empty) {
    color: #12346e !important;
}

.fi-osde-workspace-link.fi-active > span {
    border-color: #12346e;
    background: #12346e;
    color: #fff;
}

.fi-osde-workspace-link.fi-active:hover > span {
    color: #fff !important;
}

html.fi-custom-osde-view-page .fi-ta-main > .fi-osde-map-widget {
    margin-block-start: 0.85rem;
}

html.fi-custom-osde-view-page .fi-ta-row:hover > .fi-ta-cell,
html.fi-custom-osde-view-page .fi-ta-row.osde-selected-row > .fi-ta-cell {
    background: #e1f3fb !important;
}

html.fi-custom-osde-view-page .fi-ta-table > thead {
    background: #0798cf;
}

html.fi-custom-osde-view-page .fi-ta-header-cell,
html.fi-custom-osde-view-page .fi-ta-header-cell-label {
    color: #fff !important;
    font-size: 0.7rem;
    font-weight: 800;
}

.fi-osde-applicant-modal[hidden] {
    display: none !important;
}

.fi-osde-applicant-modal {
    position: fixed;
    z-index: 100;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1rem;
}

.fi-osde-modal-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(15, 23, 42, 0.52);
}

.fi-osde-modal-dialog {
    position: relative;
    width: min(76rem, calc(100vw - 2rem));
    max-height: calc(100dvh - 2rem);
    overflow: hidden;
    border-radius: 0.6rem;
    background: #fff;
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.28);
}

.fi-osde-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #0798cf;
    padding: 1rem 1.25rem;
    color: #fff;
}

.fi-osde-modal-header h2 {
    font-size: 1rem;
    font-weight: 800;
}

.fi-osde-modal-header button {
    padding: 0.15rem 0.4rem;
    font-size: 1.6rem;
    line-height: 1;
}

.fi-osde-modal-tabs {
    display: flex;
    gap: 0.15rem;
    overflow-x: auto;
    border-bottom: 1px solid #e2e8f0;
    padding: 0.75rem 1.25rem 0;
}

.fi-osde-modal-tabs button {
    border-bottom: 2px solid transparent;
    padding: 0.65rem 1rem;
    color: #526176;
    font-size: 0.82rem;
    font-weight: 750;
    white-space: nowrap;
}

.fi-osde-modal-tabs button.fi-active {
    border-color: #12346e;
    background: #f8fafc;
    color: #12346e;
}

.fi-osde-modal-body {
    max-height: calc(100dvh - 10rem);
    overflow: auto;
    padding: 1.25rem;
}

.fi-osde-modal-panel {
    display: none;
}

.fi-osde-modal-panel.fi-active {
    display: block;
}

.fi-osde-modal-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.3rem 2.3rem;
    border: 1px solid #e6ebf2;
    border-radius: 0.6rem;
    padding: 1.3rem;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06);
}

.fi-osde-modal-grid div {
    min-width: 0;
}

.fi-osde-modal-grid dt {
    margin-block-end: 0.25rem;
    color: #526176;
    font-size: 0.75rem;
    font-weight: 800;
}

.fi-osde-modal-grid dd {
    overflow-wrap: anywhere;
    color: #233148;
    font-size: 0.88rem;
}

.fi-osde-modal-wide {
    grid-column: span 2;
}

.fi-osde-modal-empty {
    padding: 2rem;
    color: #64748b;
    text-align: center;
}

html.fi-osde-modal-open {
    overflow: hidden;
}

@media (max-width: 63.999rem) {
    .fi-osde-workspace-nav {
        position: relative;
        inset: auto;
        width: auto;
        max-height: 22rem;
        margin: 0.5rem;
        border: 1px solid #e4eaf2;
        border-radius: 0.65rem;
    }

    .fi-osde-application-meta {
        display: none;
    }

    .fi-osde-applicant-trigger {
        max-width: 55vw;
    }

    .fi-osde-modal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 40rem) {
    .fi-osde-status,
    .fi-osde-year b {
        display: none;
    }

    .fi-osde-applicant-trigger {
        max-width: calc(100vw - 8rem);
    }

    .fi-osde-modal-grid {
        grid-template-columns: 1fr;
    }

    .fi-osde-modal-wide {
        grid-column: auto;
    }
}

.fi-zoiki-related-table {
    min-width: 80rem;
}

html.fi-custom-osde-view-page .fi-ta-ctn:has(.fi-zoiki-section) .fi-ta-content.fi-ta-content-grid.fi-grid {
    background: #f1f5f9;
}

html.dark.fi-custom-osde-view-page .fi-ta-ctn:has(.fi-zoiki-section) .fi-ta-content.fi-ta-content-grid.fi-grid {
    background: #111827;
}

.fi-ta-ctn:has(.fi-zoiki-section) .fi-ta-record,
.fi-ta-ctn:has(.fi-zoiki-section) .fi-ta-record-content,
.fi-ta-ctn:has(.fi-zoiki-section) .fi-ta-record-content-ctn {
    width: 100%;
    min-width: 0;
    background: #ffffff !important;
}

html.dark .fi-ta-ctn:has(.fi-zoiki-section) .fi-ta-record,
html.dark .fi-ta-ctn:has(.fi-zoiki-section) .fi-ta-record-content,
html.dark .fi-ta-ctn:has(.fi-zoiki-section) .fi-ta-record-content-ctn {
    background: #111827 !important;
}

.fi-ta-ctn:has(.fi-zoiki-section) .fi-ta-record {
    cursor: default !important;
}

.fi-ta-ctn:has(.fi-zoiki-section) .fi-ta-record:hover {
    background: #ffffff !important;
    box-shadow: none !important;
}

html.dark .fi-ta-ctn:has(.fi-zoiki-section) .fi-ta-record:hover {
    background: #111827 !important;
}

.fi-osde-owners-table {
    min-width: 80rem;
}

.fi-osde-owners-table th.fi-owner-idio-header {
    white-space: pre-line;
    line-height: 1.15;
}

@media (min-width: 64rem) {
    html.fi-custom-osde-view-page .fi-ta-ctn:has(.fi-zoiki-section) .fi-ta-main {
        min-height: 0;
        padding-inline-start: 0;
    }

    html.fi-custom-osde-view-page .fi-ta-ctn:has(.fi-vivlia-section) .fi-ta-main {
        min-height: 0;
        padding-inline-start: 0;
    }

    html.fi-custom-osde-view-page .fi-ta-ctn:has(.fi-zoiki-section) .fi-ta-header-toolbar,
    html.fi-custom-osde-view-page .fi-ta-ctn:has(.fi-zoiki-section) .fi-ta-content-ctn,
    html.fi-custom-osde-view-page .fi-ta-ctn:has(.fi-vivlia-section) .fi-ta-header-toolbar,
    html.fi-custom-osde-view-page .fi-ta-ctn:has(.fi-vivlia-section) .fi-ta-content-ctn {
        position: static;
        inset: auto !important;
        z-index: auto;
        width: 100%;
        height: auto;
        overflow: visible;
        border: 0;
        background: transparent;
        transition: none;
    }
}

html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-content-ctn {
    overflow-x: auto !important;
    overflow-y: hidden !important;
}

html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-header-toolbar {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: 3.5rem !important;
    align-items: center !important;
    gap: 0.75rem !important;
    overflow: visible !important;
    padding: 0.75rem 1rem !important;
    border-bottom: 1px solid #e5e7eb !important;
    background: #ffffff !important;
}

html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-header-toolbar > .fi-ta-actions {
    display: flex !important;
    flex: 0 0 auto !important;
    order: 1;
}

html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-header-toolbar > div:has(.fi-ta-search-field) {
    width: 22rem !important;
    max-width: min(22rem, 100%) !important;
    flex: 0 1 22rem !important;
    order: 2;
    margin-inline-start: auto !important;
}

html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-header-toolbar .fi-ta-search-field,
html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-header-toolbar .fi-input-wrp {
    width: 100% !important;
    max-width: none !important;
}

html.dark.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-header-toolbar {
    border-bottom-color: #374151 !important;
    background: #111827 !important;
}

@media (max-width: 47.999rem) {
    html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-header-toolbar {
        align-items: stretch !important;
        flex-wrap: wrap !important;
    }

    html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-header-toolbar > div:has(.fi-ta-search-field) {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
    }
}

.fi-ta-ctn:has(.fi-zoiki-section) .fi-ta-header-heading {
    font-weight: 400 !important;
    font-size: 0.875rem;
}

.fi-environmental-monitoring {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.fi-env-calculator,
.fi-env-panel,
.fi-env-form,
.fi-env-sample {
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    background: #fff;
}

.fi-env-calculator,
.fi-env-panel,
.fi-env-form,
.fi-env-sample {
    padding: 1rem;
}

.fi-env-calculator-fields,
.fi-env-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
    gap: 0.75rem;
}

.fi-env-calculator-fields {
    grid-template-columns: minmax(10rem, 0.7fr) minmax(10rem, 0.7fr) minmax(16rem, 1.6fr) auto;
}

.fi-env-monitoring-header {
    grid-template-columns: minmax(0, 1fr) max-content;
    height: auto;
    min-height: 5.5rem;
    align-items: start;
    padding-block: .85rem;
}

.fi-env-monitoring-heading {
    display: grid;
    min-width: 0;
    align-self: start;
    gap: .65rem;
}

.fi-env-monitoring-heading > .fi-ta-header-heading {
    max-width: none;
    margin-top: .1rem;
    line-height: 1.25;
    white-space: nowrap;
}

.fi-env-monitoring-heading .fi-env-run-selector {
    grid-template-columns: auto auto;
    justify-content: start;
    margin-top: 0;
}

.fi-env-monitoring-heading .fi-env-run-selector .fi-env-input {
    width: 20.8rem;
    max-width: 100%;
}

.fi-env-run-export-row {
    display: flex;
    align-items: end;
    gap: .65rem;
}

.fi-env-monitoring-controls {
    display: grid;
    min-width: 0;
    width: max-content;
    max-width: 100%;
    justify-self: end;
}

.fi-env-monitoring-controls .fi-env-calculator-fields {
    grid-template-columns: 10rem 10rem 16rem auto;
    justify-content: end;
}

.fi-env-monitoring-controls .fi-env-run-selector {
    margin-top: .65rem;
}

.fi-env-calculator label,
.fi-env-monitoring-controls label,
.fi-env-form label,
.fi-env-run-selector {
    display: grid;
    gap: 0.35rem;
    color: #374151;
    font-size: 0.8125rem;
    font-weight: 500;
}

.fi-env-input {
    width: 100%;
    min-height: 2.5rem;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    padding: 0.5rem 0.7rem;
    background: #fff;
    color: #111827;
    font-size: 0.875rem;
    font-weight: 400;
}

textarea.fi-env-input {
    min-height: 5rem;
    resize: vertical;
}

.fi-env-input:focus {
    border-color: #6b7280;
    outline: 2px solid rgba(107, 114, 128, 0.15);
    outline-offset: 0;
}

.fi-env-run-selector {
    grid-template-columns: auto minmax(18rem, 32rem);
    align-items: center;
    justify-content: end;
    margin-top: 0.75rem;
}

.fi-env-tabs {
    display: flex;
    gap: 0.25rem;
    overflow-x: auto;
    border: 1px solid #e5e7eb;
    border-radius: 0.65rem;
    padding: 0.2rem;
    background: #fff;
    scrollbar-width: thin;
}

.fi-env-tab {
    flex: 0 0 auto;
    border-radius: 0.45rem;
    padding: 0.55rem 0.8rem;
    color: #64748b;
    font-size: 0.875rem;
    font-weight: 500;
    white-space: nowrap;
}

.fi-env-tab.fi-active {
    background: #f3f4f6;
    color: #111827;
}

.fi-env-panel {
    min-width: 0;
}

.fi-env-panel-heading,
.fi-env-inline-actions,
.fi-env-form-actions,
.fi-env-run-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.fi-env-panel-heading {
    margin-bottom: 1rem;
}

.fi-env-panel h3,
.fi-env-panel h4,
.fi-env-form h4 {
    color: #111827;
    font-weight: 600;
}

.fi-env-panel h3 {
    font-size: 1rem;
}

.fi-env-panel p {
    margin-top: 0.2rem;
    color: #64748b;
    font-size: 0.8125rem;
}

.fi-env-form {
    margin-bottom: 1rem;
    background: #f8fafc;
}

.fi-env-form h4 {
    margin-bottom: 0.75rem;
}

.fi-env-form small,
.fi-env-monitoring-controls small,
.fi-env-calculator small {
    color: #b91c1c;
    font-weight: 400;
}

.fi-env-span-full {
    grid-column: 1 / -1;
}

.fi-env-checkbox {
    display: flex !important;
    min-height: 2.5rem;
    align-items: center;
    gap: 0.5rem !important;
}

.fi-env-form-actions {
    justify-content: flex-start;
    margin-top: 1rem;
}

.fi-env-results-editor {
    margin-top: 1rem;
    border-top: 1px solid #e5e7eb;
    padding-top: 1rem;
}

.fi-env-result-row {
    display: grid;
    grid-template-columns: 0.8fr 1.3fr 0.7fr 1fr 0.65fr 1fr auto;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.fi-env-link {
    color: #4b5563;
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.fi-env-danger {
    color: #b91c1c;
}

.fi-env-sample + .fi-env-sample {
    margin-top: 0.75rem;
}

.fi-env-metric-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.fi-env-metric {
    display: grid;
    gap: 0.25rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.65rem;
    padding: 1rem;
    background: #f8fafc;
}

.fi-env-metric span,
.fi-env-metric small {
    color: #64748b;
    font-size: 0.75rem;
}

.fi-env-metric strong {
    color: #111827;
    font-size: 1.35rem;
    font-weight: 600;
}

.fi-env-run-summary {
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    color: #475569;
    font-size: 0.8125rem;
}

.fi-env-status {
    display: inline-flex;
    border-radius: 999px;
    padding: 0.2rem 0.5rem;
    background: #e5e7eb;
    color: #374151;
    font-size: 0.75rem;
    font-weight: 600;
}

.fi-env-status-compliant,
.fi-env-status-pass,
.fi-env-status-completed {
    background: #dcfce7;
    color: #166534;
}

.fi-env-status-violation,
.fi-env-status-fail,
.fi-env-status-failed {
    background: #fee2e2;
    color: #991b1b;
}

.fi-env-status-not_evaluated,
.fi-env-status-warning,
.fi-env-status-completed_with_warnings {
    background: #fef3c7;
    color: #92400e;
}

.fi-env-warnings {
    margin-top: 1rem;
    border: 1px solid #fcd34d;
    border-radius: 0.65rem;
    padding: 0.9rem 1rem;
    background: #fffbeb;
    color: #78350f;
    font-size: 0.8125rem;
}

.fi-env-warnings ul {
    margin-top: 0.5rem;
    padding-inline-start: 1.2rem;
    list-style: disc;
}

.fi-env-warnings li + li,
.fi-env-methodology li + li {
    margin-top: .55rem;
}

.fi-env-warnings details {
    margin-top: .25rem;
}

.fi-env-warnings summary {
    width: max-content;
    cursor: pointer;
    font-weight: 600;
}

.fi-env-methodology {
    margin: 1rem 0;
    border: 1px solid #dbe3ec;
    border-radius: .65rem;
    padding: .9rem 1rem;
    background: #f8fafc;
    color: #334155;
    font-size: .8125rem;
}

.fi-env-methodology ul {
    margin-top: .5rem;
    padding-inline-start: 1.2rem;
    list-style: disc;
}

.fi-env-carbon-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 19rem));
    justify-content: start;
    gap: .65rem;
    margin: 1rem 0;
}

.fi-env-carbon-metric {
    display: flex;
    min-height: 3.25rem;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .7rem .8rem;
}

.fi-env-carbon-metric span {
    color: #475569;
    font-size: .78rem;
    font-weight: 600;
}

.fi-env-carbon-metric strong {
    flex: 0 0 auto;
    color: #111827;
    font-size: .88rem !important;
    text-align: end;
    white-space: nowrap;
}

.fi-env-carbon-table {
    margin-top: 1rem;
}

.fi-env-carbon-emissions {
    text-align: end !important;
}

.fi-env-carbon-value {
    display: inline-flex;
    justify-content: flex-end;
    width: max-content;
    min-width: 8.5rem;
    border: 1px solid #e2e8f0;
    border-radius: .45rem;
    padding: .35rem .55rem;
    background: #f8fafc;
    color: #111827;
    font-size: .8rem;
    font-weight: 700;
    white-space: nowrap;
}

.dark .fi-env-methodology {
    border-color: #374151;
    background: #1f2937;
    color: #e5e7eb;
}

.dark .fi-env-carbon-value {
    border-color: #475569;
    background: #1f2937;
    color: #f8fafc;
}

/* Remove the dense inline schema gap that Filament injects inside forms. */
form .fi-sc.fi-inline.fi-sc-has-gap.fi-sc-dense {
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

form .fi-sc.fi-inline.fi-sc-has-gap.fi-sc-dense:empty {
    display: none !important;
}

.fi-env-empty {
    padding: 1.25rem;
    color: #64748b;
    text-align: center;
}

.dark .fi-env-calculator,
.dark .fi-env-panel,
.dark .fi-env-form,
.dark .fi-env-sample,
.dark .fi-env-tabs,
.dark .fi-env-input {
    border-color: #374151;
    background: #111827;
    color: #e5e7eb;
}

.dark .fi-env-form,
.dark .fi-env-metric {
    background: #1f2937;
}

.dark .fi-env-panel h3,
.dark .fi-env-panel h4,
.dark .fi-env-form h4,
.dark .fi-env-metric strong {
    color: #f9fafb;
}

.dark .fi-env-results-editor {
    border-color: #374151;
}

.dark .fi-env-calculator label,
.dark .fi-env-monitoring-heading .fi-env-run-selector,
.dark .fi-env-monitoring-controls label,
.dark .fi-env-form label {
    color: #d1d5db;
}

@media (max-width: 89.999rem) {
    .fi-env-monitoring-header {
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
    }

    .fi-env-monitoring-controls {
        width: 100%;
        justify-self: stretch;
    }

    .fi-env-monitoring-controls .fi-env-calculator-fields {
        justify-content: start;
    }
}

@media (max-width: 63.999rem) {
    .fi-env-monitoring-header {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .fi-env-monitoring-heading > .fi-ta-header-heading {
        max-width: none;
        white-space: normal;
    }

    .fi-env-calculator-fields,
    .fi-env-form-grid,
    .fi-env-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fi-env-result-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 47.999rem) {
    .fi-env-calculator-fields,
    .fi-env-form-grid,
    .fi-env-metric-grid,
    .fi-env-result-row {
        grid-template-columns: 1fr;
    }

    .fi-env-run-selector {
        grid-template-columns: 1fr;
        justify-content: stretch;
    }

    .fi-env-panel-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Final desktop reset: parcels table above the map instead of the legacy card rail. */
@media (min-width: 64rem) {
    html.fi-custom-osde-view-page .fi-ta-main {
        min-height: 0;
        padding-inline-start: 0;
    }

    html.fi-custom-osde-view-page .fi-osde-cultivations-heading,
    html.fi-custom-osde-view-page .fi-ta-header-toolbar,
    html.fi-custom-osde-view-page .fi-ta-content-ctn {
        position: static;
        inset: auto;
        z-index: auto;
        width: 100%;
        height: auto;
        transition: none;
    }

    html.fi-custom-osde-view-page .fi-osde-cultivations-heading {
        min-height: 4rem;
        border: 1px solid #e5e7eb;
        border-bottom: 0;
        border-radius: 0.65rem 0.65rem 0 0;
    }

    html.fi-custom-osde-view-page .fi-ta-header-toolbar {
        padding: 0.65rem 0;
        border-bottom: 0;
    }

    html.fi-custom-osde-view-page .fi-ta-header-toolbar > div:has(.fi-ta-search-field) {
        width: min(24rem, 100%);
    }

    html.fi-custom-osde-view-page .fi-ta-content-ctn {
        max-height: 19rem;
        overflow: auto;
        border: 1px solid #e5e7eb;
        border-radius: 0.55rem;
    }

    html.fi-custom-osde-view-page .fi-ta-main > .fi-osde-map-widget {
        width: 100%;
        padding: 0;
    }
}

/* Full-height parcel workspace: toolbar, table, draggable split and map/details. */
:root {
    --fi-osde-table-height: 10.5rem;
}

@media (min-width: 64rem) {
    html.fi-custom-osde-view-page,
    html.fi-custom-osde-view-page body {
        overflow: hidden;
    }

    html.fi-custom-osde-view-page .fi-page,
    html.fi-custom-osde-view-page .fi-page-main,
    html.fi-custom-osde-view-page .fi-page-content {
        min-height: 0 !important;
        overflow: hidden;
    }

    html.fi-custom-osde-view-page .fi-ta-main {
        display: grid !important;
        grid-template-rows: 4rem var(--fi-osde-table-height) 1rem minmax(0, 1fr);
        width: 100%;
        height: calc(100dvh - 3rem) !important;
        min-height: 0;
        overflow: hidden;
        padding: 0 !important;
    }

    html.fi-custom-osde-view-page .fi-ta-header-ctn,
    html.fi-custom-osde-view-page .fi-ta-header-ctn > .fi-osde-map-widget {
        display: contents !important;
    }

    html.fi-custom-osde-view-page .fi-osde-cultivations-heading {
        position: relative !important;
        inset: auto !important;
        z-index: 3;
        grid-row: 1;
        display: flex;
        width: 100% !important;
        height: 4rem !important;
        align-items: center;
        justify-content: space-between;
        border: 0 !important;
        border-bottom: 1px solid #e5eaf1 !important;
        border-radius: 0 !important;
        padding: 0.6rem 0.85rem !important;
        background: #fff;
    }

    html.fi-custom-osde-view-page .fi-osde-cultivations-heading > div:first-child {
        width: 9.5rem;
        flex: 0 0 9.5rem;
    }

    html.fi-custom-osde-view-page .fi-osde-cultivations-heading strong {
        color: #0f2748;
        font-size: 0.95rem;
        font-weight: 800;
    }

    html.fi-custom-osde-view-page .fi-osde-cultivations-heading span {
        color: #8b9bb3;
        font-size: 0.72rem;
    }

    html.fi-custom-osde-view-page .fi-ta-header-toolbar {
        position: relative !important;
        inset: auto !important;
        z-index: 5;
        grid-row: 1;
        align-self: center;
        justify-self: start;
        width: 15rem !important;
        height: 2.35rem !important;
        margin-inline-start: 10.5rem;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    html.fi-custom-osde-view-page .fi-ta-header-toolbar .fi-input-wrp {
        border-color: #dfe6ef;
        border-radius: 0.35rem;
        box-shadow: none;
    }

    html.fi-custom-osde-view-page .fi-ta-content-ctn {
        position: relative !important;
        inset: auto !important;
        z-index: 1;
        grid-row: 2;
        width: 100% !important;
        height: var(--fi-osde-table-height) !important;
        max-height: none !important;
        overflow: auto !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #fff;
        scrollbar-width: thin;
    }

    html.fi-custom-osde-view-page .fi-ta-table {
        min-width: 92rem;
    }

    html.fi-custom-osde-view-page .fi-ta-table > thead {
        position: sticky;
        top: 0;
        z-index: 4;
    }

    html.fi-custom-osde-view-page .fi-ta-row {
        cursor: pointer;
    }

    html.fi-custom-osde-view-page .fi-ta-cell,
    html.fi-custom-osde-view-page .fi-ta-header-cell {
        padding-block: 0.7rem;
        font-size: 0.72rem;
        white-space: nowrap;
    }

    html.fi-custom-osde-view-page .fi-osde-workspace-resizer {
        position: relative;
        z-index: 6;
        grid-row: 3;
        display: grid;
        width: 100%;
        height: 1rem;
        place-items: center;
        border: 0;
        border-block: 1px solid #edf1f5;
        background: #fff;
        cursor: row-resize;
        touch-action: none;
    }

    html.fi-custom-osde-view-page .fi-osde-workspace-resizer span {
        display: block;
        width: 2.8rem;
        height: 0.22rem;
        border-radius: 999px;
        background: #9aabc4;
        transition: width 120ms ease, background 120ms ease;
    }

    html.fi-custom-osde-view-page .fi-osde-workspace-resizer:hover span,
    html.fi-osde-resizing .fi-osde-workspace-resizer span {
        width: 4rem;
        background: #12346e;
    }

    html.fi-osde-resizing,
    html.fi-osde-resizing * {
        cursor: row-resize !important;
        user-select: none !important;
    }

    html.fi-custom-osde-view-page .fi-osde-map-shell,
    html.fi-custom-osde-view-page .fi-osde-details-panel {
        grid-row: 4;
        width: 100%;
        height: 100%;
        min-height: 0;
        margin: 0 !important;
        overflow: hidden;
    }

    html.fi-custom-osde-view-page .fi-osde-map-frame,
    html.fi-custom-osde-view-page .fi-osde-map-canvas {
        width: 100%;
        height: 100% !important;
        min-height: 0 !important;
        border: 0;
        border-radius: 0;
    }

    html.fi-custom-osde-view-page .fi-osde-details-panel {
        overflow: auto;
        border: 0;
        border-radius: 0;
        background: #fff;
    }

    html.fi-custom-osde-view-page .fi-osde-map-close,
    html.fi-custom-osde-view-page .fi-osde-cultivations-heading .fi-osde-heading-actions {
        display: none !important;
    }
}

.fi-osde-workspace-switch {
    position: absolute;
    inset-inline-start: 50%;
    top: 50%;
    display: grid !important;
    width: min(30rem, 35vw);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.25rem !important;
    border: 1px solid #dbe3ee;
    border-radius: 0.65rem;
    background: #fff;
    padding: 0.22rem;
    transform: translate(-50%, -50%);
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04);
}

.fi-osde-workspace-switch button {
    min-height: 2.5rem;
    border-radius: 0.48rem;
    color: #526176;
    font-size: 0.78rem;
    font-weight: 800;
}

.fi-osde-workspace-switch button.fi-active {
    background: #12346e;
    color: #fff;
}

.fi-osde-workspace-switch button:disabled {
    opacity: 0.48;
    cursor: not-allowed;
}

@media (max-width: 63.999rem) {
    .fi-osde-workspace-switch {
        position: static;
        width: 100%;
        margin-block-start: 0.5rem;
        transform: none;
    }

    html.fi-custom-osde-view-page .fi-osde-cultivations-heading {
        align-items: stretch;
        flex-direction: column;
    }

    html.fi-custom-osde-view-page .fi-osde-workspace-resizer {
        display: none;
    }
}

/* Final geometry overrides for the OSDE viewport. */
html.fi-custom-osde-view-page .fi-custom-topbar-page-title.fi-osde-topbar-record {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    z-index: 35;
    display: flex !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 3rem;
    min-height: 3rem;
    box-sizing: border-box;
    align-items: center;
    gap: 0.75rem;
    overflow: hidden;
    padding: 0.25rem 1.5rem !important;
    background: #fff;
}

html.fi-custom-osde-view-page .fi-osde-applicant-trigger {
    width: auto;
    max-width: none !important;
    flex: 0 1 auto;
    overflow: hidden;
}

html.fi-custom-osde-view-page .fi-osde-topbar-record .fi-custom-page-title-full {
    max-width: none;
    overflow: visible;
    text-overflow: clip;
}

html.fi-custom-osde-view-page .fi-osde-application-meta {
    flex: 0 0 auto;
    white-space: nowrap;
}

html.fi-custom-osde-view-page .fi-osde-protocol,
html.fi-custom-osde-view-page .fi-osde-protocol-date {
    color: #64748b;
    font-weight: 800;
}

html.fi-custom-osde-view-page .fi-osde-year {
    flex: 0 0 auto;
    margin-inline-start: 0 !important;
    padding-inline-start: 0.5rem;
    white-space: nowrap;
}

.fi-osde-workspace-group-toggle {
    display: grid;
    width: 100%;
    grid-template-columns: 1.8rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.5rem;
    border: 0;
    border-radius: 0.4rem;
    padding: 0.2rem 0.15rem;
    color: #12346e;
    text-align: start;
}

.fi-osde-workspace-group-toggle:hover {
    background: #f5f8fc;
}

.fi-osde-workspace-group-toggle > span {
    display: grid;
    width: 1.65rem;
    height: 1.65rem;
    place-items: center;
    border-radius: 999px;
    background: #f0f4f8;
    color: #526b89;
    font-size: 0.92rem;
    font-weight: 800;
}

.fi-osde-workspace-group-toggle strong {
    overflow: hidden;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.025em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fi-osde-workspace-group-toggle b {
    transition: transform 160ms ease;
}

.fi-osde-workspace-group.fi-open .fi-osde-workspace-group-toggle b {
    transform: rotate(180deg);
}

.fi-osde-workspace-group > div[hidden] {
    display: none !important;
}

@media (min-width: 64rem) {
    html.fi-custom-osde-view-page body:is(.fi-panel-admin, .fi-panel-user) .fi-main {
        position: fixed !important;
        inset-block: 3rem 0 !important;
        inset-inline: 18.5rem 0 !important;
        display: block !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    html.fi-custom-osde-view-page .fi-page,
    html.fi-custom-osde-view-page .fi-page-main,
    html.fi-custom-osde-view-page .fi-page-content,
    html.fi-custom-osde-view-page .fi-page-content > .fi-sc,
    html.fi-custom-osde-view-page .fi-page-content > .fi-sc > .fi-grid-col,
    html.fi-custom-osde-view-page .fi-page-content .fi-sc-tabs,
    html.fi-custom-osde-view-page .fi-page-content .fi-sc-tabs-tab,
    html.fi-custom-osde-view-page .fi-resource-relation-manager,
    html.fi-custom-osde-view-page .fi-resource-relation-manager > .fi-sc,
    html.fi-custom-osde-view-page .fi-resource-relation-manager .fi-ta,
    html.fi-custom-osde-view-page .fi-resource-relation-manager .fi-ta-ctn {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html.fi-custom-osde-view-page .fi-ta-main {
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
    }

    html.fi-custom-osde-view-page .fi-ta-header-toolbar {
        justify-self: end !important;
        margin-inline: 0 1.25rem !important;
    }

    html.fi-custom-osde-view-page .fi-osde-cultivations-heading,
    html.fi-custom-osde-view-page .fi-ta-header-toolbar,
    html.fi-custom-osde-view-page .fi-ta-content-ctn,
    html.fi-custom-osde-view-page .fi-osde-workspace-resizer,
    html.fi-custom-osde-view-page .fi-osde-map-shell,
    html.fi-custom-osde-view-page .fi-osde-details-panel {
        grid-column: 1 / -1 !important;
        max-width: none !important;
    }

    html.fi-custom-osde-view-page .fi-osde-map-widget,
    html.fi-custom-osde-view-page .fi-osde-map-shell,
    html.fi-custom-osde-view-page .fi-osde-map-frame,
    html.fi-custom-osde-view-page .fi-osde-map-canvas,
    html.fi-custom-osde-view-page .fi-ta-content-ctn,
    html.fi-custom-osde-view-page .fi-ta-table {
        width: 100% !important;
        max-width: none !important;
    }

}

@media (max-width: 82rem) {
    html.fi-custom-osde-view-page .fi-osde-topbar-record {
        gap: 0.45rem;
        padding-inline: 0.65rem !important;
    }

    html.fi-custom-osde-view-page .fi-osde-applicant-trigger {
        min-width: 0;
        max-width: 38vw !important;
    }

    html.fi-custom-osde-view-page .fi-osde-topbar-record .fi-custom-page-title-full {
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* Compact, stable table/map panes and narrow application navigation. */
@media (min-width: 64rem) {
    html.fi-custom-osde-view-page .fi-osde-workspace-nav {
        width: 15.5rem !important;
        padding-inline: 0.45rem !important;
    }

    html.fi-custom-osde-view-page .fi-osde-workspace-group {
        padding-block: 0.42rem;
    }

    html.fi-custom-osde-view-page .fi-osde-workspace-group-toggle {
        grid-template-columns: 1.65rem minmax(0, 1fr) 0.8rem;
        gap: 0.35rem;
        padding: 0.15rem 0.1rem;
    }

    html.fi-custom-osde-view-page .fi-osde-workspace-group-toggle strong {
        font-size: 0.76rem;
        letter-spacing: 0;
    }

    html.fi-custom-osde-view-page .fi-osde-workspace-group-toggle b {
        justify-self: end;
        font-size: 0.72rem;
    }

    html.fi-custom-osde-view-page .fi-osde-workspace-link {
        grid-template-columns: 1.35rem minmax(0, 1fr);
        gap: 0.35rem;
        min-height: 2rem;
        padding: 0.3rem 0.42rem;
    }

    html.fi-custom-osde-view-page .fi-osde-workspace-link em {
        font-size: 0.76rem;
        line-height: 1rem;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    html.fi-custom-osde-view-page .fi-ta-table > thead > tr > th,
    html.fi-custom-osde-view-page .fi-ta-table > thead .fi-ta-header-cell {
        height: 2.35rem !important;
        min-height: 2.35rem !important;
        padding: 0.35rem 0.65rem !important;
        border-color: #0789bc !important;
        background: #0798cf !important;
        color: #fff !important;
        vertical-align: middle !important;
        white-space: nowrap !important;
    }

    html.fi-custom-osde-view-page .fi-ta-header-cell-label,
    html.fi-custom-osde-view-page .fi-ta-header-cell-label span,
    html.fi-custom-osde-view-page .fi-ta-header-cell button {
        color: #fff !important;
        font-size: 0.68rem !important;
        font-weight: 850 !important;
        line-height: 1rem !important;
        white-space: nowrap !important;
    }

    html.fi-custom-osde-view-page .fi-ta-table > tbody > tr,
    html.fi-custom-osde-view-page .fi-ta-table > tbody > tr > td {
        height: 2.65rem !important;
        min-height: 2.65rem !important;
        max-height: 2.65rem !important;
    }

    html.fi-custom-osde-view-page .fi-ta-table > tbody > tr > td {
        max-width: 13rem;
        overflow: hidden !important;
        padding: 0.3rem 0.65rem !important;
        vertical-align: middle !important;
        white-space: nowrap !important;
    }

    html.fi-custom-osde-view-page .fi-ta-table > tbody > tr > td .fi-ta-col,
    html.fi-custom-osde-view-page .fi-ta-table > tbody > tr > td .fi-ta-text,
    html.fi-custom-osde-view-page .fi-ta-table > tbody > tr > td .fi-ta-text-item,
    html.fi-custom-osde-view-page .fi-ta-table > tbody > tr > td p {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        color: #22314a;
        font-size: 0.72rem !important;
        line-height: 1rem !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    html.fi-custom-osde-view-page .fi-ta-table > tbody > tr > td .fi-ta-col {
        padding: 0 !important;
    }

    html.fi-custom-osde-view-page .fi-resource-relation-manager:has(.osde-parcel-row) .fi-ta-table > thead > tr > th:last-child,
    html.fi-custom-osde-view-page .fi-resource-relation-manager:has(.osde-parcel-row) .fi-ta-table > tbody > tr > td:last-child {
        display: none !important;
    }

    html.fi-custom-osde-view-page .fi-osde-map-shell,
    html.fi-custom-osde-view-page .fi-osde-map-frame,
    html.fi-custom-osde-view-page .fi-osde-map-canvas {
        display: block;
        height: calc(100dvh - 8rem - var(--fi-osde-table-height)) !important;
        min-height: 12rem !important;
    }

    html.fi-custom-osde-view-page .fi-osde-map-frame .ol-viewport {
        width: 100% !important;
        height: 100% !important;
    }

}

.fi-osde-modal-dialog {
    align-self: start;
    margin-block-start: 3.25rem;
}

.fi-env-compliance {
    margin-top: 1.5rem;
    border-top: 1px solid rgb(229 231 235);
    padding-top: 1.5rem;
}

.fi-env-compliance-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.fi-env-compliance-heading h2 { font-size: 1.15rem; font-weight: 700; }
.fi-env-compliance-heading p { color: rgb(107 114 128); font-size: .875rem; }
.fi-env-catalogs, .fi-onboarding-intro { margin-top: 1rem; padding: 1rem; border: 1px solid rgb(229 231 235); border-radius: .75rem; }
.fi-legal-content { margin: .75rem 0; white-space: normal; }
.fi-otp-preview { margin: 1rem 0; padding: .8rem 1rem; border-radius: .6rem; color: rgb(30 64 175); background: rgb(219 234 254); }
.fi-otp-phone-choice { margin-top: 1rem; padding: 1rem; border: 1px solid rgb(186 230 253); border-radius: .75rem; background: rgb(240 249 255); }
.fi-otp-phone-choice > strong { display: block; margin: .45rem 0 .75rem; color: rgb(3 105 161); font-size: 1.5rem; letter-spacing: .08em; }
.fi-otp-new-phone-form { display: grid; gap: 1rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgb(229 231 235); }
.fi-otp-new-phone-form h3 { font-size: 1rem; font-weight: 700; }
.fi-otp-new-phone-form p { color: rgb(107 114 128); font-size: .8rem; }
html.dark .fi-otp-phone-choice { border-color: rgb(14 116 144); background: rgb(8 47 73); }
html.dark .fi-otp-phone-choice > strong { color: rgb(125 211 252); }
.fi-readiness { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .75rem 1rem; }
.fi-readiness-score { grid-row: span 2; font-size: 2rem; font-weight: 800; color: rgb(22 101 52); }
.fi-readiness-bar { height: .65rem; overflow: hidden; border-radius: 999px; background: rgb(229 231 235); }
.fi-readiness-bar span { display: block; height: 100%; border-radius: inherit; background: rgb(34 197 94); }
.fi-readiness-checks { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .8rem; }
.fi-readiness-checks span { padding: .3rem .55rem; border-radius: 999px; font-size: .78rem; }
.fi-readiness-checks .is-complete { color: rgb(22 101 52); background: rgb(220 252 231); }
.fi-readiness-checks .is-pending { color: rgb(153 27 27); background: rgb(254 226 226); }
.fi-readiness-meta { margin-top: .75rem; color: #64748b; font-size: .82rem; }

.fi-farmlink-wordmark {
    color: rgb(22 101 52);
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: -.055em;
    line-height: 1;
}

.fi-farmlink-wordmark strong { color: #2299dd; font-weight: 800; }

html.dark .fi-farmlink-wordmark { color: #e2e8f0; }
html.dark .fi-env-compliance { border-color: rgb(55 65 81); }
html.dark .fi-env-compliance-heading p { color: rgb(156 163 175); }

/* Modal must cover the complete application, including topbar and both menus. */
body > .fi-osde-applicant-modal {
    position: fixed !important;
    z-index: 2147483000 !important;
    inset: 0 !important;
    display: grid;
    width: 100vw !important;
    height: 100dvh !important;
    place-items: center !important;
    overflow: auto;
    padding: 1.25rem !important;
    isolation: isolate;
}

body > .fi-osde-applicant-modal[hidden] {
    display: none !important;
}

body > .fi-osde-applicant-modal .fi-osde-modal-backdrop {
    position: fixed !important;
    z-index: 0;
    inset: 0 !important;
    width: 100vw;
    height: 100dvh;
    background: rgba(8, 18, 35, 0.68) !important;
    backdrop-filter: brightness(0.72);
}

body > .fi-osde-applicant-modal .fi-osde-modal-dialog {
    position: relative;
    z-index: 1;
    align-self: center;
    width: min(76rem, calc(100vw - 2.5rem));
    max-height: calc(100dvh - 2.5rem);
    margin: 0 !important;
}

/* Only 3A (parcels) uses the fixed map/table viewport. Other menu pages scroll normally. */
html.fi-custom-osde-view-page:not(.fi-osde-parcel-active),
html.fi-custom-osde-view-page:not(.fi-osde-parcel-active) body {
    overflow: auto !important;
}

@media (min-width: 64rem) {
    html.fi-custom-osde-view-page:not(.fi-osde-parcel-active) body:is(.fi-panel-admin, .fi-panel-user) .fi-main {
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    html.fi-custom-osde-view-page:not(.fi-osde-parcel-active) .fi-page,
    html.fi-custom-osde-view-page:not(.fi-osde-parcel-active) .fi-page-main,
    html.fi-custom-osde-view-page:not(.fi-osde-parcel-active) .fi-page-content,
    html.fi-custom-osde-view-page:not(.fi-osde-parcel-active) .fi-page-content > .fi-sc,
    html.fi-custom-osde-view-page:not(.fi-osde-parcel-active) .fi-page-content > .fi-sc > .fi-grid-col,
    html.fi-custom-osde-view-page:not(.fi-osde-parcel-active) .fi-page-content .fi-sc-tabs,
    html.fi-custom-osde-view-page:not(.fi-osde-parcel-active) .fi-page-content .fi-sc-tabs-tab,
    html.fi-custom-osde-view-page:not(.fi-osde-parcel-active) .fi-resource-relation-manager,
    html.fi-custom-osde-view-page:not(.fi-osde-parcel-active) .fi-resource-relation-manager > .fi-sc,
    html.fi-custom-osde-view-page:not(.fi-osde-parcel-active) .fi-resource-relation-manager .fi-ta,
    html.fi-custom-osde-view-page:not(.fi-osde-parcel-active) .fi-resource-relation-manager .fi-ta-ctn {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    html.fi-custom-osde-view-page:not(.fi-osde-parcel-active) .fi-ta-main {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    html.fi-custom-osde-view-page:not(.fi-osde-parcel-active) .fi-ta-header-ctn {
        display: block !important;
    }

    html.fi-custom-osde-view-page:not(.fi-osde-parcel-active) .fi-ta-header-toolbar,
    html.fi-custom-osde-view-page:not(.fi-osde-parcel-active) .fi-ta-content-ctn {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        overflow: visible !important;
    }
}

@media (min-width: 64rem) {
    /* Remove every Filament spacing layer from parcel rows. */
    html.fi-custom-osde-view-page .fi-ta-table > tbody > tr {
        height: 2rem !important;
        min-height: 2rem !important;
        max-height: 2rem !important;
    }

    html.fi-custom-osde-view-page .fi-ta-table > tbody > tr > td,
    html.fi-custom-osde-view-page .fi-ta-table > tbody > tr > .fi-ta-cell {
        height: 2rem !important;
        min-height: 2rem !important;
        max-height: 2rem !important;
        padding: 0 !important;
        line-height: 1rem !important;
    }

    html.fi-custom-osde-view-page .fi-ta-table > tbody > tr > td > button.fi-ta-col,
    html.fi-custom-osde-view-page .fi-ta-table > tbody > tr > td > a.fi-ta-col,
    html.fi-custom-osde-view-page .fi-ta-table > tbody > tr > td > .fi-ta-col {
        display: flex !important;
        width: 100% !important;
        height: 2rem !important;
        min-height: 2rem !important;
        max-height: 2rem !important;
        align-items: center !important;
        overflow: hidden !important;
        padding: 0 0.55rem !important;
        line-height: 1rem !important;
    }

    html.fi-custom-osde-view-page .fi-ta-table > tbody > tr > td .fi-ta-text,
    html.fi-custom-osde-view-page .fi-ta-table > tbody > tr > td .fi-ta-text-item,
    html.fi-custom-osde-view-page .fi-ta-table > tbody > tr > td p,
    html.fi-custom-osde-view-page .fi-ta-table > tbody > tr > td span {
        height: 1rem !important;
        min-height: 0 !important;
        max-height: 1rem !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1rem !important;
    }

}
.fi-env-action-card {
    margin-top: .75rem;
    padding: 1rem;
    border: 1px solid rgba(148, 163, 184, .35);
    border-radius: .75rem;
    background: rgba(255, 255, 255, .6);
}

.fi-env-action-card > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
}

.fi-env-action-card[open] > summary {
    margin-bottom: 1rem;
}

.dark .fi-env-action-card {
    background: rgba(15, 23, 42, .35);
}

/* OSDE information tabs share the books navigation and white-section language. */
[x-cloak] { display: none !important; }

html.fi-custom-osde-view-page .fi-osde-standard-tabs {
    border: 0;
    border-radius: 0 !important;
    overflow: visible !important;
    background: transparent;
    box-shadow: none !important;
}

html.fi-custom-osde-view-page .fi-osde-info-header {
    grid-template-columns: minmax(0, 1fr);
    height: 4rem;
    min-height: 4rem;
    width: 100%;
    min-width: 0;
}

html.fi-custom-osde-view-page .fi-osde-info-header > .fi-vivlia-group-tabs {
    grid-column: 1;
    grid-row: 1;
    justify-self: center;
    margin: 0;
}

html.fi-custom-osde-view-page .fi-osde-standard-tabs .fi-sc-tabs-tab {
    margin-top: 0;
    padding: 1rem !important;
}

html.fi-custom-osde-view-page .fi-osde-standard-tabs.fi-workspace-empty-active .fi-osde-info-header,
html.fi-custom-osde-view-page .fi-osde-standard-tabs.fi-workspace-empty-active .fi-sc-tabs-tab {
    display: none !important;
}

html.fi-custom-osde-view-page .fi-workspace-empty-state {
    display: grid;
    min-height: 8rem;
    place-items: center;
    color: #64748b;
    font-size: .875rem;
    font-weight: 400;
}

html.fi-custom-osde-view-page .fi-vivlia-content-section {
    overflow: visible !important;
    border: 1px solid #e5e7eb;
    border-radius: .75rem !important;
    background: #fff;
    box-shadow: none !important;
}

html.fi-custom-osde-view-page .fi-vivlia-content-section > .fi-section {
    overflow: visible !important;
    border: 0 !important;
    border-radius: inherit !important;
    background: transparent !important;
    box-shadow: none !important;
}

html.fi-custom-osde-view-page .fi-osde-standard-tabs .fi-sc:has(.fi-vivlia-content-section),
html.fi-custom-osde-view-page .fi-osde-standard-tabs .fi-grid:has(.fi-vivlia-content-section) {
    gap: 1rem !important;
}

html.fi-custom-osde-view-page .fi-vivlia-content-section > .fi-section > .fi-section-header {
    padding: .75rem 1rem !important;
}

html.fi-custom-osde-view-page .fi-vivlia-content-section .fi-section-header-heading {
    color: #0f172a;
    font-family: inherit !important;
    font-size: .875rem !important;
    font-weight: 600 !important;
    line-height: 1.25rem !important;
}

html.fi-custom-osde-view-page .fi-vivlia-content-section > .fi-section > .fi-section-content-ctn,
html.fi-custom-osde-view-page .fi-vivlia-content-section .fi-section-content {
    overflow: visible !important;
    background: transparent;
}

html.fi-custom-osde-view-page .fi-vivlia-content-section .fi-section-content {
    padding: .875rem 1rem 1rem !important;
}

html.fi-custom-osde-view-page .fi-vivlia-content-section .fi-grid {
    gap: .875rem 1rem !important;
}

html.fi-custom-osde-view-page .fi-vivlia-content-section .fi-in-entry-label-col,
html.fi-custom-osde-view-page .fi-vivlia-content-section .fi-in-entry-content-col {
    gap: .125rem !important;
}

html.fi-custom-osde-view-page .fi-vivlia-content-section .fi-in-entry {
    row-gap: .125rem !important;
}

html.fi-custom-osde-view-page .fi-vivlia-content-section .fi-in-entry-label {
    color: #64748b !important;
    font-family: inherit !important;
    font-size: .6875rem !important;
    font-weight: 600 !important;
    line-height: 1rem !important;
}

html.fi-custom-osde-view-page .fi-vivlia-content-section .fi-in-entry-content,
html.fi-custom-osde-view-page .fi-vivlia-content-section .fi-in-text,
html.fi-custom-osde-view-page .fi-vivlia-content-section .fi-in-text-item {
    color: #0f2a4d !important;
    font-family: inherit !important;
    font-size: .75rem !important;
    font-weight: 400 !important;
    line-height: 1rem !important;
}

.fi-env-compliance { margin-top: 0; padding-top: 0; border-top: 0; }
.fi-env-linked-books {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgb(226 232 240);
    border-radius: .75rem;
    background: rgb(248 250 252);
}
.fi-env-linked-books h4 { font-weight: 700; }
.fi-env-linked-book-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .7rem 0;
    border-top: 1px solid rgb(226 232 240);
}
.fi-env-linked-book-row > div { display: grid; gap: .15rem; }
.fi-env-linked-book-row span,
.fi-env-linked-book-row small { color: rgb(71 85 105); }
.dark .fi-env-linked-books { background: rgb(17 24 39); border-color: rgb(55 65 81); }
.dark .fi-env-linked-book-row { border-color: rgb(55 65 81); }
.dark .fi-env-linked-book-row span,
.dark .fi-env-linked-book-row small { color: rgb(156 163 175); }
.fi-env-book-program-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}
.fi-env-book-program {
    padding: 1rem;
    border: 1px solid #e5e7eb;
    border-radius: .65rem;
    background: #f8fafc;
}
.fi-env-book-program h4 { margin-bottom: .65rem; font-weight: 700; }
.fi-env-book-program ol { display: grid; gap: .55rem; list-style: decimal; padding-left: 1.25rem; }
.fi-env-book-program li small { display: block; color: rgb(100 116 139); }
.fi-env-book-program-grid-current {
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    margin-bottom: 1rem;
}
.fi-env-book-program-grid-current .fi-env-book-program {
    display: grid;
    align-content: start;
    gap: .45rem;
}
.fi-env-book-program-grid-current .fi-env-status { justify-self: start; }
.fi-env-program-table {
    margin-top: 1rem;
    overflow: hidden;
    border: 1px solid rgb(226 232 240);
    border-radius: .8rem;
    background: #fff;
    transition: border-color .16s ease, box-shadow .16s ease;
}
.fi-env-program-table.fi-env-program-table-active {
    border-color: rgb(14 165 233);
    box-shadow: 0 0 0 2px rgb(14 165 233 / .16);
}
.fi-env-program-table-heading,
.fi-env-program-entries-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.fi-env-program-table-heading {
    padding: .9rem 1rem;
    border-bottom: 1px solid rgb(226 232 240);
    background: rgb(248 250 252);
}
.fi-env-program-table-heading h3 { font-weight: 800; }
.fi-env-program-table-heading p,
.fi-env-program-entries-heading span { color: rgb(100 116 139); font-size: .78rem; }
.fi-env-program-table .fi-table-template { border: 0; border-radius: 0; box-shadow: none; }
.fi-env-program-entries {
    margin: .8rem;
    padding: .9rem 1rem;
    border: 1px solid rgb(203 213 225);
    border-radius: .65rem;
    background: rgb(248 250 252);
}
.fi-env-program-entries-heading { margin-bottom: .55rem; }
.fi-env-program-entries-heading h4 { font-weight: 750; }
.fi-env-entry-details-table { margin-top: .65rem; }
.fi-env-entry-details-wrap { max-height: 28rem; }
.fi-env-entry-details-table .fi-table-template-table { min-width: max-content; }
.fi-env-entry-details-table .fi-table-template-table th,
.fi-env-entry-details-table .fi-table-template-table td { max-width: 18rem; }
.fi-env-entry-details-table .fi-table-template-table th[hidden],
.fi-env-entry-details-table .fi-table-template-table td[hidden] { display: none !important; }
.dark .fi-env-program-table,
.dark .fi-env-program-entries { background: rgb(17 24 39); border-color: rgb(55 65 81); }
.dark .fi-env-program-table.fi-env-program-table-active { border-color: rgb(56 189 248); box-shadow: 0 0 0 2px rgb(56 189 248 / .18); }
.dark .fi-env-program-table-heading { background: rgb(15 23 42); border-color: rgb(55 65 81); }
.dark .fi-env-book-program { border-color: #374151; background: #1f2937; }
.dark .fi-env-book-program li small { color: rgb(156 163 175); }
@media (max-width: 960px) {
    .fi-env-book-program-grid { grid-template-columns: 1fr; }
}
.fi-env-compliance-heading h2,
.fi-env-panel-heading h2,
.fi-env-panel-heading h3,
.fi-env-catalogs h3 { font-size: 1rem !important; line-height: 1.35 !important; }
.fi-env-metric strong { font-size: 0.85rem !important; line-height: 1.2 !important; }
.fi-env-input { min-height: 2.25rem !important; font-size: .8125rem !important; border-radius: .45rem !important; }

html.dark.fi-custom-osde-view-page .fi-osde-standard-tabs { background: transparent; border-color: rgb(55 65 81); }

/* One visual system for every nested OSDE table (parcels, books and compliance). */
html.fi-custom-osde-view-page .fi-ta-table > tbody > tr:nth-child(even) > td,
html.fi-custom-osde-view-page .fi-ta-table > tbody > tr:nth-child(even) > td:last-child {
    background-color: #f1f5f9 !important;
}

html.fi-custom-osde-view-page .fi-ta-table > tbody > tr:nth-child(even) > td .fi-ta-col,
html.fi-custom-osde-view-page .fi-ta-table > tbody > tr:nth-child(even) > td .fi-ta-text,
html.fi-custom-osde-view-page .fi-ta-table > tbody > tr:nth-child(even) > td .fi-ta-text-item,
html.fi-custom-osde-view-page .fi-ta-table > tbody > tr:nth-child(even) > td .fi-ta-actions {
    background-color: transparent !important;
}

html.fi-custom-osde-view-page .fi-ta-table > tbody > tr:hover > td {
    background-color: #e0f2fe !important;
}

.fi-osde-related-table-wrap {
    border: 1px solid #dbe3ec !important;
    border-radius: .55rem !important;
    background: #fff;
    box-shadow: none !important;
}

.fi-osde-related-table {
    width: max-content;
    min-width: 100%;
    border-collapse: collapse;
    font-size: .75rem;
}

.fi-osde-related-table th {
    height: 2.35rem !important;
    padding: .35rem .65rem !important;
    border-color: #0789bc !important;
    background: #0798cf !important;
    color: #fff !important;
    font-size: .68rem !important;
    font-weight: 800 !important;
    line-height: 1rem !important;
    letter-spacing: 0 !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}

.fi-osde-related-table td {
    height: 2.65rem !important;
    max-height: none !important;
    padding: .45rem .65rem !important;
    border-bottom: 1px solid #e2e8f0 !important;
    background: #fff;
    color: #22314a;
    font-size: .72rem !important;
    line-height: 1.15rem !important;
    vertical-align: middle !important;
}

.fi-osde-related-table tbody tr:nth-child(even) > td {
    background: #f1f5f9 !important;
}

.fi-osde-related-table tbody tr:hover > td {
    background: #e0f2fe !important;
}

.fi-client-pagination {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .65rem;
}

.fi-client-pagination button {
    min-height: 2rem;
    border: 1px solid #cbd5e1;
    border-radius: .4rem;
    padding: .3rem .65rem;
    background: #fff;
    color: #334155;
    font-size: .75rem;
}

.fi-client-pagination button:disabled { cursor: not-allowed; opacity: .45; }

html.dark.fi-custom-osde-view-page .fi-ta-table > tbody > tr:nth-child(even) > td,
.dark .fi-osde-related-table tbody tr:nth-child(even) > td {
    background: #1f2937 !important;
}

.dark .fi-osde-related-table-wrap,
.dark .fi-osde-related-table td {
    border-color: #374151 !important;
    background: #111827;
    color: #f8fafc;
}

html.dark.fi-custom-osde-view-page .fi-ta-table > tbody > tr:hover > td,
.dark .fi-osde-related-table tbody tr:hover > td {
    background: #0c4a6e !important;
}

/* Provenance table: constrain it to the details pane and keep both scrollbars reachable. */
html.fi-custom-osde-view-page .fi-osde-details-content,
html.fi-custom-osde-view-page .fi-osde-details-content > div {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

html.fi-custom-osde-view-page .fi-osde-details-content:has(.fi-osde-owners-scroll) {
    display: block;
    overflow: hidden;
}

html.fi-custom-osde-view-page .fi-osde-owners-scroll {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    max-height: clamp(14rem, calc(100dvh - 40rem), 34rem);
    overflow-x: scroll !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-gutter: stable both-edges;
    scrollbar-width: auto;
    touch-action: pan-x pan-y;
}

html.fi-custom-osde-view-page .fi-osde-owners-scroll .fi-osde-owners-table {
    width: max-content !important;
    min-width: 100% !important;
    max-width: none !important;
    table-layout: auto;
}

html.fi-custom-osde-view-page .fi-osde-owners-scroll .fi-osde-owners-table thead {
    position: sticky;
    top: 0;
    z-index: 2;
}

html.fi-custom-osde-view-page .fi-osde-owners-scroll::-webkit-scrollbar {
    width: 14px;
    height: 14px;
}

html.fi-custom-osde-view-page .fi-osde-owners-scroll::-webkit-scrollbar-track {
    background: #e2e8f0;
}

html.fi-custom-osde-view-page .fi-osde-owners-scroll::-webkit-scrollbar-thumb {
    min-width: 3rem;
    border: 3px solid #e2e8f0;
    border-radius: 999px;
    background: #64748b;
}

html.fi-custom-osde-view-page .fi-osde-owners-scroll::-webkit-scrollbar-thumb:hover {
    background: #334155;
}

/* Book tables use the same inset, rounded card treatment as environmental panels. */
html.fi-custom-osde-view-page .fi-vivlia-native-table {
    padding: 1rem;
    border: 1px solid #e5e7eb;
    border-radius: .75rem;
    background: #fff;
}

html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-ctn {
    overflow: hidden !important;
    border: 1px solid #e5e7eb !important;
    border-radius: .55rem !important;
    background: #fff;
    box-shadow: none !important;
}

html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-header-toolbar {
    border-radius: .55rem .55rem 0 0 !important;
}

html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-table > tbody > tr > td:last-child {
    display: table-cell !important;
}

html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-table > tbody > tr:nth-of-type(even) > td,
html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-table > tbody > tr:nth-of-type(even) > td:last-child,
html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-table > tbody > tr:nth-of-type(even) > td > .fi-ta-col,
html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-table > tbody > tr:nth-of-type(even) > td > .fi-ta-cell-content {
    background: #f1f5f9 !important;
}

html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-table > tbody > tr:nth-of-type(odd) > td,
html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-table > tbody > tr:nth-of-type(odd) > td:last-child,
html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-table > tbody > tr:nth-of-type(odd) > td > .fi-ta-col,
html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-table > tbody > tr:nth-of-type(odd) > td > .fi-ta-cell-content {
    background: #fff !important;
}

html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-table > tbody > tr:hover > td,
html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-table > tbody > tr:hover > td > .fi-ta-col,
html.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-table > tbody > tr:hover > td > .fi-ta-cell-content {
    background: #e0f2fe !important;
}

html.dark.fi-custom-osde-view-page .fi-vivlia-native-table,
html.dark.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-ctn {
    border-color: #374151 !important;
    background: #111827;
}

html.dark.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-table > tbody > tr:nth-of-type(even) > td,
html.dark.fi-custom-osde-view-page .fi-vivlia-native-table .fi-ta-table > tbody > tr:nth-of-type(even) > td > .fi-ta-col {
    background: #1f2937 !important;
}

/* Shared books table template: the same white-section treatment as environmental panels. */
html.fi-custom-osde-view-page .fi-vivlia-template-table {
    padding: 1rem;
    border: 1px solid #e5e7eb;
    border-radius: .75rem;
    background: #fff;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-ctn {
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent;
    box-shadow: none !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-header-ctn {
    background: transparent;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-header-toolbar {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: .75rem !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-header-toolbar > .fi-ta-actions {
    order: 2;
    flex: 0 0 auto !important;
    margin-inline-start: auto;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-header-toolbar:not(:has(> .fi-ta-actions .fi-btn)) > .fi-ta-actions {
    display: none !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-header-toolbar > div:has(.fi-ta-search-field) {
    order: 1;
    display: flex !important;
    width: auto !important;
    max-width: 100% !important;
    flex: 0 1 auto !important;
    align-items: center;
    gap: .5rem;
    margin: 0 !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-search-field,
html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-search-field .fi-input-wrp {
    width: min(18rem, 100%) !important;
    max-width: 100% !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-search-field .fi-input-wrp {
    height: 2rem !important;
    min-height: 2rem !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: .45rem !important;
    background: #fff !important;
    box-shadow: none !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-search-field input {
    height: 2rem !important;
    min-height: 2rem !important;
    padding-block: .3rem !important;
    font-size: .75rem !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-content-ctn {
    overflow-x: auto !important;
    border: 1px solid #dbe3ec;
    border-radius: .45rem .45rem 0 0 !important;
    background: #fff;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-table,
html.fi-custom-osde-view-page .fi-resource-relation-manager .fi-ta-table {
    width: 100% !important;
    min-width: 100% !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-table > tbody > tr:nth-of-type(even),
html.fi-custom-osde-view-page .fi-resource-relation-manager .fi-ta-table > tbody > tr:nth-of-type(even) {
    background-color: #f1f5f9 !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-table > thead > tr:first-child > th:first-child {
    border-start-start-radius: .45rem !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-table > thead > tr:first-child > th:last-child {
    border-start-end-radius: .45rem !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-header-cell,
html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-header-cell-label,
html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-header-cell-label span,
html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-header-cell button {
    font-size: .75rem !important;
    font-weight: 600 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-header-cell-label {
    display: block !important;
    max-width: 7.5rem !important;
    max-height: 2rem !important;
    flex: 0 1 7.5rem;
    overflow: hidden !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-table > thead > tr > th,
html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-table > thead .fi-ta-header-cell {
    height: 2.75rem !important;
    min-height: 2.75rem !important;
    max-height: 2.75rem !important;
    white-space: normal !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-table > tbody > tr,
html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-table > tbody > tr > td {
    height: 2rem !important;
    min-height: 2rem !important;
    max-height: 2rem !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-header-cell button {
    align-items: center;
    text-align: start;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-pagination {
    padding-block: .75rem 0 !important;
    font-size: .75rem !important;
    font-weight: 400 !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-pagination-overview,
html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-pagination-records-per-page-select,
html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-pagination-records-per-page-select *,
html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-pagination-item-label {
    font-family: inherit !important;
    font-size: .75rem !important;
    font-weight: 400 !important;
    line-height: 1rem !important;
    letter-spacing: normal !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-pagination-overview,
html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-pagination-records-per-page-select,
html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-pagination-records-per-page-select * {
    color: #334155 !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-pagination-records-per-page-select .fi-input-wrp,
html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-pagination-item-btn {
    min-height: 2rem !important;
    height: 2rem !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-pagination-records-per-page-select .fi-input-wrp {
    border: 1px solid #cbd5e1 !important;
    border-radius: .375rem !important;
    background: #fff !important;
    box-shadow: none !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-pagination-records-per-page-select select {
    height: 2rem !important;
    min-height: 2rem !important;
    padding-block: .25rem !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-pagination-items,
html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-pagination-item {
    align-items: center !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-pagination-item-btn {
    display: grid !important;
    place-items: center !important;
    min-width: 2rem !important;
    padding: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-pagination-item-label {
    display: block;
    width: 100%;
    line-height: 1rem !important;
    text-align: center !important;
}

html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-pagination-item.fi-active .fi-pagination-item-label {
    font-weight: 600 !important;
}

html.dark.fi-custom-osde-view-page .fi-vivlia-template-table,
html.dark.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-header-ctn,
html.dark.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-header-toolbar {
    border-color: #374151;
    background: #111827 !important;
}

html.dark.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-ctn {
    background: transparent !important;
}

html.dark.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-search-field .fi-input-wrp,
html.dark.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-content-ctn {
    border-color: #374151 !important;
    background: #111827 !important;
}

/* Environmental screens embed the canonical table inside their white section. */
html.fi-custom-osde-view-page .fi-table-template.fi-table-template-embedded {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

html.fi-custom-osde-view-page .fi-env-panel,
html.fi-custom-osde-view-page .fi-env-catalogs,
html.fi-custom-osde-view-page .fi-env-summary-panel {
    border: 1px solid #e5e7eb;
    border-radius: .75rem;
    background: #fff;
}

html.fi-custom-osde-view-page .fi-env-summary-panel {
    margin-bottom: 1rem;
}

html.fi-custom-osde-view-page .fi-env-catalogs.fi-env-panel {
    padding: 1rem;
}

html.dark.fi-custom-osde-view-page .fi-env-panel,
html.dark.fi-custom-osde-view-page .fi-env-catalogs,
html.dark.fi-custom-osde-view-page .fi-env-summary-panel {
    border-color: #374151;
    background: #111827;
    color: #f8fafc;
}

@media (max-width: 47.999rem) {
    html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-header-toolbar > div:has(.fi-ta-search-field) {
        width: 100% !important;
        flex-basis: 100% !important;
    }

    html.fi-custom-osde-view-page .fi-vivlia-template-table .fi-ta-header-toolbar > .fi-ta-actions {
        margin-inline-start: 0;
    }
}

.fi-vivlia-overflow-preview {
    position: fixed;
    z-index: 100;
    width: max-content;
    max-width: min(36rem, calc(100vw - 2rem));
    border: 1px solid #cbd5e1;
    border-radius: .45rem;
    padding: .45rem .6rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .16);
    color: #22314a;
    font-size: .75rem;
    font-weight: 400;
    line-height: 1.25rem;
    overflow-wrap: anywhere;
    pointer-events: none;
    white-space: normal;
}

.dark .fi-vivlia-overflow-preview {
    border-color: #475569;
    background: #111827;
    color: #f8fafc;
}

/* The parcels > origin table follows the shared books table template. */
html.fi-custom-osde-view-page .fi-osde-origin-table-template {
    width: 100%;
    min-width: 0;
}

html.fi-custom-osde-view-page .fi-table-template-toolbar {
    display: flex;
    min-height: 2rem;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-width: 0;
    margin-bottom: .75rem;
}

html.fi-custom-osde-view-page .fi-table-template-search {
    width: min(18rem, 100%);
    height: 2rem;
    min-height: 2rem;
    border: 1px solid #cbd5e1;
    border-radius: .45rem;
    padding: .3rem .65rem;
    background: #fff;
    color: #22314a;
    font-size: .75rem;
    font-weight: 400;
    line-height: 1rem;
}

html.fi-custom-osde-view-page .fi-osde-origin-table-template .fi-osde-owners-scroll {
    border-radius: .45rem .45rem 0 0 !important;
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-gutter: auto;
}

html.fi-custom-osde-view-page .fi-osde-origin-table-template .fi-osde-owners-table {
    width: 100% !important;
    min-width: 70rem !important;
    table-layout: fixed !important;
}

html.fi-custom-osde-view-page .fi-table-template-pagination {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: .75rem;
    padding-top: .75rem;
    color: #334155;
    font-family: inherit;
    font-size: .75rem;
    font-weight: 400;
    line-height: 1rem;
}

html.fi-custom-osde-view-page .fi-table-template-pagination-overview {
    justify-self: start;
}

html.fi-custom-osde-view-page .fi-table-template-per-page {
    display: flex;
    height: 2rem;
    align-items: center;
    overflow: hidden;
    border: 1px solid #cbd5e1;
    border-radius: .375rem;
    background: #fff;
}

html.fi-custom-osde-view-page .fi-table-template-per-page > span {
    padding-inline: .6rem;
    border-inline-end: 1px solid #e2e8f0;
}

html.fi-custom-osde-view-page .fi-table-template-per-page select {
    width: 3rem;
    height: 2rem;
    min-height: 2rem;
    box-sizing: border-box;
    border: 0;
    padding: .25rem .25rem .25rem .45rem;
    background: #fff;
    color: #334155;
    font: inherit;
}

html.fi-custom-osde-view-page .fi-table-template-pagination-items {
    display: flex;
    justify-self: end;
    overflow: hidden;
    border: 1px solid #cbd5e1;
    border-radius: .45rem;
    background: #fff;
}

html.fi-custom-osde-view-page .fi-table-template-pagination-items li + li {
    border-inline-start: 1px solid #e2e8f0;
}

html.fi-custom-osde-view-page .fi-table-template-pagination-items button {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    padding: 0;
    color: #334155;
    font: inherit;
    text-align: center;
}

html.fi-custom-osde-view-page .fi-table-template-pagination-gap {
    display: grid;
    min-width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    color: #64748b;
    font-size: 0.8rem;
    line-height: 1;
}

html.fi-custom-osde-view-page .fi-table-template-pagination-items button.fi-active {
    background: #0798cf !important;
    color: #fff !important;
    font-weight: 600;
}

html.fi-custom-osde-view-page .fi-table-template-pagination-items button:disabled {
    cursor: not-allowed;
    opacity: .4;
}

html.dark.fi-custom-osde-view-page .fi-table-template-search,
html.dark.fi-custom-osde-view-page .fi-table-template-per-page,
html.dark.fi-custom-osde-view-page .fi-table-template-per-page select,
html.dark.fi-custom-osde-view-page .fi-table-template-pagination-items {
    border-color: #475569;
    background: #111827;
    color: #f8fafc;
}

@media (max-width: 47.999rem) {
    html.fi-custom-osde-view-page .fi-table-template-pagination {
        grid-template-columns: 1fr;
    }

    html.fi-custom-osde-view-page .fi-table-template-pagination-overview,
    html.fi-custom-osde-view-page .fi-table-template-per-page,
    html.fi-custom-osde-view-page .fi-table-template-pagination-items {
        justify-self: start;
    }
}

@media (min-width: 64rem) {
    html.fi-custom-osde-view-page.fi-osde-details-scroll body:is(.fi-panel-admin, .fi-panel-user) .fi-main {
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }
}

/* Canonical native output of x-table-template. Views provide data only. */
html.fi-custom-osde-view-page .fi-table-template-toolbar-start {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .5rem;
}

html.fi-custom-osde-view-page .fi-table-template-search-field {
    position: relative;
    display: block;
    width: min(18rem, 100%);
}

html.fi-custom-osde-view-page .fi-table-template-search-field svg {
    position: absolute;
    z-index: 1;
    inset-block-start: 50%;
    inset-inline-start: .65rem;
    width: 1rem;
    height: 1rem;
    color: #9ca3af;
    pointer-events: none;
    transform: translateY(-50%);
}

html.fi-custom-osde-view-page .fi-table-template-search-field .fi-table-template-search {
    width: 100%;
    padding-inline-start: 2rem;
}

html.fi-custom-osde-view-page .fi-table-template-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .5rem;
    margin-inline-start: auto;
}

html.fi-custom-osde-view-page .fi-table-template-content {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid #dbe3ec;
    border-radius: .45rem .45rem 0 0;
    background: #fff;
    scrollbar-width: thin;
}

html.fi-custom-osde-view-page .fi-table-template-table {
    width: max-content;
    min-width: 100%;
    border-collapse: collapse;
    color: #0f2a4d;
    font-family: inherit;
    font-size: .75rem;
    table-layout: auto;
}

html.fi-custom-osde-view-page .fi-table-template-table th {
    height: 2.75rem !important;
    min-height: 2.75rem !important;
    max-height: 2.75rem !important;
    max-width: 9rem;
    padding: .35rem .65rem !important;
    border: 0 !important;
    background: #0798cf !important;
    color: #fff !important;
    font-size: .75rem !important;
    font-weight: 600 !important;
    line-height: 1rem !important;
    letter-spacing: 0 !important;
    text-align: start;
    vertical-align: middle !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

html.fi-custom-osde-view-page .fi-table-template-table td {
    height: 2rem !important;
    min-height: 2rem !important;
    max-height: 2rem !important;
    max-width: 18rem;
    overflow: hidden;
    padding: .25rem .65rem !important;
    border: 0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    background: #fff !important;
    color: #0f2a4d;
    font-size: .75rem !important;
    font-weight: 400 !important;
    line-height: 1rem !important;
    text-align: start;
    text-overflow: ellipsis;
    vertical-align: middle !important;
    white-space: nowrap;
}

html.fi-custom-osde-view-page .fi-table-template-table tbody tr:nth-child(even) > td {
    background: #f1f5f9 !important;
}

html.fi-custom-osde-view-page .fi-table-template-table tbody tr:hover > td {
    background: #e0f2fe !important;
}

html.fi-custom-osde-view-page .fi-table-template-columns {
    position: relative;
    flex: 0 0 auto;
}

html.fi-custom-osde-view-page .fi-table-template-columns > summary {
    display: flex;
    width: 2rem;
    height: 2rem;
    align-items: center;
    justify-content: center;
    gap: 2px;
    color: #6b7280;
    cursor: pointer;
    list-style: none;
}

html.fi-custom-osde-view-page .fi-table-template-columns > summary::-webkit-details-marker {
    display: none;
}

html.fi-custom-osde-view-page .fi-table-template-columns > summary span {
    width: 3px;
    height: 1rem;
    border-radius: 1px;
    background: currentColor;
}

html.fi-custom-osde-view-page .fi-table-template-columns > div {
    position: absolute;
    z-index: 30;
    inset-block-start: calc(100% + .35rem);
    inset-inline-start: 0;
    display: grid;
    width: max-content;
    min-width: 12rem;
    max-width: 20rem;
    gap: .35rem;
    border: 1px solid #dbe3ec;
    border-radius: .45rem;
    background: #fff;
    padding: .6rem;
    box-shadow: 0 .5rem 1rem rgba(15, 23, 42, .12);
}

html.fi-custom-osde-view-page .fi-table-template-columns label {
    display: flex;
    align-items: center;
    gap: .45rem;
    color: #334155;
    font-size: .75rem;
    font-weight: 400;
}

html.dark.fi-custom-osde-view-page .fi-table-template-content,
html.dark.fi-custom-osde-view-page .fi-table-template-columns > div {
    border-color: #374151;
    background: #111827;
}

html.dark.fi-custom-osde-view-page .fi-table-template-table td {
    border-color: #374151 !important;
    background: #111827 !important;
    color: #f8fafc;
}

html.dark.fi-custom-osde-view-page .fi-table-template-table tbody tr:nth-child(even) > td {
    background: #1f2937 !important;
}

/* The application workspace rail behaves like the primary Filament rail. */
@media (min-width: 64rem) {
    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-nav {
        width: 3rem !important;
        padding: 0.5rem 0 1.5rem !important;
        overflow-x: hidden;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed body:is(.fi-panel-admin, .fi-panel-user) .fi-main {
        inset-inline-start: 6rem !important;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-collapse {
        display: grid !important;
        width: 3rem;
        min-width: 3rem;
        height: 2.75rem;
        place-items: center;
        padding: 0;
        font-size: 1.15rem;
        text-align: center;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-group {
        width: 3rem;
        padding: 0;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-group-toggle {
        display: grid !important;
        width: 3rem;
        min-width: 3rem;
        min-height: 2.75rem;
        grid-template-columns: 1fr !important;
        justify-items: center;
        border-radius: 0;
        padding: 0;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-group-toggle > span {
        width: 1.75rem;
        height: 1.75rem;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-group-toggle strong,
    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-group-toggle b,
    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-link em {
        display: none !important;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-group > div {
        display: grid !important;
        width: 3rem;
        gap: 0.1rem;
        margin-block-start: 0;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-link {
        display: grid;
        width: 3rem;
        min-height: 2rem;
        grid-template-columns: 1fr;
        justify-items: center;
        border-radius: 0;
        padding: 0.2rem 0;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-link > span {
        width: 1.4rem;
        height: 1.4rem;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-nav:not(.fi-osde-workspace-hover-suppressed):hover {
        z-index: 40;
        width: 15.5rem !important;
        padding: 0.75rem 0.45rem 1.5rem !important;
        box-shadow: 8px 0 30px rgba(15, 23, 42, 0.14);
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed:has(.fi-osde-workspace-nav:not(.fi-osde-workspace-hover-suppressed):hover) body:is(.fi-panel-admin, .fi-panel-user) .fi-main {
        inset-inline-start: 18.5rem !important;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-nav:not(.fi-osde-workspace-hover-suppressed):hover .fi-osde-workspace-collapse {
        display: block !important;
        width: 100%;
        height: auto;
        padding: 0.35rem 0.55rem 0.75rem;
        font-size: 0.75rem;
        text-align: end;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-nav:not(.fi-osde-workspace-hover-suppressed):hover .fi-osde-workspace-group {
        width: 100%;
        padding-block: 0.42rem;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-nav:not(.fi-osde-workspace-hover-suppressed):hover .fi-osde-workspace-group-toggle strong,
    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-nav:not(.fi-osde-workspace-hover-suppressed):hover .fi-osde-workspace-group-toggle b,
    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-nav:not(.fi-osde-workspace-hover-suppressed):hover .fi-osde-workspace-link em {
        display: block !important;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-nav:not(.fi-osde-workspace-hover-suppressed):hover .fi-osde-workspace-group-toggle {
        width: 100%;
        min-width: 0;
        min-height: 0;
        grid-template-columns: 1.65rem minmax(0, 1fr) 0.8rem !important;
        justify-items: stretch;
        border-radius: 0.4rem;
        padding: 0.15rem 0.1rem;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-nav:not(.fi-osde-workspace-hover-suppressed):hover .fi-osde-workspace-link {
        width: 100%;
        grid-template-columns: 1.35rem minmax(0, 1fr);
        justify-items: stretch;
        padding: 0.3rem 0.42rem;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-nav:not(.fi-osde-workspace-hover-suppressed):hover .fi-osde-workspace-group > div:not([hidden]) {
        width: 100%;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-nav:not(.fi-osde-workspace-hover-suppressed):hover .fi-osde-workspace-group > div[hidden] {
        display: none !important;
    }

    html.fi-custom-osde-view-page.fi-osde-workspace-collapsed .fi-osde-workspace-nav:not(.fi-osde-workspace-hover-suppressed):hover .fi-osde-workspace-group.fi-open > div:not([hidden]) {
        display: grid !important;
    }
}

/* Action forms cover the complete application, including both left menus and the topbar. */
html.fi-custom-osde-view-page .fi-modal.fi-modal-open {
    position: fixed !important;
    z-index: 2147483000 !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    isolation: isolate;
}

html.fi-custom-osde-view-page .fi-modal.fi-modal-open > .fi-modal-close-overlay,
html.fi-custom-osde-view-page .fi-modal.fi-modal-open > .fi-modal-window-ctn {
    position: fixed !important;
    inset: 0 !important;
    min-height: 100dvh !important;
    width: 100vw !important;
    height: 100dvh !important;
}

html.fi-custom-osde-view-page .fi-modal.fi-modal-open > .fi-modal-close-overlay {
    z-index: 0 !important;
}

html.fi-custom-osde-view-page .fi-modal.fi-modal-open > .fi-modal-window-ctn {
    z-index: 1 !important;
}

html.fi-custom-osde-view-page .fi-modal.fi-modal-has-sticky-header > .fi-modal-window-ctn > .fi-modal-window,
html.fi-custom-osde-view-page .fi-modal.fi-modal-has-sticky-footer > .fi-modal-window-ctn > .fi-modal-window {
    max-height: calc(100dvh - 2rem) !important;
}

html.fi-custom-osde-view-page:has(.fi-modal.fi-modal-open) body:is(.fi-panel-admin, .fi-panel-user) .fi-sidebar,
html.fi-custom-osde-view-page:has(.fi-modal.fi-modal-open) .fi-osde-workspace-nav,
html.fi-custom-osde-view-page:has(.fi-modal.fi-modal-open) .fi-topbar,
html.fi-custom-osde-view-page:has(.fi-modal.fi-modal-open) .fi-topbar-ctn {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Books instructions page. */
.fi-book-guide {
    display: grid;
    grid-template-columns: minmax(12rem, 15rem) minmax(0, 1fr);
    align-items: start;
    gap: 1.5rem;
}

.fi-book-guide-nav {
    position: sticky;
    inset-block-start: 4rem;
    display: grid;
    gap: 0.25rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    background: #fff;
    padding: 0.75rem;
}

.fi-book-guide-nav strong {
    padding: 0.35rem 0.5rem;
    color: #0f2a4d;
    font-size: 0.8rem;
}

.fi-book-guide-nav a {
    border-radius: 0.45rem;
    padding: 0.45rem 0.5rem;
    color: #526b89;
    font-size: 0.78rem;
    line-height: 1.15rem;
}

.fi-book-guide-nav a:hover,
.fi-book-guide-nav a:focus-visible {
    background: #e0f2fe;
    color: #0369a1;
}

.fi-book-guide-content {
    display: grid;
    gap: 1rem;
}

.fi-book-guide-card {
    scroll-margin-top: 4rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    background: #fff;
    padding: 1.25rem;
}

.fi-book-guide-card h2 {
    color: #0f2a4d;
    font-size: 1.05rem;
    font-weight: 750;
}

.fi-book-guide-card h3 {
    margin-block-start: 1rem;
    color: #12346e;
    font-size: 0.9rem;
    font-weight: 700;
}

.fi-book-guide-card p,
.fi-book-guide-card li {
    color: #475569;
    font-size: 0.85rem;
    line-height: 1.45rem;
}

.fi-book-guide-card p,
.fi-book-guide-card ol,
.fi-book-guide-card ul {
    margin-block-start: 0.6rem;
}

.fi-book-guide-card ol,
.fi-book-guide-card ul {
    padding-inline-start: 1.25rem;
}

.fi-book-guide-card ol { list-style: decimal; }
.fi-book-guide-card ul { list-style: disc; }

.fi-legal-article h3:first-child,
.fi-legal-article p:first-child {
    margin-block-start: 0.8rem;
}

.fi-legal-bullet {
    position: relative;
    padding-inline-start: 1rem;
}

.fi-legal-bullet::before {
    position: absolute;
    inset-inline-start: 0.15rem;
    color: #0ea5e9;
    content: '•';
}

.fi-legal-acceptance {
    margin-block-start: 1.1rem;
    border-top: 1px solid #e2e8f0;
    padding-block-start: 1rem;
}

.fi-legal-password-grid {
    margin-block-start: 1rem;
}

.fi-legal-submit-card {
    display: flex;
    justify-content: flex-end;
}

html.dark .fi-legal-acceptance {
    border-top-color: #374151;
}

.fi-book-guide-note {
    border-inline-start: 3px solid #0ea5e9;
    background: #f0f9ff;
    padding: 0.75rem 0.9rem;
}

html.dark .fi-book-guide-nav,
html.dark .fi-book-guide-card {
    border-color: #374151;
    background: #111827;
}

html.dark .fi-book-guide-card h2,
html.dark .fi-book-guide-card h3,
html.dark .fi-book-guide-nav strong { color: #f8fafc; }
html.dark .fi-book-guide-card p,
html.dark .fi-book-guide-card li,
html.dark .fi-book-guide-nav a { color: #cbd5e1; }
html.dark .fi-book-guide-note { background: rgba(14, 165, 233, 0.12); }

.fi-support-guide .fi-book-guide-nav a {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.fi-support-guide .fi-book-guide-nav a svg {
    width: 1.1rem;
    height: 1.1rem;
    flex: 0 0 auto;
}

.fi-support-form {
    display: grid;
    gap: 1.25rem;
    margin-top: 1.25rem;
}

@media (max-width: 52rem) {
    .fi-book-guide { grid-template-columns: 1fr; }
    .fi-book-guide-nav { position: static; }
}

/* Admin OSDE and producer listings use the canonical table-template system. */
body.fi-admin-template-list-page .fi-ta-ctn {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.fi-admin-template-list-page .fi-ta-main {
    gap: 0;
}

body.fi-admin-template-list-page .fi-ta-header-ctn {
    border: 0;
    background: transparent;
}

body.fi-admin-template-list-page .fi-ta-header-toolbar {
    min-height: 3rem;
    justify-content: flex-start !important;
    gap: .35rem !important;
    padding: .35rem 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.fi-admin-template-list-page .fi-ta-header-toolbar > .fi-ta-actions:not(:has(.fi-btn, .fi-icon-btn, button, a, select)) {
    display: none !important;
}

body.fi-admin-template-list-page .fi-ta-header-toolbar > div:has(.fi-ta-search-field) {
    display: flex;
    width: auto !important;
    align-items: center;
    justify-content: flex-start;
    gap: .25rem !important;
    margin-inline: 0 !important;
    order: 1;
}

body.fi-admin-template-list-page .fi-ta-header-toolbar > .fi-ta-actions {
    order: 2;
}

body.fi-admin-template-list-page .fi-ta-header-toolbar > .fi-ta-actions:has(.fi-osde-year-filter) {
    margin-inline-start: auto !important;
}

body.fi-admin-template-list-page .fi-ta-search-field {
    width: 13.5rem !important;
    max-width: 13.5rem !important;
    flex: 0 0 13.5rem !important;
}

body.fi-admin-template-list-page .fi-ta-search-field .fi-input-wrp {
    height: 2rem !important;
    min-height: 2rem !important;
    align-items: center !important;
    border: 1px solid #cbd5e1;
    border-radius: .45rem;
    background: #fff;
    box-shadow: none;
}

body.fi-admin-template-list-page .fi-ta-search-field .fi-input {
    height: 1.875rem !important;
    min-height: 1.875rem !important;
    padding-block: 0 !important;
    font-size: .75rem !important;
    line-height: 1.875rem !important;
}

body.fi-admin-template-list-page .fi-ta-content-ctn {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid #dbe3ec;
    border-radius: .45rem .45rem 0 0;
    background: #fff;
    scrollbar-width: thin;
}

body.fi-admin-template-list-page .fi-ta-table {
    width: max-content;
    min-width: 100%;
    border-collapse: collapse;
    color: #0f2a4d;
    font-size: .75rem;
    table-layout: auto;
}

body.fi-admin-template-list-page .fi-ta-header-cell {
    height: 2.75rem !important;
    max-width: 12rem;
    padding: .35rem .65rem !important;
    border: 0 !important;
    background: #0798cf !important;
    color: #fff !important;
    font-size: .8rem !important;
    font-weight: 600 !important;
    line-height: 1rem !important;
    letter-spacing: 0 !important;
    vertical-align: middle !important;
    white-space: normal !important;
}

body.fi-admin-template-list-page .fi-ta-header-cell-label,
body.fi-admin-template-list-page .fi-ta-header-cell-label span,
body.fi-admin-template-list-page .fi-ta-header-cell button,
body.fi-admin-template-list-page .fi-ta-header-cell svg {
    color: #fff !important;
}

body.fi-admin-template-list-page .fi-ta-cell {
    height: 2rem !important;
    max-width: 18rem;
    overflow: hidden;
    padding: .25rem .65rem !important;
    border: 0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    background: #fff !important;
    color: #0f2a4d;
    font-size: .75rem !important;
    line-height: 1rem !important;
    vertical-align: middle !important;
}

body.fi-admin-template-list-page .fi-ta-cell .fi-ta-col,
body.fi-admin-template-list-page .fi-ta-cell .fi-ta-text,
body.fi-admin-template-list-page .fi-ta-cell .fi-ta-text-item,
body.fi-admin-template-list-page .fi-ta-cell p {
    overflow: hidden;
    background: transparent !important;
    color: inherit;
    font-size: inherit !important;
    line-height: inherit !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Filament adds 1rem vertical padding inside every TextColumn by default. */
body.fi-admin-template-list-page .fi-ta-cell .fi-ta-text {
    min-height: 0 !important;
    padding-block: 0 !important;
    padding-inline: 0 !important;
}

body.fi-admin-template-list-page .fi-ta-cell .fi-ta-col {
    min-height: 0 !important;
    align-items: center;
}

body.fi-admin-template-list-page .fi-ta-table > tbody > tr:nth-child(even) > .fi-ta-cell {
    background: #f1f5f9 !important;
}

body.fi-admin-template-list-page .fi-ta-table > tbody > tr:hover > .fi-ta-cell {
    background: #e0f2fe !important;
}

body.fi-admin-template-list-page .fi-ta-main > .fi-pagination {
    display: grid;
    min-height: 3.4rem;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: .75rem;
    padding: .65rem .75rem;
    border: 1px solid #dbe3ec;
    border-top: 0;
    border-radius: 0 0 .45rem .45rem;
    background: #f8fafc;
}

body.fi-admin-template-list-page .fi-pagination-overview {
    justify-self: start;
    color: #64748b;
    font-size: .75rem;
}

body.fi-admin-template-list-page .fi-pagination-records-per-page-select-ctn {
    justify-self: center;
}

body.fi-admin-template-list-page .fi-pagination-records-per-page-select:not(.fi-compact) .fi-input-wrp {
    width: auto !important;
    height: 2rem !important;
    min-height: 2rem !important;
    align-items: center !important;
    border: 1px solid #cbd5e1;
    border-radius: .375rem;
    background: #fff;
    box-shadow: none;
    color: #334155;
    font-family: inherit;
    font-size: .75rem !important;
    font-weight: 400;
    line-height: 1rem !important;
    overflow: hidden;
}

body.fi-admin-template-list-page .fi-pagination-records-per-page-select:not(.fi-compact) .fi-input-wrp-prefix {
    height: 100% !important;
    padding-inline: .6rem !important;
    border-inline-end: 1px solid #e2e8f0 !important;
}

body.fi-admin-template-list-page .fi-pagination-records-per-page-select:not(.fi-compact) .fi-input-wrp-label {
    color: #334155 !important;
    font: inherit !important;
    line-height: 1rem !important;
}

body.fi-admin-template-list-page .fi-pagination-records-per-page-select:not(.fi-compact) .fi-input-wrp-content-ctn {
    width: 3rem !important;
    min-width: 3rem !important;
    max-width: 3rem !important;
    flex: 0 0 3rem !important;
}

body.fi-admin-template-list-page .fi-pagination-records-per-page-select:not(.fi-compact) .fi-select-input {
    width: 3rem !important;
    height: 2rem !important;
    min-height: 2rem !important;
    box-sizing: border-box !important;
    border: 0 !important;
    padding: .25rem .25rem .25rem .45rem !important;
    background-color: #fff !important;
    color: #334155 !important;
    font: inherit !important;
    line-height: 1rem !important;
}

body.fi-admin-template-list-page .fi-pagination-items {
    justify-self: end;
    overflow: hidden;
    border: 1px solid #cbd5e1;
    border-radius: .45rem;
    background: #fff;
}

body.fi-admin-template-list-page .fi-pagination-items > li + li {
    border-inline-start: 1px solid #e2e8f0;
}

body.fi-admin-template-list-page .fi-pagination-items .fi-pagination-item {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.fi-admin-template-list-page .fi-pagination-items .fi-pagination-item.fi-active {
    background: #0798cf !important;
    color: #fff !important;
}

body.fi-admin-template-list-page .fi-pagination-previous-btn,
body.fi-admin-template-list-page .fi-pagination-next-btn {
    display: none;
}

body.fi-admin-template-list-page .fi-dropdown-panel {
    font-size: .75rem;
}

body.fi-admin-template-list-page .fi-pagination-items .fi-pagination-item.fi-active {
    background: #2299dd !important;
}

html.dark body.fi-admin-template-list-page {
    color-scheme: dark;
}

html.dark body.fi-admin-template-list-page .fi-ta-search-field .fi-input-wrp,
html.dark body.fi-admin-template-list-page .fi-ta-content-ctn,
html.dark body.fi-admin-template-list-page .fi-pagination-records-per-page-select:not(.fi-compact) .fi-input-wrp,
html.dark body.fi-admin-template-list-page .fi-pagination-items {
    border-color: #475569;
    background: #111827;
    color: #f8fafc;
}

html.dark body.fi-admin-template-list-page .fi-pagination-records-per-page-select:not(.fi-compact) .fi-input-wrp-prefix {
    border-color: #475569 !important;
}

html.dark body.fi-admin-template-list-page .fi-pagination-records-per-page-select:not(.fi-compact) .fi-input-wrp-label,
html.dark body.fi-admin-template-list-page .fi-pagination-records-per-page-select:not(.fi-compact) .fi-select-input {
    background-color: #111827 !important;
    color: #f8fafc !important;
}

html.dark body.fi-admin-template-list-page .fi-ta-cell {
    border-color: #374151 !important;
    background: #111827 !important;
    color: #f8fafc;
}

html.dark body.fi-admin-template-list-page .fi-ta-table > tbody > tr:nth-child(even) > .fi-ta-cell {
    background: #1f2937 !important;
}

html.dark body.fi-admin-template-list-page .fi-ta-table > tbody > tr:hover > .fi-ta-cell {
    background: #0c4a6e !important;
}

html.dark body.fi-admin-template-list-page .fi-ta-main > .fi-pagination {
    border-color: #374151;
    background: #0f172a;
}

@media (max-width: 47.999rem) {
    body.fi-admin-template-list-page .fi-ta-header-toolbar > div:has(.fi-ta-search-field) {
        width: auto !important;
        max-width: 100%;
    }

    body.fi-admin-template-list-page .fi-ta-search-field {
        width: min(13.5rem, calc(100vw - 8rem)) !important;
        max-width: min(13.5rem, calc(100vw - 8rem)) !important;
        flex-basis: min(13.5rem, calc(100vw - 8rem)) !important;
    }

    body.fi-admin-template-list-page .fi-ta-main > .fi-pagination {
        grid-template-columns: 1fr;
    }

    body.fi-admin-template-list-page .fi-pagination-overview,
    body.fi-admin-template-list-page .fi-pagination-records-per-page-select-ctn,
    body.fi-admin-template-list-page .fi-pagination-items {
        justify-self: start;
    }
}

/* Canonical primary button appearance across every farmLink panel. */
body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master)
    :is(button, a):is(.fi-btn, .fi-icon-btn).fi-color-primary {
    border-color: #2299dd !important;
    background: #2299dd !important;
    color: #fff !important;
    box-shadow: 0 1px 2px rgba(34, 153, 221, 0.2) !important;
}

body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master)
    :is(button, a):is(.fi-btn, .fi-icon-btn).fi-color-primary .fi-icon {
    color: #fff !important;
}

body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master)
    :is(button, a):is(.fi-btn, .fi-icon-btn).fi-color-primary:hover {
    border-color: #187fba !important;
    background: #187fba !important;
    color: #fff !important;
}

body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master)
    :is(button, a):is(.fi-btn, .fi-icon-btn).fi-color-primary:hover .fi-icon {
    color: #fff !important;
}

body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master)
    :is(button, a):is(.fi-btn, .fi-icon-btn).fi-color-primary:focus-visible {
    outline: 2px solid #7cc7ef !important;
    outline-offset: 2px;
}

body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master)
    :is(button, a):is(.fi-btn, .fi-icon-btn).fi-color-primary:disabled,
body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master)
    :is(button, a):is(.fi-btn, .fi-icon-btn).fi-color-primary[aria-disabled="true"] {
    border-color: #9ca3af !important;
    background: #9ca3af !important;
    color: #f8fafc !important;
    box-shadow: none !important;
}

html.dark body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master)
    :is(button, a):is(.fi-btn, .fi-icon-btn).fi-color-primary {
    border-color: #2299dd !important;
    background: #2299dd !important;
    color: #fff !important;
}

html.dark body:is(.fi-panel-admin, .fi-panel-user, .fi-panel-master)
    :is(button, a):is(.fi-btn, .fi-icon-btn).fi-color-primary:hover {
    border-color: #187fba !important;
    background: #187fba !important;
    color: #fff !important;
}
.fi-osde-year-filter {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    white-space: nowrap;
    color: #4b5563;
    font-size: .75rem;
    font-weight: 600;
}

.fi-osde-year-filter select {
    width: 5.75rem;
    min-width: 5.75rem;
    height: 2rem;
    border: 1px solid #d1d5db;
    border-radius: .5rem;
    background: #fff;
    padding: 0 1.5rem 0 .55rem;
    font-size: .75rem;
    color: #111827;
}

/* Admin communication inbox */
.fi-communications {
    display: grid;
    grid-template-columns: minmax(17rem, 22rem) minmax(0, 1fr);
    min-height: 40rem;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: .85rem;
    background: #fff;
    box-shadow: 0 1px 2px rgb(15 23 42 / .05);
}

.fi-communications-sidebar {
    display: flex;
    min-width: 0;
    flex-direction: column;
    border-right: 1px solid #e2e8f0;
    background: #f8fafc;
}

.fi-communications-sidebar-head,
.fi-communications-main-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-bottom: 1px solid #e2e8f0;
}

.fi-communications-sidebar-head h2,
.fi-communications-main-head h2 {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 700;
}

.fi-communications-sidebar-head p,
.fi-communications-main-head p {
    margin-top: .15rem;
    color: #64748b;
    font-size: .75rem;
}

.fi-communications-search {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: .75rem;
    padding: .5rem .65rem;
    border: 1px solid #cbd5e1;
    border-radius: .55rem;
    background: #fff;
}

.fi-communications-search:focus-within {
    border-color: #0ea5e9;
    box-shadow: 0 0 0 2px rgb(14 165 233 / .13);
}

.fi-communications-search svg {
    width: 1rem;
    color: #94a3b8;
}

.fi-communications-search input {
    min-width: 0;
    flex: 1;
    border: 0;
    outline: 0;
    background: transparent;
    color: #0f172a;
    font-size: .8rem;
}

.fi-communications-thread-list {
    min-height: 0;
    flex: 1;
    overflow-y: auto;
}

.fi-communications-thread {
    position: relative;
    display: block;
    width: 100%;
    padding: .8rem 2.25rem .8rem .85rem;
    border-top: 1px solid #e2e8f0;
    text-align: left;
    transition: background-color .15s ease;
}

.fi-communications-thread:hover,
.fi-communications-thread.is-active {
    background: #e0f2fe;
}

.fi-communications-thread.is-active {
    box-shadow: inset 3px 0 #0284c7;
}

.fi-communications-thread-topline {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .5rem;
}

.fi-communications-thread-topline strong,
.fi-communications-thread-subject,
.fi-communications-thread-preview {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fi-communications-thread-topline strong {
    min-width: 0;
    color: #1e293b;
    font-size: .8rem;
}

.fi-communications-thread-topline time {
    flex: none;
    color: #94a3b8;
    font-size: .62rem;
}

.fi-communications-thread-subject {
    margin-top: .2rem;
    color: #334155;
    font-size: .76rem;
    font-weight: 600;
}

.fi-communications-thread-preview {
    margin-top: .15rem;
    color: #64748b;
    font-size: .7rem;
}

.fi-communications-thread.has-unread strong,
.fi-communications-thread.has-unread .fi-communications-thread-subject {
    color: #0369a1;
}

.fi-communications-unread {
    position: absolute;
    right: .8rem;
    bottom: .75rem;
    display: grid;
    width: 1.2rem;
    height: 1.2rem;
    place-items: center;
    border-radius: 999px;
    background: #0284c7;
    color: #fff;
    font-size: .65rem;
    font-weight: 700;
}

.fi-communications-empty-list,
.fi-communications-pagination {
    padding: 1rem;
    color: #64748b;
    font-size: .75rem;
}

.fi-communications-pagination {
    border-top: 1px solid #e2e8f0;
}

.fi-communications-main {
    display: flex;
    min-width: 0;
    flex-direction: column;
    background: #fff;
}

.fi-communications-compose,
.fi-communications-form {
    display: flex;
    min-height: 0;
    flex: 1;
    flex-direction: column;
}

.fi-communications-form {
    gap: 1rem;
    padding: 1rem;
}

.fi-communications-actions {
    display: flex;
    gap: .6rem;
}

.fi-communications-messages {
    display: flex;
    min-height: 16rem;
    flex: 1;
    flex-direction: column;
    gap: .75rem;
    overflow-y: auto;
    padding: 1rem;
    background: #f8fafc;
}

.fi-communications-message {
    display: flex;
    justify-content: flex-start;
}

.fi-communications-message.is-admin {
    justify-content: flex-end;
}

.fi-communications-bubble {
    width: min(42rem, 84%);
    padding: .75rem .9rem;
    border: 1px solid #e2e8f0;
    border-radius: .75rem .75rem .75rem .2rem;
    background: #fff;
    color: #1e293b;
    font-size: .82rem;
    line-height: 1.5;
}

.fi-communications-message.is-admin .fi-communications-bubble {
    border-color: #bae6fd;
    border-radius: .75rem .75rem .2rem .75rem;
    background: #e0f2fe;
}

.fi-communications-message-meta {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .35rem;
    color: #64748b;
    font-size: .67rem;
}

.fi-communications-message-meta strong {
    color: #075985;
}

.fi-communications-attachments {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: .65rem;
}

.fi-communications-attachments a {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    gap: .3rem;
    padding: .35rem .5rem;
    border: 1px solid #bae6fd;
    border-radius: .45rem;
    background: rgb(255 255 255 / .75);
    color: #0369a1;
    font-size: .7rem;
}

.fi-communications-attachments a:hover {
    background: #fff;
    text-decoration: underline;
}

.fi-communications-attachments svg {
    width: .9rem;
    flex: none;
}

.fi-communications-attachments span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fi-communications-attachments small {
    flex: none;
    color: #64748b;
}

.fi-communications-reply {
    padding: .85rem 1rem 1rem;
    border-top: 1px solid #e2e8f0;
}

.fi-communications-reply > label {
    display: block;
    margin-bottom: .35rem;
    color: #334155;
    font-size: .75rem;
    font-weight: 600;
}

.fi-communications-reply textarea {
    display: block;
    width: 100%;
    resize: vertical;
    border: 1px solid #cbd5e1;
    border-radius: .55rem;
    padding: .65rem .75rem;
    outline: 0;
    color: #0f172a;
    font-size: .82rem;
}

.fi-communications-reply textarea:focus {
    border-color: #0ea5e9;
    box-shadow: 0 0 0 2px rgb(14 165 233 / .13);
}

.fi-communications-reply-actions {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin-top: .55rem;
}

.fi-communications-file-button {
    display: inline-flex;
    cursor: pointer;
    align-items: center;
    gap: .35rem;
    color: #475569;
    font-size: .75rem;
    font-weight: 600;
}

.fi-communications-file-button:hover {
    color: #0284c7;
}

.fi-communications-file-button svg {
    width: 1rem;
}

.fi-communications-file-button input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.fi-communications-file-count {
    min-width: 0;
    flex: 1;
    color: #64748b;
    font-size: .7rem;
}

.fi-communications-error {
    margin-top: .25rem;
    color: #dc2626;
    font-size: .7rem;
}

.fi-communications-placeholder {
    display: grid;
    flex: 1;
    place-content: center;
    justify-items: center;
    padding: 2rem;
    color: #64748b;
    text-align: center;
}

.fi-communications-placeholder svg {
    width: 3rem;
    margin-bottom: .75rem;
    color: #94a3b8;
}

.fi-communications-placeholder h2 {
    color: #334155;
    font-weight: 700;
}

.fi-communications-placeholder p {
    margin-top: .25rem;
    font-size: .8rem;
}

html.dark .fi-communications,
html.dark .fi-communications-main,
html.dark .fi-communications-compose,
html.dark .fi-communications-search,
html.dark .fi-communications-bubble {
    border-color: #334155;
    background: #111827;
    color: #e2e8f0;
}

html.dark .fi-communications-sidebar,
html.dark .fi-communications-messages {
    border-color: #334155;
    background: #0f172a;
}

html.dark .fi-communications-sidebar-head,
html.dark .fi-communications-main-head,
html.dark .fi-communications-thread,
html.dark .fi-communications-reply,
html.dark .fi-communications-pagination {
    border-color: #334155;
}

html.dark .fi-communications-sidebar-head h2,
html.dark .fi-communications-main-head h2,
html.dark .fi-communications-thread-topline strong,
html.dark .fi-communications-thread-subject,
html.dark .fi-communications-search input,
html.dark .fi-communications-reply textarea {
    color: #f8fafc;
}

html.dark .fi-communications-thread:hover,
html.dark .fi-communications-thread.is-active,
html.dark .fi-communications-message.is-admin .fi-communications-bubble {
    background: #0c4a6e;
}

html.dark .fi-communications-reply textarea {
    border-color: #475569;
    background: #111827;
}

@media (max-width: 63.999rem) {
    .fi-communications {
        grid-template-columns: 1fr;
    }

    .fi-communications-sidebar {
        max-height: 20rem;
        border-right: 0;
        border-bottom: 1px solid #e2e8f0;
    }
}

.fi-section-content-ctn{
    min-height: 6.5rem;
}
.fi-automatic-recording-setting {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.fi-automatic-recording-setting h2 {
    color: var(--gray-950);
    font-size: 1rem;
    font-weight: 600;
}

.dark .fi-automatic-recording-setting h2 {
    color: white;
}

.fi-automatic-recording-setting p {
    margin-top: 0.25rem;
    color: var(--gray-500);
    font-size: 0.875rem;
}

.fi-automatic-recording-toggle {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    gap: 0.625rem;
    border-radius: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: var(--gray-100);
    color: var(--gray-700);
    font-size: 0.875rem;
    font-weight: 600;
    transition: background-color 150ms ease, color 150ms ease;
}

.dark .fi-automatic-recording-toggle {
    background: var(--gray-800);
    color: var(--gray-200);
}

.fi-automatic-recording-toggle-enabled {
    background: var(--primary-50);
    color: var(--primary-700);
}

.dark .fi-automatic-recording-toggle-enabled {
    background: color-mix(in srgb, var(--primary-500) 20%, transparent);
    color: var(--primary-300);
}

.fi-automatic-recording-toggle-track {
    display: inline-flex;
    align-items: center;
    width: 2.25rem;
    height: 1.25rem;
    border-radius: 9999px;
    padding: 0.125rem;
    background: var(--gray-400);
    transition: background-color 150ms ease;
}

.fi-automatic-recording-toggle-enabled .fi-automatic-recording-toggle-track {
    background: var(--primary-600);
}

.fi-automatic-recording-toggle-thumb {
    width: 1rem;
    height: 1rem;
    border-radius: 9999px;
    background: white;
    box-shadow: 0 1px 2px rgb(0 0 0 / 0.2);
    transition: transform 150ms ease;
}

.fi-automatic-recording-toggle-enabled .fi-automatic-recording-toggle-thumb {
    transform: translateX(1rem);
}

@media (max-width: 640px) {
    .fi-automatic-recording-setting {
        align-items: flex-start;
        flex-direction: column;
    }
}
