/**
 * Последний слой в очереди стилей: ширина вкладок CRM внутри Elementor / темы.
 * Зависимость: insurance-crm-workspace-hardening (см. functions-enqueue.php).
 */

/* Видимость вкладок только по .active — перебивает inline style="display:none" и чужие display:none !important без конфликта с jQuery .hide() */
.insurance-calculator-plugin.insurance-calculator-plugin--workspace .main-tab-pane {
    display: none !important;
}

/* z-index:0 не на модалках — иначе перебивается z-index из style.css (fixed overlay) и шапка вкладок оказывается поверх формы */
.insurance-calculator-plugin.insurance-calculator-plugin--workspace .main-tab-pane.active:not(.crm-questionnaire-modal-open):not(.crm-client-profile-modal-open) {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative;
    z-index: 0 !important;
}

.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-documents.main-tab-pane.active {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Профиль / редактор объектов открываются через .show(), без класса .active на панели — иначе останутся скрыты */
/* display: flex — иначе перебивает style.css и ломает вертикальное центрирование карточки (align-items на display:block не работает) */
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-client-profile.crm-client-profile-modal-open,
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-questionnaires.crm-questionnaire-modal-open {
    display: flex !important;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    align-items: safe center;
    justify-content: center;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Отступы полноэкранного overlay «Объекты» (position:fixed + padding из style.css раньше проигрывали padding-top:0 у .main-tab-pane) */
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-questionnaires.main-tab-pane.crm-questionnaire-modal-open {
    padding: 38px 20px 26px !important;
    box-sizing: border-box !important;
}

/*
 * Обёртка панелей: без z-index:0 — иначе контекст наложения «запирает» position:fixed модалок (#tab-client-profile / #tab-questionnaires)
 * внутри обёртки, и липкая полоса вкладок (100) рисуется поверх полноэкранного затемнения.
 * При открытой модалке (crm-modal-lock) поднимаем весь блок панелей выше полосы вкладок.
 */
.insurance-calculator-plugin.insurance-calculator-plugin--workspace .crm-workspace-tab-panes {
    position: relative;
    min-width: 0;
}

/* Липкая полоса над обёрткой панелей; z-index выше .crm-actions-panel (50), ниже полноэкранных модалок CRM (~100000) */
.insurance-calculator-plugin.insurance-calculator-plugin--workspace .main-admin-tabs {
    position: sticky;
    top: 0;
    z-index: 100 !important;
    pointer-events: auto !important;
}

/*
 * Не поднимаем .crm-workspace-tab-panes над .main-admin-tabs: иначе з-index:25000 у контента
 * перекрывал липкую шапку вкладок (20) — клики уходили в панель, а не в табы.
 * Полноэкранные модалки (Объекты/Клиент) сами имеют z-index 11950+; модалка документа — #crmDocumentEditorShell.
 */

.insurance-calculator-plugin.insurance-calculator-plugin--workspace .main-admin-tabs .main-tab-btn {
    pointer-events: auto !important;
    position: relative;
    z-index: 1;
}

/* Декоративные слои кнопки не должны перехватывать клики */
.insurance-calculator-plugin.insurance-calculator-plugin--workspace .main-admin-tabs .main-tab-btn::before,
.insurance-calculator-plugin.insurance-calculator-plugin--workspace .main-admin-tabs .main-tab-btn::after {
    pointer-events: none !important;
}

.insurance-calculator-plugin.insurance-calculator-plugin--workspace .main-admin-tabs .main-tab-btn .crm-main-tab-label {
    pointer-events: none;
}

/* Обёртки Elementor: виджет shortcode/html не сужает контент сильнее колонки */
.elementor-widget-shortcode .elementor-widget-container .insurance-calculator-plugin.insurance-calculator-plugin--workspace,
.elementor-widget-html .elementor-widget-container .insurance-calculator-plugin.insurance-calculator-plugin--workspace {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* Сам виджет и контейнер — без искусственного max-width (тема/Elementor часто задают 600–1140px) */
.elementor-widget-shortcode:has(.insurance-calculator-plugin--workspace),
.elementor-widget-html:has(.insurance-calculator-plugin--workspace) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.elementor-widget-shortcode:has(.insurance-calculator-plugin--workspace) > .elementor-widget-container,
.elementor-widget-html:has(.insurance-calculator-plugin--workspace) > .elementor-widget-container {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

/* Документы: явно снимаем любой max-width с цепочки до таблицы */
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-documents.ins-crm-documents-pane,
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-documents.ins-crm-documents-pane > .form-section,
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-documents.ins-crm-documents-pane .crm-documents-layout,
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-documents.ins-crm-documents-pane .crm-client-card--list,
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-documents.ins-crm-documents-pane .crm-quotes-table-wrap {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* Клиенты — тот же принцип (эталон ширины) */
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-clients.ins-crm-clients-pane,
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-clients.ins-crm-clients-pane > .form-section,
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-clients.ins-crm-clients-pane .crm-clients-grid,
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-clients.ins-crm-clients-pane .crm-client-card--list {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* Под табами без лишнего зазора. Видимость панелей — через .main-tab-pane.active в начале файла (не jQuery .hide()). */
/* Объекты: не трогаем полноэкранную модалку — иначе padding-top:0 !important съедает отступы overlay из style.css и карточка «прилипает» к верху экрана */
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-clients.ins-crm-clients-pane,
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-documents.ins-crm-documents-pane,
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-questionnaires.main-tab-pane:not(.crm-questionnaire-modal-open) {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 0 !important;
}

.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-clients.ins-crm-clients-pane > .form-section,
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-documents.ins-crm-documents-pane > .form-section,
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-questionnaires > .form-section {
    margin-top: 0 !important;
}

/* Высота: белая карточка и блок таблицы тянутся по вертикали, как на «Клиенты» (сетка раньше давала align-items:start — карточка не заполняла высоту) */
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-clients.ins-crm-clients-pane > .form-section {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: clamp(380px, calc(100vh - 12rem), 2000px);
}

/* Документы: высота по содержимому, без растягивания на весь экран (лишнее место под пагинацией) */
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-documents.ins-crm-documents-pane > .form-section {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    flex: 0 1 auto;
    flex-grow: 0;
    width: 100%;
}

.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-clients.ins-crm-clients-pane .crm-toolbar,
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-documents.ins-crm-documents-pane .crm-toolbar {
    flex: 0 0 auto;
}

.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-clients.ins-crm-clients-pane .crm-clients-grid {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    align-items: stretch !important;
    align-content: start !important;
}

.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-documents.ins-crm-documents-pane .crm-documents-layout {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 1 auto !important;
    min-height: 0 !important;
}

.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-clients.ins-crm-clients-pane .crm-client-card--list {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
}

.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-documents.ins-crm-documents-pane .crm-client-card--list {
    flex: 0 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
}

.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-clients.ins-crm-clients-pane .crm-quotes-table-wrap {
    flex: 1 1 auto !important;
    min-height: clamp(220px, 36vh, 680px) !important;
}

.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-documents.ins-crm-documents-pane .crm-quotes-table-wrap {
    flex: 0 1 auto !important;
    min-height: 0 !important;
}

.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-clients.ins-crm-clients-pane .crm-pagination,
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-documents.ins-crm-documents-pane .crm-pagination,
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-questionnaires .crm-pagination {
    flex: 0 0 auto !important;
}

/* Пагинация сразу под таблицей (внутри .crm-quotes-table-wrap): одна внешняя рамка, без второй «полоски» между телом таблицы и футером */
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-clients .crm-quotes-table-wrap > .crm-pagination,
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-questionnaires .crm-quotes-table-wrap > .crm-pagination {
    margin-top: 0 !important;
    padding: 10px 12px 12px !important;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-documents .crm-quotes-table-wrap > .crm-pagination {
    margin-top: 0 !important;
    padding: 8px 12px 8px !important;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

@media (max-width: 900px) {
    .insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-questionnaires.main-tab-pane.crm-questionnaire-modal-open {
        padding: 16px 12px 14px !important;
    }
}

/* Карточка объекта: верхняя строка «Клиент + тип/иконки» ровно по одной линии. */
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-questionnaires.crm-questionnaire-modal-open #crmQuestionnaireForm .crm-q-form-top-row {
    display: flex !important;
    align-items: flex-end !important;
    gap: 16px !important;
    margin-bottom: 12px !important;
}

.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-questionnaires.crm-questionnaire-modal-open #crmQuestionnaireForm .crm-q-form-top-row__item--client {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-rows: auto 42px !important;
    row-gap: 6px !important;
    margin-bottom: 0 !important; /* перебиваем общий .form-group { margin-bottom: 14px } */
}

.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-questionnaires.crm-questionnaire-modal-open #crmQuestionnaireForm .crm-q-form-top-row__tail {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    min-height: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-questionnaires.crm-questionnaire-modal-open #crmQuestionnaireForm .crm-q-form-top-row__item--client > label {
    margin: 0 !important;
    line-height: 1.2 !important;
}

.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-questionnaires.crm-questionnaire-modal-open #crmQuestionnaireForm .crm-q-form-top-row__item--client .crm-q-client-search,
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-questionnaires.crm-questionnaire-modal-open #crmQuestionnaireForm .crm-q-form-top-row__item--client .crm-q-client-search .crm-search-input {
    min-height: 42px !important;
    height: 42px !important;
}

@media (max-width: 900px) {
    .insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-questionnaires.crm-questionnaire-modal-open #crmQuestionnaireForm .crm-q-form-top-row {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        margin-bottom: 10px !important;
    }

    .insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-questionnaires.crm-questionnaire-modal-open #crmQuestionnaireForm .crm-q-form-top-row__tail {
        min-height: 0 !important;
        height: auto !important;
    }
}

/* В карточке страхователя ФИО оставляем в одну строку (3 колонки) даже на планшете. */
.insurance-calculator-plugin.insurance-calculator-plugin--workspace #tab-questionnaires.crm-questionnaire-modal-open #crmQuestionnaireForm .crm-q-ph-name-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
