/* Сайдбар: нормальная плотность + скролл внутри панели, без растягивания страницы */

html.fi .fi-layout > div:has(> aside.fi-sidebar) {
    position: sticky;
    top: 0;
    align-self: flex-start;
    display: flex;
    flex-direction: column;
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
}

.fi-body-has-topbar .fi-layout > div:has(> aside.fi-sidebar) {
    top: 4rem;
    height: calc(100dvh - 4rem);
    max-height: calc(100dvh - 4rem);
}

html.fi aside.fi-sidebar,
html.fi aside.fi-sidebar.fi-sidebar-open {
    height: 100% !important;
    max-height: 100% !important;
    overflow: hidden !important;
}

html.fi aside.fi-sidebar .fi-sidebar-nav {
    min-height: 0 !important;
    flex: 1 1 0% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 0.75rem 0.75rem 1rem !important;
    gap: 0 !important;
    row-gap: 0 !important;
    scrollbar-gutter: auto !important;
}

html.fi,
html.fi body,
html.fi .fi-body,
html.fi .fi-main,
html.fi .fi-main-ctn,
html.fi aside.fi-sidebar .fi-sidebar-nav {
    scrollbar-width: thin;
    scrollbar-color: rgb(148 163 184 / 0.45) transparent;
}

html.fi.dark,
html.fi.dark body,
html.fi.dark .fi-body,
html.fi.dark .fi-main,
html.fi.dark .fi-main-ctn,
html.fi.dark aside.fi-sidebar .fi-sidebar-nav {
    scrollbar-color: rgb(148 163 184 / 0.35) transparent;
}

html.fi::-webkit-scrollbar,
html.fi body::-webkit-scrollbar,
html.fi .fi-body::-webkit-scrollbar,
html.fi .fi-main::-webkit-scrollbar,
html.fi .fi-main-ctn::-webkit-scrollbar,
html.fi aside.fi-sidebar .fi-sidebar-nav::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

html.fi::-webkit-scrollbar-track,
html.fi body::-webkit-scrollbar-track,
html.fi .fi-body::-webkit-scrollbar-track,
html.fi .fi-main::-webkit-scrollbar-track,
html.fi .fi-main-ctn::-webkit-scrollbar-track,
html.fi aside.fi-sidebar .fi-sidebar-nav::-webkit-scrollbar-track {
    background: transparent;
}

html.fi::-webkit-scrollbar-thumb,
html.fi body::-webkit-scrollbar-thumb,
html.fi .fi-body::-webkit-scrollbar-thumb,
html.fi .fi-main::-webkit-scrollbar-thumb,
html.fi .fi-main-ctn::-webkit-scrollbar-thumb,
html.fi aside.fi-sidebar .fi-sidebar-nav::-webkit-scrollbar-thumb {
    background-color: rgb(148 163 184 / 0.45);
    border-radius: 999px;
}

html.fi::-webkit-scrollbar-thumb:hover,
html.fi body::-webkit-scrollbar-thumb:hover,
html.fi .fi-body::-webkit-scrollbar-thumb:hover,
html.fi .fi-main::-webkit-scrollbar-thumb:hover,
html.fi .fi-main-ctn::-webkit-scrollbar-thumb:hover,
html.fi aside.fi-sidebar .fi-sidebar-nav::-webkit-scrollbar-thumb:hover {
    background-color: rgb(100 116 139 / 0.7);
}

html.fi.dark::-webkit-scrollbar-thumb,
html.fi.dark body::-webkit-scrollbar-thumb,
html.fi.dark .fi-body::-webkit-scrollbar-thumb,
html.fi.dark .fi-main::-webkit-scrollbar-thumb,
html.fi.dark .fi-main-ctn::-webkit-scrollbar-thumb,
html.fi.dark aside.fi-sidebar .fi-sidebar-nav::-webkit-scrollbar-thumb {
    background-color: rgb(148 163 184 / 0.35);
}

html.fi.dark::-webkit-scrollbar-thumb:hover,
html.fi.dark body::-webkit-scrollbar-thumb:hover,
html.fi.dark .fi-body::-webkit-scrollbar-thumb:hover,
html.fi.dark .fi-main::-webkit-scrollbar-thumb:hover,
html.fi.dark .fi-main-ctn::-webkit-scrollbar-thumb:hover,
html.fi.dark aside.fi-sidebar .fi-sidebar-nav::-webkit-scrollbar-thumb:hover {
    background-color: rgb(203 213 225 / 0.5);
}

html.fi .fi-main-ctn {
    width: auto !important;
    min-width: 0 !important;
}

@media (min-width: 1024px) {
    html.fi .fi-main {
        padding-inline-start: 1rem !important;
        padding-inline-end: 1.5rem !important;
    }
}

html.fi .fi-sidebar-nav-groups {
    margin-inline: 0 !important;
    gap: 1rem !important;
    row-gap: 1rem !important;
}

html.fi .fi-sidebar-group {
    gap: 0.25rem !important;
    row-gap: 0.25rem !important;
}

html.fi .fi-sidebar-group-items,
html.fi .fi-sidebar-item.fi-active,
html.fi .fi-sidebar-item.fi-sidebar-item-has-active-child-items {
    gap: 0.125rem !important;
    row-gap: 0.125rem !important;
}

html.fi .fi-sidebar-group-btn {
    min-height: 0 !important;
    padding: 0.25rem 0.5rem !important;
    gap: 0.5rem !important;
}

html.fi .fi-sidebar-item-btn {
    min-height: 0 !important;
    padding: 0.375rem 0.625rem !important;
    gap: 0.625rem !important;
}

html.fi .fi-sidebar-group-label {
    font-size: 0.75rem !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
}

html.fi .fi-sidebar-item-label {
    font-size: 0.875rem !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
}

html.fi .fi-sidebar .fi-icon,
html.fi .fi-sidebar .fi-icon.fi-size-lg,
html.fi .fi-sidebar-item-btn .fi-icon,
html.fi .fi-sidebar-group-btn .fi-icon {
    width: 1.25rem !important;
    height: 1.25rem !important;
}

html.fi .fi-sidebar-group-collapse-btn.fi-icon-btn,
html.fi .fi-sidebar-group-collapse-btn {
    width: 1.5rem !important;
    height: 1.5rem !important;
    min-width: 1.5rem !important;
    min-height: 1.5rem !important;
    margin: 0 !important;
}

html.fi .fi-sidebar-item-grouped-border {
    width: 1.25rem !important;
    height: 1.25rem !important;
}

html.fi .fi-sidebar-footer {
    margin: 0.5rem 0.75rem !important;
}

/* CSS пикера дат тащит Tailwind preflight и ломает крестик у Select */
html.fi .fi-select-input-ctn {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
}

html.fi .fi-select-input-btn {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
}

html.fi .fi-select-input-value-remove-btn {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Чиним preflight пикера дат (`@layer base { svg { display: block } }`),
   но НЕ трогаем .fi-loading-indicator: в скрытом состоянии его прячет
   стиль Livewire `[wire\:loading\.delay\.default] { display: none }`
   со специфичностью (0,2,0). Правило ниже специфичнее, так что раньше оно
   перебивало это скрытие и спиннер крутился в поиске постоянно.
   !important тут тоже не нужен: файл подключается вне каскадных слоёв. */
html.fi .fi-select-input-value-remove-btn svg,
html.fi .fi-input-wrp svg.fi-icon:not(.fi-loading-indicator) {
    display: inline-block;
}

.fi-analytics-page .analytics-apply {
    display: flex;
    align-items: flex-end;
    min-height: 100%;
    padding-top: 1.75rem;
}


html.fi .fi-analytics-page .fi-section:not(.fi-section-not-contained) > .fi-section-header {
    padding: 0.5rem 0.75rem !important;
}

html.fi .fi-analytics-page .fi-section:not(.fi-section-not-contained):not(.fi-divided) > .fi-section-content-ctn > .fi-section-content {
    padding: 0.75rem !important;
}

html.fi .fi-analytics-page .fi-section:not(.fi-section-not-contained) > .fi-section-content-ctn > .fi-section-footer {
    padding: 0.5rem 0.75rem !important;
}

html.fi .fi-analytics-page .fi-wi-chart .fi-section-content,
html.fi .fi-analytics-page .fi-wi-table .fi-section-content {
    padding: 0 !important;
}

html.fi .fi-analytics-page .fi-ta-ctn .fi-ta-header,
html.fi .fi-analytics-page .fi-ta-ctn .fi-ta-header-toolbar {
    padding: 0.5rem 0.75rem !important;
}

html.fi .fi-analytics-page .fi-sc-tabs.fi-contained,
html.fi .fi-analytics-page .fi-sc-tabs.fi-contained .fi-ta-ctn,
html.fi .fi-analytics-page .fi-ta-ctn,
html.fi .fi-analytics-page .fi-section:not(.fi-section-not-contained):not(.fi-aside),
html.fi .fi-analytics-page .fi-wi-chart .fi-section {
    border-radius: 0 !important;
}

html.fi .fi-analytics-page .fi-tabs.fi-contained {
    padding: 0.25rem 0.5rem !important;
}

html.fi .fi-analytics-page .fi-sc-tabs.fi-contained .fi-sc-tabs-tab.fi-active {
    padding: 0 !important;
}

.fi-analytics-page .analytics-tasks {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.fi-analytics-page .analytics-table-wrap {
    overflow-x: auto;
}

.fi-analytics-page .analytics-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.fi-analytics-page .analytics-table th,
.fi-analytics-page .analytics-table td {
    padding: 0.55rem 0.7rem;
    border-bottom: 1px solid rgba(17, 24, 39, 0.08);
    text-align: left;
    vertical-align: top;
}

html.dark .fi-analytics-page .analytics-table th,
html.dark .fi-analytics-page .analytics-table td {
    border-bottom-color: rgba(244, 244, 245, 0.08);
}

.fi-analytics-page .analytics-table th {
    font-weight: 600;
    color: #6b7280;
    white-space: nowrap;
}

.fi-analytics-page .analytics-table .is-metric {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.fi-analytics-page .analytics-table tr.is-clickable {
    cursor: pointer;
}

.fi-analytics-page .analytics-table tr.is-clickable:hover {
    background: rgba(245, 158, 11, 0.08);
}

html.fi .fi-analytics-page .fi-ta-record.is-task-selected {
    background: rgba(245, 158, 11, 0.14);
}

html.fi .fi-analytics-page .fi-ta-record.is-task-warn {
    box-shadow: inset 3px 0 0 #dc2626;
}

.fi-analytics-page .analytics-table-empty,
.fi-analytics-page .analytics-note {
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
    line-height: 1.45;
}

.fi-analytics-page .analytics-funnel {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.fi-analytics-page .analytics-funnel-row {
    display: grid;
    grid-template-columns: minmax(8rem, 14rem) 5.5rem minmax(6rem, 1fr) 4rem auto;
    gap: 0.65rem;
    align-items: center;
    font-size: 0.875rem;
}

.fi-analytics-page .analytics-funnel-value,
.fi-analytics-page .analytics-funnel-share {
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.fi-analytics-page .analytics-funnel-track {
    display: block;
    height: 0.7rem;
    border-radius: 999px;
    background: rgba(17, 24, 39, 0.08);
    overflow: hidden;
}

html.dark .fi-analytics-page .analytics-funnel-track {
    background: rgba(244, 244, 245, 0.12);
}

.fi-analytics-page .analytics-funnel-track > span {
    display: block;
    height: 100%;
    background: #d97706;
}

.fi-analytics-page .analytics-funnel-track.is-correct > span {
    background: #16a34a;
}

.fi-analytics-page .analytics-funnel-drop {
    font-size: 0.75rem;
    color: #b45309;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .fi-analytics-page .analytics-funnel-row {
        grid-template-columns: 1fr 4.5rem;
        grid-template-areas:
            "label value"
            "track track"
            "share drop";
    }

    .fi-analytics-page .analytics-funnel-label { grid-area: label; }
    .fi-analytics-page .analytics-funnel-value { grid-area: value; }
    .fi-analytics-page .analytics-funnel-track { grid-area: track; }
    .fi-analytics-page .analytics-funnel-share { grid-area: share; text-align: left; }
    .fi-analytics-page .analytics-funnel-drop { grid-area: drop; }
}
