
	/* Анимация уведомлений */
@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOut {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

.briefing-edit-field {
    width: 100%;
    resize: vertical;
    min-height: 60px;
}

.notification-toast {
    animation: slideIn 0.3s ease;
}

    :root {
        /* Основная цветовая палитра */
        --rush-orange: #F5BB41;
        --rush-orange-dark: #E5AB31;
        --rush-blue: #2167D1;
        --rush-blue-light: #3D84F3;
        --rush-green: #4CA853;
        --rush-red: #D74F3F;
        --rush-black: #040404;
        --rush-gray: #222222;
        --rush-light-bg: #F1F1F1;

        /* Размеры */
        --sidebar-width: 70px;

        /* Тени и скругления */
        --card-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
        --card-shadow-hover: 0 8px 24px rgba(0, 0, 0, 0.12);
        --border-radius: 12px;
        --border-radius-small: 8px;
    }

    .card h5 i,
    .modal-title i,
    h6 i {
        display: inline-block;
    }

    .card h5::before,
    h6::before {
        content: none !important;
    }

    body {
        background-color: var(--rush-light-bg);
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
        margin: 0;
        padding: 0;
        list-style: none;
        color: var(--rush-black);
        font-size: 15px;
        line-height: 1.6;
    }

    h1, h2, h3, h4, h5, h6 {
        color: var(--rush-black);
        font-weight: 700;
        line-height: 1.3;
        margin-top: 0;
    }

    h1 { font-size: 2.5rem; }
    h2 { font-size: 2rem; }
    h3 { font-size: 1.5rem; }
    h4 { font-size: 1.25rem; }
    h5 { font-size: 1.1rem; }
    h6 { font-size: 1rem; }

	.filter-section {
		background: #FFFFFF;
		padding: 24px;
		border-radius: var(--border-radius);
		margin-bottom: 24px;
		display: grid;
		grid-template-columns: repeat(5, 1fr); /* 5 равных колонок */
		gap: 16px;
		box-shadow: var(--card-shadow);
	}

	.filter-group {
		display: flex;
		flex-direction: column;
		gap: 5px;
		margin-bottom: 20px;
	}

	.filter-label {
		font-size: 0.85rem;
		font-weight: 600;
		color: #6c757d;
		margin-bottom: 5px;
	}

	.filter-input,
	.filter-select {
		width: 100%;
		padding: 10px 14px;
		border: 1px solid #ddd;
		border-radius: 4px;
		font-size: 0.9rem;
		transition: all 0.3s ease;
		box-sizing: border-box;
		height: 42px;
		background: #FFFFFF;
	}

	/* Опции одиночного выбора (NDA и подобные) */
	.single-select-option {
		padding: 4px 8px;
		font-size: 0.8rem;
		cursor: pointer;
		color: #333;
	}
	.single-select-option:hover {
		background: #f8f9fa;
	}
	.single-select-option.selected-nda {
		font-weight: 600;
		color: var(--rush-orange);
	}

	.filter-input:focus,
	.filter-select:focus {
		outline: none;
		border-color: var(--rush-orange);
		box-shadow: 0 0 0 4px rgba(245, 187, 65, 0.15);
	}

	/* VIP занимает половину колонки */
	.filter-group-vip {
		grid-column: span 1;
		max-width: 120px; /* Делаем узким */
	}

	/* Кнопка в той же ячейке */
	.filter-group-button {
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
	}

	.btn-reset {
		padding: 8px 20px;
		border-radius: 6px;
		cursor: pointer;
		font-weight: 500;
		font-size: 0.9rem;
		border: 1px solid #dee2e6;
		background: white;
		color: #6c757d;
		height: 38px;
		white-space: nowrap;
	}

	.btn-reset:hover {
		background: #f8f9fa;
		border-color: #adb5bd;
	}
	
	.btn-reset {
		background: var(--rush-gray);
		color: white;
		border: none;
		border-radius: var(--border-radius-small);
		padding: 10px 20px;
		font-weight: 600;
		cursor: pointer;
		transition: all 0.3s ease;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 42px;
	}

	.btn-reset:hover {
		background: var(--rush-black);
		transform: translateY(-2px);
		box-shadow: 0 6px 16px rgba(4, 4, 4, 0.2);
	}

    .filter-toggle {
        cursor: pointer;
        color: var(--rush-orange);
        font-weight: 500;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 15px;
        transition: all 0.2s;
    }

    .filter-toggle:hover {
        color: var(--rush-orange-dark);
    }

    .filter-toggle i {
        transition: transform 0.3s;
    }

    .filter-toggle.collapsed i {
        transform: rotate(-90deg);
    }
	
	.js-toggle-upsell-filters i {
    transform: none !important;
	}

	.filter-content {
		max-height: 1000px;
		overflow: hidden;
		transition: max-height 0.3s ease-in-out;
	}

    .filter-content.collapsed {
        max-height: 0;
        overflow: hidden;
    }

    * {
        list-style: none !important;
    }

    .navbar {
        background: var(--rush-orange);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
        padding: 1.2rem 2rem;
        margin-left: var(--sidebar-width);
    }

    .navbar-brand {
        font-weight: bold;
        font-size: 1.5rem;
        color: white !important;
    }

    .sidebar {
        position: fixed;
        left: 0;
        top: 0;
        width: var(--sidebar-width);
        height: 100vh;
        background: var(--rush-black);
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: 24px;
        z-index: 1000;
        box-shadow: 4px 0 12px rgba(0, 0, 0, 0.1);
    }

    .sidebar-logo {
        width: 44px;
        height: 44px;
        background: var(--rush-orange);
        border-radius: var(--border-radius-small);
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 32px;
        color: white;
        font-weight: bold;
        font-size: 1.3rem;
        box-shadow: 0 4px 8px rgba(245, 187, 65, 0.3);
    }

    .sidebar-item {
        width: 50px;
        height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 8px 0;
        border-radius: var(--border-radius-small);
        cursor: pointer;
        transition: all 0.3s ease;
        color: rgba(255, 255, 255, 0.5);
        font-size: 1.3rem;
        position: relative;
    }

    .sidebar-item:hover {
        background: rgba(255, 255, 255, 0.08);
        color: white;
        transform: scale(1.05);
    }

    .sidebar-item.active {
        background: var(--rush-orange);
        color: white;
        box-shadow: 0 4px 12px rgba(245, 187, 65, 0.4);
    }

    .sidebar-item:hover::after {
        content: attr(data-title);
        position: absolute;
        left: 70px;
        background: var(--rush-gray);
        color: white;
        padding: 8px 14px;
        border-radius: var(--border-radius-small);
        white-space: nowrap;
        font-size: 0.85rem;
        z-index: 1001;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .main-content {
        margin-left: var(--sidebar-width);
    }

    .stat-card {
        border-radius: var(--border-radius);
        padding: 24px;
        color: white;
        margin-bottom: 24px;
        transition: all 0.3s ease;
        box-shadow: var(--card-shadow);
    }

    .stat-card:hover {
        transform: translateY(-4px);
        box-shadow: var(--card-shadow-hover);
    }

    .stat-card-1 { background: linear-gradient(135deg, var(--rush-blue) 0%, var(--rush-blue-light) 100%); }
    .stat-card-2 { background: linear-gradient(135deg, var(--rush-green) 0%, #5BC062 100%); }
    .stat-card-3 { background: linear-gradient(135deg, var(--rush-orange) 0%, var(--rush-orange-dark) 100%); }
    .stat-card-4 { background: linear-gradient(135deg, var(--rush-gray) 0%, var(--rush-black) 100%); }
    .stat-card-5 { background: linear-gradient(135deg, #F44336 0%, #D32F2F 100%); }

    .stat-card-active {
        transform: translateY(-4px) scale(1.05);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
        border: 3px solid white;
    }

    /* ====== КАРТА ТЕПЛА: кнопка «Всего» и подсветка выбора ====== */
    .heatmap-total-btn {
        display: block; width: 100%;
        background: #fff; border: 2px solid #dee2e6;
        border-radius: var(--border-radius); padding: 18px 16px;
        color: #495057; font-weight: 600; cursor: pointer;
        transition: all 0.2s; text-align: center;
        box-shadow: var(--card-shadow);
    }
    .heatmap-total-btn:hover { border-color: var(--rush-orange); color: var(--rush-orange); background: #fff8f3; }
    .heatmap-total-btn.active { border-color: var(--rush-orange); color: var(--rush-orange); background: #fff3ec; box-shadow: 0 4px 16px rgba(224,123,57,0.25); }
    .heatmap-total-count { font-size: 2.4rem; font-weight: 700; line-height: 1; }
    .heatmap-total-label { font-size: 0.75rem; margin-top: 6px; letter-spacing: 0.02em; }

    .stat-number {
        font-size: 2.5rem;
        font-weight: bold;
    }

    .stat-label {
        font-size: 0.9rem;
        opacity: 0.9;
    }

    .table th {
        background-color: #FAFAFA;
        font-weight: 700;
        text-transform: uppercase;
        font-size: 0.8rem;
        color: var(--rush-gray);
        border-bottom: 3px solid var(--rush-orange);
        cursor: pointer;
        user-select: none;
        position: relative;
        padding-right: 25px;
        letter-spacing: 0.5px;
    }

    .table th:hover {
        background-color: #F0F0F0;
    }

    /* Стили для фильтров в заголовках колонок */
    .table th.with-filter {
        position: relative;
    }

    .table th .th-content {
        display: flex;
        align-items: center;
        gap: 6px;
    }

    .table th .th-text {
        flex: 1;
        display: flex;
        align-items: center;
        gap: 4px;
    }

    .table th .sort-icon {
        font-size: 0.7rem;
        color: #6c757d;
        opacity: 0.3;
    }

    .table th.sort-asc .sort-icon {
        opacity: 1;
        color: var(--rush-orange);
    }

    .table th.sort-desc .sort-icon {
        opacity: 1;
        color: var(--rush-orange);
    }

    .table th .filter-icon {
        font-size: 0.75rem;
        color: #6c757d;
        cursor: pointer;
        opacity: 0.5;
        transition: all 0.2s;
        padding: 4px;
        border-radius: 3px;
        flex-shrink: 0;
    }

    .table th .filter-icon:hover {
        opacity: 1;
        color: var(--rush-orange);
        background-color: rgba(251, 130, 39, 0.1);
    }

    .table th .filter-icon.active {
        opacity: 1;
        color: var(--rush-orange);
    }

    .column-filter-dropdown {
        position: fixed;
        min-width: 180px;
        background: white;
        border: 1px solid #dee2e6;
        border-radius: 6px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        padding: 6px;
        z-index: 1050;
        text-align: left !important;
    }

    .column-filter-dropdown .single-select-option {
        padding: 5px 10px;
        font-size: 0.8rem;
        font-weight: normal;
        text-transform: none;
        letter-spacing: normal;
        cursor: pointer;
        border-radius: 4px;
    }
    .column-filter-dropdown .single-select-option:hover {
        background: #f8f9fa;
    }
    .column-filter-dropdown .single-select-option.selected-vip {
        font-weight: 600;
        color: var(--rush-orange);
    }

    .column-filter-dropdown input,
    .column-filter-dropdown select {
        width: 100%;
        font-size: 0.8rem !important;
        padding-top: 3px !important;
        padding-bottom: 3px !important;
    }

    .column-filter-dropdown .multi-select-filter {
        width: 100%;
    }

    .column-filter-dropdown .multi-select-button {
        width: 100%;
        text-align: left;
        font-size: 0.8rem;
        padding: 4px 8px;
    }

    .column-filter-dropdown .multi-select-dropdown {
        margin-top: 2px;
        max-height: 200px;
        overflow-y: auto;
        border: 1px solid #dee2e6;
        border-radius: 4px;
        background: white;
        display: none;
    }

    .column-filter-dropdown .multi-select-dropdown.active {
        display: block;
    }

    .column-filter-dropdown .multi-select-option {
        padding: 3px 8px;
        font-size: 0.8rem;
        display: flex;
        align-items: center;
        gap: 6px;
        cursor: pointer;
        line-height: 1.3;
    }

    .column-filter-dropdown .multi-select-option:hover {
        background-color: #f8f9fa;
    }

    .column-filter-dropdown .multi-select-option input[type="checkbox"] {
        cursor: pointer;
        margin: 0;
        flex-shrink: 0;
        width: 14px;
        height: 14px;
    }

    .column-filter-dropdown .multi-select-option label {
        cursor: pointer;
        text-transform: none;
        font-weight: normal;
        margin: 0;
        flex: 1;
        user-select: none;
        font-size: 0.8rem;
        color: #212529;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Внутри колоночных фильтров: кнопка «Все сотрудники» не нужна */
    .column-filter-dropdown .multi-select-button {
        display: none !important;
    }

    /* Внутри колоночных фильтров: список — обычный блок, не fixed */
    .column-filter-dropdown .multi-select-dropdown {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        max-height: 220px !important;
        overflow-y: auto !important;
        box-shadow: none !important;
        border: 1px solid #dee2e6 !important;
        z-index: auto !important;
        display: none !important;
    }
    .column-filter-dropdown .multi-select-dropdown.active {
        display: block !important;
    }

    /* Поле поиска внутри колоночных фильтров */
    .column-filter-dropdown .ms-search-wrap {
        padding: 0 0 6px 0;
    }
    .column-filter-dropdown .ms-search {
        width: 100%;
        padding: 4px 8px;
        font-size: 0.78rem;
        border: 1px solid #ced4da;
        border-radius: 4px;
        outline: none;
        box-sizing: border-box;
    }
    .column-filter-dropdown .ms-search:focus {
        border-color: var(--rush-orange);
        box-shadow: 0 0 0 2px rgba(255,107,0,0.15);
    }

    .table tbody tr {
        cursor: pointer;
        transition: all 0.3s ease;
    }

    .table tbody tr:hover {
        background-color: #FFFBF5;
        transform: scale(1.005);
        box-shadow: 0 4px 12px rgba(245, 187, 65, 0.15);
    }

    .badge {
        padding: 6px 12px;
        font-weight: 600;
        border-radius: var(--border-radius-small);
        font-size: 0.85rem;
    }

    .card {
        box-shadow: var(--card-shadow);
        border: none;
        border-radius: var(--border-radius);
        transition: all 0.3s ease;
    }

    .card:hover {
        box-shadow: var(--card-shadow-hover);
    }

    .btn-primary {
        background: var(--rush-orange);
        border: none;
        border-radius: var(--border-radius-small);
        padding: 10px 24px;
        font-weight: 600;
        transition: all 0.3s ease;
        text-transform: none;
    }

    .btn-primary:hover {
        background: var(--rush-orange-dark);
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(245, 187, 65, 0.3);
    }

    .page-section {
        display: none;
    }

    .page-section.active {
        display: block;
    }

    .modal-header {
        background: var(--rush-orange);
        color: white;
        border-bottom: none;
        border-radius: var(--border-radius) var(--border-radius) 0 0;
        padding: 20px 24px;
    }

    .modal-header .btn-close {
        filter: brightness(0) invert(1);
    }

    .nav-tabs {
        list-style: none !important;
        padding-left: 0 !important;
    }

    .nav-tabs .nav-item {
        list-style: none !important;
    }

    .nav-tabs .nav-link {
        color: var(--rush-gray);
        border: none;
        padding: 14px 28px;
        font-weight: 600;
        border-bottom: 3px solid transparent;
        background: none;
        transition: all 0.3s ease;
    }

    .nav-tabs .nav-link.active {
        color: var(--rush-orange);
        border-bottom: 3px solid var(--rush-orange);
        background: transparent;
    }

    .nav-tabs .nav-link:hover {
        color: var(--rush-orange);
        border-bottom: 3px solid rgba(245, 187, 65, 0.4);
    }

    .compact-info {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .info-item {
        display: flex;
        align-items: flex-start;
        padding: 10px 0;
        border-bottom: 1px solid #E8E8E8;
    }

    .info-item:last-child {
        border-bottom: none;
    }

    .info-label-compact {
        font-weight: 600;
        color: var(--rush-gray);
        min-width: 160px;
        font-size: 0.9rem;
        margin-right: 14px;
        opacity: 0.8;
    }

    .info-value-compact {
        color: var(--rush-black);
        font-size: 0.9rem;
        flex: 1;
        line-height: 1.5;
    }

    .info-item-vertical {
        display: flex;
        flex-direction: column;
        padding: 8px 0;
        border-bottom: 1px solid #E8E8E8;
    }

    .info-item-vertical:last-child {
        border-bottom: none;
    }

    .info-value-multiline {
        color: var(--rush-black);
        font-size: 0.78rem;
        line-height: 1.5;
        white-space: pre-line;
        word-break: break-word;
        background: #fff;
        border-radius: 6px;
        padding: 6px 10px;
        border: 1px solid #e9ecef;
    }

    .info-label-vertical {
        font-weight: 600;
        color: var(--rush-gray);
        font-size: 0.85rem;
        margin-bottom: 4px;
        opacity: 0.8;
    }

    .info-value-vertical {
        color: var(--rush-black);
        font-size: 0.9rem;
        line-height: 1.5;
        white-space: pre-wrap;
        word-break: break-word;
    }

    .modal-body {
        max-height: calc(100vh - 200px);
        overflow-y: auto;
        padding: 24px;
    }

    .modal-content {
        border-radius: var(--border-radius);
        border: none;
        box-shadow: 0 12px 48px rgba(0, 0, 0, 0.15);
    }
	

	
/* === КАРЬЕРНЫЙ РОСТ === */
    
    .career-timeline {
        position: relative;
        padding-left: 30px;
        margin-top: 20px;
    }

    .career-timeline::before {
        content: '';
        position: absolute;
        left: 8px;
        top: 0;
        bottom: 0;
        width: 2px;
        background: linear-gradient(to bottom, var(--rush-orange), #e0e0e0);
    }

    .career-item {
        position: relative;
        padding-bottom: 20px;
        margin-bottom: 15px;
    }

    .career-item::before {
        content: '';
        position: absolute;
        left: -25px;
        top: 5px;
        width: 14px;
        height: 14px;
        background: white;
        border: 3px solid var(--rush-orange);
        border-radius: 50%;
        z-index: 1;
    }

    .career-item.current::before {
        background: var(--rush-orange);
        box-shadow: 0 0 0 4px rgba(251, 130, 39, 0.2);
    }

    .career-date {
        font-weight: 600;
        color: var(--rush-orange);
        font-size: 0.85rem;
        margin-bottom: 5px;
    }

    .career-position {
        font-weight: 700;
        color: #212529;
        font-size: 1rem;
        margin-bottom: 3px;
    }

    .career-duration {
        font-size: 0.85rem;
        color: #6c757d;
        font-style: italic;
    }

    .career-end-info {
        margin-top: 8px;
        padding: 10px;
        background: #fff3cd;
        border-left: 3px solid #ffc107;
        border-radius: 4px;
    }

    .career-end-label {
        font-weight: 600;
        color: #856404;
        font-size: 0.85rem;
        display: block;
        margin-bottom: 3px;
    }

    .career-end-value {
        color: #856404;
        font-size: 0.9rem;
    }

    /* === КОМАНДА === */

    .team-member {
        display: flex;
        align-items: center;
        padding: 14px;
        background: #FFFFFF;
        border-radius: var(--border-radius-small);
        margin-bottom: 10px;
        transition: all 0.3s ease;
        cursor: pointer;
        border: 1px solid #F0F0F0;
    }

    .team-member:hover {
        background: #FFFBF5;
        transform: translateX(4px);
        box-shadow: 0 4px 12px rgba(245, 187, 65, 0.15);
        border-color: var(--rush-orange);
    }

    .team-member-avatar {
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background: var(--rush-orange);
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-weight: bold;
        margin-right: 14px;
        font-size: 0.95rem;
    }

    .team-member-info {
        flex: 1;
    }

    .team-member-name {
        font-weight: 600;
        color: var(--rush-black);
        font-size: 0.95rem;
        line-height: 1.4;
    }

    .team-member-position {
        font-size: 0.85rem;
        color: var(--rush-gray);
        opacity: 0.7;
    }

    /* === ЗАМЕЩЕНИЕ === */

    .team-member.substitute-active {
        background: #FFFBF0;
        border: 2px solid var(--rush-orange);
    }

    .team-member.substitute-future {
        background: #F0F7FF;
        border: 2px solid var(--rush-blue);
    }

    .team-member.substitute-expired {
        background: #F5F5F5;
        border: 2px solid var(--rush-gray);
        opacity: 0.7;
    }

    .team-member.substitute-active .team-member-avatar {
        background: var(--rush-orange);
    }

    .team-member.substitute-future .team-member-avatar {
        background: var(--rush-blue);
    }

    .team-member.substitute-expired .team-member-avatar {
        background: var(--rush-gray);
    }

    .substitute-info {
        font-size: 0.85rem;
        margin-top: 4px;
    }

    .substitute-info.active {
        color: #856404;
    }

    .substitute-info.future {
        color: #084298;
    }

    .substitute-info.expired {
        color: #6c757d;
    }

    .btn-add-substitute {
        background: var(--rush-orange);
        color: white;
        border: none;
        padding: 4px 10px;
        border-radius: 6px;
        font-size: 0.8rem;
        transition: all 0.2s;
    }

    .btn-add-substitute:hover {
        background: var(--rush-orange-dark);
        color: white;
    }

    .btn-substitute-action {
        padding: 2px 8px;
        font-size: 0.75rem;
        margin-left: 5px;
    }

    /* === СТИЛИ ДЛЯ КЛИЕНТОВ И КОНТАКТОВ === */
    
    .clickable-link {
        color: var(--rush-orange);
        text-decoration: none;
        cursor: pointer;
        transition: all 0.2s;
    }

    .clickable-link:hover {
        color: var(--rush-orange-dark);
        text-decoration: underline;
    }

    .clickable-company {
        color: white;
        text-decoration: underline;
        cursor: pointer;
        transition: opacity 0.2s;
    }

    .clickable-company:hover {
        opacity: 0.8;
    }

    .clickable-phone {
        color: var(--rush-orange);
        text-decoration: none;
        cursor: pointer;
        transition: all 0.2s;
    }

    .clickable-phone:hover {
        color: var(--rush-orange-dark);
        text-decoration: underline;
    }

    .deals-history-table {
        width: 100%;
        margin-top: 15px;
    }

    .deals-history-table th {
        background-color: #f8f9fa;
        font-weight: 600;
        font-size: 0.85rem;
        color: #495057;
        padding: 12px;
        border-bottom: 2px solid var(--rush-orange);
    }

    .deals-history-table td {
        padding: 12px;
        border-bottom: 1px solid #dee2e6;
    }

    .deals-history-table tbody tr {
        cursor: pointer;
        transition: all 0.2s;
    }

    .deals-history-table tbody tr:hover {
        background-color: #fff3e6;
        transform: scale(1.01);
        box-shadow: 0 2px 8px rgba(251, 130, 39, 0.2);
    }

    .client-stat-card {
        background: #f8f9fa;
        border-radius: 8px;
        padding: 15px;
        text-align: center;
        margin-bottom: 15px;
    }

    .client-stat-number {
        font-size: 1.8rem;
        font-weight: bold;
        color: var(--rush-orange);
        margin-bottom: 5px;
    }

    .client-stat-label {
        font-size: 0.85rem;
        color: #6c757d;
    }
	
	/* ==================== КОНТАКТЫ ПРОЕКТА ==================== */
	.contact-card {
		background: #f8f9fa;
		border-radius: 8px;
		margin-bottom: 10px;
		border-left: 3px solid var(--rush-orange);
		overflow: hidden;
		transition: all 0.2s ease;
	}

	.contact-card:hover {
		box-shadow: 0 2px 8px rgba(0,0,0,0.1);
	}

	.contact-card-header {
		padding: 12px 15px;
		cursor: pointer;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}

	.contact-card-header:hover {
		background: #f0f0f0;
	}

	.contact-main-info {
		flex: 1;
	}

	.contact-name {
		font-weight: 600;
		font-size: 0.95rem;
		color: #333;
		margin-bottom: 2px;
	}

	.contact-role {
		font-size: 0.8rem;
		color: #6c757d;
		font-style: italic;
	}

	.contact-quick-info {
		text-align: right;
		font-size: 0.85rem;
	}

	.contact-quick-info div {
		margin-bottom: 2px;
		color: #555;
	}

	.contact-quick-info i {
		width: 16px;
		color: var(--rush-orange);
		margin-right: 5px;
	}

	.contact-expand-icon {
		color: var(--rush-orange);
		margin-left: 10px;
		transition: transform 0.2s;
	}

	.contact-card.expanded .contact-expand-icon {
		transform: rotate(180deg);
	}

	.contact-card-details {
		display: none;
		padding: 15px;
		background: #fff;
		border-top: 1px solid #e9ecef;
	}

	.contact-card.expanded .contact-card-details {
		display: block;
	}

	.contact-detail-row {
		display: flex;
		margin-bottom: 8px;
		font-size: 0.9rem;
	}

	.contact-detail-label {
		width: 140px;
		color: #6c757d;
		flex-shrink: 0;
	}

	.contact-detail-value {
		color: #333;
		flex: 1;
	}

	.contact-comment {
		background: #fff8e6;
		padding: 10px;
		border-radius: 6px;
		margin-top: 10px;
		font-size: 0.85rem;
		border-left: 3px solid #ffc107;
	}

	.contact-comment-label {
		font-weight: 600;
		color: #856404;
		margin-bottom: 5px;
	}

	.contact-actions {
		display: flex;
		justify-content: flex-end;
		gap: 8px;
		margin-top: 12px;
		padding-top: 12px;
		border-top: 1px solid #e9ecef;
	}

	.add-contact-form {
		background: #fff;
		border: 2px dashed var(--rush-orange);
		border-radius: 8px;
		padding: 20px;
		margin-bottom: 15px;
		display: none;
	}

	.add-contact-form.show {
		display: block;
	}

	.add-contact-form .form-label {
		font-size: 0.85rem;
		font-weight: 600;
		color: var(--rush-gray);
		margin-bottom: 6px;
	}

	.add-contact-form .form-control:focus {
		border-color: var(--rush-orange);
		box-shadow: 0 0 0 4px rgba(245, 187, 65, 0.15);
	}

	.primary-contact-badge {
		background: var(--rush-orange);
		color: white;
		font-size: 0.7rem;
		padding: 2px 6px;
		border-radius: 10px;
		margin-left: 8px;
		vertical-align: middle;
	}

	/* ==================== КАРТОЧКИ КОНТАКТОВ v2 ==================== */
	.contact-card-v2 {
		background: #fff;
		border-radius: 10px;
		margin-bottom: 10px;
		border-left: 3px solid var(--rush-orange);
		box-shadow: 0 1px 4px rgba(0,0,0,0.07);
		overflow: hidden;
		transition: box-shadow 0.2s ease;
		max-width: 100%;
	}
	.contact-card-v2:hover {
		box-shadow: 0 3px 10px rgba(0,0,0,0.12);
	}
	.ccv2-header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 8px 12px 6px;
	}
	.ccv2-name-block {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 4px;
		min-width: 0;
	}
	.ccv2-name {
		font-weight: 700;
		font-size: 0.9rem;
		color: #222;
	}
	.ccv2-actions {
		display: flex;
		gap: 4px;
		flex-shrink: 0;
		margin-left: 8px;
	}
	.ccv2-actions .btn {
		padding: 2px 6px;
		font-size: 0.75rem;
	}
	.ccv2-primary-checkbox {
		cursor: pointer;
		user-select: none;
	}
	.ccv2-primary-checkbox .form-check-input {
		width: 1em;
		height: 1em;
		margin-top: 0;
		cursor: pointer;
	}
	.ccv2-contacts-row {
		display: flex;
		align-items: center;
		gap: 10px;
		flex-wrap: wrap;
		padding: 6px 12px;
		background: #f8f9fa;
		font-size: 0.8rem;
		color: #444;
		border-top: 1px solid #eee;
	}
	.ccv2-role-plain {
		padding: 2px 12px 6px;
		font-size: 0.78rem;
		color: #6c757d;
		border-top: none;
	}
	.ccv2-role-row {
		display: flex;
		align-items: center;
		gap: 8px;
		padding: 0 14px 8px;
		flex-wrap: wrap;
	}
	.ccv2-role-badge {
		background: rgba(245,187,65,0.15);
		color: #b07d00;
		font-size: 0.78rem;
		font-weight: 600;
		padding: 2px 10px;
		border-radius: 20px;
		border: 1px solid rgba(245,187,65,0.4);
	}
	.ccv2-position {
		font-size: 0.8rem;
		color: #6c757d;
	}
	.ccv2-contact-item {
		display: flex;
		align-items: center;
		gap: 5px;
		white-space: nowrap;
	}
	.ccv2-contact-item i {
		color: var(--rush-orange);
		width: 13px;
	}
	.ccv2-meta-row {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		padding: 7px 14px 8px;
		border-top: 1px solid #f0f0f0;
	}
	.ccv2-meta-item {
		font-size: 0.78rem;
		color: #555;
		background: #f1f3f5;
		padding: 2px 9px;
		border-radius: 12px;
		display: flex;
		align-items: center;
		gap: 4px;
	}
	.ccv2-meta-item i {
		color: #888;
		font-size: 0.75rem;
	}
	.ccv2-decision {
		background: #e8f4fd;
		color: #1a6fa5;
	}
	.ccv2-decision i {
		color: #1a6fa5;
	}
	.ccv2-comment {
		margin: 0 12px 10px;
		background: #fff8e6;
		border-left: 3px solid #ffc107;
		border-radius: 0 6px 6px 0;
		padding: 6px 10px;
		font-size: 0.8rem;
		color: #6b5000;
		font-style: italic;
	}

	/* ===== CONTACT CARD INLINE EDIT MODE ===== */
	/* Базовое состояние: edit-кнопки и поля скрыты */
	.contact-card-v2 .ccv2-edit-mode { display: none !important; }

	/* Режим редактирования: view скрыт, edit показан */
	.contact-card-v2.editing .ccv2-view-mode { display: none !important; }
	.contact-card-v2.editing .ccv2-edit-mode { display: block !important; }

	/* Хедер карточки: кнопки и поле ввода — inline-block */
	.contact-card-v2.editing .ccv2-header .ccv2-edit-mode { display: inline-block !important; }
	.contact-card-v2.editing .ccv2-edit-name { max-width: 250px; display: inline-block !important; }

	/* Подсветка редактируемой карточки */
	.contact-card-v2.editing { box-shadow: 0 0 0 2px var(--rush-orange) !important; }

	.ccv2-edit-form { border-top: 1px solid #eee; background: #fffdf5; }
	.ccv2-edit-form .form-label { font-size: 0.78rem; font-weight: 600; color: #6c757d; margin-bottom: 2px; }
	.ccv2-edit-form .form-control:focus { border-color: var(--rush-orange); box-shadow: 0 0 0 3px rgba(245,187,65,0.15); }

	.ccv2-position-plain,
	.ccv2-competencies-plain { padding: 2px 12px; font-size: 0.78rem; color: #6c757d; }

	.modal-footer .btn {
    cursor: pointer !important;
    padding: 0.6rem 1rem !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.4 !important;
	}

	.modal-footer .btn:active {
		transform: translateY(1px);
	}
	
	/* Стили для ролей */
	.role-text {
		font-weight: 500;
		color: #333;
	}

	.permissions-list {
		font-size: 0.85rem;
		color: #6c757d;
		line-height: 1.8;
	}

	.permissions-list div {
		margin-bottom: 4px;
	}

	.permissions-list i {
		color: #28a745;
		margin-right: 6px;
		width: 16px;
	}

	.permissions-preview {
		background: #f8f9fa;
		padding: 15px;
		border-radius: 6px;
		border: 1px solid #dee2e6;
	}

	.permissions-preview div {
		margin-bottom: 8px;
		font-size: 0.9rem;
	}

	.permissions-preview i {
		color: #28a745;
		margin-right: 8px;
	}

	.btn-edit-role {
		background: #f8f9fa;
		border: 1px solid #dee2e6;
		color: #495057;
		padding: 8px 18px;
		border-radius: 8px;
		cursor: pointer;
		font-size: 0.85rem;
		transition: all 0.3s ease;
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	}

	.btn-edit-role:hover {
		background: #fff;
		border-color: var(--rush-orange);
		color: var(--rush-orange);
		box-shadow: 0 2px 8px rgba(251, 130, 39, 0.15);
		transform: translateY(-1px);
	}

	.btn-edit-role:active {
		transform: translateY(0);
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	}

	.btn-edit-role i {
		margin-right: 6px;
	}
	
	.team-item {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    margin-bottom: 8px;
    overflow: hidden;
    background: white;
	}

	.team-header {
		display: flex;
		align-items: center;
		padding: 12px 15px;
		cursor: pointer;
		transition: all 0.2s;
		background: #f8f9fa;
	}

	.team-header:hover {
		background: #e9ecef;
	}

	.team-header.selected {
		background: rgba(251, 130, 39, 0.1);
		border-left: 3px solid var(--rush-orange);
	}

	.team-checkbox {
		width: 1.2rem;
		height: 1.2rem;
		margin-right: 12px;
		cursor: pointer;
	}

	.team-checkbox:checked {
		background-color: var(--rush-orange);
		border-color: var(--rush-orange);
	}

	.team-info {
		flex: 1;
		display: flex;
		align-items: center;
	}

	.team-info i {
		color: #6c757d;
		width: 24px;
		margin-right: 8px;
	}

	.team-name {
		font-weight: 500;
		color: #495057;
		font-size: 0.9rem;
	}

	.team-count {
		font-size: 0.75rem;
		color: #6c757d;
		margin-left: 8px;
	}

	.team-toggle {
		color: #6c757d;
		transition: transform 0.2s;
		margin-left: 8px;
	}

	.team-toggle.expanded {
		transform: rotate(180deg);
	}

	.team-employees {
		padding: 0 15px 12px 52px;
		background: white;
		display: none;
	}

	.team-employees.show {
		display: block;
	}

	.employee-item {
		padding: 6px 0;
		font-size: 0.85rem;
		color: #6c757d;
		border-bottom: 1px solid #f1f3f5;
	}

	.employee-item:last-child {
		border-bottom: none;
	}

	.employee-item i {
		color: #28a745;
		margin-right: 6px;
		font-size: 0.7rem;
	}
	
	.teams-badges-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 5px;
	}

	.team-badge {
		display: inline-block;
		background: var(--rush-orange);
		color: white;
		padding: 6px 12px;
		border-radius: 16px;
		font-size: 0.8rem;
		font-weight: 500;
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	}
	
	.team-badge-small {
    display: inline-block;
    background: #e7f3ff;
    color: #0066cc;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 500;
    margin-right: 6px;
    margin-bottom: 4px;
	}

	.teams-badges-inline {
		display: flex;
		flex-wrap: wrap;
		gap: 6px;
	}
	
	/* Множественный выбор для фильтров */
	.multi-select-filter {
		position: relative;
	}

	.multi-select-button {
		width: 100%;
		height: 42px;
		padding: 10px 14px;
		background: white;
		border: 1px solid #ddd;
		border-radius: 4px;
		text-align: left;
		cursor: pointer;
		display: flex;
		justify-content: space-between;
		align-items: center;
		font-size: 0.9rem;
		color: #333;
		box-sizing: border-box;
		transition: border-color 0.2s;
	}

	.multi-select-button:hover {
		border-color: #999;
	}

	.multi-select-button:focus {
		outline: none;
		border-color: var(--rush-orange);
		box-shadow: 0 0 0 4px rgba(245, 187, 65, 0.15);
	}

	.multi-select-button i {
		color: #666;
		font-size: 11px;
		flex-shrink: 0;
	}

	/* Dropdown — позиционируется через JS как fixed */
	.multi-select-dropdown {
		position: fixed;
		background: white;
		border: 1px solid #ddd;
		border-radius: 4px;
		max-height: 260px;
		overflow-y: auto;
		z-index: 99999;
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
		display: none;
	}

	.multi-select-dropdown.active {
		display: block;
	}

	/* Поиск внутри дропдауна */
	.ms-search-wrap {
		position: sticky;
		top: 0;
		background: white;
		padding: 6px 8px;
		border-bottom: 1px solid #eee;
		z-index: 1;
	}

	.ms-search {
		width: 100%;
		padding: 5px 8px;
		border: 1px solid #ddd;
		border-radius: 4px;
		font-size: 0.85rem;
		box-sizing: border-box;
		outline: none;
	}

	.ms-search:focus {
		border-color: var(--rush-orange);
	}

	.multi-select-option {
		padding: 6px 10px;
		cursor: pointer;
		display: flex;
		align-items: center;
		gap: 8px;
		font-size: 0.9rem;
		line-height: 1.4;
		white-space: nowrap;
	}

	.multi-select-option:hover {
		background: #f8f9fa;
	}

	.multi-select-option input[type="checkbox"] {
		cursor: pointer;
		width: 14px;
		height: 14px;
		flex-shrink: 0;
		margin: 0;
		vertical-align: middle;
	}

	.multi-select-option label {
		cursor: pointer;
		margin: 0;
		font-weight: normal;
	}

	.multi-select-option label {
		cursor: pointer;
		margin: 0;
		flex: 1;
		user-select: none;
		text-transform: none;
		font-size: 0.8rem;
		font-weight: normal;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	
	/* Узкая колонка VIP */
	.vip-column {
		width: 60px;
		max-width: 60px;
		text-align: center;
		padding: 8px 4px !important;
	}

	.vip-column .badge {
		font-size: 0.7rem;
		padding: 3px 6px;
	}
	
	/* === COMPLIANCE (ОККА) === */
	.compliance-header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 20px;
		padding-bottom: 15px;
		border-bottom: 2px solid #dee2e6;
	}

	.compliance-title {
		display: flex;
		align-items: center;
		gap: 10px;
	}

	.eye-sauron {
		font-size: 1.5rem;
		color: var(--rush-orange);
		animation: pulse 2s infinite;
	}

	@keyframes pulse {
		0%, 100% { opacity: 1; }
		50% { opacity: 0.6; }
	}

	.btn-add-compliance {
		background: var(--rush-orange);
		color: white;
		border: none;
		padding: 10px 24px;
		border-radius: var(--border-radius-small);
		transition: all 0.3s ease;
		font-weight: 600;
	}

	.btn-add-compliance:hover {
		transform: translateY(-2px);
		box-shadow: 0 6px 16px rgba(245, 187, 65, 0.3);
		background: var(--rush-orange-dark);
		color: white;
	}

	.compliance-table {
		background: white;
		border-radius: var(--border-radius);
		overflow: hidden;
		box-shadow: var(--card-shadow);
	}

	.compliance-table thead {
		background: var(--rush-orange);
		color: white;
	}

	.compliance-table thead th {
		font-weight: 600;
		padding: 12px;
		border: none;
		font-size: 0.9rem;
	}

	.compliance-table tbody td {
		padding: 12px;
		vertical-align: middle;
		border-bottom: 1px solid #f0f0f0;
	}

	.compliance-table tbody tr:hover {
		background: #f8f9fa;
	}

	/* Бейджи критичности без иконок (круглешек), унифицированные цвета и шрифты */
	.criticality-badge {
		padding: 4px 12px; /* Одинаковый паддинг для всех бейджей */
		border-radius: 20px; /* Одинаковая форма */
		font-size: 0.85rem; /* Унифицированный размер текста */
		font-weight: 500; /* Унифицированный шрифт (как в .badge) */
		text-align: center;
		display: inline-block;
		min-width: 80px;
	}

	/* Цвета: Epic — черный, High — красный, Medium — оранжевый */
	.criticality-epic {
		background: var(--rush-black);
		color: white;
	}

	.criticality-high {
		background: var(--rush-red);
		color: white;
	}

	.criticality-medium {
		background: var(--rush-orange) !important;
		color: white !important;
	}

	/* Стиль оставлен для обратной совместимости со старыми данными */
	.criticality-low {
		background: var(--rush-green);
		color: white;
	}

	/* Цвета для опций в выпадающем списке Critical (Профайл клиента) */
	#newProfileCriticality option[value="Epic"],
	.edit-criticality option[value="Epic"] {
		background-color: var(--rush-black);
		color: white;
	}

	#newProfileCriticality option[value="High"],
	.edit-criticality option[value="High"] {
		background-color: var(--rush-red);
		color: white;
	}

	#newProfileCriticality option[value="Medium"],
	.edit-criticality option[value="Medium"] {
		background-color: var(--rush-orange);
		color: white;
	}

	/* Цвета для опций в выпадающем списке Статус (Задачи) */
	#newTaskStatus option[value="Новая"],
	.edit-status option[value="Новая"] {
		background-color: #6c757d; /* bg-secondary */
		color: white;
	}

	#newTaskStatus option[value="В работе"],
	.edit-status option[value="В работе"] {
		background-color: #ffc107; /* bg-warning - желтый */
		color: black;
	}

	#newTaskStatus option[value="На проверке"],
	.edit-status option[value="На проверке"] {
		background-color: #7fb3d3; /* Теплый приглушенный голубой */
		color: white;
	}

	#newTaskStatus option[value="Выполнена"],
	.edit-status option[value="Выполнена"] {
		background-color: #28a745; /* bg-success - зеленый */
		color: white;
	}

	/* Стиль для статуса "На проверке" - теплый голубой */
	.task-status-checking {
		background-color: #7fb3d3 !important;
		color: white !important;
	}

	/* Статусы: унифицированные стили, без изменений в цветах, но с единым шрифтом/размером */
	.status-badge {
		padding: 4px 12px; /* Одинаковый с критичностью */
		border-radius: 20px;
		font-size: 0.85rem; /* Унифицированный размер */
		font-weight: 500; /* Унифицированный шрифт */
		display: inline-block;
		min-width: 80px;
	}

	.status-open {
		background: #ffc107 !important;
		color: white !important;
	}

	.status-closed {
		background: #28a745; /* Зеленый для "Закрыто" (как "в работе") */
		color: white;
	}

	.error-type-badge {
		padding: 3px 10px;
		border-radius: 4px;
		font-size: 0.8rem;
		background: #e7f3ff;
		color: #004085;
		display: inline-block;
	}
	
	.compliance-new-row {
    position: sticky;
    top: 0;
    z-index: 100;
	}

	.compliance-new-row td {
		padding: 8px !important;
		vertical-align: middle;
	}

	.compliance-new-row input,
	.compliance-new-row select {
		border: 1px solid #0d6efd;
		font-size: 0.875rem;
	}

	/* Существующие записи */
	.compliance-data-row {
		cursor: pointer;
		transition: background 0.2s;
	}

	.compliance-data-row:hover {
		background: #f8f9fa;
	}

	.compliance-data-row.editing {
		background: #fff3cd !important;
	}

	.compliance-data-row td {
		padding: 10px;
		vertical-align: middle;
	}

	/* Режим просмотра */
	.compliance-view-mode {
		display: block;
		padding: 6px 8px;
		min-height: 32px;
	}

	/* Режим редактирования */
	.compliance-edit-mode {
		display: none;
	}

	.compliance-data-row.editing .compliance-view-mode {
		display: none;
	}

	.compliance-data-row.editing .compliance-edit-mode {
		display: block;
	}

	
		/* Компактные NDA кнопки */
	.nda-btn {
		font-size: 0.75rem;
		padding: 0.25rem 0.5rem;
		border-width: 2px;
	}

	.nda-btn.active {
		font-weight: 600;
	}

	.btn-outline-success.active {
		background-color: var(--rush-green);
		color: white;
		border-color: var(--rush-green);
	}

	.btn-outline-secondary.active {
		background-color: var(--rush-gray);
		color: white;
		border-color: var(--rush-gray);
	}

	.btn-outline-warning.active {
		background-color: var(--rush-orange);
		color: white;
		border-color: var(--rush-orange);
	}
	
	/* Стили для таблицы ОККА */
	#tab-compliance table th {
		font-weight: 600;
		color: #495057;
		border-bottom: 2px solid #dee2e6;
		white-space: nowrap;
		padding: 0.75rem 0.5rem;
	}

	#tab-compliance table td {
		vertical-align: middle;
		padding: 0.75rem 0.5rem;
	}

	#tab-compliance .table-hover tbody tr:hover:not(.compliance-new-row) {
		background-color: #f8f9fa;
		cursor: pointer;
	}

	/* Режим просмотра и редактирования */
	#tab-compliance .compliance-view-mode {
		display: block;
	}

	#tab-compliance .compliance-edit-mode {
		display: none;
	}

	#tab-compliance tr.editing .compliance-view-mode {
		display: none;
	}

	#tab-compliance tr.editing .compliance-edit-mode {
		display: block;
	}

	/* Кнопки удаления */
	#tab-compliance .btn-link:hover {
		opacity: 0.7;
	}
	
	/* Цвета для опций критичности */
	#tab-compliance select option[value="High"] {
		background-color: #dc3545;
		color: white;
	}

	#tab-compliance select option[value="Medium"] {
		background-color: #ffc107;
		color: black;
	}

	#tab-compliance select option[value="Low"] {
		background-color: #198754;
		color: white;
	}

	/* Цвета для опций статуса */
	#tab-compliance select option[value="Ошибка"] {
		background-color: #ffc107;
		color: black;
	}

	#tab-compliance select option[value="К обсуждению"] {
		background-color: #6f42c1;
		color: white;
	}

	#tab-compliance select option[value="Рекомендация"] {
		background-color: #0a6e3d;
		color: white;
	}

	#tab-compliance select option[value="Блок"] {
		background-color: #dc3545;
		color: white;
	}

	#tab-compliance select option[value="Исправлено"] {
		background-color: #198754;
		color: white;
	}

	/* Пустая опция серая */
	#tab-compliance select option[value=""] {
		background-color: #f8f9fa;
		color: #6c757d;
	}
	
	/* Модальное окно на весь экран */
	#projectModal .modal-dialog {
		max-width: calc(100vw - 40px) !important;
		width: calc(100vw - 40px) !important;
		height: calc(100vh - 40px) !important;
		margin: 20px auto !important;
	}

	#projectModal .modal-content {
		height: 100% !important;
		max-height: calc(100vh - 40px) !important;
	}

	#projectModal .modal-body {
		overflow-y: auto !important;
		max-height: calc(100vh - 180px) !important;
	}

	/* Sticky мини-вкладки во вкладке "Вводная" */
	#tab-intro .intro-mini-tabs-nav {
		position: sticky;
		top: 51px;
		z-index: 9;
		background: #fff;
	}

	/* Sticky кнопка "Редактировать" во вкладке "Вводная" */
	#tab-intro .intro-edit-btn-bar {
		position: sticky;
		top: 97px;
		z-index: 8;
		background: #fff;
		padding-top: 8px;
		padding-bottom: 4px;
		border-bottom: 1px solid #f0f0f0;
		margin-bottom: 12px;
	}

	/* Стили для таблицы Профайл клиента */
	#tab-client-profile table th {
		font-weight: 600;
		color: #495057;
		border-bottom: 2px solid #dee2e6;
		white-space: nowrap;
		padding: 0.75rem 0.5rem;
		font-size: 0.85rem;
		text-transform: uppercase;
	}

	#tab-client-profile table td {
		vertical-align: middle;
		padding: 0.75rem 0.5rem;
		font-size: 0.9rem; 
	}

	#tab-client-profile .table-hover tbody tr:hover {
		background-color: #f8f9fa;
	}

	#tab-client-profile .btn-link:hover {
		opacity: 0.7;
	}

	
	/* Стили для вкладки Ссылки v2 */
    #linksV2Table thead th {
        font-weight: 600;
        color: #495057;
        border-bottom: 2px solid #dee2e6;
        white-space: nowrap;
        padding: 0.75rem 0.5rem;
    }

    #linksV2Table tbody td {
        vertical-align: middle;
        padding: 0.75rem 0.5rem;
    }

    /* Строка добавления */
    .links-v2-new-row td {
        padding: 8px !important;
    }

    .links-v2-new-row input,
    .links-v2-new-row select {
        border: 1px solid #0d6efd;
        font-size: 0.875rem;
    }

    /* Существующие записи */
    .links-v2-data-row {
        cursor: pointer;
        transition: background 0.2s;
    }

    .links-v2-data-row:hover {
        background: #f8f9fa;
    }

    .links-v2-data-row.editing {
        background: #fff3cd !important;
    }

    /* Режимы просмотра/редактирования */
    .links-v2-view-mode {
        display: block;
        padding: 6px 8px;
        min-height: 32px;
    }

    .links-v2-edit-mode {
        display: none;
    }

    .links-v2-data-row.editing .links-v2-view-mode {
        display: none;
    }

    .links-v2-data-row.editing .links-v2-edit-mode {
        display: block;
    }

    /* Бейджи для типов */
    .type-badge-v2 {
        display: inline-block;
        padding: 4px 12px;
        border-radius: 20px;
        font-size: 0.85rem;
        font-weight: 500;
        text-align: center;
        min-width: 120px;
    }

    .type-kp { background: #e3f2fd; color: #0d47a1; }
    .type-briefing { background: #f3e5f5; color: #6a1b9a; }
    .type-additional { background: #fff3e0; color: #e65100; }
    .type-monday { background: #e8f5e9; color: #2e7d32; }
    .type-documents { background: #fce4ec; color: #c2185b; }
    .type-pachka { background: #e0f2f1; color: #00695c; }
    .type-other { background: #f5f5f5; color: #616161; }

    /* Ссылки */
    .link-url-v2 {
        color: var(--rush-orange);
        text-decoration: none;
        word-break: break-all;
    }

    .link-url-v2:hover {
        text-decoration: underline;
    }

    /* Режимы просмотра/редактирования для задач */
    .task-view-mode {
        display: block;
        padding: 6px 8px;
        min-height: 32px;
    }

    .task-edit-mode {
        display: none;
    }

    /* Кнопки сохранения в финансах (зеленые галочки) */
    .finance-save-btn {
        color: #198754 !important;
        background: #fff !important;
        border-color: #198754 !important;
        transition: all 0.2s ease !important;
        min-width: 36px;
        margin-left: 8px; /* ~2–3 мм от поля ввода */
    }

    .finance-save-btn:hover {
        color: #fff !important;
        background: #198754 !important;
        border-color: #198754 !important;
    }

    /* Подсветка при изменении: кнопка становится заметной */
    .finance-save-btn.finance-save-btn--dirty {
        background: #198754 !important;
        color: #fff !important;
        border-color: #198754 !important;
        font-weight: 600;
    }
    .finance-save-btn.finance-save-btn--dirty .finance-save-btn-text {
        display: inline !important;
    }
    .finance-project-field.finance-field--dirty {
        border-color: #198754;
        box-shadow: 0 0 0 1px #198754;
    }

    .finance-data-row:hover {
        background: #f8f9fa;
    }

    /* Режимы просмотра/редактирования для профайла клиента */
    .profile-view-mode {
        display: block;
        padding: 6px 8px;
        min-height: 32px;
    }

    .profile-edit-mode {
        display: none;
    }

    /* ===== Кнопки действий в строках таблиц (edit/done/delete) ===== */
    .links-v2-data-row .row-edit-btn,
    .profile-data-row .row-edit-btn,
    .compliance-data-row .row-edit-btn,
    .task-data-row .row-edit-btn,
    .assessment-data-row .row-edit-btn { display: inline-flex !important; }

    .assessment-data-row .assess-view { display: block; }
    .assessment-data-row .assess-edit { display: none !important; }
    .assessment-data-row.editing .assess-view { display: none !important; }
    .assessment-data-row.editing .assess-edit { display: block !important; }

    .links-v2-data-row .row-done-btn,
    .links-v2-data-row .row-delete-btn,
    .profile-data-row .row-done-btn,
    .profile-data-row .row-delete-btn,
    .compliance-data-row .row-done-btn,
    .compliance-data-row .row-cancel-btn,
    .compliance-data-row .row-delete-btn,
    .task-data-row .row-done-btn,
    .task-data-row .row-delete-btn,
    .task-data-row .row-cancel-btn,
    .assessment-data-row .row-done-btn,
    .assessment-data-row .row-delete-btn { display: none !important; }

    .links-v2-data-row.editing .row-edit-btn,
    .profile-data-row.editing .row-edit-btn,
    .compliance-data-row.editing .row-edit-btn,
    .task-data-row.editing .row-edit-btn,
    .assessment-data-row.editing .row-edit-btn { display: none !important; }

    .links-v2-data-row.editing .row-done-btn,
    .links-v2-data-row.editing .row-delete-btn,
    .profile-data-row.editing .row-done-btn,
    .profile-data-row.editing .row-delete-btn,
    .compliance-data-row.editing .row-done-btn,
    .compliance-data-row.editing .row-cancel-btn,
    .compliance-data-row.editing .row-delete-btn,
    .task-data-row.editing .row-done-btn,
    .task-data-row.editing .row-cancel-btn,
    .task-data-row.editing .row-delete-btn,
    .assessment-data-row.editing .row-done-btn,
    .assessment-data-row.editing .row-delete-btn { display: inline-flex !important; }

	/* Стили для таблицы задач */
	#tab-tasks table th {
		font-weight: 600;
		color: #495057;
		border-bottom: 2px solid #dee2e6;
		white-space: nowrap;
		padding: 0.75rem 0.5rem;
	}

	#tab-tasks table td {
		vertical-align: middle;
		padding: 0.75rem 0.5rem;
	}

	#tab-tasks .table-hover tbody tr:hover {
		background-color: #f8f9fa;
	}

	/* Кнопки редактирования/удаления */
	#tab-tasks .btn-link:hover {
		opacity: 0.7;
	}
	
	#tasksTable th[data-column]:hover {
    background-color: #e9ecef;
	}

	#tasksTable th[data-column] i {
		color: #6c757d;
		font-size: 0.8em;
	}

	/* Стили для новой таблицы-простыни "Карта тепла" */
	.heatmap-table-wrapper {
		overflow-x: auto;
		overflow-y: visible;
		border: 1px solid #dee2e6;
		border-radius: 8px;
		max-width: 100%;
	}

	.heatmap-table {
		width: 100%;
		border-collapse: separate;
		border-spacing: 0;
		min-width: 800px;
		background: white;
	}

	.heatmap-table thead th {
		background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
		color: #495057;
		font-weight: 600;
		font-size: 0.75rem;
		padding: 12px 8px;
		text-align: center;
		border-bottom: 2px solid var(--rush-orange);
		border-right: 1px solid #dee2e6;
		white-space: nowrap;
		position: sticky;
		top: 0;
		z-index: 10;
	}

	.heatmap-table thead th.sticky-column {
		position: sticky;
		left: 0;
		z-index: 20;
		min-width: 200px;
		max-width: 250px;
		text-align: left;
		background: linear-gradient(135deg, #fff 0%, #f8f9fa 100%);
		box-shadow: 2px 0 4px rgba(0,0,0,0.1);
	}

	.heatmap-table thead th.sticky-column-2 {
		position: sticky;
		left: 200px; /* После первой колонки */
		z-index: 20;
		min-width: 150px;
		max-width: 180px;
		text-align: left;
		background: linear-gradient(135deg, #fff 0%, #f8f9fa 100%);
		box-shadow: 2px 0 4px rgba(0,0,0,0.1);
	}

	.heatmap-table thead th.sortable {
		cursor: pointer;
		user-select: none;
	}
	.heatmap-table thead th.sortable:hover {
		color: var(--rush-orange);
	}
	.heatmap-table thead th.sortable .sort-icon {
		font-size: 0.65rem;
		opacity: 0.3;
		margin-left: 3px;
	}
	.heatmap-table thead th.sort-asc .sort-icon,
	.heatmap-table thead th.sort-desc .sort-icon {
		opacity: 1;
		color: var(--rush-orange);
	}

	.heatmap-table tbody tr {
		transition: background-color 0.2s;
	}

	.heatmap-table tbody tr:hover {
		background-color: #f8f9fa;
	}

	.heatmap-table tbody td {
		padding: 10px 8px;
		border-right: 1px solid #e0e0e0;
		border-bottom: 1px solid #e0e0e0;
		text-align: center;
		font-size: 0.85rem;
		min-width: 100px;
		cursor: pointer;
	}

	.heatmap-table tbody td.heatmap-project-cell {
		position: sticky;
		left: 0;
		background: white;
		font-weight: 600;
		text-align: left;
		z-index: 5;
		min-width: 200px;
		max-width: 250px;
		box-shadow: 2px 0 4px rgba(0,0,0,0.05);
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.heatmap-table tbody td.heatmap-account-cell {
		position: sticky;
		left: 200px; /* После колонки проекта */
		background: white;
		font-weight: 500;
		text-align: left;
		z-index: 5;
		min-width: 150px;
		max-width: 180px;
		box-shadow: 2px 0 4px rgba(0,0,0,0.05);
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		font-size: 0.8rem;
	}

	.heatmap-table tbody tr:hover td.heatmap-project-cell,
	.heatmap-table tbody tr:hover td.heatmap-account-cell {
		background: #f8f9fa;
	}

	/* Цветовое кодирование статусов */
	.heatmap-status-ok {
		background-color: #4CAF50 !important;
		color: white;
		font-weight: 600;
	}

	.heatmap-status-med-risk {
		background-color: #FF9800 !important;
		color: white;
		font-weight: 600;
	}

	.heatmap-status-high-risk {
		background-color: #F44336 !important;
		color: white;
		font-weight: 600;
	}

	.heatmap-status-no-eval {
		background-color: #E0E0E0 !important;
		color: #757575;
		font-weight: 500;
	}

	.heatmap-status-paused {
		background-color: #2196F3 !important;
		color: white;
		font-weight: 600;
	}

	.heatmap-status-completed {
		background-color: var(--rush-black) !important;
		color: white;
		font-weight: 600;
	}

	.heatmap-status-empty {
		background-color: #FAFAFA;
		color: #BDBDBD;
	}

	/* Стили для фильтра по отделам */
	.heatmap-department-filter {
		gap: 8px;
	}

	.heatmap-department-filter .form-select {
		border: 1px solid #dee2e6;
		border-radius: 6px;
		transition: all 0.3s;
		font-size: 0.9rem;
		padding: 6px 12px;
	}

	.heatmap-department-filter .form-select:focus {
		border-color: var(--rush-orange);
		box-shadow: 0 0 0 3px rgba(251, 130, 39, 0.1);
		outline: none;
	}

	.heatmap-department-filter .form-label {
		color: #495057;
		font-size: 0.95rem;
	}

	/* Анимация при наведении на ячейку */
	.heatmap-table tbody td:not(.heatmap-project-cell):not(.heatmap-account-cell):hover {
		transform: scale(1.05);
		box-shadow: 0 2px 8px rgba(0,0,0,0.15);
		z-index: 3;
		position: relative;
	}

	/* Стили для вкладки "Карта тепла" в модальном окне */
	.heatmap-block {
		background: #ffffff;
		border: 1px solid #dee2e6;
		border-radius: 8px;
		overflow: hidden;
		box-shadow: 0 1px 3px rgba(0,0,0,0.08);
	}

	.heatmap-block-header {
		background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
		padding: 15px 20px;
		border-bottom: 2px solid var(--rush-orange);
	}

	.heatmap-block-header h6 {
		margin: 0;
		font-size: 1rem;
		font-weight: 600;
		color: #495057;
	}

	.heatmap-block-content {
		padding: 20px;
	}

	/* Стили для таблицы "Все проекты" (как в Карте тепла) */
	#projectsTable {
		width: 100%;
		border-collapse: separate;
		border-spacing: 0;
		background: white;
		table-layout: fixed;
		min-width: 960px;
	}

	/* Фиксированные ширины колонок — таблица не прыгает при фильтрации */
	#projectsTable thead th:nth-child(1)  { width: 22%; } /* НАЗВАНИЕ      */
	#projectsTable thead th:nth-child(2)  { width:  9%; } /* СТАТУС        */
	#projectsTable thead th:nth-child(3)  { width: 10%; } /* АККАУНТ       */
	#projectsTable thead th:nth-child(4)  { width: 10%; } /* ПРОИЗВОДСТВО  */
	#projectsTable thead th:nth-child(5)  { width:  5%; } /* VIP           */
	#projectsTable thead th:nth-child(6)  { width:  9%; } /* ПРОДУКТ       */
	#projectsTable thead th:nth-child(7)  { width:  9%; } /* БЮДЖЕТ        */
	#projectsTable thead th:nth-child(8)  { width:  9%; } /* ДАТА СТАРТА   */
	#projectsTable thead th:nth-child(9)  { width:  9%; } /* ДАТА ЗАКРЫТИЯ */
	#projectsTable thead th:nth-child(10) { width:  8%; } /* КОМПАНИЯ      */

	/* Не даём контенту раздувать ячейки */
	#projectsTable tbody td {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	#projectsTable thead th {
		background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
		color: #495057;
		font-weight: 600;
		font-size: 0.75rem;
		padding: 12px 8px;
		text-align: center;
		border-bottom: 2px solid var(--rush-orange);
		border-right: 1px solid #dee2e6;
		white-space: nowrap;
		position: sticky;
		top: 0;
		z-index: 10;
	}

	/* Все заголовки по центру */
	#projectsTable thead th .th-content {
		justify-content: center !important;
	}

	#projectsTable thead th .th-text {
		text-align: center !important;
	}

	/* Первая колонка (НАЗВАНИЕ) по левому краю */
	#projectsTable thead th:first-child {
		text-align: left !important;
		padding-left: 12px;
	}

	#projectsTable thead th:first-child .th-content {
		justify-content: flex-start !important;
	}

	#projectsTable thead th:first-child .th-text {
		text-align: left !important;
	}

	/* Колонки АККАУНТ, ПРОИЗВОДСТВО, ПРОДУКТ — по левому центру */
	#projectsTable thead th[data-column="account"] .th-content,
	#projectsTable thead th[data-column="production"] .th-content,
	#projectsTable thead th[data-column="product"] .th-content {
		justify-content: flex-start !important;
	}

	#projectsTable thead th[data-column="account"] .th-text,
	#projectsTable thead th[data-column="production"] .th-text,
	#projectsTable thead th[data-column="product"] .th-text {
		text-align: left !important;
	}

	/* Ячейки данных для этих колонок (3=аккаунт, 4=производство, 6=продукт) */
	#projectsTable tbody td:nth-child(3),
	#projectsTable tbody td:nth-child(4),
	#projectsTable tbody td:nth-child(6) {
		text-align: left !important;
	}

	#projectsTable tbody tr {
		transition: background-color 0.2s;
	}

	#projectsTable tbody tr:hover {
		background-color: #f8f9fa;
		cursor: pointer;
	}

	#projectsTable tbody td {
		padding: 10px 8px;
		border-right: 1px solid #e0e0e0;
		border-bottom: 1px solid #e0e0e0;
		text-align: center;
		font-size: 0.85rem;
		vertical-align: middle;
	}

	#projectsTable tbody td:first-child {
		text-align: left;
		padding-left: 12px;
		font-weight: 600;
	}

	/* Обертка таблицы проектов */
	#projectsTable + div:has(#projectsTable),
	.table-responsive:has(#projectsTable) {
		overflow-x: auto;
		overflow-y: visible;
		border: 1px solid #dee2e6;
		border-radius: 8px;
	}


	/* === Таблицы Компании и Контакты - стиль как у Все проекты === */
	#clientsTable,
	#contactsTable {
		width: 100%;
		border-collapse: separate;
		border-spacing: 0;
		background: white;
	}

	#clientsTable thead th,
	#contactsTable thead th {
		background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
		color: #495057;
		font-weight: 600;
		font-size: 0.75rem;
		padding: 12px 8px;
		text-align: center;
		border-bottom: 2px solid var(--rush-orange);
		border-right: 1px solid #dee2e6;
		white-space: nowrap;
		position: sticky;
		top: 0;
		z-index: 10;
		cursor: pointer;
	}

	#clientsTable thead th:first-child,
	#contactsTable thead th:first-child {
		text-align: left;
		padding-left: 12px;
	}

	#clientsTable tbody tr,
	#contactsTable tbody tr {
		transition: background-color 0.2s;
	}

	#clientsTable tbody tr:hover,
	#contactsTable tbody tr:hover {
		background-color: #f8f9fa;
	}

	#clientsTable tbody td,
	#contactsTable tbody td {
		padding: 10px 8px;
		border-right: 1px solid #e0e0e0;
		border-bottom: 1px solid #e0e0e0;
		text-align: center;
		font-size: 0.85rem;
		vertical-align: middle;
	}

	#clientsTable tbody td:first-child,
	#contactsTable tbody td:first-child {
		text-align: left;
		padding-left: 12px;
		font-weight: 600;
	}

	.table-responsive:has(#clientsTable),
	.table-responsive:has(#contactsTable) {
		overflow-x: auto;
		border: 1px solid #dee2e6;
		border-radius: 8px;
	}

	/* Стили для фильтров карты тепла - унифицируем шрифты */
	#customer-service-section .form-label {
		font-size: 0.75rem !important;
		font-weight: 600;
	}

	#customer-service-section .form-select,
	#customer-service-section .multi-select-button {
		font-size: 0.75rem !important;
	}

	#customer-service-section .btn-outline-secondary {
		font-size: 0.75rem !important;
	}

	/* Настройки колонок таблицы проектов */
	#projectsTable th[data-column="date"],
	#projectsTable th[data-column="enddate"] {
		width: 120px;
		min-width: 120px;
	}

	/* Выравнивание иконки сортировки в колонке VIP */
	#projectsTable .vip-column .th-text {
		display: inline-flex;
		align-items: center;
		gap: 4px;
	}

	#projectsTable .vip-column .sort-icon {
		margin: 0;
		vertical-align: middle;
	}

	/* ====== ЦВЕТА СТАТУСОВ ПРОЕКТОВ ====== */
	.bg-working { background-color: #4CA853 !important; color: #fff; }   /* В работе — зелёный */
	.bg-paused  { background-color: #5b8dee !important; color: #fff; }   /* На паузе — голубой */
	.bg-upsell  { background-color: #F5BB41 !important; color: #000; }   /* Апсейл — оранжевый */

	/* ====== КНОПКИ «ПЕРЕЙТИ» (жёлтые) И «ОТВЯЗАТЬ» (красные) ====== */
	.btn-action-go, .btn-action-danger {
		font-size: 0.78rem; padding: 4px 10px;
		border: 1.5px solid; border-radius: 6px; font-weight: 500;
		line-height: 1.4; transition: background 0.15s, color 0.15s;
		white-space: nowrap; background: transparent; cursor: pointer;
	}
	.btn-action-go { border-color: #f0a500; color: #f0a500; }
	.btn-action-go:hover { background: #f0a500; color: #fff; }
	.btn-action-danger { border-color: #dc3545; color: #dc3545; }
	.btn-action-danger:hover { background: #dc3545; color: #fff; }

	/* ====== КНОПКИ БЛОКА «КОНТАКТНЫЕ ЛИЦА И КОМПАНИИ» ====== */
	.btn-block-action {
		font-size: 0.78rem;
		padding: 4px 10px;
		border: 1.5px solid var(--rush-orange);
		color: var(--rush-orange);
		background: transparent;
		border-radius: 6px;
		font-weight: 500;
		line-height: 1.4;
		transition: background 0.15s, color 0.15s;
		white-space: nowrap;
	}
	.btn-block-action:hover {
		background: var(--rush-orange);
		color: #fff;
	}

	/* ====== КАРТА ТЕПЛА: view/edit режим строк ====== */
	.heatmap-record-row .hm-edit { display: none; }
	.heatmap-record-row .hm-edit-btn { display: none !important; }
	.heatmap-record-row.editing .hm-view { display: none !important; }
	.heatmap-record-row.editing .hm-view-btn { display: none !important; }
	.heatmap-record-row.editing .hm-edit { display: block; }
	.heatmap-record-row.editing .hm-edit-btn { display: inline-flex !important; }
	.hm-status-badge {
		display: inline-block;
		padding: 3px 10px;
		border-radius: 12px;
		font-size: 0.78rem;
		font-weight: 600;
		color: #fff;
		white-space: nowrap;
	}
	.hm-status-badge.hm-ok    { background: #4CAF50; }
	.hm-status-badge.hm-med   { background: #FF9800; }
	.hm-status-badge.hm-high  { background: #F44336; }
	.hm-status-badge.hm-pause { background: #2196F3; }
	.hm-status-badge.hm-done  { background: #333; }
	.hm-status-badge.hm-empty { color: #aaa; background: transparent; font-weight: 400; font-size: 0.85rem; }
	.hm-comment-view { font-size: 0.82rem; color: #555; min-height: 18px; }

	/* Стилизация выпадающих списков статусов (КС / Производство / ОККА) */
	/* Важно: в модалке "Карта тепла" селекты генерируются без id, поэтому используем класс. */
	#heatmapCSStatus option[value="Ok"],
	#heatmapProductionStatus option[value="Ok"],
	#heatmapOkkaStatus option[value="Ok"],
	.heatmap-status-select option[value="Ok"] {
		background-color: #4CAF50; /* как .heatmap-status-ok */
		color: white;
	}

	#heatmapCSStatus option[value="Med Risk"],
	#heatmapProductionStatus option[value="Med Risk"],
	#heatmapOkkaStatus option[value="Med Risk"],
	.heatmap-status-select option[value="Med Risk"] {
		background-color: #FF9800; /* как .heatmap-status-med-risk */
		color: white;
	}

	#heatmapCSStatus option[value="High Risk"],
	#heatmapProductionStatus option[value="High Risk"],
	#heatmapOkkaStatus option[value="High Risk"],
	.heatmap-status-select option[value="High Risk"] {
		background-color: #F44336; /* как .heatmap-status-high-risk */
		color: white;
	}

	#heatmapCSStatus option[value="На паузе"],
	#heatmapProductionStatus option[value="На паузе"],
	#heatmapOkkaStatus option[value="На паузе"],
	.heatmap-status-select option[value="На паузе"] {
		background-color: #2196F3; /* как .heatmap-status-paused */
		color: white;
	}

	#heatmapCSStatus option[value="Завершен"],
	#heatmapProductionStatus option[value="Завершен"],
	#heatmapOkkaStatus option[value="Завершен"],
	.heatmap-status-select option[value="Завершен"] {
		background-color: var(--rush-black); /* Завершен — черный */
		color: white;
	}

	/* Цветовая индикация для выбранных статусов */
	select.status-ok {
		border-color: #28a745 !important;
		background-color: #d4edda !important;
		color: #155724 !important;
		font-weight: 600;
	}

	select.status-med-risk {
		border-color: #ffc107 !important;
		background-color: #fff3cd !important;
		color: #856404 !important;
		font-weight: 600;
	}

	select.status-high-risk {
		border-color: #dc3545 !important;
		background-color: #f8d7da !important;
		color: #721c24 !important;
		font-weight: 600;
	}

/* Модальное окно HR на весь экран с отступами */
.modal-fullscreen-custom {
	max-width: calc(100vw - 80px) !important;
	width: calc(100vw - 80px) !important;
	height: calc(100vh - 80px) !important;
	margin: 40px auto !important;
}

.modal-fullscreen-custom .modal-content {
	height: 100%;
}

@media (max-width: 768px) {
	.modal-fullscreen-custom {
		max-width: calc(100vw - 40px) !important;
		width: calc(100vw - 40px) !important;
		height: calc(100vh - 40px) !important;
		margin: 20px auto !important;
	}
}

/* ============================================================
   R CRM — ДИЗАЙН-СИСТЕМА
   Светлая тема · Manrope · Оранжевый #FF6B00 · Пилюли
   ============================================================ */

/* --- Переменные дизайн-системы R CRM --- */
:root {
	/* Фоны */
	--bg-page:        #F4F4F4;
	--bg-white:       #FFFFFF;
	--bg-topbar:      #1C1C1C;

	/* Акцент — оранжевый бренд */
	--accent:         #FF6B00;
	--accent-hover:   #E55F00;
	--accent-light:   #FFF3E8;

	/* Текст */
	--text-primary:   #1A1A1A;
	--text-secondary: #666666;
	--text-muted:     #999999;

	/* Границы */
	--border:         #E5E5E5;
	--border-hover:   #CCCCCC;

	/* Статусы */
	--success:        #2DCA8C;
	--success-light:  #E6FAF3;
	--error:          #FF4444;
	--error-light:    #FFF0F0;
	--warning:        #FFB800;
	--warning-light:  #FFF8E6;

	/* Тени */
	--shadow-xs:  0 1px 3px rgba(0,0,0,0.08);
	--shadow-sm:  0 2px 8px rgba(0,0,0,0.08);
	--shadow-md:  0 4px 20px rgba(0,0,0,0.10);
	--shadow-lg:  0 8px 32px rgba(0,0,0,0.12);

	/* Скругления */
	--radius-pill: 50px;
	--radius-lg:   16px;
	--radius-md:   10px;
	--radius-sm:   6px;

	/* Переходы */
	--transition: all 0.2s ease;

	/* Совместимость со старыми переменными */
	--rush-orange:       #FF6B00;
	--rush-orange-dark:  #E55F00;
	--rush-black:        #1A1A1A;
	--rush-gray:         #666666;
	--rush-light-bg:     #F4F4F4;
	--border-radius:     var(--radius-lg);
	--border-radius-small: var(--radius-md);
	--card-shadow:       var(--shadow-sm);
	--card-shadow-hover: var(--shadow-md);
}

/* ─── ТИПОГРАФИКА ─── */
body, input, select, textarea, button {
	font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
	-webkit-font-smoothing: antialiased;
}
body {
	background: var(--bg-page) !important;
	color: var(--text-primary) !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
}
h1, h2, h3, h4, h5, h6 {
	font-family: 'Manrope', sans-serif !important;
	color: var(--text-primary) !important;
}
h1 { font-size: 32px !important; font-weight: 800 !important; letter-spacing: -0.03em !important; }
h2 { font-size: 24px !important; font-weight: 700 !important; letter-spacing: -0.02em !important; }
h3 { font-size: 18px !important; font-weight: 700 !important; letter-spacing: -0.01em !important; }
h4 { font-size: 15px !important; font-weight: 600 !important; }
h5, h6 { font-size: 13px !important; font-weight: 600 !important; color: var(--text-secondary) !important; }

/* ─── NAVBAR (верхняя полоска) ─── */
.navbar {
	background: var(--bg-topbar) !important;
	border-bottom: none !important;
	box-shadow: none !important;
	padding: 0 24px !important;
	height: 56px;
}
.navbar-brand {
	font-family: 'Manrope', sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #FFFFFF !important;
	letter-spacing: -0.01em;
	display: flex;
	align-items: center;
	gap: 10px;
}

/* ─── САЙДБАР ─── */
.sidebar {
	background: var(--bg-white) !important;
	border-right: 1px solid var(--border) !important;
	box-shadow: var(--shadow-xs) !important;
	width: 60px !important;
}
.sidebar-logo {
	background: var(--accent) !important;
	border-radius: var(--radius-md) !important;
	font-weight: 800 !important;
	box-shadow: 0 4px 12px rgba(255,107,0,0.30) !important;
}
.sidebar-item {
	border-radius: var(--radius-md) !important;
	color: var(--text-muted) !important;
	transition: var(--transition) !important;
	border-left: 3px solid transparent !important;
	font-size: 1.1rem !important;
}
.sidebar-item:hover {
	background: var(--accent-light) !important;
	color: var(--accent) !important;
	transform: none !important;
	border-left-color: transparent !important;
}
.sidebar-item.active {
	background: var(--accent-light) !important;
	color: var(--accent) !important;
	border-left: 3px solid var(--accent) !important;
	box-shadow: none !important;
}
.sidebar-item::after {
	content: attr(data-title) !important;
	position: absolute !important;
	left: 60px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	background: var(--text-primary) !important;
	color: #fff !important;
	padding: 6px 12px !important;
	border-radius: var(--radius-sm) !important;
	white-space: nowrap !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	z-index: 1001 !important;
	box-shadow: var(--shadow-sm) !important;
	pointer-events: none !important;
	opacity: 0 !important;
	transition: opacity 0.15s ease !important;
}
.sidebar-item:hover::after {
	opacity: 1 !important;
	display: block !important;
}

/* ─── СКРЫТИЕ КНОПОК: d-none должен побеждать display: inline-flex ─── */
.btn.d-none, button.btn.d-none {
	display: none !important;
}
.sidebar-item.d-none {
	display: none !important;
}

/* ─── КНОПКИ — ПИЛЮЛИ ─── */
.btn, button.btn {
	font-family: 'Manrope', sans-serif !important;
	font-weight: 600 !important;
	border-radius: var(--radius-pill) !important;
	transition: var(--transition) !important;
	letter-spacing: 0;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
}
.btn-primary {
	background: var(--accent) !important;
	color: #FFFFFF !important;
	border: none !important;
	box-shadow: 0 4px 16px rgba(255,107,0,0.30) !important;
	padding: 10px 22px !important;
	font-size: 14px !important;
}
.btn-primary:hover, .btn-primary:focus {
	background: var(--accent-hover) !important;
	color: #FFFFFF !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 20px rgba(255,107,0,0.40) !important;
}
.btn-primary:active {
	transform: translateY(0) !important;
}
.btn-secondary {
	background: transparent !important;
	border: 1.5px solid var(--border) !important;
	color: var(--text-primary) !important;
	box-shadow: none !important;
}
.btn-secondary:hover {
	border-color: var(--accent) !important;
	color: var(--accent) !important;
	background: var(--accent-light) !important;
}
.btn-outline-secondary {
	background: transparent !important;
	border: 1.5px solid var(--border) !important;
	color: var(--text-secondary) !important;
	border-radius: var(--radius-pill) !important;
	font-size: 13px !important;
}
.btn-outline-secondary:hover {
	border-color: var(--accent) !important;
	color: var(--accent) !important;
	background: var(--accent-light) !important;
}
.btn-outline-danger {
	border-radius: var(--radius-pill) !important;
	font-size: 13px !important;
}
.btn-outline-success {
	border-radius: var(--radius-pill) !important;
	font-size: 13px !important;
}
.btn-outline-warning {
	border-radius: var(--radius-pill) !important;
	font-size: 13px !important;
}
.btn-sm {
	padding: 6px 16px !important;
	font-size: 13px !important;
	border-radius: var(--radius-pill) !important;
}
.btn-reset {
	background: #FFFFFF !important;
	color: #6c757d !important;
	border: 1px solid #dee2e6 !important;
	border-radius: var(--radius-pill) !important;
	font-weight: 500 !important;
	box-shadow: none !important;
	transition: all 0.3s ease !important;
}
.btn-reset:hover {
	background: var(--rush-orange) !important;
	color: #FFFFFF !important;
	border-color: var(--rush-orange) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 12px rgba(245, 187, 65, 0.35) !important;
}
.btn-close {
	border-radius: 50% !important;
}

/* ─── КАРТОЧКИ ─── */
.card {
	background: var(--bg-white) !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--radius-lg) !important;
	box-shadow: var(--shadow-sm) !important;
}
.card:hover { box-shadow: var(--shadow-md) !important; }
.card-header {
	background: var(--bg-white) !important;
	border-bottom: 1px solid var(--border) !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	padding: 16px 20px !important;
	border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
}

/* ─── СТАТ-КАРТОЧКИ ─── */
.stat-card {
	background: var(--bg-white) !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--radius-lg) !important;
	box-shadow: var(--shadow-sm) !important;
	color: var(--text-primary) !important;
}
.stat-card-1 {
	background: linear-gradient(135deg, rgba(33,103,209,0.06) 0%, var(--bg-white) 100%) !important;
	border-left: 3px solid #2167D1 !important;
	color: var(--text-primary) !important;
}
.stat-card-1 .stat-number { color: #2167D1 !important; }

.stat-card-2 {
	background: linear-gradient(135deg, rgba(76,168,83,0.06) 0%, var(--bg-white) 100%) !important;
	border-left: 3px solid #4CA853 !important;
	color: var(--text-primary) !important;
}
.stat-card-2 .stat-number { color: #4CA853 !important; }

.stat-card-3 {
	background: linear-gradient(135deg, rgba(91,141,238,0.06) 0%, var(--bg-white) 100%) !important;
	border-left: 3px solid #5b8dee !important;
	color: var(--text-primary) !important;
}
.stat-card-3 .stat-number { color: #5b8dee !important; }

.stat-card-4 {
	background: linear-gradient(135deg, rgba(108,117,125,0.06) 0%, var(--bg-white) 100%) !important;
	border-left: 3px solid #6c757d !important;
	color: var(--text-primary) !important;
}
.stat-card-4 .stat-number { color: #6c757d !important; }

.stat-card-5 {
	background: linear-gradient(135deg, rgba(156,39,176,0.06) 0%, var(--bg-white) 100%) !important;
	border-left: 3px solid #9C27B0 !important;
	color: var(--text-primary) !important;
}
.stat-card-5 .stat-number { color: #9C27B0 !important; }

/* ─── КАРТА ТЕПЛА: карточки статусов ─── */
.stat-hm-ok {
	background: linear-gradient(135deg, rgba(76,175,80,0.08) 0%, var(--bg-white) 100%) !important;
	border-left: 3px solid #4CAF50 !important;
	color: var(--text-primary) !important;
}
.stat-hm-ok .stat-number { color: #4CAF50 !important; }

.stat-hm-med {
	background: linear-gradient(135deg, rgba(255,152,0,0.08) 0%, var(--bg-white) 100%) !important;
	border-left: 3px solid #FF9800 !important;
	color: var(--text-primary) !important;
}
.stat-hm-med .stat-number { color: #FF9800 !important; }

.stat-hm-high {
	background: linear-gradient(135deg, rgba(244,67,54,0.08) 0%, var(--bg-white) 100%) !important;
	border-left: 3px solid #F44336 !important;
	color: var(--text-primary) !important;
}
.stat-hm-high .stat-number { color: #F44336 !important; }

.stat-hm-paused {
	background: linear-gradient(135deg, rgba(33,150,243,0.08) 0%, var(--bg-white) 100%) !important;
	border-left: 3px solid #2196F3 !important;
	color: var(--text-primary) !important;
}
.stat-hm-paused .stat-number { color: #2196F3 !important; }

.stat-hm-done {
	background: linear-gradient(135deg, rgba(96,125,139,0.08) 0%, var(--bg-white) 100%) !important;
	border-left: 3px solid #607D8B !important;
	color: var(--text-primary) !important;
}
.stat-hm-done .stat-number { color: #607D8B !important; }

/* ─── Оранжевая outline-кнопка (добавить навык / договорённость) ─── */
.btn-rush-outline {
	color: #E5A100 !important;
	border: 1.5px solid #E5A100 !important;
	background: transparent !important;
	font-weight: 600 !important;
}
.btn-rush-outline:hover {
	background: #F5BB41 !important;
	border-color: #F5BB41 !important;
	color: #fff !important;
}

/* ─── Карта тепла сотрудника (блок руководителя) ─── */
.heatmap-select {
	font-weight: 600;
	border-radius: 6px;
	transition: all 0.2s;
	border: 2px solid #dee2e6 !important;
}
.heatmap-select.heatmap-ok {
	background-color: #198754 !important;
	border-color: #198754 !important;
	color: #fff !important;
}
.heatmap-select.heatmap-med {
	background-color: #ffc107 !important;
	border-color: #ffc107 !important;
	color: #212529 !important;
}
.heatmap-select.heatmap-high {
	background-color: #dc3545 !important;
	border-color: #dc3545 !important;
	color: #fff !important;
}
.heatmap-select:disabled {
	opacity: 0.7;
	cursor: not-allowed;
}
.heatmap-select option {
	background-color: #fff !important;
	color: #212529 !important;
}

/* ─── Кнопка-галочка сохранения профиля «Чем ты крут» ─── */
.hr-profile-save-btn {
	background: #4CAF50 !important;
	border: none !important;
	color: #fff !important;
	border-radius: 8px !important;
	box-shadow: 0 2px 8px rgba(76,175,80,0.35);
	transition: all 0.2s ease;
}
.hr-profile-save-btn:hover {
	background: #43A047 !important;
	color: #fff !important;
	box-shadow: 0 4px 12px rgba(76,175,80,0.5);
	transform: scale(1.08);
}

.stat-number {
	font-size: 28px !important;
	font-weight: 800 !important;
	letter-spacing: -0.03em !important;
}
.stat-label {
	font-size: 13px !important;
	color: var(--text-secondary) !important;
	font-weight: 500 !important;
	opacity: 1 !important;
}

/* ─── ТАБЛИЦЫ ─── */
.table {
	border-collapse: collapse !important;
}
.table th {
	background: #F8F8F8 !important;
	font-family: 'Manrope', sans-serif !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	color: var(--text-muted) !important;
	border-bottom: 1px solid var(--border) !important;
	border-top: none !important;
	padding: 12px 16px !important;
	white-space: nowrap;
}
.table th.sortable {
	cursor: pointer !important;
	user-select: none !important;
}
.table th.sortable:hover {
	color: var(--accent) !important;
}
.table th.sort-asc .sort-icon,
.table th.sort-desc .sort-icon {
	color: var(--accent) !important;
	opacity: 1 !important;
}
.ppt-header {
	background: linear-gradient(120deg, #FF6B00 0%, #FFB800 100%) !important;
	border-radius: 8px 8px 0 0;
}
.ppt-header th {
	background: transparent !important;
	color: #FFFFFF !important;
	border: none !important;
	padding: 8px 10px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	text-shadow: 0 1px 2px rgba(0,0,0,0.15);
}
.table td {
	font-size: 14px !important;
	color: var(--text-primary) !important;
	border-bottom: 1px solid #F2F2F2 !important;
	border-top: none !important;
	padding: 13px 16px !important;
	vertical-align: middle !important;
}
.table tbody tr {
	transition: background 0.15s ease !important;
}
.table tbody tr:hover {
	background: var(--accent-light) !important;
	transform: none !important;
	box-shadow: none !important;
}
.table tbody tr:last-child td { border-bottom: none !important; }

/* ─── ИНПУТЫ И ФОРМЫ ─── */
.form-control, .form-select {
	font-family: 'Manrope', sans-serif !important;
	font-size: 14px !important;
	background: var(--bg-white) !important;
	border: 1.5px solid var(--border) !important;
	border-radius: var(--radius-md) !important;
	color: var(--text-primary) !important;
	padding: 10px 14px !important;
	transition: var(--transition) !important;
}
.form-control:focus, .form-select:focus {
	border-color: var(--accent) !important;
	box-shadow: 0 0 0 3px rgba(255,107,0,0.12) !important;
	outline: none !important;
}
.form-control::placeholder { color: var(--text-muted) !important; }
.form-label {
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--text-secondary) !important;
	margin-bottom: 6px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
}
.form-control-sm, .form-select-sm {
	font-size: 13px !important;
	padding: 6px 10px !important;
	border-radius: var(--radius-sm) !important;
}
.form-check-input:checked {
	background-color: var(--accent) !important;
	border-color: var(--accent) !important;
}

/* ─── МОДАЛЬНЫЕ ОКНА ─── */
.modal-header {
	background: linear-gradient(120deg, #FF6B00 0%, #FFB800 100%) !important;
	border-bottom: none !important;
	border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
	padding: 20px 28px !important;
}
.modal-title {
	font-family: 'Manrope', sans-serif !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	color: #FFFFFF !important;
	letter-spacing: -0.01em;
	text-shadow: 0 1px 3px rgba(0,0,0,0.25);
}
.modal-header * { color: #FFFFFF !important; text-shadow: 0 1px 2px rgba(0,0,0,0.2); }
.modal-header .form-control,
.modal-header .form-select {
	color: #1c1c1c !important;
	text-shadow: none !important;
}
.modal-header .btn-close { filter: brightness(0) invert(1) !important; text-shadow: none; }
.nda-btn.active {
	background: rgba(255,255,255,0.9) !important;
	color: #FF6B00 !important;
	font-weight: 700 !important;
	text-shadow: none !important;
}
#vipToggleBtn.vip-active {
	background: #DC3545 !important;
	color: #fff !important;
	border-color: #DC3545 !important;
	text-shadow: none !important;
	box-shadow: 0 0 8px rgba(220, 53, 69, 0.5), 0 0 18px rgba(255, 120, 130, 0.35), 0 0 30px rgba(255, 160, 170, 0.15) !important;
}
#vipToggleBtn:not(.vip-active):hover {
	border-color: rgba(220, 53, 69, 0.6) !important;
	color: rgba(255,255,255,0.9) !important;
}
.modal-content {
	border: none !important;
	border-radius: var(--radius-lg) !important;
	box-shadow: var(--shadow-lg) !important;
	overflow: hidden;
}
.modal-body {
	padding: 24px 28px !important;
	background: var(--bg-white) !important;
	color: var(--text-primary) !important;
}
.modal-body .form-control,
.modal-body .form-select {
	color: var(--text-primary) !important;
	background: var(--bg-white) !important;
}
.modal-footer {
	background: var(--bg-white) !important;
	border-top: 1px solid var(--border) !important;
	padding: 16px 28px !important;
}
.modal-backdrop { backdrop-filter: blur(4px); }

/* ─── NAV TABS (в модалках) ─── */
.nav-tabs {
	border-bottom: 1px solid #e5e5e5 !important;
	background: var(--bg-white) !important;
	padding: 6px 16px !important;
	gap: 2px;
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
}
.nav-tabs .nav-link {
	font-family: 'Manrope', sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #6c757d !important;
	padding: 6px 16px !important;
	border: none !important;
	border-radius: 50px !important;
	transition: background 0.18s, color 0.18s !important;
	text-decoration: none !important;
	background: transparent !important;
}
.nav-tabs .nav-link:hover {
	color: var(--accent) !important;
	background: rgba(255,107,0,0.09) !important;
}
.nav-tabs .nav-link.active {
	color: #fff !important;
	background: var(--accent) !important;
	font-weight: 700 !important;
}

/* ─── БЕЙДЖИ — ПИЛЮЛИ ─── */
.badge {
	font-family: 'Manrope', sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	padding: 3px 12px !important;
	border-radius: var(--radius-pill) !important;
}
.badge.bg-success, .badge-ok    { background: var(--success-light) !important; color: var(--success) !important; }
.badge.bg-danger,  .badge-risk  { background: var(--error-light) !important;   color: var(--error) !important; }
.badge.bg-warning               { background: var(--warning-light) !important; color: #B07C00 !important; }
.badge.bg-secondary             { background: #F0F0F0 !important; color: var(--text-secondary) !important; }
.badge.bg-primary               { background: var(--accent-light) !important; color: var(--accent) !important; }

/* ─── ФИЛЬТРЫ ─── */
.filter-section {
	background: var(--bg-white) !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--radius-lg) !important;
	box-shadow: var(--shadow-sm) !important;
	padding: 20px 24px !important;
}
.filter-label {
	font-size: 11px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	color: var(--text-muted) !important;
}
.filter-input, .filter-select {
	background: #F8F8F8 !important;
	border: 1.5px solid var(--border) !important;
	border-radius: var(--radius-md) !important;
	font-size: 14px !important;
	padding: 9px 12px !important;
	transition: var(--transition) !important;
}
.filter-input:focus, .filter-select:focus {
	background: var(--bg-white) !important;
	border-color: var(--accent) !important;
	box-shadow: 0 0 0 3px rgba(255,107,0,0.12) !important;
}

/* ─── EMPTY STATE БЛОКИ ─── */
#heatmapEmptyState, #complianceEmptyState, #linksV2EmptyState,
#tasksEmptyState, #profileEmptyState {
	background: var(--bg-white) !important;
	border: 1.5px dashed var(--border) !important;
	border-radius: var(--radius-lg) !important;
}

/* ─── КОМАНДА ─── */
.team-member {
	border: 1px solid var(--border) !important;
	border-radius: var(--radius-md) !important;
	background: var(--bg-white) !important;
	transition: var(--transition) !important;
}
.team-member:hover {
	border-color: var(--accent) !important;
	background: var(--accent-light) !important;
	transform: translateX(2px) !important;
	box-shadow: var(--shadow-xs) !important;
}

/* ─── КОНТАКТЫ ─── */
.contact-card-v2 {
	border-radius: var(--radius-md) !important;
	border: 1px solid var(--border) !important;
	border-left: 3px solid var(--accent) !important;
	box-shadow: none !important;
}
.contact-card-v2:hover { box-shadow: var(--shadow-sm) !important; }

/* ─── КАРТА ТЕПЛА — кнопки ─── */
.heatmap-total-btn {
	border-radius: var(--radius-md) !important;
	border: 1.5px solid var(--border) !important;
}
.heatmap-total-btn.active {
	border-color: var(--accent) !important;
	background: var(--accent-light) !important;
	box-shadow: 0 0 0 3px rgba(255,107,0,0.15) !important;
	color: var(--accent) !important;
}
.heatmap-total-count { color: var(--accent) !important; }

/* ─── СКРОЛЛБАР ─── */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #D5D5D5; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #AAAAAA; }

/* ─── ПРОЧЕЕ ─── */
*:focus { outline: none !important; }

.notification-toast {
	font-family: 'Manrope', sans-serif !important;
	border-radius: var(--radius-md) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	box-shadow: var(--shadow-lg) !important;
}

/* ─── УВЕДОМЛЕНИЯ (КОЛОКОЛЬЧИК) ─── */
.notification-bell {
	position: relative;
	cursor: pointer;
	color: rgba(255,255,255,0.7);
	font-size: 1.25rem;
	padding: 6px;
	border-radius: 50%;
	transition: all 0.2s ease;
}
.notification-bell:hover {
	color: #fff;
	background: rgba(255,255,255,0.1);
}
.notification-bell.has-notifications {
	color: #FF6B00;
	animation: bellPulse 2s ease-in-out infinite;
}
.notification-badge {
	position: absolute;
	top: 0;
	right: -2px;
	background: #FF6B00;
	color: #fff;
	font-size: 0.6rem;
	font-weight: 700;
	min-width: 16px;
	height: 16px;
	line-height: 16px;
	text-align: center;
	border-radius: 10px;
	padding: 0 4px;
	box-shadow: 0 2px 8px rgba(255,107,0,0.4);
}
@keyframes bellPulse {
	0%, 100% { transform: scale(1); }
	10% { transform: scale(1.15) rotate(8deg); }
	20% { transform: scale(1.15) rotate(-8deg); }
	30% { transform: scale(1); }
}
.notifications-dropdown {
	position: fixed;
	top: 56px;
	right: 16px;
	width: 380px;
	max-height: 480px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 12px 40px rgba(0,0,0,0.15), 0 0 0 1px rgba(0,0,0,0.05);
	z-index: 9999;
	overflow: hidden;
	font-family: 'Manrope', sans-serif;
}
.notifications-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	border-bottom: 1px solid #f0f0f0;
	background: #fafafa;
}
.notifications-title {
	font-size: 0.85rem;
	font-weight: 700;
	color: #1a1a2e;
}
.notifications-ack-all {
	background: none;
	border: none;
	color: #FF6B00;
	font-size: 0.75rem;
	font-weight: 600;
	cursor: pointer;
	padding: 4px 10px;
	border-radius: 6px;
	transition: background 0.15s;
}
.notifications-ack-all:hover {
	background: rgba(255,107,0,0.08);
}
.notifications-list {
	overflow-y: auto;
	max-height: 400px;
}
.notifications-empty {
	text-align: center;
	padding: 30px 16px;
	color: #aaa;
	font-size: 0.82rem;
}
.notification-item {
	padding: 12px 16px;
	border-bottom: 1px solid #f5f5f5;
	transition: opacity 0.25s, transform 0.25s;
}
.notification-item:hover {
	background: #fff8f3;
}
.notification-item:last-child {
	border-bottom: none;
}
.notification-item-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 4px;
}
.notification-item-title {
	font-size: 0.8rem;
	font-weight: 600;
	color: #1a1a2e;
	cursor: pointer;
	line-height: 1.35;
	margin-bottom: 2px;
}
.notification-item-title:hover {
	color: #FF6B00;
}
.notification-item-project {
	font-size: 0.7rem;
	color: #999;
	margin-bottom: 6px;
}
.notification-deadline {
	font-size: 0.68rem;
	color: #999;
	font-weight: 500;
}
.notification-overdue {
	color: #FF4444 !important;
	font-weight: 700 !important;
}
.notification-item-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.notification-creator {
	font-size: 0.68rem;
	color: #bbb;
}
.notification-ack-btn {
	background: none;
	border: 1.5px solid #FF6B00;
	color: #FF6B00;
	font-size: 0.68rem;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 20px;
	cursor: pointer;
	transition: all 0.15s;
}
.notification-ack-btn:hover {
	background: #FF6B00;
	color: #fff;
}

.main-content .card { overflow: hidden; }

/* ─── DASHBOARD WIDGETS ─── */
.dashboard-widget {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.04);
    overflow: hidden;
    height: 100%;
}
.dashboard-widget-header {
    padding: 14px 18px 10px;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.dashboard-widget-header h6 {
    margin: 0;
    font-weight: 700;
    font-size: 0.9rem;
    color: #1a1a2e;
}
.dashboard-widget-header h6 i {
    color: var(--rush-orange, #F5BB41);
    margin-right: 8px;
    font-size: 0.85rem;
}
.dashboard-widget-header small {
    font-size: 0.75rem;
}
.dashboard-widget-body {
    padding: 14px 18px 18px;
}

/* ─── STATUS BARS ─── */
.status-bar-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}
.status-bar-row:last-child {
    margin-bottom: 0;
}
.status-bar-label {
    width: 90px;
    flex-shrink: 0;
    font-size: 0.82rem;
    font-weight: 600;
    color: #333;
    text-align: right;
}
.status-bar-track {
    flex: 1;
    height: 28px;
    background: #f2f2f2;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
}
.status-bar-fill {
    height: 100%;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 10px;
    min-width: 50px;
    transition: width 0.6s ease;
}
.status-bar-value {
    font-size: 0.75rem;
    font-weight: 600;
    color: #fff;
    white-space: nowrap;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

/* ─── WIDGET TABLES ─── */
.widget-table {
    width: 100%;
    font-size: 0.82rem;
    border-collapse: collapse;
}
.widget-table thead th {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #888;
    padding: 6px 8px;
    border-bottom: 2px solid #f0f0f0;
    white-space: nowrap;
}
.widget-table tbody td {
    padding: 8px 8px;
    border-bottom: 1px solid #f5f5f5;
    color: #333;
    vertical-align: middle;
}
.widget-table tbody tr:last-child td {
    border-bottom: none;
}
.widget-table tbody tr:hover {
    background: #fafafa;
}

/* ─── PRODUCT / WORKLOAD BARS ─── */
.product-bar-track,
.workload-bar-track {
    height: 8px;
    background: #f0f0f0;
    border-radius: 4px;
    overflow: hidden;
}
.product-bar-fill {
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(90deg, var(--rush-orange, #F5BB41), #f7cc6a);
    transition: width 0.5s ease;
}
.workload-bar-fill {
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(90deg, #2167D1, #5a9bf5);
    transition: width 0.5s ease;
}

/* Пульсирующая кнопка сохранить при редактировании */
@keyframes savePulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(25, 135, 84, 0.55); }
    50%       { box-shadow: 0 0 0 6px rgba(25, 135, 84, 0); }
}
.save-btn-pulse {
    animation: savePulse 1.3s ease-in-out infinite;
    background-color: #198754 !important;
    color: #fff !important;
    border-color: #198754 !important;
}

