html { 
    font-size: 92%; 
}

.h6, h6 {
    font-size: 1.2rem;
}

/* Цвета иконок */
    .color-fa-brown {
        color:#7e692c;
    }
    
    .color-fa-green {
        color: #397e3b;
    }
    
    .color-fa-blue {
        color: #31708f;
    }

.alert-success {
    --bs-alert-color: #18794d;
    --bs-alert-bg: #dff0d8;
}

.alert-info {
    --bs-alert-color: #000;
    --bs-alert-bg: #d9edf7;
}

.list-group-item-success {
    color: #397e3b;
    background-color: #dff0d8;
}
a.list-group-item-success {
    color: #397e3b;
}

.list-group-item-danger {
    color: #58151c;
    background-color: #f8d7da;
}

a.list-group-item-danger {
    color: #58151c;
}

a.list-group-item-success:focus, a.list-group-item-success:hover {
        color: #3c763d;
    background-color: #d0e9c6;
}


.list-group-item-warning {
    color: #000;
    background-color: #fff3cd;
}

a.list-group-item-warning:focus, a.list-group-item-warning:hover {
    color: #8a6d3b;
    background-color: #faf2cc;
}

.list-group-item-info {
    color: #000;
    background-color: #d9edf7;
}

a.list-group-item-info:focus, a.list-group-item-info:hover {
    color: #31708f;
    background-color: #c4e3f3;
}


.list-group-item-budget {
    color: #397e3b;
    background-color: #ecc7fc;
}
a.list-group-item-budget {
    color: #ecc7fc;
}

a.list-group-item-budget:focus, a.list-group-item-budget:hover {
        color: #3c763d;
    background-color: #fccfdc;
}


.card-header .bg-warning {
    background-color: #fff3cd;
}

.table-success {
    --bs-table-bg: #dff0d8;
    --bs-table-border-color: var(--bs-border-color);
}

.table-grey {
    --bs-table-bg: #e5e5e5;
    --bs-table-border-color: var(--bs-border-color);
}

.table-active {
    --bs-table-bg: #f5f5f5;
}

.table-active {
    --bs-table-color-state: var(--bs-table-active-color);
    --bs-table-bg-state: #f5f5f5;
}

.table-peachy {
    --bs-table-bg: #FCE4D6
}

.table-info {
    --bs-table-bg: #d9edf7;
}

.table-warning, .table-success, .table-info {
    border-color: #000;
}

.table-inactive {
    --bs-table-bg: #ececec;
    --bs-table-color-state: #b9b9b9;
    border-color: #d9d6d6;
}


/* Фон для подсчетов в форме ТРУД*/
.bg-light-green {
    background-color: #e8f5e8 !important;
}

/*Тонкий бордюр для подсчетов в таблице ТРУД */
.thin-internal-border {
    border-left: 1px solid #212529 !important;
    border-right: 1px solid #212529 !important;
}

.custom-tooltip-main {
  --bs-tooltip-bg: var(--bs-gray-700);
  --bs-tooltip-max-width: 230px;
}

.custom-modal {
    max-width: 600px;
}


/*убираем стрелочки у цифровых инпутов*/
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }  
input[type="number"] { -moz-appearance: textfield; }  

/*Класс для цветов ПУ в форме*/
.pu {
    color: #000;
   background-color: #f5f5f5;
}

.header-yellow {
    background-color: #fff3cd;
    color:#000;
}

.header-green {
    background-color: #dff0d8;
    color:#000;
}

.header-blue {
    background-color: #d9edf7;
    color:#000;
}

.header-grey {
    background-color: #e5e5e5;
}

/*Добавляем бордюр горизонтальный*/
.list-group-horizontal>.list-group-item+.list-group-item {
    border-left-width: var(--bs-list-group-border-width);
}

/*Класс для кнопок в форме - светло-голубая, при наведении серая*/
.btn-custom {
   color: #333;
   border-color:#ccc;
   --bs-btn-bg: #d9edf7;
   --bs-btn-hover-bg: #e6e6e6;
   --bs-btn-hover-color: #333;
   --bs-btn-active-color: #333;
   --bs-btn-hover-border-color: #adadad;
   --bs-btn-active-bg: #b3b3b3;
}

.btn-warning {
   color: #333;
   border-color:#ccc;
   --bs-btn-bg: #fff3cd;
   --bs-btn-hover-bg: #e6e6e6;
   --bs-btn-hover-color: #333;
   --bs-btn-active-color: #333;
   --bs-btn-hover-border-color: #adadad;
   --bs-btn-active-bg: #b3b3b3;
}


.btn-tbl-pdf {
    color: #8a6d3b;
   --bs-btn-bg: #fcf8e3;
}

.btn.disabled, .btn:disabled, fieldset:disabled .btn {
    color: #383131;
    background-color: #b6bec5;
    border-color: #9da4ab;
}

.btn-report-archive
 {
    --bs-btn-color: #bd1414;
    --bs-btn-bg: #ffc99d;
	}
	
	
.error-item {
    line-height: 1.5;
    margin-bottom: 5px;
}

.error-detail {
    color: #6c757d;
    font-size: 0.9em;
    display: inline-block;
    margin-top: 3px;
}

.alert-danger {
    background-color: #f8d7da;
    border-color: #f5c6cb;
}

.alert-warning {
    background-color: #fff3cd;
    color: #000;
}

/*Квартальная верстка*/
  .bg-primary-soft {
    background-color: rgba(13, 110, 253, 0.1);
  }
  .quarter-item {
    min-width: 120px;
  }
  
      .bg-pastel-red { background-color: #ff9a9e; }
    .bg-pastel-yellow { background-color: #fadcac; }
    .bg-pastel-green { background-color: #a0ced9; }
    .bg-pastel-blue { background-color: #b5ead7; }
    .countdown-divider { 
        color: #999; 
        font-weight: bold;
        line-height: 1;
    }
    .countdown-value { 
        min-width: 36px;
        font-weight: bold;
        font-size: 1.1rem;
    }
    



/*=== Класс для ширины таблицы ====*/
.fit-content {
  width: fit-content;
}
/* === темно-серый для результатов ==*/
.gray-bg { 
    --bs-table-bg: #dbdbdb; 
}

/*Классы для чебоксов в форме ПУ*/
.form-check-input.is-invalid {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}
.form-check-input {
    border-color: #888;
}


/* Классы для аккордеона */

    .current-quarter {
        border-top: 2px solid #18794d;
        border-left: 2px solid #18794d;
        border-right: 2px solid #18794d;
        border-bottom: 2px solid #18794d;
    }
    .accordion-custom {
        background-color: #fff3cd;
    --bs-accordion-border-color: #ffe69c;
    }
    
    .accordion-custom-success {
        background-color: #dff0d8;
    --bs-accordion-border-color: #a3cfbb;
    }
    
    .accordion-custom-info {
        background-color: #d9edf7;
    --bs-accordion-border-color: #bfcfe7;
    }
    
        .accordion-custom-warning {
    background-color: #fff3cd;
    --bs-accordion-border-color: #ffe69c;
    }
    
    .accordion-body-custom {
        padding: 10px 15px;
    }
   
    .accordion-button {
        background-color: #fff3cd;
        padding: 12px 15px;
    }
    
    .accordion-button-success {
        background-color: #dff0d8;
        padding: 12px 15px;
    }
    
    .accordion-button-info {
        background-color: #d9edf7;
        padding: 12px 15px;
    }
    
    .accordion-button:not(.collapsed) {
        background-color: #fff3cd;
    }
    
        .accordion-button-success:not(.collapsed) {
        background-color: #dff0d8;
    }
    
    .accordion-button-info:not(.collapsed) {
        background-color: #d9edf7;
    }
    

    .future-quarter {
        opacity: 0.6;
        pointer-events: none;
    }
    .future-quarter .accordion-button {
        background-color: #e9ecef;
        color: #6c757d;
    }
    
    
    .list-group-item.disabled {
    opacity: 0.6;
    pointer-events: none;
    background-color: #f1eee1;
    color: #6c757d;
}

/* Пастельная цветовая схема для статуса квартала */
.report-status.success {
    background-color: #e6f7e6;
    color: #2e7d32;
    border: 1px solid #a5d6a7;
}
.report-status.danger {
    background-color: #ffebee;
    color: #c62828;
    border: 1px solid #ef9a9a;
}
.report-status.warning {
    background-color: #fff8e1;
    color: #f57f17;
    border: 1px solid #ffe082;
}
.report-status.info {
    background-color: #e3f2fd;
    color: #1565c0;
    border: 1px solid #90caf9;
}
.report-status.secondary {
    background-color: #f5f5f5;
    color: #616161;
    border: 1px solid #e0e0e0;
}

/* Анимация и общие стили */
.report-status {
    letter-spacing: 0.3px;
    transition: all 0.25s ease;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.report-status:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Стили для переключателя на редактирование в формах */

/* Блокировка событий только для полей ввода */
.no-events {
    pointer-events: none;
    background-color: #f8f9fa;
    cursor: not-allowed;
}

/* Переключатель должен оставаться кликабельным и показывать курсор */
.form-switch, 
.form-check-input, 
.form-check-label,

#editEducationToggle,
#editEducationToggle + .form-check-label,
#editWorkToggle,
#editWorkToggle + .form-check-label,
#editCollectivesToggle,
#editCollectivesToggle + .form-check-label,
#editInVogRoToggle,
#editInVogRoToggle + .form-check-label,
#editChampionshipsToggle,
#editChampionshipsToggle + .form-check-label,
#editTranslatorsToggle,
#editTranslatorsToggle + .form-check-label,
#editDispatchersToggle,
#editDispatchersToggle + .form-check-label {
    pointer-events: auto !important;
    cursor: pointer !important;
}

/* Стили для приглушенного блока */
.education-disabled,
.work-disabled,
.collectives-disabled,
.inVogRo-disabled,
.championships-disabled,
.translators-disabled,
.dispatchers-disabled {
    opacity: 0.6;
}

/* Стили для позиционирования переключателя */
.card-header.position-relative {
    padding-right: 120px;
}

/* Яркая оранжевая точка в выключенном состоянии */

#editEducationToggle.form-check-input:not(:checked),
#editWorkToggle.form-check-input:not(:checked),
#editCollectivesToggle.form-check-input:not(:checked),
#editInVogRoToggle.form-check-input:not(:checked),
#editChampionshipsToggle.form-check-input:not(:checked),
#editTranslatorsToggle.form-check-input:not(:checked),
#editDispatchersToggle.form-check-input:not(:checked) {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ff7700'/%3e%3c/svg%3e") !important;
}

/* Белая точка во включенном состоянии */
#editEducationToggle.form-check-input:checked,
#editWorkToggle.form-check-input:checked,
#editCollectivesToggle.form-check-input:checked,
#editInVogRoToggle.form-check-input:checked,
#editChampionshipsToggle.form-check-input:checked,
#editTranslatorsToggle.form-check-input:checked,
#editDispatchersToggle.form-check-input:checked {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e") !important;
}

/* Увеличиваем размер бегунка */
#editEducationToggle.form-check-input,
#editWorkToggle.form-check-input,
#editCollectivesToggle.form-check-input,
#editInVogRoToggle.form-check-input,
#editChampionshipsToggle.form-check-input,
#editTranslatorsToggle.form-check-input,
#editDispatchersToggle.form-check-input {
    transform: scale(1.2) !important;
}

/* Увеличиваем область клика */
#editEducationToggle  + .form-check-label,
#editWorkToggle  + .form-check-label,
#editCollectivesToggle  + .form-check-label,
#editInVogRoToggle  + .form-check-label,
#editChampionshipsToggle + .form-check-label,
#editTranslatorsToggle + .form-check-label,
#editDispatchersToggle + .form-check-label {
    margin-left: 8px;
    font-weight: 600;
}

.card-header .position-absolute {
    z-index: 1;
}

.card-header .form-switch {
    white-space: nowrap;
}

.card-header .form-check-label {
    margin-left: 5px;
}

/*Для формы ТРУД подпункты*/

    .header-light {
        background-color: rgba(248, 249, 250, 0.8) !important; /* Светлый серый фон */
        font-size: 0.9rem; /* Чуть меньший размер шрифта */
    }
    
    /* Новый класс для компактных карточек в подпунктах ТРУД */
    .card-sm {
        font-size: 0.925em; /* Чуть меньший размер шрифта во всем */
    }
    .card-sm .card-header {
        padding: 0.25rem 0.75rem; /* Меньшие отступы в заголовке карточки */
    }
    .card-sm .card-body {
        padding: 0.75rem; /* Меньшие отступы в теле карточки */
    }
    .card-sm .form-control {
        font-size: 0.925em; /* Чтобы текст в инпутах тоже был чуть меньше */
    }
    
    
/*================== БЮДЖЕТ ============================*/

    .main-item-income-budget { 
        --bs-table-bg: #f0fff0;  
    }
    .main-item-expense-budget { --bs-table-bg: #fff0f5; }
    .section-header-budget { --bs-table-bg: #d4edda; font-weight: bold !important; font-size: 1.1em; }
    .expense-header-budget { --bs-table-bg: #f8d7da; font-weight: bold !important; font-size: 1.1em; }
    .sub-item-budget { padding-left: 30px !important; }
    .sub-sub-item-budget { padding-left: 50px !important; }
    .amount-column-budget { text-align: center !important; }
    .table-budget { margin-bottom: 0 !important; border-collapse: collapse !important; vertical-align: middle; }
    .table-income-budget { border: 2px solid #28a745; }
    .table-expense-budget { border: 2px solid #e83e8c; }
    .table-header-budget { border: 2px solid #ffc107; }
    .table-balance-budget { border: 2px solid #bfcfe7; }
    .main-balance-budget { --bs-table-bg: #cfe2ff; font-weight: bold; font-size: 1.2em; }
    .main-header-budget { --bs-table-bg: #fff3cd; font-weight: bold; font-size: 1.1em; }
.input-amount { 
    width: 100%; 
    border: 2px solid #dee2e6; 
    background: #ffffff; 
    text-align: center; 
    padding: 0.25rem; 
    border-radius: 4px;
    transition: all 0.3s ease;
    font-weight: 500;
                }
.input-amount:focus { 
    outline: none; 
    background-color: #ffffff; 
    border-color: #007bff; 
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
                }
.input-amount:not(:placeholder-shown) {
    background-color: #f8f9fa;
    border-color: #adb5bd;
                }
.input-amount::placeholder {
    color: #6c757d;
    opacity: 0.7;
    font-style: italic;
                }
                
                
.calculated-amount {
    width: 100%;
   /* background: #f8f9fa;*/
    text-align: center;
    padding: 0.25rem;
    font-weight: 500;
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    color: #495057;
}

.calculated-amount:hover {
    background: #e9ecef;
    border-color: #adb5bd;
}

.total-amount {
    background: #e7f3ff;
    border-color: #b3d9ff;
    font-weight: bold;
    font-size: 1.1em;
}

.total-amount:hover {
    background: #d4eaff;
    border-color: #80bdff;
}

.balance-amount {
    /*background: #dff0d8;*/
    border-color: #397e3b;
    color: #397e3b;
    font-weight: bold;
    font-size: 1.1em;
}

.balance-amount.negative {
    background: #f8d7da;
    border-color: #f1aeb5;
    color: #721c24;
}

.balance-amount.positive {
    background: #d1edff;
    border-color: #a6d5ff;
    color: #155724;
}

.alert-danger {
    border: 2px solid #dc3545;
    border-radius: 4px;
    padding: 1rem;
    margin-top: 1rem;
    background: #f8d7da;
    color: #721c24;
}


/*========== Бюджет Легенда ==========*/

    .legend-item {
        display: inline-flex;
        align-items: center;
        margin: 0 1rem 0.5rem 0;
    }
    .color-square {
        width: 25px;
        height: 25px;
        border: 1px solid #dee2e6;
        margin-right: 0.4rem;
        flex-shrink: 0;
    }
    .legend-text {
        font-size: 0.95rem;
        white-space: nowrap;
    }
    .legend-container {
        border: 1px solid #dee2e6;
        border-radius: 0.25rem;
        padding: 0.5rem 0.75rem;
    }
    .color-nothing {
        background-color: #e2e3e5;
    }
    .color-project {
        background-color: #fff3cd;
    }
    
    .color-review {
        background-color: #f8d7da;
    }
    .color-approved {
        background-color: #dff0d8;
    }
    .color-confirmed {
        background-color: #cfe2ff;
    }
    
    
   /* ПЕРЕКЛЮЧАТЕЛЬ БЮДЖЕТА - ОБНОВЛЕННЫЙ ДЛЯ ДВУХ КНОПОК */
/* ПЕРЕКЛЮЧАТЕЛЬ БЮДЖЕТА */
.compact-toggle {
    background: transparent;
    border-radius: 8px;
    padding: 8px 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.radio-toggle-container {
    display: flex;
    background: #f8f9fa;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #e9ecef;
    width: 100%;
    max-width: 230px;
}

.budget-radio {
    display: none;
}

.radio-label {
    padding: 8px 12px;
    font-size: 0.85rem;
    border: none;
    flex: 1;
    transition: all 0.2s ease;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 55px;
    text-align: center;
    color: #6c757d;
    width: 50%;
    box-sizing: border-box;
}

.radio-label:first-of-type {
    border-radius: 8px 0 0 8px;
}

.radio-label:last-of-type {
    border-radius: 0 8px 8px 0;
}

.radio-review {
    background-color: #f8f9fa;
}

.radio-review:hover {
    background-color: #f1f3f4;
}

#budgetReview:checked + .radio-review {
    background-color: #f8d7da;
    color: #721c24;
    border-color: #f5c6cb;
}


#subsidyReview:checked + .radio-review {
    background-color: #f8d7da;
    color: #721c24;
    border-color: #f5c6cb;
}


.radio-approved {
    background-color: #f8f9fa;
}

.radio-approved:hover {
    background-color: #f1f3f4;
}

#budgetApproved:checked + .radio-approved {
    background-color: #dff0d8;
    color: #397e3b;
    border-color: #a3e9a4;
}

#subsidyApproved:checked + .radio-approved {
    background-color: #dff0d8;
    color: #397e3b;
    border-color: #a3e9a4;
}

.radio-icon {
    font-size: 1.1rem;
    opacity: 0.8;
    transition: all 0.2s ease;
    margin-bottom: 4px;
}

#budgetReview:checked + .radio-review .radio-icon,
#budgetApproved:checked + .radio-approved .radio-icon {
    opacity: 1;
}

#subsidyReview:checked + .radio-review .radio-icon,
#subsidyApproved:checked + .radio-approved .radio-icon {
    opacity: 1;
}


#budgetReview:checked + .radio-review .radio-icon {
    color: #721c24;
}

#budgetApproved:checked + .radio-approved .radio-icon {
    color: #28a745;
}

#subsidyReview:checked + .radio-review .radio-icon {
    color: #721c24;
}

#subsidyApproved:checked + .radio-approved .radio-icon {
    color: #28a745;
}

.radio-status {
    display: block;
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 0.3px;
    min-height: 1.2em;
    line-height: 1.2;
}

.current-status-mini {
    margin-top: 10px;
    padding: 6px 10px;
    background: #f8f9fa;
    border-radius: 6px;
    font-size: 0.85rem;
    text-align: center;
    color: #495057;
    border: 1px solid #e9ecef;
    transition: all 0.2s ease;
    width: 100%;
    max-width: 230px;
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Статус "на доработке" */
.current-status-mini.review {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}

/* Статус "закрыт" - зеленый */
.current-status-mini.approved {
    color: #28a745;
    background-color: #f0f9f4;
    border-color: #d1e7dd;
}

/* Статус "черновик" - серый */
.current-status-mini.draft {
    color: #6c757d;
    background-color: #f8f9fa;
    border-color: #e9ecef;
}

/* Статус "на проверке" - оранжевый/желтый */
.current-status-mini.project {
    color: #fd7e14;
    background-color: #fff3cd;
    border-color: #ffeaa7;
}

.current-status-mini.no-selection {
    color: #6c757d;
    background-color: #f8f9fa;
    border-color: #e9ecef;
    opacity: 0.7;
}

.current-status-mini.no-budget,
.current-status-mini.disabled {
    color: #7f8c8d;
}

.budget-radio:disabled + label,
.disabled-label {
    opacity: 0.5;
    cursor: not-allowed !important;
}

.budget-radio:disabled {
    cursor: not-allowed;
}

#editBudget.disabled {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}

#editBudget.disabled:hover {
    background-color: #d1ecf1;
    text-decoration: none;
}

/* Адаптивность */
@media (max-width: 768px) {
    .compact-toggle {
        margin: 0 auto;
    }
    
    .radio-toggle-container,
    .current-status-mini {
        max-width: 230px;
    }
    
    .radio-label {
        padding: 10px 12px;
    }
}


/* ========= СТИЛИ ДЛЯ НАВИГАЦИИ БЮДЖЕТА ====== */
.nav-budget-row {
  /* Стили для ряда, если нужны */
}

.nav-budget-item {
  min-height: 40px !important;
  display: flex !important;
  align-items: center !important;
  padding-left: 1rem !important;
}

.nav-budget-disabled {
  /* Стили для отключенных элементов */
  cursor: not-allowed;
}

.nav-budget-dropdown {
  /* Стили для контейнера dropdown */
  position: relative;
}

.nav-budget-dropdown-toggle::after {
  /* Кастомизация стрелочки dropdown, если нужно */
  margin-left: 0.5em;
}

.nav-budget-dropdown-menu {
  /* Стили для выпадающего меню */
  border: 1px solid var(--bs-border-color);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.nav-budget-dropdown-link.active, 
.nav-budget-dropdown-link:active {
  background-color: #e2e3e5 !important;
  color: inherit !important;
}

/* Дополнительные стили для мобильных устройств */
@media (max-width: 768px) {
  .nav-budget-item {
    padding-left: 1.5rem !important;
  }
}

/* ==========СТИЛИ ДЛЯ ФОРМЫ КОММЕНТАРИЯ ==========*/
#messageForm {
    max-width: 230px;
    margin-left: auto;
    margin-right: auto;
    transition: all 0.3s ease;
}

/* Стили для текстового поля */
#messageForm .form-control-sm {
    border-radius: 6px;
    border: 1px solid #dee2e6;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    color: #495057;
    background-color: #fff;
}

#messageForm .form-control-sm:focus {
    border-color: #f5c6cb;
    box-shadow: 0 0 0 0.25rem rgba(248, 215, 218, 0.25);
    outline: 0;
}

#messageForm .form-control-sm::placeholder {
    color: #adb5bd;
    font-size: 0.8rem;
    font-style: italic;
}

/* Стили для результата отправки */
#sendMessageResult {
    font-size: 0.8rem;
    line-height: 1.3;
    padding: 3px 5px;
    border-radius: 4px;
    transition: all 0.3s ease;
}

#sendMessageResult.success {
    color: #198754;
    background-color: #d1e7dd;
    border: 1px solid #badbcc;
}

#sendMessageResult.error {
    color: #dc3545;
    background-color: #f8d7da;
    border: 1px solid #f5c2c7;
}

/* Стили для кнопки комментария */
.comment-btn {
    color: #6c757d;
    border-color: #dee2e6;
    background-color: transparent;
    font-weight: 500;
    transition: all 0.2s ease;
    position: relative;
    overflow: hidden;
    border-radius: 6px;
    padding: 0.4rem 0.75rem;
    font-size: 0.85rem;
    border-width: 1px;
    border-style: solid;
}

.comment-btn:hover {
    background-color: #f8d7da !important;
    color: #721c24 !important;
    border-color: #f5c6cb !important;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(114, 28, 36, 0.15);
}

.comment-btn:active {
    background-color: #f1c6cb !important;
    color: #5a1a21 !important;
    border-color: #e9b5bc !important;
    transform: translateY(0);
    box-shadow: inset 0 2px 4px rgba(114, 28, 36, 0.2);
}

.comment-btn:focus {
    box-shadow: 0 0 0 0.25rem rgba(248, 215, 218, 0.5);
    border-color: #f5c6cb;
    color: #721c24;
    outline: 0;
}

.comment-btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

.comment-btn:disabled:hover {
    background-color: transparent !important;
    color: #6c757d !important;
    border-color: #dee2e6 !important;
    transform: none;
    box-shadow: none;
}

/* Анимация при отправке */
.comment-btn.sending {
    position: relative;
    color: transparent !important;
}

.comment-btn.sending::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    top: 50%;
    left: 50%;
    margin: -8px 0 0 -8px;
    border: 2px solid transparent;
    border-top-color: #721c24;
    border-radius: 50%;
    animation: button-spinner 0.6s linear infinite;
}

@keyframes button-spinner {
    to {
        transform: rotate(360deg);
    }
}

/* Адаптивность */
@media (max-width: 768px) {
    #messageForm {
        max-width: 230px;
        margin: 15px auto 0;
    }
    
    .comment-btn {
        padding: 0.4rem 0.75rem;
        font-size: 0.85rem;
    }
}

@media (max-width: 576px) {
    #messageForm {
        max-width: 100%;
        padding: 0 10px;
    }
    
    #messageForm .form-control-sm {
        font-size: 0.9rem;
    }
}

/* Для очень маленьких экранов */
@media (max-width: 360px) {
    .comment-btn {
        font-size: 0.8rem;
        padding: 0.35rem 0.5rem;
    }
    
    .comment-btn i {
        font-size: 0.85rem;
        margin-right: 0.3rem;
    }
}

/* ================ Стили ДЛЯ ФОРМ БЮДЖЕТА ====================*/

/* Стили для заблокированной формы */
.input-amount:disabled,
.input-amount[readonly] {
    background-color: #f8f9fa !important;
    cursor: not-allowed !important;
    border-color: #dee2e6 !important;
}

.btn:disabled {
    cursor: not-allowed !important;
    opacity: 0.65 !important;
}

/* Стили для баланса */
.negative {
    color: #dc3545 !important;
    font-weight: bold;
}

.positive {
    color: #198754 !important;
    font-weight: bold;
}

/* Стили для алерта */
#budgetAlert {
    transition: all 0.3s ease;
}

/* Стили для проектного столбца */
.project-column {
    background-color: #e9ecef !important;
    color: #6c757d !important;
    font-style: italic;
    text-align: center;
}

.project-header {
    background-color: #e9ecef !important;
    font-weight: bold;
    color: #495057 !important;
    text-align: center;
}


/* Компактные стили для алертов */
#blockedProject {
    border-left-width: 5px !important;
    padding: 12px 15px !important;
    margin: 15px 0 20px 0 !important;
}

#blockedProject i {
    font-size: 1.1rem;
    margin-right: 8px;
}

#blockedProject strong {
    display: flex;
    align-items: center;
    font-size: 1.05rem;
}

#blockedProject .status-message {
    margin-top: 5px;
    padding-left: 25px;
    font-size: 0.9rem;
    opacity: 0.9;
}

/* Стили для кастомных tooltip */
.custom-tooltip .tooltip-inner {
    max-width: 400px !important;
    min-width: 350px !important;
    padding: 15px !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    text-align: left !important;
    background-color: #fff !important;
    color: #333 !important;
    border-radius: 8px !important;
    border: 1px solid #dee2e6 !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.15) !important;
}

/* Стрелка tooltip */
.custom-tooltip.bs-tooltip-end .tooltip-arrow::before {
    border-right-color: #fff !important;
    filter: drop-shadow(2px 0 2px rgba(0,0,0,0.1));
}

/* Контент внутри tooltip */
.tooltip-content h6 {
    color: #0d6efd;
    font-weight: 600;
    margin-bottom: 10px;
    font-size: 1.1rem;
    border-bottom: 2px solid #0d6efd;
    padding-bottom: 5px;
}

.tooltip-content .text-warning + .tooltip-content h6 {
    color: #fd7e14;
    border-bottom-color: #fd7e14;
}

.tooltip-content p {
    font-weight: 600;
    margin-bottom: 8px;
    color: #495057;
}

.tooltip-content ul,
.tooltip-content ol {
    margin-bottom: 10px;
}

.tooltip-content li {
    margin-bottom: 4px;
    color: #495057;
}

.tooltip-content .text-muted {
    color: #6c757d !important;
    font-size: 0.95rem;
}

/* Иконки в заголовках */
.tooltip-content h6 i {
    font-size: 1rem;
}

/* Увеличенные иконки вопросов */
.fa-question-circle {
    transition: all 0.2s ease;
    opacity: 0.85;
}

.fa-question-circle:hover {
    opacity: 1;
    transform: scale(1.1);
}

/* Для кнопки отправки - оранжевая иконка */
.text-warning.fa-question-circle {
    color: #fd7e14 !important;
}

/* Для кнопки сохранения - синяя иконка */
.text-primary.fa-question-circle {
    color: #0d6efd !important;
}
