@charset "UTF-8";
/* ==================== PERFORMANCE OPTIMIZATIONS ==================== */
/* Оптимизации для улучшения производительности и плавности прокрутки */

/* Оптимизация отрисовки для элементов с анимациями */
*, *::before, *::after {
    will-change: auto;
}

/* Используем GPU-ускорение только для интерактивных элементов */
.ex-offer-card:hover,
.dashboard-card:hover,
.ex-case-card:hover {
    will-change: transform, opacity;
    transform: translateZ(0); /* Включаем GPU-слой */
}

/* Убираем чрезмерные анимации на hover для мобильных */
@media (hover: none) and (pointer: coarse) {
    .ex-offer-card:hover,
    .dashboard-card:hover,
    .ex-case-card:hover {
        transform: none !important;
        box-shadow: inherit !important;
    }
}
/* Упрощенные переходы для лучшей производительности */
.ex-offer-card,
.dashboard-card,
.notification-card,
.ex-case-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

/* ==================== ACCOUNT HEADER & TITLE ==================== */
/* Стили заголовка личного кабинета */

.account-header {
    margin: 24px 0;
    padding: 0;
    text-align: center;
}

.account-title {
    font-size: 28px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
}

@media (max-width: 768px) {
    .account-title {
        font-size: 24px;
    }
}

@media (max-width: 480px) {
    .account-title {
        font-size: 20px;
    }
}

/* Управление уведомлениями */
.ex-notify-section {
    order: 0;
    grid-column: auto;
}

.ex-notify-card {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 16px;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: 100%;
    box-sizing: border-box;
}

.ex-notify-row {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 18px;
    padding: 6px 0;
    border-bottom: 1px solid #f1f5f9;
    flex-wrap: wrap;
}

.ex-notify-row:last-child {
    border-bottom: none;
}

.ex-notify-label {
    font-weight: 600;
    color: #0f172a;
    min-width: 140px;
}

.ex-notify-form {
    margin: 0;
    flex: 1;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.ex-notify-options {
    display: inline-flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.ex-notify-option {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    cursor: pointer;
    background: #fff;
    font-weight: 600;
    color: #1f2937;
    transition: all 0.15s ease;
    white-space: nowrap;
    line-height: 1.2;
}

/* Статус и опасные действия */
.ex-status-section {
    grid-column: auto;
}

.ex-status-card,
.ex-danger-card {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 16px;
    background: #fff;
    margin-top: 10px;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.05);
}

.ex-status-card form,
.ex-danger-card form {
    margin: 0;
    display: inline-flex;
    gap: 10px;
    align-items: center;
}

.ex-status-state {
    margin: 0 0 10px 0;
    font-weight: 700;
}

.ex-status-state.ex-success {
    color: #15803d;
}

.ex-status-state.ex-error {
    color: #b91c1c;
}

.ex-danger-card h3 {
    margin: 0 0 12px 0;
    color: #b91c1c;
}

.ex-danger-hint {
    margin: 8px 0 0 0;
    color: #6b7280;
    font-size: 0.9rem;
}

.ex-notify-option.ex-active {
    border-color: #2563eb;
    background: #eff6ff;
    color: #1d4ed8;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.12);
}

.ex-notify-option input {
    display: none;
}

.ex-notify-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.ex-notify-action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 10px;
    font-weight: 700;
    text-decoration: none;
    border: 1px solid #e2e8f0;
    background: #2563eb;
    color: #fff;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.ex-notify-action:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.18);
}

.ex-notify-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 10px;
    font-weight: 700;
    background: #f1f5f9;
    color: #0f172a;
}

.ex-notify-badge.success {
    background: #d1fae5;
    color: #065f46;
}

.ex-notify-badge.info {
    background: #e0f2fe;
    color: #1d4ed8;
}

.ex-notify-hint {
    color: #6b7280;
    font-size: 0.85rem;
}

@media (max-width: 640px) {
    .ex-notify-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .ex-notify-options {
        width: 100%;
    }
}
/* ==================== POST RESULT STYLES ==================== */
/* Современные стили для страницы результатов регистрации с цветовой схемой 7796C6, FFA216, E75656 */

.post-result-container {
    max-width: 800px;
    margin: 160px auto 64px;
    padding: 24px 16px;
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    animation: none;
}

/* Карточки уведомлений */
.notification-card {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border-radius: 24px;
    padding: 40px 32px;
    box-shadow: 
        0 32px 64px rgba(15, 23, 42, 0.12),
        0 16px 32px rgba(15, 23, 42, 0.08),
        0 8px 16px rgba(15, 23, 42, 0.04);
    border: 1px solid rgba(148, 163, 184, 0.2);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 24px;
    position: relative;
    overflow: hidden;
    transform: translateY(0) scale(1);
    opacity: 1;
    animation: none;
}

.notification-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #7796C6 0%, #FFA216 50%, #7796C6 100%);
    background-size: 100% 100%;
    animation: none;
}

/* Упрощенные анимации для лучшей производительности */
@keyframes slideInFromBottom {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Убрали тяжелую анимацию градиента */

/* Успешное уведомление */
.notification-success {
    border-left: 6px solid #10b981;
}

.notification-success::before {
    background: linear-gradient(90deg, #10b981 0%, #34d399 50%, #10b981 100%);
}

/* Ошибка уведомления */
.notification-error {
    border-left: 6px solid #E75656;
}

.notification-error::before {
    background: linear-gradient(90deg, #E75656 0%, #ef4444 50%, #E75656 100%);
}

/* Иконки уведомлений */
.notification-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-shrink: 0;
}

.notification-icon svg {
    width: 48px;
    height: 48px;
    stroke-width: 2.5;
}

.success-icon {
    background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
    color: white;
    box-shadow: 0 12px 24px rgba(16, 185, 129, 0.3);
    animation: none; /* Убираем постоянную анимацию */
}

.error-icon {
    background: linear-gradient(135deg, #E75656 0%, #ef4444 100%);
    color: white;
    box-shadow: 0 12px 24px rgba(231, 86, 86, 0.3);
    animation: none; /* Упростили анимацию ошибки */
}

@keyframes successPulse {
    0%, 100% { 
        transform: scale(1);
        box-shadow: 0 12px 24px rgba(16, 185, 129, 0.3);
    }
    50% { 
        transform: scale(1.05);
        box-shadow: 0 16px 32px rgba(16, 185, 129, 0.4);
    }
}

@keyframes errorShake {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
    20%, 40%, 60%, 80% { transform: translateX(5px); }
}

/* Контент уведомления */
.notification-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
}

.notification-title {
    font-size: 2rem;
    font-weight: 800;
    margin: 0;
    color: #1e293b;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.notification-success .notification-title {
    color: #065f46;
}

.notification-error .notification-title {
    color: #991b1b;
}

.notification-message {
    font-size: 1.125rem;
    line-height: 1.6;
    color: #475569;
    margin: 0;
    max-width: 500px;
}

.notification-message p {
    margin: 0 0 16px;
}

.notification-message p:last-child {
    margin-bottom: 0;
}

/* Информация о статусе */
.status-info {
    font-weight: 600;
    color: #334155;
}

.timeline-info {
    background: rgba(119, 150, 198, 0.05);
    border: 1px solid rgba(119, 150, 198, 0.2);
    border-radius: 16px;
    padding: 20px;
    margin: 16px 0;
    text-align: left;
}

.timeline-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    font-size: 1rem;
    color: #475569;
}

.timeline-item:last-child {
    margin-bottom: 0;
}

.timeline-icon {
    font-size: 1.25rem;
    flex-shrink: 0;
}

.application-id {
    color: #7796C6;
    font-weight: 700;
    font-size: 1.1em;
    background: rgba(119, 150, 198, 0.1);
    padding: 2px 8px;
    border-radius: 6px;
}

/* Действия уведомления */
.notification-actions {
    margin-top: 8px;
}

/* Кнопки */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 24px;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    border: none;
    position: relative;
    overflow: hidden;
    min-width: 160px;
    font-family: inherit;
}

.btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}

.btn:hover::before {
    left: 100%;
}

.btn-primary {
    background: linear-gradient(135deg, #7796C6 0%, #6687b5 100%);
    color: white;
    box-shadow: 0 8px 24px rgba(119, 150, 198, 0.3);
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(119, 150, 198, 0.4);
    color: white;
}

.btn-secondary {
    background: #f1f5f9;
    color: #475569;
    border: 2px solid #e2e8f0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.btn-secondary:hover {
    background: #e2e8f0;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
    color: #475569;
}

.btn-icon {
    font-size: 1.1em;
    margin-right: 4px;
}

/* Список ошибок валидации */
.error-list {
    list-style: none;
    padding: 16px;
    margin: 16px 0;
    background: rgba(231, 86, 86, 0.05);
    border: 1px solid rgba(231, 86, 86, 0.2);
    border-radius: 12px;
    text-align: left;
}

.error-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
    padding: 8px 12px;
    background: white;
    border-radius: 8px;
    border-left: 4px solid #E75656;
    font-size: 0.95rem;
    line-height: 1.4;
    color: #991b1b;
}

.error-item:last-child {
    margin-bottom: 0;
}

.error-item::before {
    content: '⚠️';
    font-size: 1.1em;
    flex-shrink: 0;
    margin-top: 1px;
}

/* Адаптивность */
@media (max-width: 768px) {
    .post-result-container {
        margin: 120px auto 48px;
        padding: 16px 12px;
    }
    
    .notification-card {
        padding: 24px 20px;
        gap: 20px;
        border-radius: 16px;
    }
    
    .notification-icon {
        width: 64px;
        height: 64px;
    }
    
    .notification-icon svg {
        width: 36px;
        height: 36px;
    }
    
    .notification-title {
        font-size: 1.5rem;
    }
    
    .notification-message {
        font-size: 1rem;
    }
    
    .notification-actions {
        flex-direction: column;
        width: 100%;
    }
    
    .btn {
        width: 100%;
        min-width: auto;
    }
    
    .timeline-info {
        padding: 16px;
    }
    
    .timeline-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        text-align: left;
    }
    
    .error-list {
        padding: 12px;
        margin: 12px 0;
    }
    
    .error-item {
        padding: 6px 10px;
        font-size: 0.9rem;
        gap: 8px;
    }
}

@media (max-width: 480px) {
    .notification-card {
        padding: 20px 16px;
        margin: 16px;
    }
    
    .notification-title {
        font-size: 1.25rem;
    }
    
    .timeline-info {
        padding: 12px;
    }
    
    .btn {
        padding: 14px 20px;
        font-size: 0.95rem;
    }
}

/* Анимация появления для улучшения UX */
.notification-card.animate-in {
    animation: slideInFromBottom 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Улучшение доступности */
.notification-card:focus-within {
    outline: 3px solid rgba(119, 150, 198, 0.3);
    outline-offset: 4px;
}

.btn:focus-visible {
    outline: 3px solid rgba(119, 150, 198, 0.5);
    outline-offset: 2px;
}

/* Темная тема (если потребуется) */
@media (prefers-color-scheme: dark) {
    .notification-card {
        color: #f8fafc;
        border-color: rgba(148, 163, 184, 0.3);
    }
    
    .notification-title {
        color: #f8fafc;
    }
    
    .notification-message {
        color: #cbd5e1;
    }
    
    .timeline-info {
        background: rgba(119, 150, 198, 0.1);
        border-color: rgba(119, 150, 198, 0.3);
    }
    
    .btn-secondary {
        background: #374151;
        color: #f8fafc;
        border-color: #4b5563;
    }
}

/* Сводка поданных данных */
.data-summary {
    margin-top: 40px;
    padding: 32px;
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
    border-radius: 20px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.08);
}

.summary-title {
    font-size: 1.75rem;
    font-weight: 700;
    color: #7796C6;
    margin: 0 0 24px;
    text-align: center;
    letter-spacing: -0.02em;
}

.summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
    margin-top: 24px;
}

.summary-card {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 8px 16px rgba(15, 23, 42, 0.05);
    transition: all 0.3s ease;
}

.summary-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.1);
    border-color: #7796C6;
}

.summary-card-full {
    grid-column: 1 / -1;
}

.summary-card-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1e293b;
    margin: 0 0 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid #7796C6;
}

.summary-list {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 12px 16px;
    align-items: baseline;
}

.summary-list dt {
    font-weight: 600;
    color: #64748b;
}

.summary-list dd {
    margin: 0;
    color: #1e293b;
    font-weight: 500;
    /* Prevent long strings (e.g., emails/URLs) from overflowing */
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
}

@media (max-width: 768px) {
    .data-summary {
        padding: 20px;
        margin-top: 24px;
    }
    
    .summary-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    
    .summary-card {
        padding: 16px;
    }
    
    .summary-list {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    
    .summary-list dt {
        font-size: 0.875rem;
        margin-bottom: 2px;
    }
}

/* ==================== END POST RESULT STYLES ==================== */

/* ============================================================================
	 Оглавление style_executor.css
	 1) База и контейнеры
	 2) Навигация: хлебные крошки
	 3) MODERN DASHBOARD CARDS (скопировано из style_creditor)
	 4) Сетки раздела «Предложения»
	 5) Страница «Дела в производстве»: контейнеры и сетка
	 6) Страница «Дела в производстве»: карточка и контент
	 7) Адаптивность (дела)
	 8) Спец. стили: кнопка «Сводный отчет»
	 9) Компонент: карточка предложения (общий)
	10) Длинные поля и регионы (ограничения ширины)
	11) Бейджи статусов
	12) Действия карточки
	13) Кнопка «Сообщения»
	14) Кнопка «Редактор договора»
	15) Подсветка выбранной карточки
	16) Пустое состояние
	17) Модальное окно
	18) Адаптивность (общая)
============================================================================ */

/* 1) База и контейнеры */
/* Стили для раздела исполнителя — изолированы префиксом .executor- для предотвращения конфликтов */

/* Контейнер страницы исполнителя */
.executor-account-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 16px 64px;
	background: #f8fafc;
	min-height: 80vh;
    contain: layout style;
}

/* Контейнер аккаунта с отступом */
.ex-account-container {
	margin-top: 0;
}

/* Хлебные крошки в стиле list_cases */
.ex-breadcrumb {
    margin: 36px 0 24px;
    padding: 12px 20px;
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 2px 8px rgba(2,6,23,0.05);
}

.ex-breadcrumb-list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 8px;
    align-items: center;
    font-size: 14px;
}

.ex-breadcrumb-item {
    display: flex;
    align-items: center;
}

.ex-breadcrumb-item:not(:last-child)::after {
    content: '/';
    margin-left: 8px;
    color: #9ca3af;
    font-weight: 300;
}

.ex-breadcrumb-link {
    color: #7796C6;
    text-decoration: none;
    transition: all 0.2s ease;
    padding: 4px 8px;
    border-radius: 6px;
    font-weight: 500;
}

.ex-breadcrumb-link:hover {
    color: #6687b5;
    background: rgba(119, 150, 198, 0.1);
    text-decoration: none;
}

.ex-breadcrumb-current {
    font-weight: 600;
    color: #0f172a;
    padding: 4px 8px;
    background: rgba(15, 23, 42, 0.05);
    border-radius: 6px;
}

/* Адаптивность для хлебных крошек */
@media (max-width: 768px) {
    .ex-breadcrumb {
        margin: 20px 0 15px;
        padding: 8px 16px;
    }
    
    .ex-breadcrumb-list {
        font-size: 13px;
        gap: 6px;
    }
}

/* Стили для валидации чекбоксов */
.ex-checkbox-label.ex-error,
.ex-checkbox-label:has(input.ex-error) {
    border: 2px solid #E75656;
    background-color: rgba(231, 86, 86, 0.05);
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 8px;
}

.ex-checkbox-label.ex-error input[type="checkbox"],
.ex-checkbox-label:has(input.ex-error) input[type="checkbox"] {
    accent-color: #E75656;
    outline: 2px solid #E75656;
    outline-offset: 2px;
}

/* Анимация ошибки */
.ex-checkbox-label.ex-error {
    animation: none; /* Убираем анимацию тряски */
}

@keyframes ex-shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}

/* Успешная валидация чекбокса */
.ex-checkbox-label:has(input:checked) {
    border: 2px solid #10b981;
    background-color: rgba(16, 185, 129, 0.05);
}

.ex-checkbox-label:has(input:checked) input[type="checkbox"] {
    accent-color: #10b981;
}

/* Дополнительные классы для совместимости */
.ex-form-row {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

.ex-form-row .ex-form-group {
    flex: 1;
}

.ex-auto-resize {
    resize: none;
    overflow: hidden;
    min-height: 40px;
}

.ex-char-counter {
    font-size: 0.875rem;
    color: #64748b;
    text-align: right;
    margin-top: 4px;
}

.ex-char-counter.ex-warning {
    color: #f59e0b;
}

.ex-char-counter.ex-danger {
    color: #ef4444;
}

/* Адаптивность для строк формы */
@media (max-width: 768px) {
    .ex-form-row {
        flex-direction: column;
        gap: 15px;
    }
}

/* Стили для readonly полей */
.ex-form-input[readonly] {
    background-color: #f8fafc;
    cursor: not-allowed;
    border-color: #e2e8f0;
}

.ex-form-input[readonly]:focus {
    background-color: #f1f5f9;
    border-color: #cbd5e1;
    box-shadow: 0 0 0 3px rgba(119, 150, 198, 0.1);
}

/* Индикатор автозаполнения */
.ex-form-input[readonly]:not(:placeholder-shown) {
    background-color: #f0f9ff;
    border-color: #7796C6;
}

/* Состояния валидации для поля поиска */
.ex-form-input.ex-valid {
    border-color: #10b981;
    background-color: #f0fdf4;
}

.ex-form-input.ex-error {
    border-color: #E75656;
    background-color: #fef2f2;
}

.ex-form-input.ex-valid:focus {
    border-color: #10b981;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}

.ex-form-input.ex-error:focus {
    border-color: #E75656;
    box-shadow: 0 0 0 3px rgba(231, 86, 86, 0.1);
}

/* 2) Навигация: хлебные крошки */
.executor-account-container .exec-breadcrumbs {
	margin: 16px 0 24px !important;
	padding: 12px 20px !important;
	background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%) !important;
	border-radius: 12px !important;
	border: 1px solid #e5e7eb !important;
	box-shadow: 0 2px 8px rgba(2,6,23,0.05) !important;
}

.executor-account-container .exec-breadcrumbs ol {
	display: flex !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	gap: 8px !important;
	align-items: center !important;
	font-size: 14px !important;
}

/* 3) MODERN DASHBOARD CARDS 2024/2025 - ТОЧНАЯ КОПИЯ ИЗ style_creditor */
:root {
    --dashboard-primary: #7796C6;
    --dashboard-secondary: #764ba2;
    --dashboard-accent: #f093fb;
    --dashboard-success: #4ade80;
    --dashboard-warning: #f59e0b;
    --dashboard-danger: #ef4444;
    --dashboard-text-primary: #1e293b;
    --dashboard-text-secondary: #64748b;
    --dashboard-border-radius: 24px;
    --dashboard-spacing-unit: 1rem;
}

/* ПРИНУДИТЕЛЬНОЕ ПЕРЕОПРЕДЕЛЕНИЕ - MAXIMUM SPECIFICITY для исполнителя */
html body .executor-account-container .account-dashboard .dashboard-card,
html body .executor-account-container .account-dashboard .dashboard-card,
html body .executor-account-container .dashboard-card,
.executor-account-container .account-dashboard .dashboard-card,
.executor-account-container .dashboard-card {
    background: linear-gradient(135deg, 
        rgba(248, 250, 252, 0.95) 0%,
        rgba(241, 245, 249, 0.9) 100%
    ) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    border: 1px solid rgba(148, 163, 184, 0.3) !important;
    border-radius: var(--dashboard-border-radius) !important;
    
    /* Enhanced shadow system for better visibility */
    box-shadow: 
        0 20px 50px rgba(15, 23, 42, 0.15),
        0 8px 25px rgba(15, 23, 42, 0.1),
        0 4px 12px rgba(15, 23, 42, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.4) !important;
    
    padding: 2rem !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    overflow: hidden !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    
    /* Animation setup */
    opacity: 1;
    transform: translateY(0) scale(1);
    transition: all 0.3s ease !important;
}

/* Градиентный слой отключен для лучшей производительности */
.executor-account-container .dashboard-card::before {
    display: none; /* Полностью отключаем градиентный слой */
}

/* Контент карточки поверх градиента */
.executor-account-container .dashboard-card > * {
    position: relative;
    z-index: 1;
}

/* High specificity selectors for dashboard */
.executor-account-container .account-dashboard {
    margin-top: 2rem !important;
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%) !important;
    border-radius: 20px !important;
    padding: 2rem !important;
    min-height: 100vh !important;
}

.executor-account-container .dashboard-grid {
    display: grid !important;
    grid-template-columns: 1fr !important; /* Мобильная версия - 1 колонка */
    gap: 1.5rem !important;
    align-items: start !important;
}

.executor-account-container .dashboard-column {
    display: grid !important;
    grid-template-rows: auto !important;
    gap: 2rem !important;
    align-content: start !important;
}


/* Упрощенная анимация для лучшей производительности */
.executor-account-container .dashboard-card.card-animate {
    animation: none; /* Убираем тяжелую анимацию */
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* Enhanced hover effects with stronger shadows - MAXIMUM SPECIFICITY */
html body .executor-account-container .account-dashboard .dashboard-card:hover,
html body .executor-account-container .dashboard-card:hover,
.executor-account-container .account-dashboard .dashboard-card:hover,
.executor-account-container .dashboard-card:hover {
    transform: translateY(-5px) scale(1.01) !important;
    box-shadow: 
        0 40px 80px rgba(119, 150, 198, 0.25),
        0 20px 40px rgba(255, 162, 22, 0.15),
        0 8px 20px rgba(119, 150, 198, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
    transition: all 0.25s ease !important;
}

/* Убираем градиентный слой при hover - оставляем только тени */
.executor-account-container .dashboard-card:hover::before {
    opacity: 0; /* Градиент остается невидимым */
}

/* Card header with clean static background */
.executor-account-container .card-header {
    display: flex !important;
    align-items: center !important;
    gap: 1.5rem !important;
    position: relative !important;
    flex-shrink: 0 !important;
    background: color-mix(in srgb, var(--dashboard-primary) 70%, white 30%) !important;
    color: white !important;
    padding: 1.5rem 2rem !important;
    border-radius: 20px !important;
    margin: 0 !important;
    overflow: hidden !important;
    
    box-shadow: 
        0 12px 40px rgba(102, 126, 234, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.3),
        0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.executor-account-container .card-header h3 {
    flex-grow: 1;
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: white !important;
    line-height: 1.3;
    letter-spacing: -0.025em;
    position: relative;
    z-index: 2;
    text-shadow: 
        0 2px 4px rgba(0, 0, 0, 0.3),
        0 4px 8px rgba(0, 0, 0, 0.15);
}

.executor-account-container .card-icon {
    font-size: 2.5rem;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    filter: 
        drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3))
        drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.5);
}

.executor-account-container .card-icon:hover {
    transform: scale(1.2) rotate(10deg) translateY(-2px);
}

.executor-account-container .notification-badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    
    color: white;
    padding: 0.5rem 0.875rem;
    border-radius: 25px;
    font-size: 0.75rem;
    font-weight: 800;
    min-width: 28px;
    text-align: center;
    z-index: 3;
    box-shadow: 
        0 8px 24px rgba(239, 68, 68, 0.4),
        0 4px 12px rgba(0, 0, 0, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    animation: badgePulse 2s ease-in-out infinite; /* Возвращаем анимацию пульсации */
    border: 2px solid rgba(255, 255, 255, 0.8);
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes badgePulse {
    0%, 100% { 
        transform: scale(0.85);
        box-shadow: 
            0 8px 24px rgba(239, 68, 68, 0.4),
            0 4px 12px rgba(0, 0, 0, 0.15);
    }
    50% { 
        transform: scale(1.075);
        box-shadow: 
            0 12px 32px rgba(239, 68, 68, 0.6),
            0 6px 16px rgba(0, 0, 0, 0.2);
    }
}

/* Card content */
.executor-account-container .card-content {
    margin-bottom: 2rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 80px;
    padding: 0 0.5rem;
}

.executor-account-container .card-content p {
    color: var(--dashboard-text-secondary);
    margin: 0;
    line-height: 1.6;
    text-align: center;
    font-size: 1rem;
    font-weight: 400;
}

/* Enhanced card grid layout - УДАЛЕНО ДУБЛИРОВАНИЕ - используется компактная версия ниже */

/* Modern card buttons */
.executor-account-container .ex-card-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem 0.75rem;
    min-height: 56px;
    
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.9) 0%,
        rgba(248, 250, 252, 0.8) 100%
    );
    backdrop-filter: blur(12px) saturate(150%);
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: 18px;
    
    box-shadow: 
        0 8px 32px rgba(15, 23, 42, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.4),
        0 2px 8px rgba(0, 0, 0, 0.06);
    
    text-decoration: none;
    color: var(--dashboard-text-primary);
    font-weight: 600;
    
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.executor-account-container .ex-card-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, 
        rgba(119, 150, 198, 0.8) 0%, /* Сделали более прозрачным */
        rgba(240, 147, 251, 0.6) 100% /* Сделали более прозрачным */
    );
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 0;
}

.executor-account-container .ex-card-btn:hover::before {
    opacity: 1;
}


.executor-account-container .ex-card-btn:hover {
    color: white;
    transform: translateY(-3px) scale(1.015); /* Уменьшили сдвиг в 2 раза: с -6px до -3px */
    border-color: var(--dashboard-primary);
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.95) 0%, /* Сделали фон светлее */
        rgba(248, 250, 252, 0.9) 100%
    );
    box-shadow: 
        0 12px 32px rgba(102, 126, 234, 0.2), /* Уменьшили интенсивность тени */
        0 6px 16px rgba(15, 23, 42, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.executor-account-container .ex-card-btn .action-icon,
.executor-account-container .ex-card-btn .action-text {
    position: relative;
    z-index: 1;
    transition: all 0.3s ease;
}

.executor-account-container .ex-card-btn:hover .action-icon {
    transform: scale(1.1) rotate(5deg);
}

.executor-account-container .ex-card-btn:hover .action-text {
    transform: translateY(-1px);
    letter-spacing: 0.5px;
    color: white !important;
}

/* Full-width card button */
.executor-account-container .ex-card-btn-full {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem 0.75rem;
    min-height: 56px;
    
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.9) 0%,
        rgba(248, 250, 252, 0.8) 100%
    );
    backdrop-filter: blur(12px) saturate(150%);
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: 18px;
    
    box-shadow: 
        0 8px 32px rgba(15, 23, 42, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.4),
        0 2px 8px rgba(0, 0, 0, 0.06);
    
    text-decoration: none;
    color: var(--dashboard-text-primary);
    font-weight: 600;
    
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.executor-account-container .ex-card-btn-full::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, 
        rgba(119, 150, 198, 0.8) 0%, /* Сделали более прозрачным */
        rgba(240, 147, 251, 0.6) 100% /* Сделали более прозрачным */
    );
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 0;
}

.executor-account-container .ex-card-btn-full:hover::before {
    opacity: 1;
}

.executor-account-container .ex-card-btn-full:hover {
    color: white;
    transform: translateY(-3px) scale(1.015); /* Уменьшили сдвиг в 2 раза: с -6px до -3px */
    border-color: var(--dashboard-primary);
    background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.95) 0%, /* Сделали фон светлее */
        rgba(248, 250, 252, 0.9) 100%
    );
    box-shadow: 
        0 12px 32px rgba(102, 126, 234, 0.2), /* Уменьшили интенсивность тени */
        0 6px 16px rgba(15, 23, 42, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.executor-account-container .ex-card-btn-full .action-icon,
.executor-account-container .ex-card-btn-full .action-text {
    position: relative;
    z-index: 1;
    transition: all 0.3s ease;
}

.executor-account-container .ex-card-btn-full:hover .action-icon {
    transform: scale(1.1) rotate(5deg);
}

.executor-account-container .ex-card-btn-full:hover .action-text {
    transform: translateY(-1px);
    letter-spacing: 0.5px;
    color: white !important;
}

.executor-account-container .action-icon {
    font-size: 1.25rem;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}

/* ===================== КОМПАКТНЫЙ ДИЗАЙН ДАШБОРДА 2025 ===================== */
/* Новая компактная версия для размещения всех карточек на одном экране */

/* Основной контейнер дашборда - минимальная высота и отступы */
.executor-account-container .account-dashboard {
    margin-top: 1rem !important;
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%) !important;
    border-radius: 20px !important;
    padding: 1.5rem !important;
    min-height: auto !important; /* Убираем принудительную высоту 100vh */
}

/* Компактная сетка дашборда */
.executor-account-container .dashboard-grid {
    display: grid !important;
    gap: 1rem !important; /* Уменьшили gap */
    align-items: start !important;
    /* Адаптивная сетка для компактного размещения */
    grid-template-columns: 1fr !important; /* По умолчанию 1 колонка */
}

/* Удаляем колонки - теперь используем прямую сетку карточек */
.executor-account-container .dashboard-column {
    display: contents !important; /* Элемент становится прозрачным для grid */
}

/* Компактные размеры карточек */
html body .executor-account-container .account-dashboard .dashboard-card,
html body .executor-account-container .dashboard-card {
    padding: 1rem !important; /* Уменьшили отступы */
    min-height: 160px !important; /* Фиксированная минимальная высота */
    max-height: 200px !important; /* Максимальная высота для предотвращения растягивания */
    border-radius: 16px !important; /* Уменьшили радиус */
    
    /* Оптимизированные тени */
    box-shadow: 
        0 8px 25px rgba(15, 23, 42, 0.08),
        0 4px 12px rgba(15, 23, 42, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
}

/* Компактный заголовок карточки */
.executor-account-container .card-header {
    padding: 0.5rem 0.75rem !important; /* Еще больше уменьшили отступы */
    gap: 0.5rem !important;
    border-radius: 10px !important;
    margin: 0 0 0.5rem 0 !important; /* Уменьшили нижний отступ */
    min-height: 60px !important; /* Фиксированная высота заголовка */
    max-height: 60px !important;
    
    box-shadow: 
        0 4px 12px rgba(102, 126, 234, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.3),
        0 1px 4px rgba(0, 0, 0, 0.08) !important;
}

.executor-account-container .card-header h3 {
    font-size: 0.8rem !important; /* Еще больше уменьшили размер шрифта */
    line-height: 1.1 !important;
    margin: 0 !important;
    flex: 1 !important; /* Растягиваем заголовок */
}

.executor-account-container .card-icon {
    font-size: 1.5rem !important; /* Уменьшили размер иконки */
    flex-shrink: 0 !important; /* Не сжимаем иконку */
}

.executor-account-container .notification-badge {
    top: 0.3rem !important;
    right: 0.3rem !important;
    padding: 0.2rem 0.4rem !important;
    font-size: 0.6rem !important;
    min-width: 18px !important;
    height: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    
    color: white !important;
    border-radius: 25px !important;
    font-weight: 800 !important;
    text-align: center !important;
    z-index: 3 !important;
    box-shadow: 
        0 8px 24px rgba(239, 68, 68, 0.4),
        0 4px 12px rgba(0, 0, 0, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
    border: 2px solid rgba(255, 255, 255, 0.8) !important;
    background: #E75656 !important;
    animation: badgePulse 2s ease-in-out infinite !important;
}

/* Компактное содержимое карточки */
.executor-account-container .card-content {
    margin-bottom: 0.75rem !important;
    min-height: 50px !important; /* Фиксированная минимальная высота */
    flex: 1 !important; /* Занимаем доступное пространство */
    padding: 0 0.25rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.executor-account-container .card-content p {
    font-size: 0.8rem !important; /* Уменьшили размер текста */
    line-height: 1.4 !important;
    margin: 0 !important;
}

/* Компактные кнопки */
.executor-account-container .ex-card-btn,
.executor-account-container .ex-card-btn-full {
    padding: 0.5rem 0.5rem !important;
    min-height: 40px !important; /* Соответствует высоте card-grid */
    height: 40px !important; /* Фиксированная высота */
    gap: 0.25rem !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: row;
}

.executor-account-container .action-icon {
    font-size: 0.85rem !important;
    flex-shrink: 0 !important;
}

.executor-account-container .action-text {
    font-size: 1rem !important;
    text-align: center !important;
    line-height: 1.1 !important;
}

/* Сетка кнопок внутри карточки - ЕДИНСТВЕННОЕ ОПРЕДЕЛЕНИЕ */
html body .executor-account-container .account-dashboard .card-grid,
html body .executor-account-container .card-grid,
.executor-account-container .account-dashboard .card-grid,
.executor-account-container .card-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important; /* Две колонки для размещения кнопок рядом */
    gap: 0.5rem !important;
    margin-top: 0 !important;
    position: relative !important;
    min-height: 40px !important; /* Увеличили минимальную высоту */
    height: 40px !important; /* Фиксированная высота для единообразия */
    align-items: stretch !important; /* Растягиваем элементы по высоте */
}

/* Адаптивная сетка для разных размеров экранов */

/* Планшеты - 2 колонки */
@media (min-width: 768px) and (max-width: 1023px) {
    .executor-account-container .dashboard-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1rem !important;
    }
}

/* Компьютеры - 3 колонки */
@media (min-width: 1024px) and (max-width: 1439px) {
    .executor-account-container .dashboard-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 1rem !important;
    }
}

/* Большие мониторы - 4 колонки */
@media (min-width: 1440px) {
    .executor-account-container .dashboard-grid {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 1.25rem !important;
    }
    
    /* На больших экранах можем позволить чуть больше места */
    html body .executor-account-container .dashboard-card {
        min-height: 180px !important;
        max-height: 220px !important;
    }
}

/* Очень маленькие экраны - оставляем 1 колонку */
@media (max-width: 767px) {
    
    .executor-account-container .account-dashboard {
        padding: 1rem !important;
    }
    
    html body .executor-account-container .dashboard-card {
        min-height: 140px !important;
        max-height: 180px !important;
        padding: 0.75rem !important;
    }
    
    .executor-account-container .card-header {
        padding: 0.4rem 0.6rem !important;
        gap: 0.4rem !important;
        min-height: 50px !important;
        max-height: 50px !important;
    }
    
    .executor-account-container .card-header h3 {
        font-size: 0.75rem !important;
    }
    
    .executor-account-container .card-icon {
        font-size: 1.25rem !important;
    }
    
    .executor-account-container .card-content {
        min-height: 40px !important;
    }
    
    /* Мобильные стили для card-grid - объединенные */
    .executor-account-container .card-grid {
        height: 35px !important;
        min-height: 35px !important;
        grid-template-columns: 1fr !important; /* На мобильных кнопки занимают всю ширину */
    }
    
    .executor-account-container .ex-card-btn,
    .executor-account-container .ex-card-btn-full {
        height: 35px !important;
        min-height: 35px !important;
        padding: 0.4rem 0.4rem !important;
    }
}

/* Специальные стили для демо-видео - более компактные */
#demoVideo {
    margin-bottom: 1rem !important;
    border-radius: 12px !important;
}

.demo-video-container {
    padding: 1rem !important;
}

/* Telegram уведомления - компактнее */
.executor-account-container .telegram-subscription {
    padding: 1rem !important;
    margin: 0.5rem 0 !important;
    border-radius: 12px !important;
}

/* Дополнительные оптимизации для экранов высокого разрешения */
@media (min-width: 1600px) and (min-height: 900px) {
    .executor-account-container .dashboard-grid {
        grid-template-columns: repeat(5, 1fr) !important; /* 5 колонок на очень больших экранах */
        gap: 1.5rem !important;
    }
}

/* Экстра-компактная версия для ноутбуков с низким разрешением */
@media (min-width: 1024px) and (max-height: 768px) {
    html body .executor-account-container .dashboard-card {
        min-height: 140px !important;
        max-height: 160px !important;
        padding: 0.75rem !important;
    }
    
    .executor-account-container .card-header {
        padding: 0.4rem 0.6rem !important;
        margin: 0 0 0.4rem 0 !important;
        min-height: 50px !important;
        max-height: 50px !important;
    }
    
    .executor-account-container .card-header h3 {
        font-size: 1.3rem !important;
    }
    
    .executor-account-container .card-content {
        min-height: 40px !important;
    }
    
    .executor-account-container .card-content p {
        font-size: 0.75rem !important;
    }
    
    .executor-account-container .dashboard-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0.75rem !important;
    }
}

/* Оптимизация для горизонтальных планшетов */
@media (min-width: 768px) and (max-width: 1023px) and (orientation: landscape) {
    .executor-account-container .dashboard-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
    
    html body .executor-account-container .dashboard-card {
        min-height: 140px !important;
        max-height: 170px !important;
    }
}

/* Адаптивность для больших экранов - СТАРЫЕ ПРАВИЛА УДАЛЕНЫ */

/* СТАРЫЕ МОБИЛЬНЫЕ СТИЛИ УДАЛЕНЫ - ЗАМЕНЕНЫ НА КОМПАКТНЫЕ ВЫШЕ */

/* Дополнительные оптимизации компактного дизайна */

/* Убираем лишние анимации при уменьшенных размерах */
@media (max-height: 800px) {
    .executor-account-container .dashboard-card,
    .executor-account-container .ex-card-btn,
    .executor-account-container .ex-card-btn-full {
        transition: transform 0.15s ease, box-shadow 0.15s ease !important; /* Быстрее анимации */
    }
    
    .executor-account-container .dashboard-card:hover {
        transform: translateY(-2px) scale(1.005) !important; /* Меньше трансформации */
    }
    
    .executor-account-container .ex-card-btn:hover,
    .executor-account-container .ex-card-btn-full:hover {
        transform: translateY(-2px) scale(1.01) !important; /* Еще меньше для кнопок на низких экранах */
    }
}

/* Убираем избыточные отступы у гостевых элементов */
.executor-account-container .guest-status {
    margin: 0.5rem 0 !important;
    padding: 0.5rem 1rem !important;
    font-size: 0.85rem !important;
}

/* Компактный режим для demo-video */
.executor-account-container #demoVideo.demo-video-container {
    max-height: 300px !important;
    overflow: hidden !important;
}

.demo-video-header h3 {
    font-size: 1rem !important;
    margin: 0 !important;
}

/* Оптимизация отображения карточек без излишних эффектов */
@media (prefers-reduced-motion: reduce) {
    .executor-account-container .dashboard-card,
    .executor-account-container .ex-card-btn,
    .executor-account-container .ex-card-btn-full {
        transition: none !important;
    }
    
    .executor-account-container .dashboard-card:hover,
    .executor-account-container .ex-card-btn:hover,
    .executor-account-container .ex-card-btn-full:hover {
        transform: none !important;
    }
}

/* Оптимизация для экранов с высокой плотностью пикселей */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    html body .executor-account-container .dashboard-card {
        border-width: 0.5px !important; /* Тоньше границы для четкости */
    }
}

/* 4) Сетки раздела «Предложения» */
.block_send_list{
    max-width: 800px !important;
    margin: 0 auto;
}
.ex-breadcrumb-list-executors {
    display: flex;
	align-items: center;
	gap: 8px;
	margin: 20px 0;
	padding: 5px 14px 0 0;
	background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
	border-radius: 12px;
	border: 1px solid #e2e8f0;
	color: #475569;
	font-size: 14px;
}
.ex-breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 30px 0 20px;
	padding: 5px 14px 0 0;
	background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
	border-radius: 12px;
	border: 1px solid #e2e8f0;
	color: #475569;
	font-size: 14px;
}
.ex-breadcrumb-list { list-style: none; display: flex; align-items: center; gap: 8px; padding: 0; margin: 0; }
.ex-breadcrumb-item { display: flex; align-items: center; gap: 8px; }
.ex-breadcrumb-item:not(:last-child)::after { content: '›'; color: #94a3b8; margin-left: 8px; }
.ex-breadcrumb-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #475569;
	text-decoration: none;
	padding: 8px 12px;
	border-radius: 8px;
	transition: all 0.2s ease;
	font-weight: 500;
}
.ex-breadcrumb-link:hover { background: rgba(59,130,246,0.1); color: #3b82f6; transform: translateY(-1px); }
.ex-breadcrumb-separator { color: #94a3b8; font-weight: bold; user-select: none; }
.ex-breadcrumb-current { display: inline-flex; align-items: center; gap: 8px; color: #1e293b; font-weight: 600; padding: 8px 12px; background: rgba(59,130,246,0.1); border-radius: 8px; }
.ex-breadcrumb-icon { font-size: 1.1rem; }
.ex-demo-notice { color: #E75656; }
.ex-guest-indicator { color: #E75656; }

/* 3) Заголовок страницы (по тону как у кредитора) */
.ex-page-header {
    max-width: 800px !important;
	margin: 8px auto 24px;
	text-align: center;
	background: #7797C6;
	color: #fff;
	padding: 48px 32px;
	border-radius: 20px;
	position: relative;
	overflow: hidden;
}
.ex-page-header::before {
	content: '';
	position: absolute;
	top: -50%; left: -50%; width: 200%; height: 200%;
	background: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(255,255,255,0.1) 10px, rgba(255,255,255,0.1) 20px);
	animation: none; /* Убираем анимацию мерцания */
	opacity: 0; transition: opacity .5s ease;
}
.ex-page-header:hover::before { opacity: 1; }
.ex-page-header h1 { margin: 0; font-size: 30px !important; color: #fff !important; text-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.ex-page-subtitle { margin: 8px 0 0; color: rgba(255,255,255,0.92); }

@keyframes exShimmer {
  0% { transform: translate3d(0,0,0); }
  100% { transform: translate3d(50%,50%,0); }
}

/* 4) Сетки раздела «Предложения» */
.ex-offers-container { display: grid; gap: 24px; max-width: 800px !important;margin: 0 auto; }

/* 5) Страница «Дела в производстве»: контейнеры и сетка (префикс ex- исключает конфликты со style_acount) */
.ex-cases-container { display: grid; gap: 24px; }
.ex-cases-grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); align-items: stretch; }

/* 6) Страница «Дела в производстве»: карточка и контент */
.ex-case-header { display:flex; align-items:center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom:1px solid #eef2f7; background: linear-gradient(180deg, #fbfdff 0%, #ffffff 60%); }
.ex-case-number { display:flex; align-items:center; gap: 8px; font-weight: 700; color:#1f2937; }
.ex-case-label { color:#6b7280; font-weight: 600; }
.ex-case-id { font-size: 18px; }

.ex-case-status { display:inline-flex; align-items:center; gap: 8px; }
.ex-status-dot { width: 10px; height: 10px; border-radius: 50%; background:#d1d5db; display:inline-block; }
.status-active .ex-status-dot { background:#10b981; }
.status-pending .ex-status-dot { background:#6366f1; }
.status-removed .ex-status-dot { background:#9ca3af; }
.status-unknown .ex-status-dot { background:#d1d5db; }
.ex-status-text { font-weight: 700; font-size: 12px; }

.ex-case-body { padding: 16px 20px; }
.ex-case-info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: 12px 16px; }
.ex-case-info-item { display:flex; gap: 6px; align-items: baseline; flex-direction: column;}
.ex-case-info-full { grid-column: 1 / -1; }
.ex-info-label { color: #6b7280; min-width: max-content; }
.ex-info-value { color: #111827; font-weight: 500; overflow-wrap: anywhere; word-break: break-word; }
.ex-debt-amount { font-weight: 800; }

.ex-case-actions { display:flex; gap: 12px; padding: 16px 20px 18px; border-top: 1px solid #e5e7eb; align-items:center; flex-wrap: wrap; background: linear-gradient(180deg, #f9fafb 0%, #f3f4f6 100%); justify-content: space-between; margin-top: auto; }

/* 7) Адаптивность (дела) */
@media (max-width: 640px) {
	.ex-cases-grid { grid-template-columns: 1fr; }
}

/* 8) Спец. стили: кнопка «Сводный отчет» на странице дел */
.ex-case-report-btn {
	background: #7796C6; /* запрошенный цвет */
	border: 1px solid #7796C6; /* задаём явную границу, т.к. .btn в site.css ставит border: none */
	color: #ffffff;
}
.ex-case-report-btn:hover {
	background: #6687b5;
	border-color: #6687b5;
	box-shadow: 0 8px 16px rgba(119,150,198,0.30);
}
.ex-case-report-btn:focus-visible {
	outline: 3px solid rgba(119,150,198,0.45);
	outline-offset: 2px;
}
/* Повышенная специфичность для переопределения .btn-primary из style_site.css */
.ex-case-actions .ex-case-report-btn {
	background: #7796C6;
	border: 1px solid #7796C6;
	color: #ffffff;
}
.ex-case-actions .ex-case-report-btn:hover {
	background: #6687b5;
	border-color: #6687b5;
	box-shadow: 0 8px 16px rgba(119,150,198,0.30);
}
.ex-case-actions .ex-case-report-btn:focus-visible {
	outline: 3px solid rgba(119,150,198,0.45);
	outline-offset: 2px;
}

/* Максимально точечное правило на случай сильных глобальных переопределений */
.ex-case-actions a.btn.btn-primary.ex-case-report-btn {
	background: #7796C6;
	border: 1px solid #7796C6;
	color: #ffffff;
}
.ex-case-actions a.btn.btn-primary.ex-case-report-btn:hover {
	background: #6687b5;
	border-color: #6687b5;
	box-shadow: 0 8px 16px rgba(119,150,198,0.30);
}

/* 9) Компонент: карточка предложения (общий) */
.ex-offer-card {
	background: #fff;
	border: 1px solid #cbd5e1;
	border-radius: 14px;
	box-shadow: 0 20px 48px rgba(2,6,23,0.18), 0 4px 12px rgba(2,6,23,0.08), 0 0 0 1px rgba(2,6,23,0.06);
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
	display: flex;
	flex-direction: column;
	height: 100%;
}

/* Сертифицированная карточка — более массивная оранжевая тень */
.ex-offer-card.ex-certified {
  border-color: #FFA216;
  box-shadow: 0 0 0 3px rgba(255,162,22,0.25), 0 24px 56px rgba(2,6,23,0.20), 0 10px 24px rgba(255,162,22,0.28), 0 2px 8px rgba(255,162,22,0.20);
}
.ex-offer-card.ex-certified:hover {
  transform: translateY(-3px);
  box-shadow: 0 0 0 4px rgba(255,162,22,0.30), 0 36px 72px rgba(2,6,23,0.22), 0 16px 28px rgba(255,162,22,0.32), 0 4px 12px rgba(255,162,22,0.24);
}

/* Утилиты и иконки для карточки исполнителя */
.ex-flex-between { display:flex; justify-content: space-between; align-items: center; gap: 12px; }
.ex-icon { width: 1.25em; height: 1.25em; display:inline-block; vertical-align: -2px; color: currentColor; }
.ex-icon--rating { color: #FFA216; }
.ex-icon--reviews { color: #7796C6; }
.ex-forma-label { font-size: 22px; line-height: 1.2; color:#1f2937; }
.ex-executor-card { margin: 8px auto; max-width: 800px !important;}
.ex-executor-card .wrap_ratings p { margin: 6px 0; color:#334155; }
.ex-executor-card .reting_list span img { width:20px; height:20px; }
.ex-executor-card .button_edit { background:#7796C6; color:#fff; border:1px solid #7796C6; border-radius:10px; padding:10px 16px; display:inline-flex; align-items:center; gap:8px; cursor:pointer; text-decoration:none; }
.ex-executor-card .button_edit:hover { background:#6687b5; border-color:#6687b5; box-shadow:0 6px 14px rgba(119,150,198,0.25); }
.ex-executor-card .btns_manage { display:flex; gap:12px; flex-wrap:wrap; padding:12px 20px; }
.ex-executor-card .img_sertificat .style_img_confirm { vertical-align:middle; }
.ex-executor-card .style_img_sertificat { vertical-align:middle; }
.ex-executor-card .ex-section-title { margin: 10px 0 12px; font-size: 20px; color:#1f2937; }
.ex-dimmed { opacity: .6; }
.ex-executor-actions { margin-top: 12px; display:flex; gap:12px; flex-wrap:wrap; }
.ex-text-danger { color: #991B1B; background:#FEE2E2; border:1px solid #FCA5A5; padding:6px 10px; border-radius:8px; display:inline-block; }
.block_reviews.ex-dimmed, .card_list_exec.ex-dimmed, .wrap_ratings.ex-dimmed, .user_card_style.ex-dimmed { opacity: .6; }

/* Отзывы на карточке исполнителя */
.ex-toggle-btn { user-select:none; }
.ex-review { background:#ffffff; border:1px solid #e5e7eb; border-radius:10px; padding:12px 14px; margin-bottom:10px; box-shadow:0 2px 6px rgba(2,6,23,0.04); }
.ex-review--hidden { display:none; opacity:0; pointer-events:none; }
.ex-stars { display:inline-flex; gap:4px; vertical-align:middle; }
.ex-star { width:18px; height:18px; }
.ex-is-certified { border: 6px solid #FFA216; border-radius:12px; }
.ex-executor-card img[loading="lazy"] { content-visibility:auto; }
/* Переопределяем старые глобальные классы внутри ex-оберток, чтобы ничего не "разваливалось" */
.ex-account-container .user_card_style, .ex-executor-card .user_card_style { all: unset; }
.ex-account-container .wrap_ratings, .ex-executor-card .wrap_ratings { all: unset; }
.ex-account-container .block_reviews { width: 100%; max-width: 100%; margin: 16px 0; }
.ex-account-container .block_reviews.ex-feedback { padding: 18px;max-width: 800px !important;margin: 0 auto;}
.ex-account-container .wrap_reviews { width: 100%; }

/* ---------- Современный профиль исполнителя ---------- */
.ex-profile-card { padding: 18px; border:1px solid #e5e7eb; border-radius: 14px; background:#fff; box-shadow: 0 6px 18px rgba(2,6,23,.05); }
.ex-profile-card, .ex-feedback { width: 100%; }
.ex-stats { flex-wrap: wrap; }
.ex-rating-groups { grid-auto-rows: minmax(44px, auto); }
.ex-profile-top { display:flex; gap: 20px; align-items:flex-start; justify-content: space-between; flex-wrap: wrap; }
.ex-profile-actions { flex: 0 0 auto; min-width: 260px; }
.ex-badges { display:flex; flex-direction: column; gap:8px; margin: 6px 0 10px; align-items: flex-start; }
.ex-badge { display:inline-flex; align-items:center; gap:6px; font-size: 13px; line-height:1; padding:8px 10px; border-radius: 999px; border:1px solid #e5e7eb; background:#f8fafc; color:#0f172a; }
.ex-badge-success { background:#ECFDF5; color:#065F46; border-color:#A7F3D0; }
.ex-badge-info { background:#EFF6FF; color:#1D4ED8; border-color:#BFDBFE; }
.ex-stats { display:flex; gap:16px; flex-wrap:wrap; margin: 10px 0 8px; }
.ex-stat { background:#F8FAFC; border:1px solid #E5E7EB; border-radius: 12px; padding:10px 14px; min-width: 160px; }
.ex-stat__label { font-size:12px; color:#64748B; margin-bottom: 6px; }
.ex-stat__value { font-size:18px; font-weight:700; color:#111827; }
.ex-rating-groups { display:grid; grid-template-columns: repeat(3, minmax(180px, 1fr)); gap: 10px 16px; margin-top: 8px; }
.ex-rating-line { font-size: 14px; color:#334155; margin-bottom: 4px; }
.ex-divider { border:0; border-top:1px solid #e5e7eb; margin: 16px 0; }
.ex-profile-details { margin-top: 8px; }
.ex-grid { display:grid; gap: 18px; }
@media (max-width: 900px){ .ex-grid--2cols { grid-template-columns: 1fr; } }
.ex-section-subtitle { font-size: 16px; font-weight:700; color:#111827; margin: 0 0 10px; }
.ex-about { font-size:14px; color:#1f2937; line-height:1.5; background: #F8FAFC; padding: 10px 12px; border-radius: 10px; border:1px solid #E5E7EB; }
.ex-note { margin-top: 10px; font-size:14px; color:#334155; }
.ex-note__label { color:#64748B; margin-right: 6px; }
.ex-data-list { display:grid; grid-template-columns: 1fr; gap: 8px 14px; font-size:14px; align-items:center; }
.ex-data-list dt { color:#64748B; }
.ex-data-list dd { margin:0; }
.ex-chip { display:inline-flex; align-items:center; gap:6px; padding:4px 9px; border-radius:999px; background:#f3f5f7; color:#16202a; font-weight:700; font-size:13px; line-height:1.2; }
.ex-alert { padding: 12px 14px; border-radius:10px; font-size:14px; border:1px solid; }
.ex-alert-warning { background:#FEF3C7; border-color:#FCD34D; color:#78350F; }
.ex-actions form, .ex-actions .button_edit { width: 100%; }

/* Отзывы + суммарные рейтинги */
.ex-feedback { padding: 18px; border:1px solid #e5e7eb; border-radius: 14px; background:#fff; box-shadow: 0 6px 18px rgba(2,6,23,.05); margin-top: 16px; }
.ex-feedback .ex-section-subtitle { margin-top: 14px; }
.ex-feedback h3.ex-section-subtitle { display:flex; align-items:center; gap:8px; }
.ex-feedback h3.ex-section-subtitle::before { content:""; width:10px; height:10px; border-radius:50%; background:#7796C6; display:inline-block; }
.ex-feedback .wrap_reviews { padding:14px 16px; border-radius:12px; border:1px solid #E5E7EB; box-shadow:0 2px 6px rgba(2,6,23,0.04); background:#fff; }
.ex-feedback .button_edit.ex-toggle-btn { margin-top: 8px; }
.ex-feedback-summary { display:flex; flex-direction: column; gap: 12px; }
.ex-feedback .ex-stats { margin: 0 0 8px; }
.ex-feedback .ex-rating-groups { margin: 0 0 10px; }

/* Цветовые вариации для значимых статусов */
.ex-badge-warning { background:#FFF7ED; color:#C2410C; border:1px solid #FED7AA; }
.ex-badge-accent { background:#FFEFD6; color:#78350F; border:1px solid #FFD08A; }
/* дубликат не нужен — оставлен для совместимости */
.ex-text-danger { color:#991B1B; }
.ex-offer-card:hover { transform: translateY(-3px); box-shadow: 0 36px 72px rgba(2,6,23,0.22), 0 8px 20px rgba(2,6,23,0.10), 0 0 0 1px rgba(2,6,23,0.08); border-color: #94a3b8; }
.ex-card--inactive { opacity: .6; }

.ex-offer-link { color: inherit; text-decoration: none; display: block; }
.ex-offer-header { display:flex; align-items:center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom:1px solid #eef2f7; background: linear-gradient(180deg, #fbfdff 0%, #ffffff 60%); }
.ex-offer-title { margin: 0; font-size: 18px; }
.ex-offer-status { display:flex; align-items:center; gap: 8px; }

.ex-offer-body { padding: 16px 20px; }
.ex-offer-details { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: 12px 16px; }
.ex-offer-details .ex-break-row { grid-column: 1 / -1; }
.ex-detail-item { display:flex; gap: 6px; align-items: baseline; }
.ex-detail-label { color: #6b7280; min-width: max-content; }
.ex-detail-value { color: #111827; font-weight: 500; overflow-wrap: anywhere; word-break: break-word; }

/* 10) Длинные поля и регионы (ограничения ширины, техн. разделители) */
.ex-row-sep { grid-column: 1 / -1; height: 0; }

/* ОСП: во всю ширину строки, но ограничиваем длину текста */
.ex-osp-row { grid-column: 1 / -1; }
.ex-osp-row .ex-detail-value { max-width: 50ch; display: inline-block; }
/* Регионы: основной/дополнительные/зарубежом — тоже ограничиваем длину текста до ~50 символов */
.ex-region-main-row, .ex-region-add-row, .ex-region-int-row { grid-column: 1 / -1; }
.ex-region-main-row .ex-detail-value,
.ex-region-add-row .ex-detail-value,
.ex-region-int-row .ex-detail-value { max-width: 50ch; display: inline-block; }
@media (max-width: 640px) {
	.ex-osp-row .ex-detail-value { max-width: 100%; }
}

/* 11) Бейджи статусов (переиспользуем существующую палитру) */
.status-rejected { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.status-active { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.status-selected { background: #fef9c3; color: #854d0e; border: 1px solid #fde68a; padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.status-success { background: #d1fae5; color: #065f46; border: 1px solid #a7f3d0; padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.status-pending { background: #eef2ff; color: #3730a3; border: 1px solid #c7d2fe; padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.status-removed { background: #f3f4f6; color: #374151; border: 1px solid #e5e7eb; padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.status-unknown { background: #e5e7eb; color: #111827; border: 1px solid #d1d5db; padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; }

/* 12) Действия внизу карточки (кнопки) */
.ex-offer-actions { display:flex; gap: 12px; padding: 16px 20px 18px; border-top: 1px solid #e5e7eb; align-items:center; flex-wrap: wrap; background: linear-gradient(180deg, #f9fafb 0%, #f3f4f6 100%); justify-content: space-between; }

/* 13) Кнопка «Сообщения» — белый фон и серая рамка */
.ex-message-link { display:inline-flex; align-items:center; gap: 20px; padding: 20px 32px; min-height:80px; min-width: 320px; justify-content: center; border:1px solid #d1d5db; border-radius:12px; text-decoration:none; color:#1f2937; background:#ffffff; box-shadow:0 2px 4px rgba(0,0,0,0.06); transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.ex-message-link:hover { background:#f9fafb; border-color:#94a3b8; transform: translateY(-2px); box-shadow:0 4px 12px rgba(0,0,0,0.10); }
.ex-message-link:focus-visible { outline: 3px solid #bfdbfe; outline-offset: 2px; }
.ex-message-icon { font-size: 36px; }
.ex-message-text { font-weight: 700; font-size: 1.25rem; }
/* Счётчик сообщений */
.ex-message-count { min-width: 48px; height: 48px; padding: 0 16px; display:inline-flex; align-items:center; justify-content:center; font-size: 20px; border-radius: 999px; background: #e5e7eb; color: #111827; box-shadow: inset 0 -2px 0 rgba(0,0,0,0.06); }
.ex-message-count.has-unread { background:#E75656; color:#fff; }
.ex-message-link.has-unread { background:#fff1f2; border-color:#fecaca; }
.ex-message-link.has-unread:hover { background:#ffe4e6; border-color:#fca5a5; }

/* 14) Кнопка «Редактор договора» — одинаковый размер с кнопкой «Сообщения» */
.ex-contract-link { display:inline-flex; align-items:center; gap: 20px; padding: 20px 32px; min-height:80px; min-width: 320px; justify-content: center; border:1px solid #FFA216; border-radius:12px; text-decoration:none; color:#ffffff; background:#FFA216; box-shadow:0 4px 10px rgba(255,162,22,0.25); transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.ex-contract-link:hover { background:#e59500; border-color:#e59500; transform: translateY(-2px); box-shadow:0 8px 16px rgba(255,162,22,0.30); }
.ex-contract-link:focus-visible { outline: 3px solid rgba(255,162,22,0.45); outline-offset: 2px; }
.ex-contract-link.ex-disabled { pointer-events: none; opacity: .6; }

/* 15) Подсветка выбранной карточки (взыскатель выбрал вас) */
.ex-card--selected { border-color: #FFA216; box-shadow: 0 0 0 3px rgba(255,162,22,0.25), 0 20px 48px rgba(2,6,23,0.18), 0 4px 12px rgba(2,6,23,0.08); }

/* 16) Пустое состояние; карточки используют классы раздела аккаунта, где нужно — с префиксом ex- */
.empty-state-card { text-align:center; background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:28px; }
.empty-state-icon { font-size:40px; margin-bottom:8px; }

/* 17) Модальное окно (базовое) */
.modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.4); display: none; align-items: center; justify-content: center; z-index: 1000; }
.modal-overlay.show { opacity: 1; }
.modal-content { background: #fff; border-radius: 12px; box-shadow: 0 20px 48px rgba(2,6,23,0.18); width: 90%; max-width: 480px; overflow: hidden; }
.modal-header { padding: 16px 20px; border-bottom: 1px solid #eef2f7; font-weight: 700; }
.modal-body { padding: 16px 20px; color: #374151; }
.modal-footer { padding: 16px 20px; display:flex; gap: 12px; justify-content: flex-end; border-top:1px solid #eef2f7; }
.btn { display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:10px; border:1px solid transparent; cursor:pointer; text-decoration:none; }
.btn-primary { background:#4f46e5; color:#fff; border-color:#4f46e5; }
.btn-primary:hover { background:#4338ca; }
.btn-secondary { background:#e5e7eb; color:#111827; }

/* 18) Адаптивность (общая) */
@media (max-width: 640px) {
  .ex-offer-header { flex-direction: column; align-items: flex-start; }
	.ex-message-link, .ex-contract-link { gap: 10px; padding: 12px 16px; min-height: 48px; min-width: 100%; }
  .ex-message-icon { font-size: 22px; }
  .ex-message-text { font-size: 1rem; }
  .ex-message-count { min-width: 28px; height: 28px; padding: 0 8px; font-size: 13px; }
  .ex-page-header { padding: 32px 16px; }
  .ex-page-header h1 { font-size: 24px; }
}

/* ==================== MODERN REGISTRATION FORM STYLES ==================== */
/* Современные стили для формы регистрации исполнителя с использованием цветов 7796C6, FFA216, E75656 */

.ex-form-container {
    width: 60%;
    max-width: 1000px;
    min-width: 320px;
    margin: 0 auto;
    padding: 40px 24px;
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
    border-radius: 24px;
    box-shadow: 
        0 32px 64px rgba(15, 23, 42, 0.12),
        0 16px 32px rgba(15, 23, 42, 0.08),
        0 8px 16px rgba(15, 23, 42, 0.04);
    border: 1px solid rgba(148, 163, 184, 0.2);
}

.ex-form {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

/* Заголовки и введение */
.ex-form h1 {
    color: #7796C6;
    font-size: 2.5rem;
    font-weight: 800;
    text-align: center;
    margin: 0 0 16px;
    letter-spacing: -0.02em;
    text-shadow: 0 2px 4px rgba(119, 150, 198, 0.1);
}

.ex-form-intro {
    text-align: center;
    padding: 24px;
    background: linear-gradient(135deg, #7796C6 0%, #6687b5 100%);
    border-radius: 16px;
    color: white;
    box-shadow: 0 8px 24px rgba(119, 150, 198, 0.3);
}

.ex-form-subtitle {
    font-size: 1.375rem !important;
    font-weight: 700 !important;
    margin: 0 0 16px;
    color: white !important;
}

.ex-form-notice {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    padding: 16px;
    margin: 0;
    color: white;
    font-size: 0.95rem;
    line-height: 1.5;
}

/* Fieldsets и группировка */
.ex-fieldset {
    border: 2px solid #e2e8f0;
    border-radius: 16px;
    padding: 24px;
    margin: 20px 0;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(8px);
    transition: all 0.3s ease;
}

.ex-fieldset:focus-within {
    border-color: #7796C6;
    box-shadow: 0 0 0 4px rgba(119, 150, 198, 0.15);
    transform: translateY(-2px);
}

.ex-legend {
    font-size: 1.25rem;
    font-weight: 700;
    color: #7796C6;
}

/* ================================================================
   CHANGE EXECUTOR LEGAL FORM STYLES (eel-change-legal- namespace)
   ================================================================ */

:root {
    --eel-change-legal-primary: #7796C6;
    --eel-change-legal-primary-dark: #5a7dad;
    --eel-change-legal-accent: #FFA216;
    --eel-change-legal-danger: #E75656;
    --eel-change-legal-danger-dark: #d63447;
    --eel-change-legal-success: #16a34a;
    --eel-change-legal-gray-50: #f8fafc;
    --eel-change-legal-gray-100: #f1f5f9;
    --eel-change-legal-gray-200: #e2e8f0;
    --eel-change-legal-gray-300: #cbd5e1;
    --eel-change-legal-gray-400: #94a3b8;
    --eel-change-legal-gray-500: #64748b;
    --eel-change-legal-gray-600: #475569;
    --eel-change-legal-gray-700: #334155;
    --eel-change-legal-gray-800: #1e293b;
    --eel-change-legal-gray-900: #0f172a;
    --eel-change-legal-white: #ffffff;
    --eel-change-legal-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --eel-change-legal-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --eel-change-legal-border-radius: 8px;
    --eel-change-legal-border-radius-lg: 12px;
    --eel-change-legal-transition: all 0.2s ease-in-out;
}

.eel-change-legal-container {
    max-width: 1120px;
    margin: 24px auto;
    padding: 0 16px 32px;
    color: var(--eel-change-legal-gray-800);
    background-color: transparent;
}

.eel-change-legal-breadcrumbs {
    max-width: 1120px;
    margin: 24px auto 0;
    padding: 16px;
    background: var(--eel-change-legal-white);
    border: 1px solid var(--eel-change-legal-gray-200);
    border-radius: var(--eel-change-legal-border-radius-lg);
    box-shadow: var(--eel-change-legal-shadow-md);
}

.eel-change-legal-breadcrumb-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.eel-change-legal-breadcrumb-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.eel-change-legal-breadcrumb-item + .eel-change-legal-breadcrumb-item::before {
    content: '/';
    color: var(--eel-change-legal-gray-400);
}

.eel-change-legal-breadcrumb-link,
.eel-change-legal-breadcrumb-current {
    text-decoration: none;
    color: var(--eel-change-legal-gray-700);
    font-weight: 500;
}

.eel-change-legal-breadcrumb-link:hover {
    color: var(--eel-change-legal-primary);
}

.eel-change-legal-access-denied,
.eel-change-legal-form-wrapper {
    background: var(--eel-change-legal-white);
    border-radius: var(--eel-change-legal-border-radius-lg);
    box-shadow: var(--eel-change-legal-shadow-lg);
    border: 1px solid var(--eel-change-legal-gray-200);
}

.eel-change-legal-access-denied {
    border: 2px solid var(--eel-change-legal-danger);
    padding: 28px;
}

.eel-change-legal-access-denied-content {
    display: flex;
    gap: 18px;
    align-items: flex-start;
}

.eel-change-legal-access-denied-text {
    font-size: 18px;
    font-weight: 600;
    color: var(--eel-change-legal-danger-dark);
    margin-bottom: 16px;
}

.eel-change-legal-access-denied-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    border-radius: var(--eel-change-legal-border-radius);
    background: var(--eel-change-legal-primary);
    color: var(--eel-change-legal-white);
    text-decoration: none;
    font-weight: 600;
}

.eel-change-legal-access-denied-btn:hover {
    background: var(--eel-change-legal-primary-dark);
    color: var(--eel-change-legal-white);
}

.eel-change-legal-form-header {
    padding: 28px 28px 12px;
}

.eel-change-legal-form-title {
    margin: 0 0 10px;
    font-size: 32px;
    line-height: 1.2;
    color: var(--eel-change-legal-gray-900);
}

.eel-change-legal-form-subtitle {
    margin: 0;
    color: var(--eel-change-legal-gray-600);
    font-size: 16px;
}

.eel-change-legal-form {
    padding: 0 28px 28px;
}

.eel-change-legal-fieldset {
    margin: 0 0 24px;
    padding: 20px;
    border: 2px solid var(--eel-change-legal-gray-200);
    border-radius: var(--eel-change-legal-border-radius-lg);
    background: var(--eel-change-legal-gray-50);
}

.eel-change-legal-legend {
    padding: 0 10px;
    font-size: 18px;
    font-weight: 700;
    color: var(--eel-change-legal-gray-800);
    background: var(--eel-change-legal-white);
    border-radius: var(--eel-change-legal-border-radius);
}

.eel-change-legal-form-group {
    margin-bottom: 20px;
}

.eel-change-legal-form-group:last-child {
    margin-bottom: 0;
}

.eel-change-legal-static-grid,
.eel-change-legal-two-column,
.eel-change-legal-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.eel-change-legal-form-label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--eel-change-legal-gray-700);
}

.eel-change-legal-required {
    color: var(--eel-change-legal-danger);
}

.eel-change-legal-visible-mark {
    margin-left: 4px;
}

.eel-change-legal-form-input,
.eel-change-legal-form-textarea,
.eel-change-legal-form-select {
    width: 100%;
    padding: 14px 16px;
    border: 2px solid var(--eel-change-legal-gray-200);
    border-radius: var(--eel-change-legal-border-radius);
    background: var(--eel-change-legal-white);
    color: var(--eel-change-legal-gray-800);
    font-size: 15px;
    transition: var(--eel-change-legal-transition);
    box-sizing: border-box;
}

.eel-change-legal-form-textarea {
    min-height: 120px;
    resize: vertical;
}

.eel-change-legal-form-input:focus,
.eel-change-legal-form-textarea:focus,
.eel-change-legal-form-select:focus {
    outline: none;
    border-color: var(--eel-change-legal-primary);
    box-shadow: 0 0 0 3px rgb(119 150 198 / 0.15);
}

.eel-change-legal-form-input[readonly] {
    background: var(--eel-change-legal-gray-100);
    color: var(--eel-change-legal-gray-700);
}

.eel-change-legal-help-text {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    color: var(--eel-change-legal-gray-500);
}

.eel-change-legal-radio-group,
.eel-change-legal-checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.eel-change-legal-checkbox-scroll {
    max-height: 260px;
    overflow-y: auto;
    padding: 10px;
    border: 1px solid var(--eel-change-legal-gray-200);
    border-radius: var(--eel-change-legal-border-radius);
    background: var(--eel-change-legal-gray-50);
    scrollbar-gutter: stable;
}

.eel-change-legal-checkbox-grid-compact {
    grid-template-columns: 1fr;
    gap: 8px;
}

.eel-change-legal-radio-label,
.eel-change-legal-checkbox-label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid var(--eel-change-legal-gray-200);
    border-radius: var(--eel-change-legal-border-radius);
    background: var(--eel-change-legal-white);
    transition: var(--eel-change-legal-transition);
    min-height: 52px;
}

.eel-change-legal-checkbox-label-wide {
    width: 100%;
}

.eel-change-legal-checkbox-grid-compact .eel-change-legal-checkbox-label {
    min-height: 40px;
    padding: 8px 10px;
    gap: 8px;
}

.eel-change-legal-checkbox-grid-compact .eel-change-legal-checkbox-text {
    font-size: 13px;
    line-height: 1.35;
}

.eel-change-legal-radio-label:hover,
.eel-change-legal-checkbox-label:hover {
    border-color: var(--eel-change-legal-primary);
    background: var(--eel-change-legal-gray-50);
}

.eel-change-legal-radio-input,
.eel-change-legal-checkbox-input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--eel-change-legal-primary);
    flex: 0 0 auto;
}

.eel-change-legal-radio-text,
.eel-change-legal-checkbox-text {
    font-size: 14px;
    color: var(--eel-change-legal-gray-700);
    line-height: 1.5;
}

.eel-change-legal-checkbox-grid-disabled {
    opacity: 0.55;
    pointer-events: none;
}

.eel-change-legal-form-actions {
    margin-top: 28px;
}

.eel-change-legal-submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 360px;
    padding: 16px 28px;
    border: none;
    border-radius: var(--eel-change-legal-border-radius-lg);
    background: linear-gradient(135deg, var(--eel-change-legal-primary) 0%, var(--eel-change-legal-accent) 100%);
    color: var(--eel-change-legal-white);
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: var(--eel-change-legal-shadow-md);
    transition: var(--eel-change-legal-transition);
}

.eel-change-legal-submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--eel-change-legal-shadow-lg);
}

.eel-change-legal-submit-btn:active {
    transform: translateY(0);
}

.eel-change-legal-alert {
    position: fixed;
    top: 20px;
    right: 20px;
    max-width: 420px;
    background: var(--eel-change-legal-white);
    border-radius: 12px;
    box-shadow: var(--eel-change-legal-shadow-lg);
    z-index: 1000;
    border-left: 4px solid var(--eel-change-legal-primary);
    animation: eel-slideInRight 0.3s ease-out;
}

.eel-change-legal-alert-error {
    border-left-color: var(--eel-change-legal-danger);
}

.eel-change-legal-alert-success {
    border-left-color: var(--eel-change-legal-success);
}

.eel-change-legal-alert-content {
    padding: 16px 20px;
}

.eel-change-legal-alert-title {
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 4px;
    color: var(--eel-change-legal-gray-800);
}

.eel-change-legal-alert-message {
    font-size: 13px;
    color: var(--eel-change-legal-gray-500);
    line-height: 1.4;
    white-space: pre-line;
}

.eel-change-legal-alert-close {
    position: absolute;
    top: 8px;
    right: 12px;
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    color: var(--eel-change-legal-gray-400);
}

.eel-change-legal-field-error {
    animation: eel-shake 0.5s ease-in-out;
    border: 2px solid var(--eel-change-legal-danger) !important;
    box-shadow: 0 0 0 3px rgb(231 86 86 / 0.12) !important;
}

@keyframes eel-slideInRight {
    from { transform: translateX(100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

@keyframes eel-shake {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-3px); }
    20%, 40%, 60%, 80% { transform: translateX(3px); }
}

@media (max-width: 768px) {
    .eel-change-legal-static-grid,
    .eel-change-legal-two-column,
    .eel-change-legal-checkbox-grid {
        grid-template-columns: 1fr;
    }

    .eel-change-legal-breadcrumbs,
    .eel-change-legal-container {
        padding-left: 12px;
        padding-right: 12px;
    }

    .eel-change-legal-form-header,
    .eel-change-legal-form {
        padding-left: 16px;
        padding-right: 16px;
    }

    .eel-change-legal-form-title {
        font-size: 26px;
    }

    .eel-change-legal-alert {
        left: 10px;
        right: 10px;
        max-width: none;
        top: 10px;
    }
}

/* ================================================================
   POST CHANGE EXECUTOR LEGAL RESULT PAGE (pex-post-change-legal)
   ================================================================ */

.pex-post-change-legal-page {
    max-width: 1120px;
    margin: 24px auto 40px;
    padding: 0 16px;
}

.pex-post-change-legal-container {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.12);
    overflow: hidden;
}

.pex-post-change-legal-header {
    padding: 32px 32px 20px;
    background: linear-gradient(135deg, rgba(119, 150, 198, 0.14) 0%, rgba(255, 162, 22, 0.12) 100%);
    text-align: center;
}

.pex-post-change-legal-title {
    margin: 0;
    font-size: 32px;
    color: #0f172a;
    font-weight: 800;
}

.pex-post-change-legal-subtitle {
    margin: 10px 0 0;
    font-size: 16px;
    color: #475569;
}

.pex-post-change-legal-content {
    padding: 0 32px 32px;
}

.pex-post-change-legal-notification {
    margin: 24px 0;
    padding: 28px;
    border-radius: 18px;
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
    border: 1px solid #e2e8f0;
    text-align: center;
    position: relative;
}

.pex-post-change-legal-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(231, 86, 86, 0.12);
}

.pex-post-change-legal-icon svg {
    width: 40px;
    height: 40px;
    fill: #e75656;
}

.pex-post-change-legal-main-message {
    margin: 0 0 12px;
    font-size: 24px;
    color: #0f172a;
    font-weight: 800;
}

.pex-post-change-legal-sub-message {
    margin: 0 auto;
    max-width: 720px;
    font-size: 16px;
    line-height: 1.6;
    color: #475569;
}

.pex-post-change-legal-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 22px;
    padding: 14px 22px;
    border-radius: 12px;
    background: linear-gradient(135deg, #7796C6 0%, #FFA216 100%);
    color: #ffffff !important;
    text-decoration: none;
    font-weight: 700;
    box-shadow: 0 14px 30px rgba(119, 150, 198, 0.25);
}

.pex-post-change-legal-button:hover {
    color: #ffffff !important;
    transform: translateY(-1px);
}

.pex-post-change-legal-details {
    margin-top: 28px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    overflow: hidden;
    background: #ffffff;
}

.pex-post-change-legal-details-header {
    padding: 20px 24px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.pex-post-change-legal-details-title {
    margin: 0;
    font-size: 20px;
    color: #0f172a;
    font-weight: 700;
}

.pex-post-change-legal-details-content {
    padding: 24px;
}

.pex-post-change-legal-details-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.pex-post-change-legal-detail-item {
    padding: 18px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #f8fafc;
}

.pex-post-change-legal-detail-label {
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}

.pex-post-change-legal-detail-value {
    font-size: 15px;
    line-height: 1.6;
    color: #0f172a;
    white-space: pre-line;
}

.pex-post-change-legal-detail-value.emphasis {
    font-weight: 700;
}

.pex-post-change-legal-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
}

.pex-post-change-legal-status.has-signature {
    background: rgba(22, 163, 74, 0.12);
    color: #166534;
}

.pex-post-change-legal-status.no-signature {
    background: rgba(231, 86, 86, 0.12);
    color: #b91c1c;
}

.pex-post-change-legal-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    padding: 14px 16px;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    color: #475569;
    font-size: 14px;
    flex-wrap: wrap;
}

.pex-post-change-legal-breadcrumbs a {
    color: #475569;
    text-decoration: none;
    font-weight: 600;
}

.pex-post-change-legal-breadcrumbs a:hover {
    color: #3b82f6;
}

.pex-post-change-legal-breadcrumbs span {
    color: #64748b;
}

.pex-post-change-legal-notification:focus {
    outline: 3px solid #7796C6;
    outline-offset: 2px;
}

.pex-post-change-legal-button:focus {
    outline: 3px solid #FFA216;
    outline-offset: 2px;
}

@media (max-width: 768px) {
    .pex-post-change-legal-page {
        padding: 0 12px;
    }

    .pex-post-change-legal-header,
    .pex-post-change-legal-content,
    .pex-post-change-legal-details-content {
        padding-left: 16px;
        padding-right: 16px;
    }

    .pex-post-change-legal-title {
        font-size: 26px;
    }

    .pex-post-change-legal-main-message {
        font-size: 22px;
    }

    .pex-post-change-legal-details-grid {
        grid-template-columns: 1fr;
    }
}

/* Группы полей */
.ex-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 24px;
}

.ex-label {
    font-size: 1rem;
    font-weight: 600;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.form-label {
    font-size: 1rem;
    font-weight: 600;
    color: #1e293b;
    display: block;
    margin: 1rem 0 1rem 0 !important;
}

.ex-required {
    color: #E75656;
    font-weight: 700;
}

.ex-visible-mark {
    color: #FFA216;
    cursor: help;
    font-size: 1.1em;
}

.ex-form-description {
    font-size: 0.875rem;
    color: #64748b;
    margin: 0 0 8px;
    line-height: 1.4;
    font-style: italic;
}

/* Поля ввода */
.ex-form-input,
.ex-form-textarea,
.ex-form select {
    width: 100% !important;
    max-width: 100% !important;
    padding: 16px 20px;
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    font-size: 1rem;
    transition: all 0.3s ease;
    background: white;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
    box-sizing: border-box;
}

.ex-form-input:focus,
.ex-form-textarea:focus,
.ex-form select:focus {
    outline: none;
    border-color: #7796C6;
    box-shadow: 
        inset 0 1px 3px rgba(0, 0, 0, 0.05),
        0 0 0 4px rgba(119, 150, 198, 0.15);
    transform: translateY(-1px);
}

.ex-form-input::placeholder,
.ex-form-textarea::placeholder {
    color: #94a3b8;
    font-style: italic;
}

.ex-form-textarea {
    min-height: 120px;
    resize: vertical;
    font-family: inherit;
    line-height: 1.5;
}

/* Состояния валидации */
.ex-form-input.ex-valid,
.ex-form-textarea.ex-valid {
    border-color: #10b981;
    background: rgba(16, 185, 129, 0.02);
}

.ex-form-input.ex-error,
.ex-form-textarea.ex-error {
    border-color: #E75656;
    background: rgba(231, 86, 86, 0.02);
    box-shadow: 
        inset 0 1px 3px rgba(0, 0, 0, 0.05),
        0 0 0 4px rgba(231, 86, 86, 0.15);
}

.ex-error-message {
    color: #E75656;
    font-size: 0.875rem;
    font-weight: 500;
    margin-top: 4px;
    padding: 8px 12px;
    background: rgba(231, 86, 86, 0.1);
    border-radius: 8px;
    border-left: 4px solid #E75656;
    display: none;
    min-height: 20px; /* Убеждаемся, что элемент имеет высоту */
}

.ex-error-message:not(:empty) {
    display: block !important; /* Принудительное отображение */
}

/* Радио кнопки */
.ex-radio-group {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.ex-radio-label {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    font-weight: 500;
    padding: 12px 16px;
    border-radius: 12px;
    border: 2px solid #e2e8f0;
    background: white;
    transition: all 0.3s ease;
    min-width: 140px;
    justify-content: center;
}

.ex-radio-label:hover {
    border-color: #7796C6;
    background: rgba(119, 150, 198, 0.05);
    transform: translateY(-1px);
}

.ex-radio-label input[type="radio"] {
    accent-color: #7796C6;
    transform: scale(1.2);
}

.ex-radio-label:has(input:checked) {
    border-color: #7796C6;
    background: rgba(119, 150, 198, 0.1);
    color: #7796C6;
    font-weight: 600;
}

/* Чекбоксы */
.ex-checkbox-group {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
    margin-top: 8px;
}

.ex-checkbox-label {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    padding: 10px 12px;
    border-radius: 8px;
    transition: background-color 0.2s ease;
}

.ex-checkbox-label:hover {
    background: rgba(119, 150, 198, 0.05);
}

.ex-checkbox-label input[type="checkbox"] {
    accent-color: #7796C6;
    transform: scale(1.1);
}

/* Селекты */
.ex-form select {
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 12px center;
    background-repeat: no-repeat;
    background-size: 16px;
    padding-right: 48px;
    appearance: none;
}

/* Кнопки */
.ex-form input[type="submit"],
.ex-form input[type="reset"],
.ex-form .ex-btn {
    padding: 16px 32px;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 56px;
}

.ex-form input[type="submit"] {
    background: linear-gradient(135deg, #7796C6 0%, #6687b5 100%);
    color: white;
    box-shadow: 0 8px 24px rgba(119, 150, 198, 0.3);
}

.ex-form input[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(119, 150, 198, 0.4);
}

.ex-form input[type="reset"] {
    background: #f1f5f9;
    color: #475569;
    border: 2px solid #e2e8f0;
}

.ex-form input[type="reset"]:hover {
    background: #e2e8f0;
    transform: translateY(-1px);
}

/* Кнопки добавления файлов */
.btn_add_file {
    background: linear-gradient(135deg, #FFA216 0%, #e59500 100%);
    color: white;
    padding: 12px 24px;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    border: none;
    box-shadow: 0 6px 18px rgba(255, 162, 22, 0.25);
    width: auto;
    max-width: 200px !important;
}

.btn_add_file:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(255, 162, 22, 0.35);
}

/* Загрузка файлов */
#add_docs_exec {
    background: #f8fafc;
    border: 2px dashed #cbd5e1;
    border-radius: 12px;
    padding: 24px;
    text-align: center;
    transition: all 0.3s ease;
}

#add_docs_exec:hover {
    border-color: #FFA216;
    background: rgba(255, 162, 22, 0.05);
}

.ex-form input[type="file"] {
    margin: 12px 0;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: white;
    width: 100%;
}

/* Чекбоксы согласия */
.ex-form input[type="checkbox"] + label,
.ex-form label:has(input[type="checkbox"]) {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    line-height: 1.5;
    margin: 16px 0;
    padding: 16px;
    background: rgba(119, 150, 198, 0.05);
    border-radius: 12px;
    border: 1px solid rgba(119, 150, 198, 0.2);
    transition: all 0.3s ease;
}

.ex-form input[type="checkbox"]:checked + label,
.ex-form label:has(input[type="checkbox"]:checked) {
    background: rgba(119, 150, 198, 0.1);
    border-color: #7796C6;
}

/* Адаптивность */
@media (max-width: 1024px) {
    .ex-form-container {
        width: 80%;
    }
}

@media (max-width: 768px) {
    .ex-form-container {
        width: 95%;
        margin: 16px auto;
        padding: 24px 16px;
        border-radius: 16px;
    }
    
    .ex-form h1 {
        font-size: 2rem;
    }
    
    .ex-fieldset {
        padding: 16px;
    }
    
    .ex-radio-group {
        flex-direction: column;
        gap: 12px;
    }
    
    .ex-radio-label {
        min-width: auto;
        justify-content: flex-start;
    }
    
    .ex-checkbox-group {
        grid-template-columns: 1fr;
    }
    
    .ex-form input[type="submit"],
    .ex-form input[type="reset"] {
        width: 100%;
        margin: 8px 0;
    }
    .executor-account-container {
        margin: 0 auto !important;
        padding: 12px 8px 32px !important;
    }
}

@media (max-width: 480px) {
    .ex-form-container {
        width: 98%;
        margin: 8px auto;
        padding: 16px 12px;
    }
    
    .ex-form h1 {
        font-size: 1.75rem;
    }
    
    .ex-form-intro {
        padding: 16px;
    }
    
    .ex-fieldset {
        padding: 12px;
    }
    
    .ex-form-input,
    .ex-form-textarea {
        padding: 12px 16px;
    }
    .ex-account-container {
        margin-top: 0 !important;
    }
}

/* Анимации для улучшения UX */
@keyframes ex-fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.ex-form-container {
    animation: ex-fadeInUp 0.6s ease-out;
}

.ex-fieldset {
    animation: ex-fadeInUp 0.8s ease-out;
}

/* Улучшение доступности */
.ex-form *:focus {
    outline: 3px solid rgba(119, 150, 198, 0.3);
    outline-offset: 2px;
}

/* Скрытие outline для мыши, но оставляем для клавиатуры */
.ex-form *:focus:not(:focus-visible) {
    outline: none;
}

/* Стили для прогресс-индикатора (если добавите) */
.ex-progress-bar {
    width: 100%;
    height: 4px;
    background: #e2e8f0;
    border-radius: 2px;
    overflow: hidden;
    margin-bottom: 24px;
}

.ex-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #7796C6 0%, #FFA216 100%);
    transition: width 0.3s ease;
    border-radius: 2px;
}

/* Дополнительные утилиты */
.ex-text-center { text-align: center; }
.ex-text-muted { color: #64748b; }
.ex-mt-4 { margin-top: 1rem; }
.ex-mb-4 { margin-bottom: 1rem; }
.ex-hidden { display: none; }

/* Дополнительные стили для селекторов регионов */
.ex-region-selector {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px;
    margin-top: 12px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 8px;
    max-height: 300px;
    overflow-y: auto;
}

.ex-toggle-buttons {
    display: flex;
    gap: 12px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.ex-btn-secondary {
    background: #f1f5f9;
    color: #475569;
    border: 2px solid #e2e8f0;
    padding: 12px 20px;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ex-btn-secondary:hover {
    background: #e2e8f0;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Файловые поля */
.ex-file-upload-area {
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
    border: 2px dashed #cbd5e1;
    border-radius: 16px;
    padding: 24px;
    text-align: center;
    transition: all 0.3s ease;
}

.ex-file-upload-area:hover {
    border-color: #FFA216;
    background: rgba(255, 162, 22, 0.05);
}

.ex-file-item {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;
    padding: 16px;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
}

.ex-file-input {
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: white;
    width: 100%;
    cursor: pointer;
}

.ex-file-input:hover {
    border-color: #7796C6;
}

/* Соглашения */
.ex-agreement {
    background: rgba(119, 150, 198, 0.05) !important;
    border: 1px solid rgba(119, 150, 198, 0.2) !important;
    border-radius: 12px !important;
    padding: 16px !important;
    margin: 12px 0 !important;
    line-height: 1.6 !important;
    transition: all 0.3s ease;
}

.ex-agreement:has(input:checked) {
    background: rgba(119, 150, 198, 0.1) !important;
    border-color: #7796C6 !important;
}

.ex-link {
    color: #7796C6;
    text-decoration: underline;
    font-weight: 600;
}

.ex-link:hover {
    color: #6687b5;
}

/* Действия формы */
.ex-form-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 24px;
}

.ex-btn-primary {
    background: linear-gradient(135deg, #7796C6 0%, #6687b5 100%) !important;
    color: white !important;
    border: none !important;
    padding: 16px 32px !important;
    border-radius: 12px !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 8px 24px rgba(119, 150, 198, 0.3) !important;
    min-width: 200px !important;
}

.ex-btn-primary:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 32px rgba(119, 150, 198, 0.4) !important;
}

.ex-btn-secondary {
    background: #f1f5f9 !important;
    color: #475569 !important;
    border: 2px solid #e2e8f0 !important;
    padding: 14px 30px !important;
    border-radius: 12px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    min-width: 180px !important;
}

.ex-btn-secondary:hover {
    background: #e2e8f0 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

/* Responsive для кнопок действий */
@media (max-width: 600px) {
    .ex-form-actions {
        flex-direction: column;
        align-items: stretch;
    }
    
    .ex-btn-primary,
    .ex-btn-secondary {
        width: 100% !important;
        min-width: auto !important;
    }
}

/* Анимации появления секций */
.ex-fieldset:nth-child(2) { animation-delay: 0.1s; }
.ex-fieldset:nth-child(3) { animation-delay: 0.2s; }
.ex-fieldset:nth-child(4) { animation-delay: 0.3s; }
.ex-fieldset:nth-child(5) { animation-delay: 0.4s; }
.ex-fieldset:nth-child(6) { animation-delay: 0.5s; }

/* Улучшение контраста для доступности */
@media (prefers-contrast: high) {
    .ex-form-input,
    .ex-form-textarea {
        border-width: 3px;
    }
    
    .ex-required {
        font-weight: 900;
    }
    
    .ex-error-message {
        font-weight: 700;
    }
}

/* Принудительные стили переопределения старых классов */
.ex-form-container .form_reg {
    all: unset;
}

.ex-form .form_reg {
    all: unset;
}

/* Запрет br тегов внутри формы для лучшей семантики */
.ex-form br,
.ex-form-container br {
    display: none !important;
}

/* Специфичные стили только для новой формы */
.ex-form-container input:not([type="checkbox"]):not([type="radio"]),
.ex-form-container textarea,
.ex-form-container select {
    width: 100% !important;
    max-width: 100% !important;
    padding: 16px 20px;
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    font-size: 1rem;
    transition: all 0.3s ease;
    background: white;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
    font-family: inherit;
    line-height: 1.5;
    box-sizing: border-box;
}

/* ==================== LEGAL ENTITY FORM STYLES ==================== */
/* Дополнительные стили для формы юридического лица */

.ex-char-counter {
    font-size: 0.875rem;
    color: #6b7280;
    margin-top: 4px;
    text-align: right;
}

.ex-representative-preview {
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
    border: 2px solid #e2e8f0;
    border-radius: 16px;
    padding: 20px;
    margin-top: 16px;
    box-shadow: 0 8px 24px rgba(119, 150, 198, 0.1);
}

.ex-preview-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 16px;
    flex-wrap: wrap;
    gap: 16px;
}

.ex-representative-info h3 {
    margin: 0 0 8px;
    color: #7796C6;
    font-size: 1.25rem;
    font-weight: 700;
}

.ex-rating-display {
    display: flex;
    gap: 16px;
    align-items: center;
}

.ex-rating-stars {
    color: #FFA216;
    font-weight: 600;
    font-size: 1rem;
}

.ex-reviews-count {
    color: #7796C6;
    font-weight: 600;
    font-size: 1rem;
}

.ex-certification-area img {
    max-width: 60px;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(255, 162, 22, 0.3);
}

.ex-representative-details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.ex-detail-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px;
    background: rgba(119, 150, 198, 0.05);
    border-radius: 8px;
    border-left: 4px solid #7796C6;
}

.ex-detail-label {
    font-weight: 600;
    color: #374151;
    font-size: 0.875rem;
}

.ex-detail-value {
    color: #1f2937;
    font-weight: 500;
}

/* Адаптивность для превью представителя */
@media (max-width: 768px) {
    .ex-preview-header {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .ex-representative-details {
        grid-template-columns: 1fr;
    }
    
    .ex-rating-display {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}

/* Стили для readonly полей */
.ex-form-input[readonly],
.ex-form-textarea[readonly] {
    background: #f8fafc;
    color: #6b7280;
    cursor: not-allowed;
    border-color: #d1d5db;
}

.ex-form-input[readonly]:focus,
.ex-form-textarea[readonly]:focus {
    border-color: #d1d5db;
    box-shadow: none;
    transform: none;
}

/* Улучшенные стили для счетчиков символов */
.ex-char-counter span {
    font-weight: 600;
}

.ex-char-counter.ex-warning {
    color: #f59e0b;
}

.ex-char-counter.ex-danger {
    color: #ef4444;
}

/* Стили для поиска компаний */
.ex-form-input.search-input {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border: 2px solid #7796C6;
    box-shadow: 0 0 0 3px rgba(119, 150, 198, 0.1);
}

.ex-form-input.search-input:focus {
    border-color: #FFA216;
    box-shadow: 0 0 0 4px rgba(255, 162, 22, 0.15);
}

/* Стили для автозаполняемых полей */
.ex-form-input.auto-filled,
.ex-form-textarea.auto-filled {
    background: linear-gradient(135deg, #ecfdf5 0%, #f0fdf4 100%);
    border-color: #10b981;
    animation: fillSuccess 0.5s ease;
}

@keyframes fillSuccess {
    0% { background: #ffffff; }
    50% { background: #d1fae5; }
    100% { background: linear-gradient(135deg, #ecfdf5 0%, #f0fdf4 100%); }
}

/* Улучшенные стили валидации с цветовой схемой */
.ex-form-input.ex-valid {
    border-color: #10b981;
    background: rgba(16, 185, 129, 0.05);
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}

.ex-form-input.ex-error {
    border-color: #E75656;
    background: rgba(231, 86, 86, 0.05);
    box-shadow: 0 0 0 3px rgba(231, 86, 86, 0.15);
}

.ex-form-textarea.ex-valid {
    border-color: #10b981;
    background: rgba(16, 185, 129, 0.05);
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}

.ex-form-textarea.ex-error {
    border-color: #E75656;
    background: rgba(231, 86, 86, 0.05);
    box-shadow: 0 0 0 3px rgba(231, 86, 86, 0.15);
}

/* ---------------- Chat (executor) ---------------- */
.ex-chat-container { max-width: 800px !important; margin: 0 auto; padding: 0 16px; }
.ex-chat-breadcrumb { margin: 8px 0 16px; color: #475569; font-size: 14px; }
.ex-chat-box { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 16px; box-shadow: 0 6px 18px rgba(2,6,23,.05); margin-bottom: 16px; }
.ex-alert { padding: 10px 12px; border-radius: 10px; border: 1px solid; font-size: 14px; }
.ex-alert-warning { background: #FEF3C7; border-color: #FCD34D; color: #78350F; }
.ex-status { font-weight: 600; }
.ex-status--danger, .ex-status--rejected, .ex-status--moderation { color: #E75656; }
.ex-status--sent, .ex-status--read { color: #FFA216; color: #1D4ED8;border: 1px solid #1D4ED8;}
.ex-status--unread { color: #E75656; border: 1px solid #E75656;}
.ex-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 10px; border: 1px solid #7796C6; background: #7796C6; color: #fff; cursor: pointer; }
.ex-btn:hover { background: #6687b5; border-color: #6687b5; box-shadow: 0 6px 14px rgba(119,150,198,0.25); }
.ex-chat-textarea { width: 100%; min-height: 60px; padding: 10px 12px; border: 1px solid #e5e7eb; border-radius: 10px; resize: vertical; }
.ex-label { margin: 20px 0; color: #334155; }
.ex-chat-tabs { margin-top: 8px; }
.ex-tabs-header { display: flex; gap: 8px; border-bottom: 1px solid #e5e7eb; }
.ex-tab { background: transparent; border: 0; padding: 10px 12px; border-bottom: 2px solid transparent; color: #334155; cursor: pointer; }
.ex-tab.is-active { border-bottom-color: #ECFDF5;color: #111827;font-weight: 700;background: #ECFDF5; }
.ex-chat-list { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 12px; }
.ex-chat-subscribe { width: 19%; padding: 30px 0 0 40px; }
@media (max-width: 680px) { .ex-chat-subscribe { width: 100%; padding: 12px 0; } }
.tg-blink { animation: tg-blink 2.2s ease-in-out infinite; }
@keyframes tg-blink { 0% { opacity: 0.8; transform: scale(1); } 50% { opacity: 1; transform: scale(1.04); } 100% { opacity: 0.82; transform: scale(1); } }
.ex-form-card { background:#fff; border:1px solid #e6e8eb; border-radius:12px; padding:14px 16px; box-shadow:0 4px 14px rgba(0,0,0,0.06); }
.ex-form-card .ex-label { display:block; margin-bottom:10px; color:#1f2a37; font-weight:600; }
.ex-form-card .ex-chat-textarea { width:100%; }
.ex-form-card .ex-btn { margin-top:6px; }
/* Chat: filter toolbar and role badges */
.ex-chat-toolbar { display:flex; gap:0.5rem; flex-wrap:wrap; justify-content:center; align-items:center; padding:1rem; margin-bottom:10px; border:1px solid #e5e7eb; border-radius:15px; background:#fff; box-shadow:0 4px 15px rgba(0,0,0,0.08); }
.ex-chat-filter-btn { display:flex; align-items:center; gap:0.5rem; padding:0.75rem 1.5rem; border:2px solid #e5e7eb; border-radius:10px; background:#f8fafc; color:#6b7280; font-weight:500; font-size:0.9rem; cursor:pointer; transition:all 0.3s ease; }
.ex-chat-filter-btn:hover { border-color:#7797C6; background:#f0f9ff; color:#7797C6; transform: translateY(-2px); }
.ex-chat-filter-btn.is-active, .ex-chat-filter-btn[aria-pressed="true"] { border-color:#7797C6; background: linear-gradient(135deg, #7797C6 0%, #a8c0e8 100%); color:#fff; transform: translateY(-2px); box-shadow:0 4px 15px rgba(119,151,198,0.3); }
.ex-chat-filter-icon { font-size:1rem; }
.ex-badge-role { display:inline-flex; align-items:center; gap:6px; padding:4px 8px; border-radius:999px; font-size:14px; line-height:1; border:1px solid #e5e7eb; background:#f8fafc; color:#0f172a; }
.ex-badge-role--you { background:#ECFDF5; color:#065F46; border-color:#A7F3D0; }
.ex-badge-role--opponent { background:#EFF6FF; color:#1D4ED8; border-color:#BFDBFE; }
.ex-badge-role--creditor-out { background:#ECFDF5; color:#065F46; border-color:#A7F3D0; }
.ex-badge-role--creditor-in { background:#EFF6FF; color:#1D4ED8; border-color:#BFDBFE; }
.ex-badge-role--admin { background:#FFF7ED; color:#C2410C; border-color:#FED7AA; }

/* Chat: message cards layout aligned with creditor chat */
.ex-message-item { background:#ffffff; border:1px solid #e5e7eb; border-radius:12px; padding:12px 14px; box-shadow:0 2px 8px rgba(2,6,23,0.06); }
.ex-message-item + .ex-message-item { margin-top: 10px; }
.ex-message-header { display:flex; gap:8px; align-items:center; justify-content: space-between; flex-wrap: wrap; }
.ex-message-icon { font-size: 18px; }
.ex-message-label { font-weight: 700; color:#111827; }
.ex-message-status { color:#334155; font-size: 13px; }
.ex-message-meta { display:flex; gap:12px; align-items:center; color:#475569; font-size: 13px; margin: 6px 0; flex-wrap: wrap; }
.ex-message-content { font-style: italic; color:#1f2937; overflow-wrap:anywhere; word-break: break-word; }
.ex-message-actions { margin-top: 10px; }
.ex-message--incoming.ex-is-unread { border-color:#fecaca; background:#fff1f2; }
.ex-message--incoming.ex-is-read { opacity: .7; }
.ex-btn--sm { padding: 6px 10px; font-size: 13px; border-radius: 8px; }

/* Message cards aligned with list_chat visuals */
.ex-chat-list.messages-list { display:flex; flex-direction:column; gap:1.5rem; }
.ex-chat-list .message-item { background:#fff; border-radius:15px; padding:1.3rem; box-shadow:0 4px 15px rgba(0,0,0,0.1); border-left:4px solid transparent; transition:none; }
.ex-chat-list .message-item.my-message { border-left:4px solid #BFDBFE; margin-left:36px; }
.ex-chat-list .message-item.my-message .message-label,
.ex-chat-list .message-item.my-message .message-recipient-inline,
.ex-chat-list .message-item.my-message .message-status,
.ex-chat-list .message-item.my-message .message-meta,
.ex-chat-list .message-item.my-message .message-text,
.ex-chat-list .message-item.my-message .message-date,
.ex-chat-list .message-item.my-message .case-number,
.ex-chat-list .message-item.my-message .message-icon.outgoing { color:#065F46; }
.ex-chat-list .message-item.incoming-message { border-left:4px solid #A7F3D0; background:#ECFDF5; color:#065F46; }
.ex-chat-list .message-item.incoming-message .message-label,
.ex-chat-list .message-item.incoming-message .message-author,
.ex-chat-list .message-item.incoming-message .message-status,
.ex-chat-list .message-item.incoming-message .message-meta,
.ex-chat-list .message-item.incoming-message .message-text,
.ex-chat-list .message-item.incoming-message .message-date,
.ex-chat-list .message-item.incoming-message .case-number,
.ex-chat-list .message-item.incoming-message .message-icon.incoming { color:#1D4ED8; }
.ex-chat-list .message-item.incoming-message.unread { border-left-color:#f59e0b; background:linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%); box-shadow:0 4px 15px rgba(245,158,11,0.2); }
.ex-chat-list .message-item.message-read { opacity:0.7; }
.ex-chat-list .message-header { display:flex; align-items:center; gap:1rem; margin-bottom:1rem; flex-wrap:wrap; padding: 0 0 15px;border-bottom: 1px solid rgba(0, 0, 0, 0.05);} 
.ex-chat-list .message-icon { font-size:1.2rem; }
.ex-chat-list .message-icon.outgoing { color:#3b82f6; }
.ex-chat-list .message-icon.incoming { color:#10b981; }
.ex-chat-list .message-item[data-role="admin"] { background:#FFF7ED; border:1px solid #FED7AA; border-left:4px solid #C2410C; color:#C2410C; }
.ex-chat-list .message-item[data-role="admin"] .message-icon.incoming { color:#C2410C; }
.ex-chat-list .message-item[data-role="admin"] .message-author { color:#C2410C; }
.ex-chat-list .message-label { font-weight:600; color:#1f2937; }
.ex-chat-list .message-recipient-inline,
.ex-chat-list .message-author { display:inline-flex; align-items:center; gap:0.35rem; font-weight:600; color:#1f2937; }
.ex-chat-list .message-status,
.ex-chat-list .read-status { margin-left:auto; }
.ex-chat-list .message-meta { display:flex; flex-direction: row; gap:1rem; margin-bottom:1rem; font-size:0.9rem; color:#6b7280; flex-wrap:wrap; justify-content: space-between;} 
.ex-chat-list .message-date { font-weight:500; font-size: 12px;}
.ex-chat-list .case-number { font-weight:600; color:#7796C6; }
.ex-chat-list .message-text { color:#111827; }
@media (max-width: 740px) {
    .ex-chat-list .message-item.my-message { margin-left:0; }
}

/* Telegram subscription block — match list_chat (executor namespace) */
.ex-telegram-subscription { text-align:center; padding:30px; background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); border-top:1px solid #dee2e6; margin:2rem auto 1rem; }
.ex-telegram-subscription a.ex-telegram-link { display:inline-block; transition: transform .3s ease; text-decoration:none; }
.ex-telegram-subscription a.ex-telegram-link:hover { transform: scale(1.1); }
.ex-telegram-subscription img { width:80px; height:80px; border-radius:8px; box-shadow:0 5px 15px rgba(0,0,0,0.1); transition: box-shadow .3s ease; margin-bottom:10px; }
.ex-telegram-subscription img:hover { box-shadow: 0 10px 25px rgba(0,0,0,0.2); }
.ex-telegram-subscription p { color:#495057; font-weight:500; margin:0; line-height:1.4; }
.ex-telegram-subscription small { color:#6c757d; font-size:.85em; }
.ex-telegram-disabled { opacity:.6; cursor:not-allowed; display:inline-block; }
.ex-telegram-disabled p { color:#6c757d; }

/* --- Executor polish: shared improvements --- */
/* Breadcrumbs inside executor container (generic .breadcrumbs) */
.ex-account-container .breadcrumbs {
	display:flex; align-items:center; gap:8px; margin: 3cqw 0 20px; padding: 12px 14px;
	background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
	border:1px solid #e2e8f0; border-radius:12px; color:#475569; font-size:14px;
}
.ex-account-container .breadcrumbs ol { list-style:none; display:flex; gap:8px; padding:0; margin:0; }
.ex-account-container .breadcrumbs li { display:flex; align-items:center; gap:8px; }
.ex-account-container .breadcrumbs li:not(:last-child)::after { content:'\203a'; color:#94a3b8; margin-left: 6px; }
.ex-account-container .breadcrumbs a { color:#475569; text-decoration:none; padding:6px 8px; border-radius:8px; transition: all .2s ease; }
.ex-account-container .breadcrumbs a:hover { background: rgba(59,130,246,.10); color:#2563eb; }

/* Focus-visible across interactive elements in executor scope */
.ex-account-container a:focus-visible,
.ex-account-container button:focus-visible,
.ex-account-container .btn:focus-visible { outline: 3px solid rgba(59,130,246,0.45); outline-offset: 2px; }

/* Extra wrap helpers for long inline values */
.ex-offer-title, .ex-case-id, .ex-info-value, .ex-page-subtitle { overflow-wrap:anywhere; word-break:break-word; }

/* Avatar section (executor profile) */
.avatar-section { display:flex; flex-direction: column; gap: 12px; }
.current-avatar { display:flex; align-items:center; gap: 12px; }
.avatar-image { width:72px; height:72px; border-radius: 12px; border:1px solid #e5e7eb; object-fit: cover; }
.avatar-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(72px, 1fr)); gap: 10px; }
.avatar-option { display:block; border:1px solid #e5e7eb; border-radius:12px; padding:6px; background:#fff; transition: transform .15s ease, box-shadow .2s ease, border-color .2s ease; }
.avatar-option:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(2,6,23,.12); border-color:#cbd5e1; }
.avatar-option-image { width:100%; height:64px; object-fit: cover; border-radius:8px; display:block; }

/* Reduced motion preference: limit large transforms/animations */
@media (prefers-reduced-motion: reduce) {
	.ex-page-header::before { animation: none; }
	.ex-offer-card, .ex-contract-link, .ex-message-link, .avatar-option { transition: none; }
	.ex-offer-card:hover, .ex-contract-link:hover, .ex-message-link:hover, .avatar-option:hover { transform: none; box-shadow: none; }
}

/* ===================== Executors list (scoped) ===================== */
/* Scope all styles to .ex-executors to avoid conflicts with style_index/style_acount */
.ex-executors { 
	--ex-color-primary:#7796C6; 
	--ex-color-primary-600:#6687b5; 
	--ex-color-accent:#FFA216; 
	--ex-color-danger:#E75656; 
	--ex-color-bg:#f8fafc; 
	--ex-color-border:#e2e8f0; 
	/* responsive icon vars */ 
	--ex-icon-size: clamp(34px, 8.5vw, 90px);
	margin-top: 10px; 
	--ex-icon-height: clamp(34px, 10.5vw, 110px); 
	--ex-icon-gap: clamp(10px, 4vw, 20px); 
	/* Prevent horizontal overflow */
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	box-sizing: border-box;
}

/* Listing grid wrapper aligns cards and sidebar filter */
.ex-executors .block_list_filter { 
	display: grid; 
	grid-template-columns: 70% 320px; 
	gap: 20px; 
	align-items: start;
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	box-sizing: border-box;
}

/* Mobile responsive: filter comes first, stacked vertically */
@media (max-width: 1200px) and (min-width: 981px) {
	.ex-executors .block_list_filter { 
		grid-template-columns: 60% 300px; 
		gap: 16px;
	}
	.ex-executors .wrap_list { 
		width: 60%; 
		max-width: 60%; 
	}
}

/* Legacy 980px media query removed - replaced with specific tablet/mobile queries */
/* Undo legacy narrow widths inside executors scope */
.ex-executors .wrap_list { 
	width: 70%; 
	max-width: 70%; 
	padding: 0; 
	justify-self: start;
	overflow-x: hidden;
	box-sizing: border-box;
}
.ex-executors .wrap_list.padding_625_top { padding-top: 10px; margin: 0 auto; }
.ex-executors .block_filter_exec { 
	width: auto; 
	margin: 0; 
	position: sticky; 
	top: 240px;
	max-width: 100%;
	box-sizing: border-box;
}
.ex-executors .filter_exec { 
	width: 100%; 
	max-width: 100%;
	box-sizing: border-box;
	overflow-x: hidden;
	/* Filter sidebar styles */
	background:#fff; 
	border:1px solid #e2e8f0; 
	border-radius:14px; 
	padding:16px; 
	box-shadow: 0 8px 20px rgba(2,6,23,0.06); 
}

/* Mobile styles for filter */
/* Medium tablets */
@media (max-width: 980px) and (min-width: 769px) {
	.ex-executors .block_list_filter { 
		grid-template-columns: 65% 280px; 
		gap: 15px;
		padding: 0 16px;
	}
	.ex-executors .wrap_list { 
		width: 65%; 
		max-width: 65%; 
	}
	.ex-executors .block_filter_exec {
		width: 280px;
	}
}

@media (max-width: 768px) and (min-width: 481px) {
	.ex-executors .block_list_filter { 
		grid-template-columns: 1fr; 
		grid-template-areas: 
			"filter"
			"list";
		padding: 0 12px;
		gap: 16px;
	}
	.ex-executors .block_filter_exec { grid-area: filter; order: 1; width: 100%; }
	.ex-executors .wrap_list { grid-area: list; order: 2; max-width: none; width: 100%; }
	.ex-executors { margin-top: 60px; }
	/* Keep items on a single line */
	.ex-executors .upline_card_list_exec { flex-wrap: nowrap; row-gap: 0; }
	.ex-executors .upline_card_list_exec .rating_counter { flex: 0 1 auto; min-width: 64px; }
}

/* Removed duplicate 480px media query - consolidated below */

/* Card modern look */
.ex-executors .card_list_exec {
	background:#fff;
	border:1px solid #cbd5e1;
	border-radius: 14px;
	padding: 14px 14px 12px;
	box-shadow: 0 12px 28px rgba(2,6,23,0.12), 0 2px 8px rgba(2,6,23,0.06);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ex-executors a:hover .card_list_exec { transform: translateY(-2px); box-shadow: 0 22px 44px rgba(2,6,23,0.16), 0 6px 16px rgba(2,6,23,0.10); border-color:#94a3b8; }

/* Inactive executor (not accepting new cases) */
.ex-executors .card_list_exec.ex-inactive { opacity: 0.5; }

/* Certified highlight */
.ex-executors .card_list_exec.ex-certified-card { border-color: #FFA216;box-shadow: 0 0 0 3px rgba(255, 162, 22, 0.25), 0 24px 56px rgba(2, 6, 23, 0.20), 0 10px 24px rgba(255, 162, 22, 0.28), 0 2px 8px rgba(255, 162, 22, 0.20);width: 90%;margin: 0 auto; }

/* Top row: avatar stub + ratings */
.ex-executors .upline_card_list_exec { display:flex !important; flex-direction: column; align-items: flex-start; gap: 10px; justify-content: flex-start; margin-bottom: 8px; flex-wrap: nowrap; max-width: 100%; height: auto; min-height: auto; }
.ex-executors .ex-upline-main { display:flex; align-items:center; gap: 12px; width: 100%; flex-wrap: nowrap; }
/* Wrap earlier on smaller content columns to avoid overflow */
/* Mobile layout improvements integrated into main 768px media query above */
/* Разрешаем детям сжиматься по ширине при нехватке места */
.ex-executors .upline_card_list_exec > * { min-width: 0; height: auto; }
/* Не тянуть элементы по краям: последний блок (значки/подтверждения) прижать вправо,
   но только если этот последний элемент — не рейтинг (который может быть последним, когда значков нет) */
/* last-child align rule no longer needed after badges became direct children */
/* Явно запретить растяжение базовых элементов слева */
.ex-executors .upline_card_list_exec .circle { 
	flex: 0 0 auto; 
	height: 100%; 
	width: 70px; height: 70px; 
	border-radius: 9999px; 
	background: #FFA216; 
	box-shadow: inset 0 -2px 0 rgba(0,0,0,.06); 
}
/* Rating counter base styles */
.ex-executors .rating_counter { 
	display:inline-flex !important; 
	align-items:center; 
	gap:4px; 
	padding:3px 6px; 
	border:1px solid #e2e8f0; 
	border-radius:999px; 
	color:#0f172a; 
	background:#fff; 
	box-shadow: 0 2px 6px rgba(2,6,23,.04); 
	white-space: nowrap; 
	width:auto !important; 
	min-width: 80px; 
	height: 46px !important; 
	box-sizing: border-box; 
	flex-direction: row !important; 
}
.ex-executors .rating_counter svg.rating_icons { color: var(--ex-color-accent); width: 14px; height: 14px; }
.ex-executors .rating_counter p { margin:0; font-weight:700; color:#111827; font-size: 12px; line-height: 1.15; }
.ex-executors .rating_counter .review_word { color:#475569; font-weight:600; }

/* Rating counter in upline context */
.ex-executors .upline_card_list_exec .rating_counter { 
    flex: 0 1 auto; 
    min-width: 0; 
    height: auto !important; 
    align-items: center;
    justify-content: center;
    gap: 6px !important; 
    padding: 4px 8px !important;
}
.ex-executors .upline_card_list_exec .rating_counter p { font-size: 10px !important; font-weight: 600; line-height: 1.1; }
.ex-executors .upline_card_list_exec .rating_counter svg.rating_icons { width: 12px !important; height: 12px !important; }
/* Abbreviate the reviews label to save width in the upline row */
.ex-executors .upline_card_list_exec .rating_counter .review_word { 
	font-size: 0 !important; 
	display: inline; 
}
.ex-executors .upline_card_list_exec .rating_counter .review_word::after { content: 'отз.'; font-size: 10px; font-weight: 600; color: #475569; }

.ex-executors .upline_card_list_exec .ex-profile-summary { width: 100%; }

/* Right-side icons block */
.ex-executors .upline_card_list_exec .push-right { margin-left: auto; }
.ex-executors .upline_card_list_exec img.style_img_sertificat,
.ex-executors .upline_card_list_exec img.style_img_confirm { height: 80px !important; width: 80px !important; object-fit: contain !important; display: block !important; }
.ex-executors .upline_card_list_exec img.style_img_sertificat { margin-left: 20px; }
.ex-executors .upline_card_list_exec img.style_img_confirm { margin-left: 20px; }
/* Desktop: use large icon sizes if space allows */
@media (min-width: 981px){
	.ex-executors { --ex-icon-size: 90px; --ex-icon-height: 110px; --ex-icon-gap: 20px; }
    .ex-executors .upline_card_list_exec img.style_img_confirm { margin-left: 0; }
}
/* Reset legacy image styles to avoid overlap inside executors upline */
.ex-executors .upline_card_list_exec .style_img_sertificat,
.ex-executors .upline_card_list_exec .style_img_confirm { position: static !important; }

.ex-executors .downline_card_list_exec { font-size:14px; color:#1f2937; line-height:1.5; }
.ex-executors .downline_card_list_exec b { color:#0f172a; }
.ex-executors .downline_card_list_exec .style_img_sertificat { width:48px; height:48px; }

/* Link reset for cards */
.ex-executors a { color: inherit; text-decoration: none; }

/* List controls (show all / collapse) */
.ex-executors .list-controls input[type="submit"],
.ex-executors .button_edit { background: var(--ex-color-primary); color:#fff !important; border:1px solid var(--ex-color-primary); border-radius:10px; padding:10px 16px; display:inline-flex; align-items:center; gap:8px; cursor:pointer; text-decoration:none; }
.ex-executors .list-controls input[type="submit"]:hover,
.ex-executors .button_edit:hover { background: var(--ex-color-primary-600); border-color: var(--ex-color-primary-600); box-shadow:0 6px 14px rgba(119,150,198,0.25); }

/* Empty state */
.ex-executors .notif { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:18px; display:flex; align-items:center; gap:12px; }
.ex-executors .exclamation_point svg { display:block; }

/* Filter sidebar */
.ex-executors .block_filter_exec { position: sticky; top: 0; right: 20px; max-height: 100%; overflow-y: auto; }
.ex-executors .block_filter_exec::-webkit-scrollbar { display: none; }
.ex-executors .block_filter_exec { -ms-overflow-style: none; scrollbar-width: none; }
/* Filter sidebar content styles */
.ex-executors .filter_exec .h2_list { font-size:16px; color:#0f172a !important; margin: 8px 0; }
.ex-executors .filter_exec input[type="text"],
.ex-executors .filter_exec input[type="search"] { width: 100%; padding: 9px 10px; border:1px solid #cbd5e1; border-radius:10px; outline: none; background:#f8fafc; }
.ex-executors .filter_exec input[type="text"]:focus,
.ex-executors .filter_exec input[type="search"]:focus { border-color: var(--ex-color-primary); box-shadow: 0 0 0 3px rgba(119,150,198,0.25); background:#fff; }
.ex-executors .filter_exec .btns_filter { display:flex; gap:10px; }

/* Mobile responsive for filter buttons */
@media (max-width: 680px) {
	.ex-executors {
		margin-top: 60px;
	}
	.ex-executors .block_list_filter {
		grid-template-columns: 1fr; 
		grid-template-areas: 
			"filter"
			"list";
		padding: 0 12px;
		gap: 16px;
	}
	.ex-executors .block_filter_exec { 
		grid-area: filter; 
		order: 1; 
		width: 100%;
		position: static;
		margin-bottom: 20px;
		top: auto;
		max-height: none;
		overflow-y: visible;
	}
	.ex-executors .wrap_list { 
		grid-area: list; 
		order: 2; 
		max-width: none; 
		width: 100%;
		padding: 0;
		margin: 0;
	}
	.ex-executors .filter_exec .btns_filter {
		flex-direction: column;
		gap: 8px;
	}
	.ex-executors .card_list_exec {
		padding: 12px;
		margin-bottom: 12px;
		border-radius: 12px;
		/* Prevent overflow in cards */
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
		box-sizing: border-box;
		margin: 0 0 16px 0;
	}
	.ex-executors .filter_exec {
		padding: 14px;
		border-radius: 12px;
	}
	.ex-executors .filter_exec input[type="text"],
	.ex-executors .filter_exec input[type="search"] {
		padding: 12px;
		font-size: 16px; /* Prevents zoom on iOS */
	}
	.ex-executors .filter_exec .h2_list {
		font-size: 16px !important;
		margin: 12px 0 8px !important;
	}
	/* Additional 680px rules */
	.ex-executors .rating_counter { padding:2px 6px; }
	/* Keep a horizontal oval on small screens */
	.ex-executors .upline_card_list_exec .circle { 
		width: 70px; 
		height: 70px;
	}
	.ex-account-container {
		padding: 16px 12px 48px;
	}
	.ex-executors .upline_card_list_exec,
	.ex-executors .downline_card_list_exec {
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
		word-wrap: break-word;
	}
	.ex-account-container .breadcrumbs {
		margin: 0 auto;
	}
}
.ex-executors .filter_exec .fr_input_send { background: var(--ex-color-primary); color:#fff; border:1px solid var(--ex-color-primary); border-radius:10px; padding:10px 16px; cursor:pointer; }
.ex-executors .filter_exec .fr_input_send:hover { background: var(--ex-color-primary-600); border-color: var(--ex-color-primary-600); }
.ex-executors .filter_exec .fr_input_reset { background:#e5e7eb; color:#111827; border:1px solid #e5e7eb; border-radius:10px; padding:10px 16px; cursor:pointer; }
.ex-executors .filter_exec .fr_input_reset:hover { background:#d1d5db; }
.ex-executors .filter_exec .reting_list label { cursor:pointer; }
.ex-executors .filter_exec .ex-filter-search { position: sticky; top: 0; background:#fff; padding-bottom: 8px; z-index: 1; }
.ex-executors .filter_exec .ex-toggle[role="button"] { display:flex; justify-content:center; align-items:center; gap:6px; background: var(--ex-color-primary); color:#fff; border:1px solid var(--ex-color-primary); border-radius:10px; padding:9px; cursor:pointer; }
.ex-executors .filter_exec .ex-toggle[role="button"]:hover { background: var(--ex-color-primary-600); border-color: var(--ex-color-primary-600); }

/* Danger/accent text helpers */
.ex-executors .text-danger { color: var(--ex-color-danger); }
.ex-executors .text-accent { color: var(--ex-color-accent); }

/* General overflow control for all text elements */
.ex-executors * {
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.ex-executors table {
	width: 100%;
	table-layout: fixed;
	overflow-x: auto;
}

.ex-executors img {
	max-width: 100%;
	height: auto;
}

/* Responsive tweaks */
/* Extra small screens (phones in portrait) */
@media (max-width: 480px) {
	.ex-executors {
		margin-top: 0;
	}
	.ex-executors .block_list_filter {
		grid-template-columns: 1fr; 
		grid-template-areas: 
			"filter"
			"list";
		padding: 0 8px;
		gap: 12px;
        position: relative;
        background: white;
	}
	.ex-executors .block_filter_exec { 
		grid-area: filter; 
		order: 1; 
		width: 100%;
		position: static;
		margin-bottom: 20px;
		top: auto;
		max-height: none;
		overflow-y: visible;
	}
	.ex-executors .wrap_list { 
		grid-area: list; 
		order: 2; 
		max-width: 100%;
		margin: 0;
		padding: 0;
		width: 100%;
	}
	.ex-executors .card_list_exec {
		padding: 10px;
		margin-bottom: 10px;
	}
	.ex-executors .upline_card_list_exec {
		height: auto;
		min-height: 60px;
		flex-wrap: wrap;
		gap: 8px;
	}
	.ex-executors .filter_exec {
		padding: 12px;
	}
}

/* =============================================================================
   ДОПОЛНИТЕЛЬНЫЕ СТИЛИ ДЛЯ МОДЕРНИЗИРОВАННЫХ ФОРМ ИСПОЛНИТЕЛЕЙ
   ============================================================================= */

/* Современные выпадающие секции */
.ex-expandable-section {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    margin-bottom: 1.5rem;
    overflow: hidden;
    transition: all 0.3s ease;
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.ex-expandable-section:hover {
    border-color: #7796C6;
    box-shadow: 0 4px 12px rgba(119, 150, 198, 0.15);
    transform: translateY(-1px);
}

.ex-expand-button {
    width: 100%;
    padding: 1.25rem 1.5rem;
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    color: #1e293b;
    transition: all 0.3s ease;
    text-align: left;
}

.ex-expand-button:hover {
    background: linear-gradient(135deg, #7796C6 0%, #6d89b5 100%);
    color: white;
}

.ex-expand-button:focus {
    outline: 2px solid #7796C6;
    outline-offset: 2px;
}

.ex-expand-icon {
    transition: transform 0.3s ease;
    font-size: 1.2rem;
    font-weight: bold;
    color: #7796C6;
}

.ex-expand-button:hover .ex-expand-icon {
    color: white;
}

.ex-expandable-content {
    padding: 0;
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
    transition: all 0.3s ease;
    overflow: hidden;
}

.ex-expandable-content[style*="block"] {
    padding: 1.5rem;
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        max-height: 0;
        padding-top: 0;
        padding-bottom: 0;
    }
    to {
        opacity: 1;
        max-height: 1000px;
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }
}

.ex-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 0.75rem;
    margin-top: 0.5rem;
}

.ex-checkbox-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    transition: all 0.3s ease;
    cursor: pointer;
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
}

.ex-checkbox-item:hover {
    border-color: #7796C6;
    background: linear-gradient(135deg, #f0f7ff 0%, #e8f2ff 100%);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(119, 150, 198, 0.15);
}

.ex-checkbox-item input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.ex-checkbox-custom {
    width: 20px;
    height: 20px;
    border: 2px solid #cbd5e1;
    border-radius: 4px;
    background: #ffffff;
    transition: all 0.3s ease;
    position: relative;
    flex-shrink: 0;
}

.ex-checkbox-item input[type="checkbox"]:checked + .ex-checkbox-custom {
    background: #7796C6;
    border-color: #7796C6;
}

.ex-checkbox-item input[type="checkbox"]:checked + .ex-checkbox-custom::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 2px;
    width: 6px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.ex-checkbox-label {
    font-size: 0.9rem;
    color: #475569;
    user-select: none;
    line-height: 1.4;
}

/* Прогресс-бар с анимацией */
.ex-progress-container {
    background: #f1f5f9;
    border-radius: 25px;
    overflow: hidden;
    margin-bottom: 2rem;
    position: relative;
    height: 30px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

.ex-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #7796C6 0%, #6d89b5 100%);
    transition: width 0.5s ease;
    border-radius: 25px;
    position: relative;
    overflow: hidden;
}

.ex-progress-fill::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(255,255,255,0.2) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.2) 50%, rgba(255,255,255,0.2) 75%, transparent 75%);
    background-size: 20px 20px;
    animation: moveProgress 1s linear infinite;
}

@keyframes moveProgress {
    0% { background-position: 0 0; }
    100% { background-position: 20px 20px; }
}

.ex-progress-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-weight: 600;
    font-size: 0.85rem;
    color: #1e293b;
    text-shadow: 1px 1px 2px rgba(255,255,255,0.8);
    z-index: 10;
}

/* Стили для файловых полей */
.ex-file-input-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
}

.ex-file-input {
    position: absolute;
    opacity: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.ex-file-label {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border: 2px dashed #cbd5e1;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 0.9rem;
    color: #475569;
}

.ex-file-label:hover {
    border-color: #7796C6;
    background: linear-gradient(135deg, #f0f7ff 0%, #e8f2ff 100%);
    color: #7796C6;
}

.ex-file-label::before {
    content: "📎";
    font-size: 1.2rem;
}
#demoVideo.demo-video-container {
    max-height: 300px !important;
    overflow: hidden !important;
}
/* Маркеры видимости */
.ex-visible-mark {
    color: #7796C6;
    cursor: help;
    font-size: 1rem;
    margin-left: 0.25rem;
    opacity: 0.8;
    transition: opacity 0.2s ease;
}

.ex-visible-mark:hover {
    opacity: 1;
}

/* Анимации появления для fieldset */
.ex-fieldset {
    animation: slideInUp 0.5s ease-out;
    animation-fill-mode: both;
}

.ex-fieldset:nth-child(1) { animation-delay: 0s; }
.ex-fieldset:nth-child(2) { animation-delay: 0.1s; }
.ex-fieldset:nth-child(3) { animation-delay: 0.2s; }
.ex-fieldset:nth-child(4) { animation-delay: 0.3s; }
.ex-fieldset:nth-child(5) { animation-delay: 0.4s; }
.ex-fieldset:nth-child(6) { animation-delay: 0.5s; }

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Улучшенная адаптивность для планшетов */
@media (max-width: 1024px) {
    .ex-form-container {
        width: 85%;
        margin: 1rem auto;
        padding: 1.5rem;
    }
    
    .ex-checkbox-grid {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }
    
    .ex-expandable-section {
        margin-bottom: 0.75rem;
    }
}

/* Дополнительная мобильная адаптивность */
@media (max-width: 768px) {
    .ex-form-container {
        width: 95%;
        margin: 0.5rem auto;
        padding: 1rem;
    }
    
    .ex-fieldset {
        padding: 1rem;
        margin-bottom: 1rem;
    }
    
    .ex-legend {
        font-size: 1.1rem;
        padding: 0.5rem 0.75rem;
    }
    
    .ex-checkbox-grid {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }
    
    .ex-form-actions {
        flex-direction: column;
        gap: 0.75rem;
    }
    
    .ex-btn-primary,
    .ex-btn-secondary {
        width: 100%;
        padding: 0.875rem;
        font-size: 1rem;
    }
    
    .ex-progress-container {
        height: 25px;
        margin-bottom: 1.5rem;
    }
    
    .ex-progress-text {
        font-size: 0.75rem;
    }
    
    .ex-expand-button {
        padding: 0.75rem;
        font-size: 0.9rem;
    }
    
    .ex-expandable-content {
        padding: 0.75rem;
    }
}

/* Дополнительные стили для очень маленьких экранов */
@media (max-width: 480px) {
    .ex-form-container {
        width: 100%;
        margin: 0;
        padding: 0.75rem;
        border-radius: 0;
        position: relative;
        background: white;
    }
    
    .ex-fieldset {
        padding: 0.75rem;
        border-radius: 6px;
    }
    
    .ex-form-group {
        margin-bottom: 1rem;
    }
    
    .ex-form-input,
    .ex-form-textarea {
        font-size: 16px; /* Предотвращает зум на iOS */
    }
}

/* Стили для мульти-селектов с выпадающими чекбоксами */
.multi-select-dropdown {
    position: relative;
    width: 100%;
}

.multi-select-button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 1rem;
    color: #374151;
    min-height: 48px;
}

.multi-select-button:hover {
    border-color: #7796C6;
    box-shadow: 0 0 0 3px rgba(119, 150, 198, 0.1);
}

.multi-select-button:focus {
    outline: none;
    border-color: #7796C6;
    box-shadow: 0 0 0 4px rgba(119, 150, 198, 0.15);
}

.selected-text {
    flex: 1;
    text-align: left;
    color: #374151;
}

.dropdown-arrow {
    color: #7796C6;
    font-weight: bold;
    transition: transform 0.3s ease;
    font-size: 0.875rem;
}

.multi-select-options {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #ffffff;
    border: 2px solid #7796C6;
    border-top: none;
    border-radius: 0 0 8px 8px;
    max-height: 200px;
    overflow-y: auto;
    z-index: 1000;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.multi-select-option {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    cursor: pointer;
    transition: background-color 0.2s ease;
    border-bottom: 1px solid #f1f5f9;
}

.multi-select-option:hover {
    background-color: #f8fafc;
}

.multi-select-option:last-child {
    border-bottom: none;
}

.multi-select-option input[type="checkbox"] {
    margin-right: 0.75rem;
    accent-color: #7796C6;
    width: 16px;
    height: 16px;
}

.option-text {
    font-size: 0.9rem;
    color: #374151;
    user-select: none;
}

/* ==================== MODERN RESPONSE & ALERT SYSTEM ==================== */
/* Современная система уведомлений для результатов регистрации */

.ex-response-container {
    max-width: 800px;
    margin: 40px auto;
    padding: 24px;
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
    border-radius: 24px;
    box-shadow: 
        0 32px 64px rgba(15, 23, 42, 0.12),
        0 16px 32px rgba(15, 23, 42, 0.08),
        0 8px 16px rgba(15, 23, 42, 0.04);
    border: 1px solid rgba(148, 163, 184, 0.2);
    animation: ex-slideInUp 0.6s ease-out;
}

@keyframes ex-slideInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Базовые стили алертов */
.ex-alert {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 24px;
    border-radius: 16px;
    border: 2px solid;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    margin-bottom: 20px;
    backdrop-filter: blur(8px);
    position: relative;
    overflow: hidden;
}

.ex-alert::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, currentColor 0%, rgba(255, 255, 255, 0.3) 100%);
}

/* Иконка алерта */
.ex-alert-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.ex-alert-icon svg {
    width: 24px;
    height: 24px;
}

/* Контент алерта */
.ex-alert-content {
    flex: 1;
    min-width: 0;
}

.ex-alert-title {
    font-size: 1.375rem;
    font-weight: 700;
    margin: 0 0 8px;
    color: inherit;
    line-height: 1.3;
}

.ex-alert-message {
    font-size: 1rem;
    line-height: 1.6;
    margin: 0 0 16px;
    opacity: 0.9;
}

/* Детали алерта */
.ex-alert-details {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 16px 0;
}

.ex-detail-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 20px;
    font-size: 0.875rem;
    font-weight: 500;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.ex-badge-icon {
    font-size: 1rem;
}

/* Действия алерта */
.ex-alert-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 20px;
}

/* Успешный алерт */
.ex-alert-success {
    background: linear-gradient(135deg, #ecfdf5 0%, #f0fdf4 100%);
    border-color: #10b981;
    color: #065f46;
}

.ex-alert-success .ex-alert-icon {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: white;
}

.ex-alert-success .ex-detail-badge {
    background: rgba(16, 185, 129, 0.1);
    border: 1px solid rgba(16, 185, 129, 0.2);
    color: #065f46;
}

/* Ошибка алерт */
.ex-alert-error {
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
    border-color: #E75656;
    color: #991b1b;
}

.ex-alert-error .ex-alert-icon {
    background: linear-gradient(135deg, #E75656 0%, #dc2626 100%);
    color: white;
}

.ex-alert-error .ex-detail-badge {
    background: rgba(231, 86, 86, 0.1);
    border: 1px solid rgba(231, 86, 86, 0.2);
    color: #991b1b;
}

/* Предупреждение алерт */
.ex-alert-warning {
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    border-color: #FFA216;
    color: #92400e;
}

.ex-alert-warning .ex-alert-icon {
    background: linear-gradient(135deg, #FFA216 0%, #f59e0b 100%);
    color: white;
}

.ex-alert-warning .ex-detail-badge {
    background: rgba(255, 162, 22, 0.1);
    border: 1px solid rgba(255, 162, 22, 0.2);
    color: #92400e;
}

/* Информационный алерт */
.ex-alert-info {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
    border-color: #7796C6;
    color: #1e40af;
}

.ex-alert-info .ex-alert-icon {
    background: linear-gradient(135deg, #7796C6 0%, #3b82f6 100%);
    color: white;
}

.ex-alert-info .ex-detail-badge {
    background: rgba(119, 150, 198, 0.1);
    border: 1px solid rgba(119, 150, 198, 0.2);
    color: #1e40af;
}

/* Кнопки в алертах */
.ex-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 10px;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    min-height: 44px;
    justify-content: center;
}

.ex-btn-primary {
    background: linear-gradient(135deg, #7796C6 0%, #6687b5 100%);
    color: white;
    box-shadow: 0 4px 12px rgba(119, 150, 198, 0.3);
}

.ex-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(119, 150, 198, 0.4);
    color: white;
    text-decoration: none;
}

.ex-btn-secondary {
    background: #f1f5f9;
    color: #475569;
    border: 2px solid #e2e8f0;
}

.ex-btn-secondary:hover {
    background: #e2e8f0;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    color: #475569;
    text-decoration: none;
}

.ex-btn-icon {
    font-size: 1.1em;
}

/* Адаптивность алертов */
@media (max-width: 768px) {
    .ex-response-container {
        margin: 20px auto;
        padding: 16px;
        border-radius: 16px;
    }
    
    .ex-alert {
        flex-direction: column;
        text-align: center;
        padding: 20px;
    }
    
    .ex-alert-icon {
        width: 60px;
        height: 60px;
        margin: 0 auto 16px;
    }
    
    .ex-alert-icon svg {
        width: 28px;
        height: 28px;
    }
    
    .ex-alert-actions {
        flex-direction: column;
        align-items: stretch;
    }
    
    .ex-alert-details {
        justify-content: center;
    }
    
    .ex-btn {
        width: 100%;
        min-height: 50px;
    }
}

@media (max-width: 480px) {
    .ex-alert-title {
        font-size: 1.2rem;
    }
    
    .ex-alert-message {
        font-size: 0.95rem;
    }
    
    .ex-detail-badge {
        font-size: 0.8rem;
        padding: 6px 10px;
    }
}

/* ==================== ENHANCED ACCESSIBILITY & UX ==================== */
/* Улучшения доступности и пользовательского опыта */

/* Плавные переходы для всех интерактивных элементов */
.ex-btn,
.ex-alert,
.ex-response-container,
.ex-form-input,
.ex-form-textarea {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Улучшенные состояния фокуса для доступности */
.ex-btn:focus-visible,
.ex-alert-actions a:focus-visible {
    outline: 3px solid rgba(119, 150, 198, 0.5);
    outline-offset: 2px;
    box-shadow: 0 0 0 6px rgba(119, 150, 198, 0.2);
}

/* Анимации загрузки */
@keyframes ex-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

.ex-loading {
    animation: ex-pulse 1.5s ease-in-out infinite;
}

/* Состояние загрузки для кнопок */
.ex-btn.loading {
    pointer-events: none;
    opacity: 0.7;
    position: relative;
}

.ex-btn.loading::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    border: 2px solid transparent;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
}

@keyframes spin {
    to { transform: translateY(-50%) rotate(360deg); }
}

/* Улучшения типографики */
.ex-alert-title {
    letter-spacing: -0.025em;
    line-height: 1.2;
}

.ex-alert-message {
    color: rgba(0, 0, 0, 0.8);
    font-weight: 400;
}

/* Микро-анимации для лучшего UX */
.ex-btn:active {
    transform: translateY(1px) scale(0.98);
}

.ex-alert {
    transform-origin: center top;
}

/* Улучшенные тени для глубины */
.ex-response-container:hover {
    box-shadow: 
        0 40px 80px rgba(15, 23, 42, 0.15),
        0 20px 40px rgba(15, 23, 42, 0.10),
        0 10px 20px rgba(15, 23, 42, 0.06);
}

/* Стили для тёмной темы (если будет добавлена) */
@media (prefers-color-scheme: dark) {
    .ex-response-container {
        background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
        border-color: rgba(148, 163, 184, 0.3);
    }
    
    .ex-alert {
        backdrop-filter: blur(12px);
        max-width: 800px !important;
        margin: 0 auto;
    }
    
    .ex-alert-title,
    .ex-alert-message {
        color: #f1f5f9 !important;
    }
}

/* ==================== RESPONSE CONTAINER STYLES ==================== */
/* Стили для контейнера ответов после отправки формы */

.ex-response-container { 
    opacity: 0; 
    animation: ex-slideInUp 0.6s ease-out 0.1s forwards;
    margin-top: 170px !important;
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px;
    box-sizing: border-box;
}

/* Планшеты (768px - 1024px) */
@media (max-width: 1024px) {
    .ex-response-container {
        width: 70%;
        margin-top: 120px;
        padding: 0 15px;
    }
}

/* Планшеты портретная ориентация (до 768px) */
@media (max-width: 768px) {
    .ex-response-container {
        width: 85%;
        margin-top: 80px;
        padding: 0 15px;
    }
}

/* Мобильные устройства (до 480px) */
@media (max-width: 480px) {
    .ex-response-container {
        width: 95%;
        margin-top: 20px !important;
        padding: 0 10px;
    }
    
    /* Адаптация alert'ов для мобильных */
    .ex-alert {
        padding: 16px !important;
        border-radius: 8px !important;
    }
    
    .ex-alert-title {
        font-size: 18px !important;
        margin-bottom: 8px !important;
    }
    
    .ex-alert-message {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
    
    .ex-alert-actions {
        flex-direction: column !important;
        gap: 8px !important;
        margin-top: 16px !important;
    }
    
    .ex-btn {
        width: 100% !important;
        justify-content: center !important;
        padding: 12px 16px !important;
        font-size: 14px !important;
    }
    
    .ex-detail-badge {
        font-size: 12px !important;
        padding: 6px 10px !important;
    }
}

/* Очень маленькие экраны (до 320px) */
@media (max-width: 320px) {
    .ex-response-container {
        width: 98%;
        margin-top: 10px;
        padding: 0 5px;
    }
    
    .ex-alert {
        padding: 12px !important;
    }
    
    .ex-alert-title {
        font-size: 16px !important;
    }
    
    .ex-alert-message {
        font-size: 13px !important;
    }
    
    .ex-btn {
        padding: 10px 12px !important;
        font-size: 13px !important;
    }
}

/* Адаптация для горизонтальной ориентации мобильных */
@media (max-height: 500px) and (orientation: landscape) {
    .ex-response-container {
        margin-top: 10px;
    }
}

/* ==================== ДОПОЛНИТЕЛЬНЫЕ ОПТИМИЗАЦИИ ПРОИЗВОДИТЕЛЬНОСТИ ==================== */

/* Оптимизация изображений для плавной прокрутки */
img {
    content-visibility: auto;
    contain-intrinsic-size: 200px;
}

/* Ленивая загрузка изображений - улучшенная производительность */
img[loading="lazy"] {
    content-visibility: auto;
    contain-intrinsic-size: 300px 200px;
}

/* Оптимизация для элементов вне области просмотра */
.ex-offer-card,
.dashboard-card,
.ex-case-card {
    content-visibility: auto;
    contain-intrinsic-size: 400px;
}

/* Оптимизация теней для лучшей производительности */
.ex-offer-card:hover,
.dashboard-card:hover {
    box-shadow: 
        0 8px 25px rgba(15, 23, 42, 0.15),
        0 3px 10px rgba(15, 23, 42, 0.08) !important;
    transform: translateY(-2px) !important;
}

/* Убираем сложные тени на мобильных устройствах */
@media (max-width: 768px) {
    .ex-offer-card,
    .dashboard-card,
    .notification-card {
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1) !important;
    }
    
    .ex-offer-card:hover,
    .dashboard-card:hover {
        box-shadow: 0 6px 16px rgba(15, 23, 42, 0.15) !important;
        transform: translateY(-1px) !important;
    }
}

/* Принудительное отключение анимаций на слабых устройствах */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Оптимизация для пользователей с медленным интернетом */
@media (prefers-reduced-data: reduce) {
    .notification-card::before,
    .dashboard-card::before {
        display: none;
    }
    
    .ex-offer-card,
    .dashboard-card {
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    }
}

/* ==================== BREADCRUMBS (migrated from style_site.css) ==================== */
/* Semantic breadcrumbs used on executor pages */
.site-breadcrumbs {
    background: #ffffff;
    padding: 15px 30px;
    margin: 20px 0;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    border: 1px solid #f1f5f9;
}

.breadcrumb-list {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.9rem;
}

.breadcrumb-list li {
    display: flex;
    align-items: center;
    color: #6b7280;
}

.breadcrumb-list li:not(:last-child)::after {
    content: '›';
    margin: 0 8px;
    color: #d1d5db;
    font-size: 1.1rem;
}

.breadcrumb-link {
    color: #7797C6;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.breadcrumb-link:hover {
    color: #5a7cb8;
    text-decoration: underline;
}

.breadcrumb-current {
    color: #374151;
    font-weight: 600;
}

@media (max-width: 768px) {
    .site-breadcrumbs { padding: 12px 16px; overflow-x: auto; margin: 0; }
    .breadcrumb-list { flex-wrap: nowrap; gap: 8px; }
}