:root {
    --koshtna-yellow: #fed700;
    --koshtna-dark-green: #00403e;
    --koshtna-green: #006e40;
    --koshtna-offwhite: #e8e8cc;
    --koshtna-surface: rgba(243, 243, 220, 0.94);
    --koshtna-border: rgba(0, 64, 62, 0.14);
    --koshtna-pattern: url('/images/koshtna-pattern.png');
}

.fi-body {
    position: relative;
    background-color: var(--koshtna-offwhite) !important;
    color: var(--koshtna-dark-green) !important;
    isolation: isolate;
}

.fi-body::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(
        160deg,
        rgba(232, 232, 204, 0.96) 0%,
        rgba(254, 215, 0, 0.07) 48%,
        rgba(0, 64, 62, 0.05) 100%
    );
}

.fi-body::after {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image: var(--koshtna-pattern);
    background-repeat: repeat;
    background-size: 280px auto;
    opacity: 0.07;
    mix-blend-mode: multiply;
}

.fi {
    position: relative;
}

.fi-header-heading,
.fi-header-subheading,
.fi-section-header-heading,
.fi-ta-header-cell-label,
.fi-fo-field-wrp-label label,
.fi-in-entry-wrp-label span {
    color: var(--koshtna-dark-green) !important;
}

.fi-sidebar {
    background-color: var(--koshtna-dark-green) !important;
    border-inline-end: 1px solid rgba(0, 0, 0, 0.12);
    background-image: none !important;
}

.fi-sidebar .fi-logo,
.fi-sidebar .fi-sidebar-group-label,
.fi-sidebar .fi-sidebar-item-label,
.fi-sidebar .fi-sidebar-item-icon,
.fi-sidebar .fi-sidebar-group-icon {
    color: rgba(232, 232, 204, 0.88) !important;
}

.fi-sidebar .fi-sidebar-item-button:hover {
    background-color: rgba(0, 110, 64, 0.45) !important;
}

.fi-sidebar .fi-sidebar-item-active .fi-sidebar-item-button,
.fi-sidebar .fi-active > .fi-sidebar-item-button {
    background-color: var(--koshtna-green) !important;
}

.fi-sidebar .fi-sidebar-item-active .fi-sidebar-item-label,
.fi-sidebar .fi-sidebar-item-active .fi-sidebar-item-icon,
.fi-sidebar .fi-active > .fi-sidebar-item-button .fi-sidebar-item-label,
.fi-sidebar .fi-active > .fi-sidebar-item-button .fi-sidebar-item-icon {
    color: var(--koshtna-yellow) !important;
}

.fi-sidebar .fi-logo {
    font-weight: 700 !important;
}

.koshtna-brand-lockup {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.koshtna-brand-logo {
    height: 3.5rem;
    width: auto;
    object-fit: contain;
}

.koshtna-brand-name {
    color: var(--koshtna-yellow);
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.fi-sidebar .fi-logo img,
.fi-topbar .fi-logo img {
    object-fit: contain;
    width: auto;
}

.fi-topbar .koshtna-brand-lockup {
    gap: 0.5rem;
}

.fi-topbar .koshtna-brand-logo {
    height: 2.25rem;
}

.fi-topbar .koshtna-brand-name {
    font-size: 1.1rem;
}

.fi-simple-layout .fi-logo {
    justify-content: center;
}

.fi-simple-layout .fi-logo img {
    height: 5rem !important;
    width: auto;
}

.fi-topbar nav,
.fi-topbar-ctn {
    background-color: rgba(232, 232, 204, 0.82) !important;
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--koshtna-border);
}

.fi-main-ctn {
    background-color: transparent !important;
}

.fi-section,
.fi-wi-stats-overview-stat,
.fi-ta-ctn,
.fi-fo-component-ctn,
.fi-in-entry-wrp,
.fi-wi-widget {
    background-color: var(--koshtna-surface) !important;
    border-color: var(--koshtna-border) !important;
    border-radius: 0.75rem;
    backdrop-filter: blur(4px);
    box-shadow: 0 1px 3px rgba(0, 64, 62, 0.06);
}

.fi-wi-stats-overview-stat-value {
    color: var(--koshtna-green) !important;
    font-weight: 700;
}

.fi-wi-stats-overview-stat-label {
    color: var(--koshtna-dark-green) !important;
}

.fi-btn.fi-btn-color-primary {
    background-color: var(--koshtna-green) !important;
    border-color: var(--koshtna-green) !important;
}

.fi-btn.fi-btn-color-primary:hover {
    background-color: var(--koshtna-dark-green) !important;
    border-color: var(--koshtna-dark-green) !important;
}

.fi-btn.fi-btn-color-warning {
    background-color: var(--koshtna-yellow) !important;
    border-color: var(--koshtna-yellow) !important;
    color: var(--koshtna-dark-green) !important;
}

.fi-link,
.fi-ta-text-item a {
    color: var(--koshtna-green) !important;
}

.fi-input-wrp,
.fi-select-input,
.fi-fo-text-input input,
.fi-fo-textarea textarea {
    background-color: #fafae8 !important;
    border-color: var(--koshtna-border) !important;
    color: var(--koshtna-dark-green) !important;
}

.fi-input-wrp:focus-within {
    border-color: var(--koshtna-green) !important;
    box-shadow: 0 0 0 1px var(--koshtna-green) !important;
}

.fi-ta-row {
    border-color: var(--koshtna-border) !important;
}

.fi-ta-row:hover {
    background-color: rgba(0, 110, 64, 0.06) !important;
}

.fi-badge {
    border-radius: 9999px;
}

.fi-simple-page {
    background-color: transparent !important;
}

.fi-simple-main-ctn {
    background-color: var(--koshtna-surface) !important;
    border: 1px solid var(--koshtna-border);
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(0, 64, 62, 0.08);
    backdrop-filter: blur(8px);
}

.fi-simple-header-heading {
    color: var(--koshtna-dark-green) !important;
}

.fi-fo-checkbox-input:checked {
    background-color: var(--koshtna-green) !important;
    border-color: var(--koshtna-green) !important;
}

.fi-pagination-item.fi-active .fi-pagination-item-button {
    background-color: var(--koshtna-green) !important;
}

.fi-dropdown-panel {
    background-color: var(--koshtna-surface) !important;
    border-color: var(--koshtna-border) !important;
    backdrop-filter: blur(10px);
}

.fi-modal-window {
    background-color: var(--koshtna-surface) !important;
    backdrop-filter: blur(8px);
}

.fi-ac-badge-item.fi-active {
    background-color: var(--koshtna-green) !important;
}

.fi-ta-filter-indicators {
    background-color: rgba(254, 215, 0, 0.2) !important;
    color: var(--koshtna-dark-green) !important;
}

/* Page & form spacing */
.fi-page,
.fi-main-ctn,
.fi-page-main,
.fi-resource-relation-manager {
    padding-inline: 1.25rem !important;
    padding-block: 1rem 1.5rem !important;
}

@media (min-width: 1024px) {
    .fi-page,
    .fi-main-ctn,
    .fi-page-main,
    .fi-resource-relation-manager {
        padding-inline: 1.75rem !important;
        padding-block: 1.25rem 2rem !important;
    }
}

.fi-section-header {
    padding: 1rem 1.5rem !important;
}

.fi-section-content-ctn,
.fi-section-content,
.fi-section-content > .fi-section-content-ctn {
    padding: 1.25rem 1.5rem !important;
}

.fi-fo-component-ctn {
    padding: 1.25rem 1.5rem !important;
    gap: 1.25rem !important;
}

.fi-fo-field-wrp {
    gap: 0.5rem !important;
}

.fi-tabs {
    padding: 0.5rem !important;
}

.fi-tabs-tab-list {
    padding: 0.25rem 0.75rem !important;
    gap: 0.5rem !important;
}

.fi-tabs-tab-panel {
    padding: 1.25rem 1rem !important;
}

.fi-input-wrp,
.fi-select-input,
.fi-fo-text-input input,
.fi-fo-textarea textarea,
.fi-fo-date-time-picker-display-text-input {
    min-height: 2.75rem;
}

.fi-input-wrp input,
.fi-input-wrp textarea,
.fi-select-input,
.fi-fo-date-time-picker-display-text-input {
    padding: 0.625rem 0.875rem !important;
}

.fi-fo-file-upload {
    padding: 0.75rem !important;
}

.fi-ta-ctn {
    padding: 0.5rem !important;
}

.fi-ta-header-toolbar {
    padding: 0.75rem 1rem !important;
    gap: 0.75rem !important;
}

.fi-ta-cell {
    padding: 0.875rem 1rem !important;
}

.fi-modal-window {
    padding: 0.25rem !important;
}

.fi-modal-content {
    padding: 1.25rem 1.5rem !important;
}

.fi-dropdown-panel {
    padding: 0.5rem !important;
}

.fi-simple-main-ctn {
    padding: 1.5rem 1.75rem !important;
}

.fi-wi-stats-overview-stat {
    padding: 1.25rem 1.5rem !important;
}

.koshtna-map-picker__map {
    position: relative;
    z-index: 0;
    isolation: isolate;
}

.koshtna-map-picker .leaflet-container {
    width: 100%;
    height: 100%;
    min-height: 320px;
    border-radius: 0.75rem;
    background: #e8e8cc;
    z-index: 0;
}

.koshtna-map-picker .leaflet-pane,
.koshtna-map-picker .leaflet-top,
.koshtna-map-picker .leaflet-bottom {
    z-index: 1;
}
