/**
 * Nucleus Page — стили для страницы nucleus.html
 * Учитывает ширину меню в развернутом и свернутом состоянии
 */

/* Предотвращаем горизонтальный скролл и скрываем вертикальный скроллбар */
html:has(body.nucleus-page),
html.nucleus-page {
    overflow-x: hidden !important;
    overflow-y: hidden !important; /* Убираем скролл на html */
    width: 100vw;
    max-width: 100vw;
    box-sizing: border-box;
    scrollbar-width: none !important; /* Firefox */
    -ms-overflow-style: none !important; /* IE и Edge */
}

html:has(body.nucleus-page)::-webkit-scrollbar,
html.nucleus-page::-webkit-scrollbar {
    display: none !important; /* Chrome, Safari, Opera */
    width: 0 !important;
    height: 0 !important;
}

body.nucleus-page {
    overflow-x: hidden !important;
    overflow-y: hidden !important; /* Убираем скролл на body */
    width: 100vw;
    max-width: 100vw;
    scrollbar-width: none !important; /* Firefox */
    -ms-overflow-style: none !important; /* IE и Edge */
}

body.nucleus-page::-webkit-scrollbar {
    display: none !important; /* Chrome, Safari, Opera */
    width: 0 !important;
    height: 0 !important;
}

/* Main Content — занимает оставшееся пространство */
.nucleus-page .main-content {
    flex: 1;
    min-width: 0; /* Позволяет flex-элементу сжиматься */
    width: auto; /* Автоматическая ширина в flexbox */
    height: 100vh;
    overflow-x: hidden !important; /* Убираем горизонтальный скролл */
    overflow-y: auto;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    position: relative; /* Для правильного позиционирования скроллбара */
    padding-top: 0; /* Убираем верхний padding */
}

/* Скрываем скроллбар для main-content, но оставляем функциональность прокрутки */
.nucleus-page .main-content {
    scrollbar-width: none !important; /* Firefox */
    -ms-overflow-style: none !important; /* IE и Edge */
}

.nucleus-page .main-content::-webkit-scrollbar {
    display: none !important; /* Chrome, Safari, Opera */
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

.nucleus-page .main-content::-webkit-scrollbar-track {
    display: none !important;
    background: transparent !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

.nucleus-page .main-content::-webkit-scrollbar-thumb {
    display: none !important;
    background: transparent !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Универсальное правило: скрываем скроллбар для ВСЕХ элементов на странице nucleus */
body.nucleus-page *,
body.nucleus-page *::before,
body.nucleus-page *::after {
    scrollbar-width: none !important; /* Firefox */
    -ms-overflow-style: none !important; /* IE и Edge */
}

body.nucleus-page *::-webkit-scrollbar,
body.nucleus-page *::before::-webkit-scrollbar,
body.nucleus-page *::after::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

body.nucleus-page *::-webkit-scrollbar-track,
body.nucleus-page *::before::-webkit-scrollbar-track,
body.nucleus-page *::after::-webkit-scrollbar-track {
    display: none !important;
    background: transparent !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

body.nucleus-page *::-webkit-scrollbar-thumb,
body.nucleus-page *::before::-webkit-scrollbar-thumb,
body.nucleus-page *::after::-webkit-scrollbar-thumb {
    display: none !important;
    background: transparent !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Скрываем скроллбар для всех элементов на странице nucleus */
.nucleus-page * {
    scrollbar-width: none !important; /* Firefox */
    -ms-overflow-style: none !important; /* IE и Edge */
}

.nucleus-page *::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

.nucleus-page *::-webkit-scrollbar-track {
    display: none !important;
    background: transparent !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

.nucleus-page *::-webkit-scrollbar-thumb {
    display: none !important;
    background: transparent !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Content Wrapper — центрирует контент */
.nucleus-page .content-wrapper {
    width: 100%;
    max-width: 1200px; /* Максимальная ширина контента */
    min-height: 100%;
    margin-top: 48px; /* Используем margin-top вместо padding-top для отступа сверху */
    padding-top: 0; /* Убираем padding-top */
    padding-bottom: 0; /* Убираем нижний padding */
    padding-left: 48px; /* Увеличенный padding слева */
    padding-right: 48px; /* Увеличенный padding справа */
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    overflow-x: hidden !important; /* Полностью убираем горизонтальный скролл */
    overflow-y: visible; /* Не создаем скролл здесь, скролл на main-content */
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0; /* Убираем нижний margin */
    position: relative; /* Для правильного позиционирования */
}

/* Заголовок страницы - часть контента, не плавающий */
.nucleus-page-header {
    width: 100%;
    max-width: 100%;
    text-align: left; /* Выравнивание по левому краю */
    margin-top: 0; /* Убираем верхний margin */
    margin-bottom: var(--spacing-3xl);
    padding-top: 0; /* Убираем padding-top, чтобы заголовок был частью контента */
    padding-bottom: 0;
    box-sizing: border-box;
    position: relative; /* Обычное позиционирование, не fixed/absolute */
}

.nucleus-page-title {
    font-family: var(--font-primary);
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    margin: 0 0 var(--spacing-md) 0;
    line-height: 1.2;
    text-align: left; /* Выравнивание по левому краю */
}

.nucleus-page-description {
    font-family: var(--font-primary);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-normal);
    color: rgba(255, 255, 255, 0.5); /* Серый текст */
    margin: 0;
    line-height: 1.6;
    max-width: 800px;
    text-align: left; /* Выравнивание по левому краю */
}

/* Calculator Container */
.nucleus-calculator-container {
    width: 100%;
    max-width: 100%;
    min-height: 100%;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: visible;
}

/* Financial Mirror Container */
#financial-mirror-container {
    width: 100%;
    max-width: 100%;
    min-height: 100%;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: visible;
}

/* Финансовое зеркало внутри контейнера */
#financial-mirror-container .financial-mirror {
    width: 100%;
    max-width: 100%;
    margin-top: 0; /* Используем margin вместо padding */
    padding-top: 0; /* Убираем padding-top */
    box-sizing: border-box;
    overflow-x: hidden;
}

/* Добавляем gap между секциями Financial Mirror */
.nucleus-page #financial-mirror-container .financial-mirror-combined,
.nucleus-page #financial-mirror-container .financial-mirror.financial-mirror-combined {
    gap: var(--spacing-4xl) !important; /* Увеличен gap между основными секциями */
}

/* Увеличиваем отступы между секциями */
.nucleus-page #financial-mirror-container .financial-mirror-combined .fm-section {
    margin-bottom: var(--spacing-3xl) !important; /* Увеличен отступ между секциями */
    padding-top: var(--spacing-2xl) !important;
    padding-bottom: var(--spacing-2xl) !important;
}

.nucleus-page #financial-mirror-container .financial-mirror-combined .fm-section:first-of-type {
    padding-top: 0 !important;
}

.nucleus-page #financial-mirror-container .financial-mirror-combined .fm-section:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Увеличиваем отступы для Income и Expenses блоков */
.nucleus-page #financial-mirror-container .financial-mirror-combined .fm-income-expenses-row {
    margin-bottom: var(--spacing-3xl) !important; /* Увеличен отступ */
    margin-top: var(--spacing-2xl) !important; /* Добавлен верхний отступ */
}

.nucleus-page #financial-mirror-container .financial-mirror-combined .fm-income-expenses-row:last-child {
    margin-bottom: 0 !important;
}

/* Увеличиваем отступы для разделителей */
.nucleus-page #financial-mirror-container .financial-mirror-combined .fm-section-divider {
    margin: var(--spacing-4xl) 0 !important; /* Увеличен отступ для разделителей */
}

/* Увеличиваем gap между Income и Expenses внутри блока - переопределяем financial-mirror.css */
body.nucleus-page #financial-mirror-container .financial-mirror-combined .fm-income-expenses-row .fm-income-expenses-content,
body.nucleus-page #financial-mirror-container .financial-mirror.financial-mirror-combined .fm-income-expenses-row .fm-income-expenses-content {
    gap: var(--spacing-4xl) !important; /* Увеличен gap между Income и Expenses */
}

/* Увеличиваем отступы между Income и Expenses внутри блока - переопределяем financial-mirror.css */
body.nucleus-page #financial-mirror-container .financial-mirror-combined .fm-income-expenses-row .fm-income,
body.nucleus-page #financial-mirror-container .financial-mirror.financial-mirror-combined .fm-income-expenses-row .fm-income {
    margin-bottom: var(--spacing-3xl) !important; /* Большой отступ между Income и Expenses */
    padding-bottom: var(--spacing-3xl) !important; /* Увеличен padding-bottom - переопределяет var(--spacing-2xl) из financial-mirror.css */
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important; /* Сохраняем разделитель */
}

body.nucleus-page #financial-mirror-container .financial-mirror-combined .fm-income-expenses-row .fm-expenses,
body.nucleus-page #financial-mirror-container .financial-mirror.financial-mirror-combined .fm-income-expenses-row .fm-expenses {
    margin-top: var(--spacing-3xl) !important; /* Большой отступ сверху для Expenses */
    padding-top: var(--spacing-3xl) !important; /* Увеличен padding-top - переопределяет var(--spacing-2xl) из financial-mirror.css */
}

/* Увеличиваем отступы для заголовков секций */
.nucleus-page #financial-mirror-container .financial-mirror-combined .fm-section h2 {
    margin-bottom: var(--spacing-3xl) !important; /* Увеличен отступ под заголовком */
}

/* Стили для H1 заголовка в секции Income */
.nucleus-page #financial-mirror-container .fm-section.fm-income h1,
.nucleus-page #financial-mirror-container .financial-mirror-combined .fm-section.fm-income h1 {
    margin: 0 0 var(--spacing-3xl) 0 !important;
    padding: 0 !important;
    font-size: var(--font-size-2xl) !important;
    font-weight: var(--font-weight-semibold) !important;
    color: var(--color-text-primary) !important;
    font-family: var(--font-primary) !important;
}

/* Отступ сверху для блока Income */
.nucleus-page #financial-mirror-container .fm-section.fm-income,
.nucleus-page #financial-mirror-container .financial-mirror-combined .fm-section.fm-income {
    margin-top: 48px !important;
}

/* Отступы для блока Verdict */
.nucleus-page #financial-mirror-container .fm-verdict,
.nucleus-page #financial-mirror-container .financial-mirror-combined .fm-verdict {
    margin-top: 32px !important;
    margin-bottom: 16px !important; /* Уменьшенный margin снизу */
    padding-bottom: 0 !important; /* Убираем лишний padding снизу */
    /* Фон как у меню */
    background: linear-gradient(180deg, #272727 0%, #1F1F1F 100%) !important;
    border-radius: var(--radius-lg) !important;
    border: none !important; /* Убираем рамку */
    padding: 24px !important; /* Общий padding контейнеру */
    box-sizing: border-box !important;
}

/* Стили для fm-verdict-empty - только кнопка */
.nucleus-page #financial-mirror-container .fm-verdict-empty {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

.nucleus-page #financial-mirror-container .fm-verdict-empty button {
    margin: 0 !important;
}

/* Убираем горизонтальный скролл у основных контейнеров и скрываем вертикальные скроллбары */
.nucleus-page #financial-mirror-container,
.nucleus-page #financial-mirror-container .financial-mirror,
.nucleus-page #financial-mirror-container .financial-mirror-combined,
.nucleus-page #financial-mirror-container .financial-mirror.financial-mirror-combined,
.nucleus-page #financial-mirror-container .fm-section,
.nucleus-page #financial-mirror-container .fm-income-expenses-row,
.nucleus-page #financial-mirror-container .fm-income-expenses-content,
.nucleus-page #financial-mirror-container .fm-income,
.nucleus-page #financial-mirror-container .fm-expenses,
.nucleus-page #financial-mirror-container .fm-verdict {
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: visible;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE и Edge */
}

.nucleus-page #financial-mirror-container::-webkit-scrollbar,
.nucleus-page #financial-mirror-container .financial-mirror::-webkit-scrollbar,
.nucleus-page #financial-mirror-container .financial-mirror-combined::-webkit-scrollbar,
.nucleus-page #financial-mirror-container .financial-mirror.financial-mirror-combined::-webkit-scrollbar,
.nucleus-page #financial-mirror-container .fm-section::-webkit-scrollbar,
.nucleus-page #financial-mirror-container .fm-income-expenses-row::-webkit-scrollbar,
.nucleus-page #financial-mirror-container .fm-income-expenses-content::-webkit-scrollbar,
.nucleus-page #financial-mirror-container .fm-income::-webkit-scrollbar,
.nucleus-page #financial-mirror-container .fm-expenses::-webkit-scrollbar,
.nucleus-page #financial-mirror-container .fm-verdict::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
    width: 0;
    height: 0;
}

/* Убираем горизонтальный скролл только у контейнеров, не у всех элементов */
.nucleus-page #financial-mirror-container form,
.nucleus-page #financial-mirror-container .fm-form {
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
}

/* Добавляем вертикальные отступы между категориями расходов */
.nucleus-page #financial-mirror-container .fm-expense-category-row,
body.nucleus-page #financial-mirror-container .fm-form-row.fm-expense-category-row {
    margin-bottom: var(--spacing-lg) !important;
    display: flex !important;
    align-items: center !important; /* Вертикальное выравнивание по центру */
    flex-wrap: nowrap !important; /* Запрещаем перенос элементов */
    flex-direction: row !important; /* Горизонтальное расположение */
    width: 100% !important;
    max-width: 100% !important; /* Ограничиваем максимальную ширину */
    gap: 0 !important; /* Убираем gap, используем margin */
    justify-content: flex-start !important; /* Выравнивание по левому краю */
    box-sizing: border-box !important; /* Учитываем padding и border в ширине */
    overflow: visible !important; /* Показываем элементы, но контролируем их размеры */
    min-width: 0 !important; /* Позволяем flex-элементам сжиматься */
}

.nucleus-page #financial-mirror-container .fm-expense-category-row:last-child {
    margin-bottom: 0 !important;
}

/* Выравнивание элементов в строке категорий расходов - по левому краю */
.nucleus-page #financial-mirror-container .fm-expense-category-row .fm-expense-category-label {
    flex-shrink: 0 !important;
    min-width: 120px !important;
    max-width: 120px !important;
    margin-right: var(--spacing-md) !important;
    margin-left: 0 !important;
    align-self: center !important; /* Вертикальное выравнивание по центру */
}

.nucleus-page #financial-mirror-container .fm-expense-category-row .expense-amount-input {
    flex: 0 1 auto !important; /* Может сжиматься, но не растягивается */
    min-width: 120px !important;
    max-width: 150px !important;
    width: auto !important;
    margin-right: var(--spacing-md) !important;
    margin-left: 0 !important;
    box-sizing: border-box !important;
}

/* Перекрываем стили из financial-mirror.css для currency wrapper в expense rows */
.nucleus-page #financial-mirror-container .fm-expense-category-row .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container .fm-form-row.fm-expense-category-row .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container .fm-expense-category-row .invoice-currency-wrapper {
    flex: 0 1 auto !important; /* Может сжиматься */
    min-width: 140px !important;
    max-width: 160px !important;
    width: auto !important; /* Автоматическая ширина */
    margin-right: var(--spacing-md) !important;
    margin-left: 0 !important;
    box-sizing: border-box !important;
    flex-shrink: 1 !important; /* Перекрываем flex-shrink: 0 из financial-mirror.css */
}

/* Currency select внутри expense category row */
.nucleus-page #financial-mirror-container .fm-expense-category-row .invoice-currency-select {
    width: 100% !important;
    min-width: 140px !important;
    max-width: 160px !important;
}

/* Кнопка удаления категории - справа, но выровнена по центру */
.nucleus-page #financial-mirror-container .fm-expense-category-row .fm-btn-remove-expense-category {
    flex-shrink: 0 !important; /* Никогда не сжимается */
    flex-grow: 0 !important; /* Не растягивается */
    margin-left: var(--spacing-md) !important; /* Используем margin вместо auto для контроля */
    margin-right: 0 !important;
    align-self: center !important;
    width: 28px !important; /* Фиксированная ширина кнопки */
    height: 28px !important; /* Фиксированная высота кнопки */
    min-width: 28px !important; /* Минимальная ширина */
    box-sizing: border-box !important;
}

/* Выравнивание для формы доходов - по левому краю */
.nucleus-page #financial-mirror-container .fm-form-section {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--spacing-md) !important;
    width: 100% !important;
    align-items: flex-start !important; /* Выравнивание по левому краю */
    margin-bottom: var(--spacing-lg) !important; /* Отступ между секциями */
}

.nucleus-page #financial-mirror-container .fm-form-section:last-child {
    margin-bottom: 0 !important;
}

.nucleus-page #financial-mirror-container .fm-form-section-label {
    width: 100% !important;
    text-align: left !important;
    margin-bottom: var(--spacing-sm) !important; /* Отступ под label */
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-md) !important;
    font-weight: var(--font-weight-medium) !important;
    color: var(--color-text-secondary) !important;
}

.nucleus-page #financial-mirror-container .fm-form-row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    gap: 0 !important; /* Убираем gap */
    justify-content: flex-start !important; /* Выравнивание по левому краю */
    margin-bottom: 0 !important;
}

/* Горизонтальная строка для Amount и Currency */
.nucleus-page #financial-mirror-container .fm-form-row-horizontal {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    gap: var(--spacing-md) !important; /* Отступ между элементами */
    justify-content: flex-start !important; /* Выравнивание по левому краю */
}

/* Элементы в строках форм - выравнивание по левому краю */
.nucleus-page #financial-mirror-container .fm-form-row > * {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.nucleus-page #financial-mirror-container .fm-form-row-horizontal > * {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* Input поля в форме доходов - полная ширина для одиночных полей */
.nucleus-page #financial-mirror-container .fm-form-row input[type="text"],
.nucleus-page #financial-mirror-container .fm-form-row input[type="number"] {
    width: 100% !important;
    flex: 1 !important;
}

/* Input в горизонтальной строке (Amount) - растягиваем */
body.nucleus-page #financial-mirror-container .fm-form-row-horizontal input[type="number"],
body.nucleus-page #financial-mirror-container form .fm-form-row-horizontal input[type="number"],
.nucleus-page #financial-mirror-container .fm-form-row-horizontal input[type="number"] {
    flex: 1 1 auto !important;
    min-width: 200px !important;
    max-width: none !important;
    width: auto !important;
}

/* Перекрываем стили из financial-mirror.css для input в горизонтальной строке */
body.nucleus-page #financial-mirror-container .fm-form-row-horizontal input,
body.nucleus-page #financial-mirror-container form .fm-form-row-horizontal input {
    flex: 1 1 auto !important;
    min-width: 200px !important;
    max-width: none !important;
    width: auto !important;
}

/* Currency wrapper в горизонтальной строке - растягиваем */
body.nucleus-page #financial-mirror-container .fm-form-row-horizontal .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container form .fm-form-row-horizontal .invoice-currency-wrapper,
.nucleus-page #financial-mirror-container .fm-form-row-horizontal .invoice-currency-wrapper {
    flex: 1 1 auto !important;
    min-width: 200px !important;
    max-width: none !important;
    width: auto !important;
    flex-shrink: 1 !important; /* Перекрываем flex-shrink: 0 */
}

/* Перекрываем стили из financial-mirror.css для currency-wrapper */
body.nucleus-page #financial-mirror-container .fm-form-row-horizontal .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container form .fm-form-row-horizontal .invoice-currency-wrapper {
    width: auto !important;
    min-width: 200px !important;
    max-width: none !important;
}

/* Currency select внутри wrapper - растягиваем */
body.nucleus-page #financial-mirror-container .fm-form-row-horizontal .invoice-currency-select,
body.nucleus-page #financial-mirror-container form .fm-form-row-horizontal .invoice-currency-select,
.nucleus-page #financial-mirror-container .fm-form-row-horizontal .invoice-currency-select {
    width: 100% !important;
    min-width: 200px !important;
    max-width: none !important;
}

/* Перекрываем стили из financial-mirror.css для currency-select */
body.nucleus-page #financial-mirror-container .fm-form-row-horizontal .invoice-currency-select,
body.nucleus-page #financial-mirror-container form .fm-form-row-horizontal .invoice-currency-select {
    width: 100% !important;
    min-width: 200px !important;
    max-width: none !important;
}

/* Currency dropdown внутри wrapper - растягиваем */
body.nucleus-page #financial-mirror-container .fm-form-row-horizontal .invoice-currency-dropdown,
body.nucleus-page #financial-mirror-container form .fm-form-row-horizontal .invoice-currency-dropdown,
.nucleus-page #financial-mirror-container .fm-form-row-horizontal .invoice-currency-dropdown {
    width: 100% !important;
    min-width: 200px !important;
    max-width: none !important;
}

/* Дополнительные перекрывающие стили для гарантии */
body.nucleus-page #income-form .fm-form-row-horizontal input[type="number"],
body.nucleus-page #income-form .fm-form-row-horizontal .invoice-currency-wrapper {
    flex: 1 1 auto !important;
    min-width: 200px !important;
    max-width: none !important;
    width: auto !important;
}

body.nucleus-page #income-form .fm-form-row-horizontal .invoice-currency-wrapper {
    width: auto !important;
    min-width: 200px !important;
    max-width: none !important;
    flex-shrink: 1 !important;
}

body.nucleus-page #income-form .fm-form-row-horizontal .invoice-currency-select {
    width: 100% !important;
    min-width: 200px !important;
    max-width: none !important;
}

/* Перекрываем стили из financial-mirror.css для .fm-form-row-horizontal */
body.nucleus-page #financial-mirror-container .fm-form-row-horizontal .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container form#income-form .fm-form-row-horizontal .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container .fm-form .fm-form-row-horizontal .invoice-currency-wrapper {
    width: auto !important;
    min-width: 200px !important;
    max-width: none !important;
    flex: 1 1 auto !important;
    flex-shrink: 1 !important;
}

/* Перекрываем стили из financial-mirror.css для .fm-form-row (которые применяются к .fm-form-row-horizontal) */
body.nucleus-page #financial-mirror-container .fm-form-row.fm-form-row-horizontal .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container form#income-form .fm-form-row.fm-form-row-horizontal .invoice-currency-wrapper {
    width: auto !important;
    min-width: 200px !important;
    max-width: none !important;
    flex: 1 1 auto !important;
    flex-shrink: 1 !important;
}

body.nucleus-page #financial-mirror-container .fm-form-row-horizontal .invoice-currency-select,
body.nucleus-page #financial-mirror-container form#income-form .fm-form-row-horizontal .invoice-currency-select,
body.nucleus-page #financial-mirror-container .fm-form-row.fm-form-row-horizontal .invoice-currency-select {
    width: 100% !important;
    min-width: 200px !important;
    max-width: none !important;
}

/* Растягиваем инпут Amount по ID - максимальная специфичность */
body.nucleus-page #income-amount,
body.nucleus-page #financial-mirror-container #income-amount,
body.nucleus-page #income-form #income-amount,
body.nucleus-page #financial-mirror-container #income-form #income-amount,
body.nucleus-page #financial-mirror-container .fm-form-row-horizontal input[type="number"],
body.nucleus-page #financial-mirror-container form#income-form .fm-form-row-horizontal input[type="number"],
body.nucleus-page #financial-mirror-container .fm-form-row.fm-form-row-horizontal input[type="number"] {
    flex: 1 1 auto !important;
    min-width: 200px !important;
    max-width: none !important;
    width: auto !important;
}

/* Растягиваем currency wrapper - максимальная специфичность */
body.nucleus-page #income-form .fm-form-row-horizontal .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container #income-form .fm-form-row-horizontal .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container .fm-form-row-horizontal .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container form#income-form .fm-form-row-horizontal .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container .fm-form-row.fm-form-row-horizontal .invoice-currency-wrapper {
    width: auto !important;
    min-width: 200px !important;
    max-width: none !important;
    flex: 1 1 auto !important;
    flex-shrink: 1 !important;
}

/* Растягиваем currency select по ID - максимальная специфичность */
body.nucleus-page #income-payment-currency-display,
body.nucleus-page #financial-mirror-container #income-payment-currency-display,
body.nucleus-page #income-form #income-payment-currency-display,
body.nucleus-page #financial-mirror-container #income-form #income-payment-currency-display,
body.nucleus-page #financial-mirror-container .fm-form-row-horizontal .invoice-currency-select,
body.nucleus-page #financial-mirror-container form#income-form .fm-form-row-horizontal .invoice-currency-select,
body.nucleus-page #financial-mirror-container .fm-form-row.fm-form-row-horizontal .invoice-currency-select {
    width: 100% !important;
    min-width: 200px !important;
    max-width: none !important;
}

/* Select в форме доходов - полная ширина для одиночных */
.nucleus-page #financial-mirror-container .fm-form-row select {
    width: 100% !important;
    flex: 1 !important;
}

/* Растягиваем Period select - максимальная специфичность */
body.nucleus-page #income-period,
body.nucleus-page #financial-mirror-container #income-period,
body.nucleus-page #income-form #income-period,
body.nucleus-page #income-form .fm-form-row #income-period,
body.nucleus-page #financial-mirror-container .fm-form-row #income-period,
body.nucleus-page #financial-mirror-container #income-form .fm-form-row select {
    width: 100% !important;
    flex: 1 1 auto !important;
    min-width: 200px !important;
    max-width: 100% !important;
}

/* Растягиваем Project length input */
body.nucleus-page #income-project-days,
body.nucleus-page #financial-mirror-container #income-project-days,
body.nucleus-page #income-form #income-project-days {
    width: 100% !important;
    flex: 1 !important;
    min-width: 200px !important;
    max-width: 100% !important;
}

/* Подсказка под полем Project length */
.nucleus-page #financial-mirror-container .fm-input-hint {
    margin-top: var(--spacing-xs) !important;
    text-align: left !important;
    width: 100% !important;
    font-style: italic !important;
    color: var(--color-text-tertiary) !important;
}

/* ============================================
   АДАПТИВНОСТЬ ДЛЯ NUCLEUS PAGE
   ============================================ */

/* Большие экраны (1440px и выше) */
@media (min-width: 1440px) {
    .nucleus-page .content-wrapper {
        max-width: 1200px;
        padding-left: 48px;
        padding-right: 48px;
    }
}

/* Средние экраны (1025px - 1439px) */
@media (min-width: 1025px) and (max-width: 1439px) {
    .nucleus-page .content-wrapper {
        max-width: 1000px;
        padding-left: 40px;
        padding-right: 40px;
    }
}

/* Планшеты в альбомной ориентации (801px - 1024px) */
@media (min-width: 801px) and (max-width: 1024px) {
    .nucleus-page .content-wrapper {
        max-width: 100%;
        padding-left: 32px;
        padding-right: 32px;
    }
    
    .nucleus-page-header {
        padding-top: 0; /* Заголовок часть контента, padding на content-wrapper */
    }
    
    .nucleus-page-title {
        font-size: var(--font-size-2xl);
    }
    
    .nucleus-page-description {
        font-size: var(--font-size-md);
        max-width: 100%;
    }
}

/* Планшеты в портретной ориентации и маленькие планшеты (641px - 800px) */
@media (min-width: 641px) and (max-width: 800px) {
    .nucleus-page .main-content {
        width: 100% !important;
        padding: 0 !important;
    }
    
    .nucleus-page .content-wrapper {
        padding-top: var(--spacing-lg);
        padding-bottom: var(--spacing-lg);
        padding-left: var(--spacing-lg);
        padding-right: var(--spacing-lg);
        width: 100%;
        max-width: 100%;
    }
    
    .nucleus-page-header {
        padding-top: 0; /* Заголовок часть контента, padding на content-wrapper */
        margin-bottom: var(--spacing-2xl);
    }
    
    .nucleus-page-title {
        font-size: var(--font-size-2xl);
        margin-bottom: var(--spacing-sm);
    }
    
    .nucleus-page-description {
        font-size: var(--font-size-md);
        max-width: 100%;
    }
    
    /* Уменьшаем отступы для секций Financial Mirror */
    .nucleus-page #financial-mirror-container .fm-section.fm-income {
        margin-top: var(--spacing-2xl) !important;
    }
}

/* Мобильные устройства (до 640px) */
@media (max-width: 640px) {
    .nucleus-page .main-content {
        width: 100% !important;
        padding: 0 !important;
    }
    
    .nucleus-page .content-wrapper {
        padding-top: var(--spacing-md);
        padding-bottom: var(--spacing-md);
        padding-left: var(--spacing-md);
        padding-right: var(--spacing-md);
        width: 100%;
        max-width: 100%;
    }
    
    .nucleus-page-header {
        padding-top: 0; /* Заголовок часть контента, padding на content-wrapper */
        margin-bottom: var(--spacing-xl);
    }
    
    .nucleus-page-title {
        font-size: var(--font-size-xl);
        margin-bottom: var(--spacing-sm);
        line-height: 1.3;
    }
    
    .nucleus-page-description {
        font-size: var(--font-size-sm);
        max-width: 100%;
        line-height: 1.5;
    }
    
    /* Уменьшаем отступы для секций Financial Mirror */
    .nucleus-page #financial-mirror-container .fm-section.fm-income {
        margin-top: var(--spacing-xl) !important;
    }
    
    .nucleus-page #financial-mirror-container .fm-section.fm-verdict {
        margin-top: var(--spacing-lg) !important;
        margin-bottom: var(--spacing-md) !important;
        padding: var(--spacing-md) !important;
    }
    
    /* Адаптируем заголовки секций */
    .nucleus-page #financial-mirror-container .fm-section.fm-income h1 {
        font-size: var(--font-size-xl) !important;
        margin-bottom: var(--spacing-lg) !important;
    }
    
    .nucleus-page #financial-mirror-container .fm-section h2 {
        font-size: var(--font-size-lg) !important;
        margin-bottom: var(--spacing-lg) !important;
    }
}

/* Очень маленькие мобильные устройства (до 480px) */
@media (max-width: 480px) {
    .nucleus-page .content-wrapper {
        padding-left: var(--spacing-sm);
        padding-right: var(--spacing-sm);
    }
    
    .nucleus-page-header {
        padding-top: 0; /* Заголовок часть контента, padding на content-wrapper */
        margin-bottom: var(--spacing-lg);
    }
    
    .nucleus-page-title {
        font-size: var(--font-size-lg);
    }
    
    .nucleus-page-description {
        font-size: var(--font-size-xs);
    }
    
    .nucleus-page #financial-mirror-container .fm-section.fm-verdict {
        padding: var(--spacing-sm) !important;
    }
}

/* Дополнительное правило для контейнера и всех возможных элементов со скроллом */
body.nucleus-page .container,
body.nucleus-page .container *,
body.nucleus-page main,
body.nucleus-page main *,
body.nucleus-page .main-content,
body.nucleus-page .main-content *,
body.nucleus-page .content-wrapper,
body.nucleus-page .content-wrapper *,
body.nucleus-page .nucleus-calculator-container,
body.nucleus-page .nucleus-calculator-container *,
body.nucleus-page #financial-mirror-container,
body.nucleus-page #financial-mirror-container * {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

body.nucleus-page .container::-webkit-scrollbar,
body.nucleus-page .container *::-webkit-scrollbar,
body.nucleus-page main::-webkit-scrollbar,
body.nucleus-page main *::-webkit-scrollbar,
body.nucleus-page .main-content::-webkit-scrollbar,
body.nucleus-page .main-content *::-webkit-scrollbar,
body.nucleus-page .content-wrapper::-webkit-scrollbar,
body.nucleus-page .content-wrapper *::-webkit-scrollbar,
body.nucleus-page .nucleus-calculator-container::-webkit-scrollbar,
body.nucleus-page .nucleus-calculator-container *::-webkit-scrollbar,
body.nucleus-page #financial-mirror-container::-webkit-scrollbar,
body.nucleus-page #financial-mirror-container *::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Максимальное скругление для кнопок на nucleus-page */
body.nucleus-page .fm-btn-secondary,
body.nucleus-page #income-form .fm-btn-secondary,
body.nucleus-page #expenses-form .fm-btn-secondary {
    border-radius: var(--radius-full) !important; /* Максимальное скругление */
}

/* Адаптивность для форм и элементов Financial Mirror */
@media (max-width: 768px) {
    /* Адаптируем формы */
    .nucleus-page #financial-mirror-container .fm-form {
        gap: var(--spacing-md) !important;
    }
    
    /* Адаптируем контейнеры с датами */
    .nucleus-page #financial-mirror-container .fm-date-container {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-sm);
    }
    
    /* Адаптируем кнопки */
    .nucleus-page #financial-mirror-container .fm-btn-secondary,
    .nucleus-page #financial-mirror-container .fm-btn-add-custom-expense {
        width: 100%;
        min-width: auto;
    }
    
    /* Адаптируем инпуты */
    .nucleus-page #financial-mirror-container .fm-input,
    .nucleus-page #financial-mirror-container .fm-select {
        width: 100%;
        min-width: auto;
    }
    
    /* Адаптируем строки с валютами */
    .nucleus-page #financial-mirror-container .fm-currency-row {
        flex-wrap: wrap;
        gap: var(--spacing-sm);
    }
}

/* Адаптивность для очень маленьких экранов */
@media (max-width: 480px) {
    /* Уменьшаем отступы в формах */
    .nucleus-page #financial-mirror-container .fm-form {
        gap: var(--spacing-sm) !important;
    }
    
    /* Адаптируем заголовки форм */
    .nucleus-page #financial-mirror-container .fm-form-group label {
        font-size: var(--font-size-sm);
    }
    
    /* Адаптируем кнопки добавления категорий */
    .nucleus-page #financial-mirror-container .fm-expense-category-row {
        flex-direction: column;
        gap: var(--spacing-sm);
    }
}

/* Адаптивность с учетом навигации */
/* Когда навигация свернута на мобильных устройствах */
@media (max-width: 768px) {
    .nucleus-page .container:has(.left-nav.collapsed) .main-content {
        margin-left: 0;
    }
    
    /* Учитываем ширину свернутой навигации */
    .nucleus-page .container:has(.left-nav:not(.collapsed)) .main-content {
        margin-left: 0;
    }
}

/* Горизонтальная ориентация планшетов */
@media (min-width: 641px) and (max-width: 1024px) and (orientation: landscape) {
    .nucleus-page .content-wrapper {
        padding-left: 40px;
        padding-right: 40px;
    }
    
    .nucleus-page-header {
        padding-top: 0; /* Заголовок часть контента, padding на content-wrapper */
    }
}

/* ============================================
   ПРИОРИТЕТНЫЕ СТИЛИ ДЛЯ РАСТЯГИВАНИЯ ИНПУТОВ
   Добавлены в конец файла для максимального приоритета
   ============================================ */

/* Растягиваем инпут Amount - используем ID для максимальной специфичности */
body.nucleus-page #income-amount {
    flex: 1 1 auto !important;
    min-width: 200px !important;
    max-width: none !important;
    width: auto !important;
}

/* Растягиваем currency wrapper - используем ID формы для максимальной специфичности */
body.nucleus-page #income-form .fm-form-row-horizontal .invoice-currency-wrapper {
    flex: 1 1 auto !important;
    min-width: 200px !important;
    max-width: none !important;
    width: auto !important;
    flex-shrink: 1 !important;
}

/* Растягиваем currency select - используем ID для максимальной специфичности */
body.nucleus-page #income-payment-currency-display {
    width: 100% !important;
    min-width: 200px !important;
    max-width: none !important;
}

/* Адаптивные стили для растягивания инпутов - применяются во всех медиа-запросах */
@media (min-width: 1440px) {
    body.nucleus-page #income-amount,
    body.nucleus-page #income-form .fm-form-row-horizontal .invoice-currency-wrapper,
    body.nucleus-page #income-payment-currency-display {
        flex: 1 1 auto !important;
        min-width: 200px !important;
        max-width: none !important;
        width: auto !important;
    }
    
    body.nucleus-page #income-payment-currency-display {
        width: 100% !important;
    }
}

@media (min-width: 1025px) and (max-width: 1439px) {
    body.nucleus-page #income-amount,
    body.nucleus-page #income-form .fm-form-row-horizontal .invoice-currency-wrapper,
    body.nucleus-page #income-payment-currency-display {
        flex: 1 1 auto !important;
        min-width: 200px !important;
        max-width: none !important;
        width: auto !important;
    }
    
    body.nucleus-page #income-payment-currency-display {
        width: 100% !important;
    }
}

@media (min-width: 801px) and (max-width: 1024px) {
    body.nucleus-page #income-amount,
    body.nucleus-page #income-form .fm-form-row-horizontal .invoice-currency-wrapper,
    body.nucleus-page #income-payment-currency-display {
        flex: 1 1 auto !important;
        min-width: 150px !important;
        max-width: none !important;
        width: auto !important;
    }
    
    body.nucleus-page #income-payment-currency-display {
        width: 100% !important;
    }
}

@media (min-width: 641px) and (max-width: 800px) {
    body.nucleus-page #income-amount,
    body.nucleus-page #income-form .fm-form-row-horizontal .invoice-currency-wrapper,
    body.nucleus-page #income-payment-currency-display {
        flex: 1 1 auto !important;
        min-width: 150px !important;
        max-width: none !important;
        width: auto !important;
    }
    
    body.nucleus-page #income-payment-currency-display {
        width: 100% !important;
    }
}

@media (max-width: 640px) {
    body.nucleus-page #income-amount,
    body.nucleus-page #income-form .fm-form-row-horizontal .invoice-currency-wrapper,
    body.nucleus-page #income-payment-currency-display {
        flex: 1 1 auto !important;
        min-width: 120px !important;
        max-width: none !important;
        width: auto !important;
    }
    
    body.nucleus-page #income-payment-currency-display {
        width: 100% !important;
    }
}

@media (max-width: 480px) {
    body.nucleus-page #income-amount,
    body.nucleus-page #income-form .fm-form-row-horizontal .invoice-currency-wrapper,
    body.nucleus-page #income-payment-currency-display {
        flex: 1 1 auto !important;
        min-width: 100px !important;
        max-width: none !important;
        width: auto !important;
    }
    
    body.nucleus-page #income-payment-currency-display {
        width: 100% !important;
    }
}

/* ============================================
   КРИТИЧЕСКИЕ СТИЛИ ДЛЯ РАСТЯГИВАНИЯ - ПРИОРИТЕТ #1
   Добавлены в самый конец для гарантированного применения
   ============================================ */

/* Принудительно растягиваем горизонтальную строку */
body.nucleus-page #income-form .fm-form-row-horizontal {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: var(--spacing-md) !important;
}

/* Принудительно растягиваем Amount input - используем flex: 1 1 0% для равномерного распределения */
body.nucleus-page #income-amount {
    flex: 1 1 0% !important;
    min-width: 200px !important;
    max-width: 100% !important;
    width: 0 !important; /* width: 0 позволяет flex правильно работать */
}

/* Принудительно растягиваем Currency wrapper - используем flex: 1 1 0% для равномерного распределения */
body.nucleus-page #income-form .fm-form-row-horizontal .invoice-currency-wrapper {
    flex: 1 1 0% !important;
    min-width: 200px !important;
    max-width: 100% !important;
    width: 0 !important; /* width: 0 позволяет flex правильно работать */
    flex-shrink: 1 !important;
}

/* Принудительно растягиваем Currency select */
body.nucleus-page #income-payment-currency-display,
body.nucleus-page #income-form .fm-form-row-horizontal .invoice-currency-select {
    width: 100% !important;
    min-width: 200px !important;
    max-width: 100% !important;
}

/* Принудительно растягиваем Period dropdown - это кастомный dropdown, использует invoice-currency-wrapper */
body.nucleus-page #income-period-display,
body.nucleus-page #income-form .fm-form-row .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container #income-form .fm-form-row .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container .fm-form-row .invoice-currency-wrapper:not(.fm-form-row-horizontal .invoice-currency-wrapper) {
    width: 100% !important;
    flex: 1 1 auto !important;
    min-width: 200px !important;
    max-width: 100% !important;
    flex-shrink: 1 !important;
}

/* Растягиваем Period select display */
body.nucleus-page #income-period-display,
body.nucleus-page #income-form .fm-form-row .invoice-currency-select,
body.nucleus-page #financial-mirror-container #income-form .fm-form-row .invoice-currency-select {
    width: 100% !important;
    min-width: 200px !important;
    max-width: 100% !important;
}

/* ============================================
   КРИТИЧЕСКИЕ ПЕРЕОПРЕДЕЛЕНИЯ ДЛЯ EXPENSE CATEGORY ROWS
   Перекрываем стили из financial-mirror.css
   ============================================ */

/* Перекрываем стили из financial-mirror.css для currency wrapper в expense rows */
body.nucleus-page #financial-mirror-container .fm-form-row.fm-expense-category-row .invoice-currency-wrapper {
    width: auto !important;
    min-width: 140px !important;
    max-width: 160px !important;
    flex-shrink: 1 !important; /* Перекрываем flex-shrink: 0 из financial-mirror.css */
}

body.nucleus-page #financial-mirror-container .fm-form-row.fm-expense-category-row .invoice-currency-select {
    width: 100% !important;
    min-width: 140px !important;
    max-width: 160px !important;
}

/* Ограничиваем ширину контейнера формы расходов */
body.nucleus-page #financial-mirror-container #expenses-form,
body.nucleus-page #financial-mirror-container #expenses-form-container,
body.nucleus-page #financial-mirror-container .fm-section.fm-expenses {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
}

/* Дополнительные переопределения для expense category rows - максимальный приоритет */
body.nucleus-page #financial-mirror-container .fm-form-row.fm-expense-category-row {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
}

/* Перекрываем все стили из financial-mirror.css для expense rows */
body.nucleus-page #financial-mirror-container .fm-form-row.fm-expense-category-row .invoice-currency-wrapper,
body.nucleus-page #expenses-form .fm-form-row.fm-expense-category-row .invoice-currency-wrapper {
    width: auto !important;
    min-width: 140px !important;
    max-width: 160px !important;
    flex-shrink: 1 !important;
    flex-grow: 0 !important;
}

body.nucleus-page #financial-mirror-container .fm-form-row.fm-expense-category-row .invoice-currency-select,
body.nucleus-page #expenses-form .fm-form-row.fm-expense-category-row .invoice-currency-select {
    width: 100% !important;
    min-width: 140px !important;
    max-width: 160px !important;
}

/* Input суммы в expense rows */
body.nucleus-page #financial-mirror-container .fm-form-row.fm-expense-category-row .expense-amount-input {
    flex: 0 1 auto !important;
    min-width: 120px !important;
    max-width: 150px !important;
    width: auto !important;
}

/* Кнопка удаления - всегда видна */
body.nucleus-page #financial-mirror-container .fm-form-row.fm-expense-category-row .fm-btn-remove-expense-category {
    flex: 0 0 28px !important;
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
}

/* ============================================
   ФИНАЛЬНЫЕ ПЕРЕОПРЕДЕЛЕНИЯ ДЛЯ CURRENCY WRAPPER В EXPENSE ROWS
   Перекрываем все стили из financial-mirror.css с максимальным приоритетом
   ============================================ */

/* Перекрываем .fm-form-row .invoice-currency-wrapper из financial-mirror.css */
body.nucleus-page #financial-mirror-container .fm-form-row.fm-expense-category-row .invoice-currency-wrapper,
body.nucleus-page #expenses-form .fm-form-row.fm-expense-category-row .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container #expenses-form .fm-form-row.fm-expense-category-row .invoice-currency-wrapper {
    width: auto !important;
    min-width: 140px !important;
    max-width: 160px !important;
    flex-shrink: 1 !important;
    flex-grow: 0 !important;
}

/* Перекрываем .fm-form-row .invoice-currency-select из financial-mirror.css */
body.nucleus-page #financial-mirror-container .fm-form-row.fm-expense-category-row .invoice-currency-select,
body.nucleus-page #expenses-form .fm-form-row.fm-expense-category-row .invoice-currency-select,
body.nucleus-page #financial-mirror-container #expenses-form .fm-form-row.fm-expense-category-row .invoice-currency-select {
    width: 100% !important;
    min-width: 140px !important;
    max-width: 160px !important;
}

/* Перекрываем .fm-form-row .invoice-currency-dropdown из financial-mirror.css */
body.nucleus-page #financial-mirror-container .fm-form-row.fm-expense-category-row .invoice-currency-dropdown,
body.nucleus-page #expenses-form .fm-form-row.fm-expense-category-row .invoice-currency-dropdown,
body.nucleus-page #financial-mirror-container #expenses-form .fm-form-row.fm-expense-category-row .invoice-currency-dropdown {
    width: 100% !important;
    min-width: 140px !important;
    max-width: 160px !important;
}

/* Перекрываем все возможные селекторы для currency wrapper в expense rows - используем ID формы */
body.nucleus-page #expenses-form .fm-expense-category-row .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container #expenses-form .fm-expense-category-row .invoice-currency-wrapper,
body.nucleus-page #expenses-form-container #expenses-form .fm-expense-category-row .invoice-currency-wrapper,
body.nucleus-page #expenses-form .fm-form-row.fm-expense-category-row .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container #expenses-form .fm-form-row.fm-expense-category-row .invoice-currency-wrapper {
    width: auto !important;
    min-width: 140px !important;
    max-width: 160px !important;
    flex-shrink: 1 !important;
    flex-grow: 0 !important;
}

/* Перекрываем .fm-form-row-horizontal .invoice-currency-wrapper из financial-mirror.css (max-width: 200px) */
body.nucleus-page #expenses-form .fm-form-row-horizontal .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container #expenses-form .fm-form-row-horizontal .invoice-currency-wrapper {
    width: auto !important;
    min-width: 140px !important;
    max-width: 160px !important;
    flex-shrink: 1 !important;
    flex-grow: 0 !important;
}

/* Абсолютно все возможные селекторы для currency wrapper в expense rows - максимальный приоритет */
body.nucleus-page #financial-mirror-container .fm-section.fm-expenses .fm-form-row.fm-expense-category-row .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container .fm-section.fm-expenses #expenses-form .fm-form-row.fm-expense-category-row .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container .fm-section.fm-expenses #expenses-form-container #expenses-form .fm-form-row.fm-expense-category-row .invoice-currency-wrapper,
body.nucleus-page #financial-mirror-container .fm-section.fm-expenses #expenses-form-container form#expenses-form .fm-form-row.fm-expense-category-row .invoice-currency-wrapper {
    width: auto !important;
    min-width: 140px !important;
    max-width: 160px !important;
    flex-shrink: 1 !important;
    flex-grow: 0 !important;
}

/* Обрезка текста в currency select с троеточием */
body.nucleus-page #financial-mirror-container .invoice-currency-select .currency-value,
body.nucleus-page #financial-mirror-container .fm-expense-category-row .invoice-currency-select .currency-value,
body.nucleus-page #expenses-form .invoice-currency-select .currency-value,
body.nucleus-page #financial-mirror-container .fm-form-row.fm-expense-category-row .invoice-currency-select .currency-value {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 100% !important;
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important; /* Позволяет сжиматься для ellipsis */
}

/* Ограничиваем ширину currency select для правильной работы ellipsis */
body.nucleus-page #financial-mirror-container .fm-expense-category-row .invoice-currency-select,
body.nucleus-page #financial-mirror-container .fm-form-row.fm-expense-category-row .invoice-currency-select {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important; /* Позволяет сжиматься */
}

