:root {
    --opora-font-family: var(--bs-font-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
    --opora-font-weight-body: 400;
    --opora-font-weight-label: 500;
    --opora-font-weight-label-strong: 600;
    --opora-font-weight-button: 600;
    --opora-font-weight-button-strong: 700;
    --opora-font-weight-title: 700;
    --opora-font-weight-section-title: 600;
    --opora-font-weight-kpi: 600;
    --opora-font-weight-table-header: 600;
    --opora-font-weight-emphasis: 600;
    --opora-font-weight-strong: 700;
    --opora-font-size-page-title: clamp(1.45rem, 1.65vw, 1.75rem);
    --opora-font-size-section-title: 1rem;
    --opora-font-size-card-title: 0.95rem;
    --opora-font-size-kpi: 1.35rem;
    --opora-navy-950: #061936;
    --opora-navy-900: #08234A;
    --opora-navy-800: #0D3164;
    --opora-blue-700: #0B57D0;
    --opora-blue-600: #1663E8;
    --opora-blue-500: #2F7BFF;
    --opora-teal-700: #007D8C;
    --opora-teal-600: #0097A7;
    --opora-teal-500: #00AFC1;
    --opora-bg: #F5F7FB;
    --opora-surface: #FFFFFF;
    --opora-border: #E2E8F0;
    --opora-text: #0F172A;
    --opora-muted: #64748B;
    --opora-success: #15803D;
    --opora-warning: #B45309;
    --opora-danger: #B91C1C;
    --opora-radius-sm: 8px;
    --opora-radius-md: 12px;
    --opora-shadow-card: 0 14px 34px rgba(15, 23, 42, 0.08);
    --opora-shadow-soft: 0 8px 22px rgba(15, 23, 42, 0.06);
    --opora-form-section-header-bg: #EFF6FF;
    --opora-form-section-header-border: #BFDBFE;
    --opora-form-field-card-bg: #F5F8FF;
    --opora-form-field-control-bg: #FFFFFF;
}

.crm-page {
    color: var(--opora-text);
    display: grid;
    gap: 1.25rem;
}

.crm-page > * {
    min-width: 0;
}

.crm-page-header {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.5rem;
    border: 1px solid rgba(226, 232, 240, 0.88);
    border-radius: 20px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(239, 246, 255, 0.92) 54%, rgba(236, 254, 255, 0.9) 100%);
    box-shadow: var(--opora-shadow-soft);
    overflow: hidden;
}

.crm-page-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 86% 12%, rgba(0, 175, 193, 0.14), transparent 31%),
        radial-gradient(circle at 8% 18%, rgba(47, 123, 255, 0.1), transparent 34%);
    pointer-events: none;
}

.crm-page-header > * {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.crm-page-title {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0;
    color: var(--opora-text);
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1.15;
}

.crm-page-title i {
    color: var(--opora-teal-700);
}

.crm-page-subtitle {
    max-width: 760px;
    margin: 0.45rem 0 0;
    color: var(--opora-muted);
    font-size: 0.98rem;
}

.crm-page-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.6rem;
    flex-wrap: wrap;
    min-width: 0;
}

.crm-card,
.crm-filter-card,
.crm-table-card {
    background: var(--opora-surface);
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    box-shadow: var(--opora-shadow-card);
}

.crm-card {
    overflow: hidden;
}

.crm-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--opora-border);
    color: var(--opora-text);
    font-weight: 800;
}

.crm-card-body {
    padding: 1.25rem;
}

.crm-card-footer {
    padding: 0.85rem 1.25rem;
    border-top: 1px solid var(--opora-border);
    background: #fff;
}

.crm-section-title,
.crm-strong {
    color: var(--opora-text);
    font-size: 0.96rem;
    font-weight: 560;
    line-height: 1.25;
}

.crm-muted-text {
    color: var(--opora-muted);
    font-size: 0.84rem;
    line-height: 1.4;
}

.crm-filter-label {
    display: block;
    margin-bottom: 0.3rem;
    color: #334155;
    font-size: 0.76rem;
    font-weight: 560;
    line-height: 1.25;
}

.crm-btn-icon {
    width: 38px;
    min-width: 38px;
    padding-inline: 0;
    justify-content: center;
}

.crm-pagination {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.crm-page-link {
    min-width: 32px;
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.35rem 0.65rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    color: var(--opora-text);
    font-size: 0.84rem;
    font-weight: 500;
    text-decoration: none;
}

.crm-page-link:hover,
.crm-page-link:focus,
.crm-page-link.is-active {
    border-color: rgba(22, 99, 232, 0.38);
    background: #EFF6FF;
    color: var(--opora-blue-700);
    outline: none;
}

.crm-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.85rem;
    width: 100%;
}

.crm-stat-card {
    min-height: 112px;
    padding: 1rem;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: var(--opora-radius-md);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.96));
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

.crm-stat-card.is-accent {
    border-color: rgba(0, 151, 167, 0.28);
    background:
        linear-gradient(135deg, rgba(8, 35, 74, 0.98), rgba(13, 49, 100, 0.95) 58%, rgba(0, 125, 140, 0.92));
    color: #fff;
}

.crm-stat-icon {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(22, 99, 232, 0.1);
    color: var(--opora-blue-700);
    font-size: 1.1rem;
}

.crm-stat-icon-success {
    background: #DCFCE7;
    color: var(--opora-success);
}

.crm-stat-icon-warning {
    background: #FFF7ED;
    color: var(--opora-warning);
}

.crm-stat-icon-danger {
    background: #FEE2E2;
    color: var(--opora-danger);
}

.crm-stat-card.is-accent .crm-stat-icon {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.crm-stat-value {
    margin-top: 0.75rem;
    color: var(--opora-text);
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1;
}

.crm-stat-card.is-accent .crm-stat-value,
.crm-stat-card.is-accent .crm-stat-label,
.crm-stat-card.is-accent .crm-stat-delta {
    color: #fff;
}

.crm-stat-label {
    margin-top: 0.35rem;
    color: var(--opora-muted);
    font-size: 0.84rem;
    font-weight: 700;
}

.crm-stat-delta {
    margin-top: 0.55rem;
    color: var(--opora-muted);
    font-size: 0.78rem;
}

.bi.bi-opora-ruble::before,
.bi-opora-ruble::before {
    content: "₽" !important;
    font-family: var(--bs-font-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif) !important;
    display: inline-block;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
}

.crm-filter-card {
    overflow: visible;
}

.crm-filter-disclosure {
    overflow: hidden;
}

.crm-filter-disclosure > summary {
    list-style: none;
}

.crm-filter-disclosure > summary::-webkit-details-marker {
    display: none;
}

.crm-filter-disclosure-summary {
    cursor: pointer;
    user-select: none;
}

.crm-filter-disclosure-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--opora-muted);
    font-size: 0.78rem;
    font-weight: 560;
}

.crm-filter-disclosure-toggle .is-open {
    display: none;
}

.crm-filter-disclosure[open] .crm-filter-disclosure-toggle .is-closed {
    display: none;
}

.crm-filter-disclosure[open] .crm-filter-disclosure-toggle .is-open {
    display: inline;
}

.crm-filter-disclosure-toggle .bi {
    transition: transform 0.16s ease;
}

.crm-filter-disclosure[open] .crm-filter-disclosure-toggle .bi {
    transform: rotate(180deg);
}

.crm-filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.8rem;
    align-items: end;
}

.crm-filter-grid-registry {
    grid-template-columns: minmax(260px, 1.35fr) minmax(150px, 0.8fr) minmax(170px, 0.9fr) minmax(170px, 0.9fr) max-content;
}

.crm-filter-grid-registry-3 {
    grid-template-columns: minmax(260px, 1.35fr) minmax(170px, 0.9fr) max-content;
}

.crm-filter-grid-registry-2-action {
    grid-template-columns: minmax(160px, 210px) minmax(160px, 210px) max-content;
}

.crm-filter-grid-registry-4 {
    grid-template-columns: minmax(260px, 1.35fr) minmax(170px, 0.9fr) minmax(170px, 0.9fr) max-content;
}

.crm-filter-grid-finance {
    grid-template-columns: minmax(130px, 0.55fr) minmax(170px, 0.8fr) minmax(220px, 1fr) minmax(260px, 1fr) max-content;
}

.crm-filter-grid-finance-federal {
    grid-template-columns: minmax(220px, 1.2fr) minmax(130px, 0.55fr) minmax(160px, 0.85fr) minmax(160px, 0.85fr) minmax(160px, 0.85fr) max-content;
}

.crm-filter-grid-finance-federal.with-region {
    grid-template-columns: minmax(200px, 1.1fr) minmax(110px, 0.45fr) minmax(160px, 0.8fr) minmax(150px, 0.75fr) minmax(150px, 0.75fr) minmax(150px, 0.75fr) max-content;
}

.crm-filter-grid-finance-campaigns {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 0.65rem;
}

.crm-filter-grid-finance-campaigns .crm-registry-filter-field {
    flex: 0 1 220px;
    min-width: 180px;
}

.crm-filter-grid-finance-invoices {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 0.65rem;
}

.crm-filter-grid-finance-invoices .crm-registry-filter-field {
    flex: 0 1 190px;
    min-width: 150px;
}

.crm-filter-grid-finance-invoices .crm-registry-filter-field-date {
    flex-basis: 150px;
}

.crm-filter-grid-finance-profiles {
    grid-template-columns: minmax(180px, 240px) minmax(220px, 280px) max-content;
}

.crm-filter-grid-registry-narrow-wide-action {
    grid-template-columns: minmax(130px, 0.7fr) minmax(260px, 1.35fr) max-content;
}

.crm-filter-card .form-control,
.crm-filter-card .form-select,
.crm-filter-card .autocomplete-select__control {
    min-height: 42px;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    color: var(--opora-text);
}

.crm-filter-card .form-control:focus,
.crm-filter-card .form-select:focus {
    border-color: rgba(22, 99, 232, 0.52);
    box-shadow: 0 0 0 0.2rem rgba(22, 99, 232, 0.12);
}

.crm-table-card {
    overflow: hidden;
}

.crm-table-card.floating-head-card {
    overflow: visible;
}

.crm-table {
    --bs-table-bg: var(--opora-surface);
    --bs-table-hover-bg: #F8FBFF;
    width: 100%;
    margin-bottom: 0;
}

.crm-table thead th,
.table-floating-head-overlay .crm-table thead th {
    padding: 0.72rem 0.85rem;
    border-bottom: 1px solid var(--opora-border);
    background: #F8FBFF;
    color: #475569;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
    text-align: center;
    vertical-align: middle;
}

.crm-table tbody td {
    padding: 0.72rem 0.85rem;
    border-color: var(--opora-border);
    color: var(--opora-text);
    font-size: 0.9rem;
    line-height: 1.35;
    vertical-align: middle;
}

.crm-table tbody tr {
    transition: background-color 0.14s ease;
}

.crm-table-card.crm-table-sticky {
    overflow: visible;
}

.crm-table-card.crm-table-sticky > .table-responsive,
.crm-table-sticky .table-responsive {
    position: relative;
    overflow: visible;
}

.crm-table-card.crm-table-sticky > .crm-table-card-body > .table-responsive {
    position: relative;
    overflow-x: auto;
    overflow-y: visible;
}

.crm-table-sticky .crm-table thead {
    position: sticky;
    top: var(--crm-table-sticky-top, 0);
    z-index: 20;
}

.crm-table-sticky .crm-table thead th {
    position: sticky;
    top: var(--crm-table-sticky-top, 0);
    z-index: 20;
    background: #F8FBFF;
    background-clip: padding-box;
    box-shadow: inset 0 -1px 0 var(--opora-border);
}

.crm-table-card.crm-table-wide-scroll > .table-responsive {
    overflow-x: auto;
    overflow-y: visible;
}

.crm-table-card-note,
.crm-table-offset-toolbar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 1rem;
    border-bottom: 1px solid var(--opora-border);
    background: #FFFBEB;
    color: var(--opora-warning);
    font-size: 0.86rem;
    font-weight: 600;
}

.crm-table-offset-toolbar {
    position: sticky;
    top: 0;
    z-index: 21;
    background: #EFF6FF;
    color: var(--opora-blue-700);
}

.crm-table-sticky-offset-demo {
    --crm-table-sticky-top: 52px;
}

.crm-table-compact thead th,
.crm-table-compact tbody td {
    padding: 0.55rem 0.7rem;
    font-size: 0.82rem;
}

.crm-table-wide {
    min-width: 1180px;
}

.crm-table-numeric {
    text-align: right;
    white-space: nowrap;
}

.crm-table-center-col {
    text-align: center;
    white-space: nowrap;
}

.crm-table thead th.crm-table-left-col,
.crm-table tbody td.crm-table-left-col {
    text-align: left;
}

.crm-table thead th.crm-table-text-col,
.crm-table tbody td.crm-table-text-col,
.crm-table thead th.crm-table-description,
.crm-table tbody td.crm-table-description,
.crm-table thead th.crm-table-description-col,
.crm-table tbody td.crm-table-description-col {
    text-align: left;
}

.crm-table thead th.crm-table-status-col,
.crm-table tbody td.crm-table-status-col,
.crm-table thead th.crm-table-date-col,
.crm-table tbody td.crm-table-date-col,
.crm-table thead th.crm-table-center-col,
.crm-table tbody td.crm-table-center-col {
    text-align: center;
}

.crm-table thead th.crm-table-numeric,
.crm-table tbody td.crm-table-numeric,
.crm-table thead th.crm-table-money-col,
.crm-table tbody td.crm-table-money-col {
    text-align: right;
    white-space: nowrap;
}

.crm-table-group-row td {
    background: #F8FBFF;
    color: var(--opora-text);
    font-weight: 600;
    box-shadow: inset 0 1px 0 var(--opora-border), inset 0 -1px 0 var(--opora-border);
}

.crm-table-description {
    min-width: 260px;
    max-width: 460px;
    line-height: 1.35;
}

.crm-table-actions-col {
    width: 156px;
    min-width: 156px;
    text-align: center;
}

.crm-table-row-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.crm-table-row-actions form {
    display: inline-flex;
    margin: 0;
}

.crm-table-icon-btn {
    width: 32px;
    min-width: 32px;
    padding-right: 0;
    padding-left: 0;
}

.crm-table-row-action-compact {
    height: 32px;
    min-height: 32px;
    flex: 0 0 32px;
    border-radius: 8px;
    box-shadow: none;
}

.crm-table-row-action-dropdown {
    position: relative;
    display: inline-flex;
}

.crm-table-row-action-menu {
    left: auto !important;
    right: 0 !important;
    z-index: 40;
    min-width: 10rem;
    max-width: min(13rem, calc(100vw - 2rem));
    white-space: normal;
}

.crm-table-row-action-menu .dropdown-item,
.crm-action-dropdown-menu .dropdown-item {
    white-space: normal;
}

.crm-table-disclosure summary {
    color: var(--opora-blue-700);
    cursor: pointer;
    font-weight: 700;
}

.crm-table-disclosure div {
    margin-top: 0.35rem;
    color: var(--opora-muted);
    font-size: 0.82rem;
}

.crm-table .sortable-heading {
    color: inherit;
    text-decoration: none;
}

.crm-table .sortable-heading:hover,
.crm-table .sortable-heading:focus,
.crm-table .sortable-heading.is-active {
    color: var(--opora-blue-700);
}

.crm-table-component-lab .crm-table thead th {
    color: #334155;
    padding: 0.72rem 0.85rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
}

.crm-table-component-lab .crm-table tbody td {
    font-size: 0.9rem;
    line-height: 1.35;
}

.crm-table-component-lab .crm-table-compact thead th {
    padding: 0.72rem 0.85rem;
    font-size: 0.7rem;
}

.crm-table-component-lab .crm-table-compact tbody td {
    padding: 0.65rem 0.75rem;
    font-size: 0.86rem;
}

.crm-table-component-lab .crm-table .sortable-heading {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    color: inherit;
    font: inherit;
    text-transform: inherit;
}

.crm-table-component-lab .crm-table .sortable-heading.is-active {
    color: inherit;
}

.crm-table-component-lab .crm-table thead th.crm-table-text-col,
.crm-table-component-lab .crm-table tbody td.crm-table-text-col,
.crm-table-component-lab .crm-table thead th.crm-table-description,
.crm-table-component-lab .crm-table tbody td.crm-table-description,
.crm-table-component-lab .crm-table thead th.crm-table-description-col,
.crm-table-component-lab .crm-table tbody td.crm-table-description-col {
    text-align: left;
}

.crm-table-component-lab .crm-table thead th.crm-table-center-col,
.crm-table-component-lab .crm-table tbody td.crm-table-center-col,
.crm-table-component-lab .crm-table thead th.crm-table-status-col,
.crm-table-component-lab .crm-table tbody td.crm-table-status-col,
.crm-table-component-lab .crm-table thead th.crm-table-date-col,
.crm-table-component-lab .crm-table tbody td.crm-table-date-col,
.crm-table-component-lab .crm-table thead th.crm-table-actions-col,
.crm-table-component-lab .crm-table tbody td.crm-table-actions-col,
.crm-table-component-lab .crm-table thead th.crm-table-numeric,
.crm-table-component-lab .crm-table tbody td.crm-table-numeric {
    text-align: center;
}

.crm-table-component-lab .crm-table-actions-col {
    width: 148px;
    min-width: 148px;
}

.crm-table-component-lab .crm-table .crm-table-badge {
    min-height: 24px;
    padding: 0.2rem 0.5rem;
    border-radius: 7px;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.1;
}

.crm-ui-preview-lab {
    font-family: var(--opora-font-family);
    font-weight: var(--opora-font-weight-body);
}

.crm-ui-preview-lab .crm-page-title {
    font-size: var(--opora-font-size-page-title);
    font-weight: var(--opora-font-weight-title);
}

.crm-ui-preview-lab .registry-lab-section-title,
.crm-ui-preview-lab > section > h2,
.crm-ui-preview-lab .crm-ui-preview-flow-group > h2 {
    margin: 0;
    color: var(--opora-text);
    font-size: 1rem;
    font-weight: var(--opora-font-weight-section-title);
}

.crm-ui-preview-lab .crm-card > .crm-card-header,
.crm-ui-preview-lab .crm-filter-card > .crm-card-header,
.crm-ui-preview-lab .crm-table-card > .crm-card-header,
.crm-ui-preview-lab .crm-form-section-header,
.crm-ui-preview-lab .crm-builder-card-header,
.crm-ui-preview-lab .crm-builder-option-group-header,
.crm-ui-preview-lab .crm-builder-preview-header,
.crm-ui-preview-lab .crm-workboard-section-header {
    min-height: 54px;
    padding: 0.85rem 1.1rem;
    font-size: 0.95rem;
    font-weight: var(--opora-font-weight-section-title);
}

.crm-ui-preview-lab .crm-form-section-title,
.crm-ui-preview-lab .crm-detail-title-block h3,
.crm-ui-preview-lab .crm-detail-tab,
.crm-ui-preview-lab .crm-detail-panel-title,
.crm-ui-preview-lab .crm-directory-header h3,
.crm-ui-preview-lab .crm-directory-view-badge,
.crm-ui-preview-lab .crm-directory-card-title,
.crm-ui-preview-lab .crm-directory-link,
.crm-ui-preview-lab .crm-report-title-block h3,
.crm-ui-preview-lab .crm-builder-title-block h3,
.crm-ui-preview-lab .crm-builder-section-title,
.crm-ui-preview-lab .crm-builder-template-title,
.crm-ui-preview-lab .crm-workspace-title-block h3,
.crm-ui-preview-lab .crm-workspace-sidebar h3,
.crm-ui-preview-lab .crm-workspace-main h3,
.crm-ui-preview-lab .crm-workspace-preview h3,
.crm-ui-preview-lab .crm-split-sidebar h3,
.crm-ui-preview-lab .crm-split-preview-panel h3,
.crm-ui-preview-lab .crm-workboard-section-header h3,
.crm-ui-preview-lab .public-brand-name,
.crm-ui-preview-lab .public-brand-title,
.crm-ui-preview-lab .public-brand-kicker,
.crm-ui-preview-lab .crm-shell-preview-brand,
.crm-ui-preview-lab .crm-shell-preview-layout-card h3,
.crm-ui-preview-lab .crm-ui-preview-card-title {
    font-weight: 600;
    letter-spacing: 0;
}

.crm-ui-preview-lab .crm-detail-label,
.crm-ui-preview-lab .crm-directory-meta-label,
.crm-ui-preview-lab .crm-directory-meta-value,
.crm-ui-preview-lab .crm-report-group-row td,
.crm-ui-preview-lab .crm-report-total-row td,
.crm-ui-preview-lab .crm-report-source-card summary,
.crm-ui-preview-lab .crm-builder-option-item,
.crm-ui-preview-lab .crm-builder-order-row,
.crm-ui-preview-lab .crm-workspace-job-status,
.crm-ui-preview-lab .crm-chip-multiselect-count,
.crm-ui-preview-lab .crm-bulk-selection-count,
.crm-ui-preview-lab .crm-ui-preview-step-number,
.crm-ui-preview-lab .public-event-cover-pattern,
.crm-ui-preview-lab .public-event-cover-fallback,
.crm-ui-preview-lab .public-event-price,
.crm-ui-preview-lab .crm-shell-preview-nav-item {
    font-weight: var(--opora-font-weight-emphasis);
}

.crm-ui-preview-lab .crm-stat-card .crm-stat-value {
    color: var(--opora-text);
    font-size: 1.35rem;
    font-weight: var(--opora-font-weight-kpi);
    letter-spacing: 0;
    line-height: 1.08;
}

.crm-ui-preview-lab .crm-table thead th {
    color: #334155;
    padding: 0.72rem 0.85rem;
    font-size: 0.7rem;
    font-weight: var(--opora-font-weight-table-header);
    letter-spacing: 0;
    text-align: center;
}

.crm-ui-preview-lab .crm-table tbody td {
    font-size: 0.9rem;
    line-height: 1.35;
}

.crm-ui-preview-lab .crm-table-compact thead th {
    padding: 0.72rem 0.85rem;
    font-size: 0.7rem;
}

.crm-ui-preview-lab .crm-table-compact tbody td {
    padding: 0.65rem 0.75rem;
    font-size: 0.86rem;
}

.crm-ui-preview-lab .crm-table .sortable-heading {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    color: inherit;
    font: inherit;
    text-transform: inherit;
}

.crm-ui-preview-lab .crm-table .sortable-heading.is-active {
    color: inherit;
}

.crm-ui-preview-lab .crm-table thead th.crm-table-text-col,
.crm-ui-preview-lab .crm-table tbody td.crm-table-text-col,
.crm-ui-preview-lab .crm-table thead th.crm-table-description,
.crm-ui-preview-lab .crm-table tbody td.crm-table-description,
.crm-ui-preview-lab .crm-table thead th.crm-table-description-col,
.crm-ui-preview-lab .crm-table tbody td.crm-table-description-col {
    text-align: left;
}

.crm-ui-preview-lab .crm-table thead th.crm-table-center-col,
.crm-ui-preview-lab .crm-table tbody td.crm-table-center-col,
.crm-ui-preview-lab .crm-table thead th.crm-table-status-col,
.crm-ui-preview-lab .crm-table tbody td.crm-table-status-col,
.crm-ui-preview-lab .crm-table thead th.crm-table-date-col,
.crm-ui-preview-lab .crm-table tbody td.crm-table-date-col,
.crm-ui-preview-lab .crm-table thead th.crm-report-cell-status,
.crm-ui-preview-lab .crm-table tbody td.crm-report-cell-status,
.crm-ui-preview-lab .crm-table thead th.crm-report-cell-date,
.crm-ui-preview-lab .crm-table tbody td.crm-report-cell-date,
.crm-ui-preview-lab .crm-table thead th.crm-table-actions-col,
.crm-ui-preview-lab .crm-table tbody td.crm-table-actions-col,
.crm-ui-preview-lab .crm-table thead th.crm-table-numeric,
.crm-ui-preview-lab .crm-table tbody td.crm-table-numeric {
    text-align: center;
}

.crm-ui-preview-lab .crm-table thead th.crm-report-cell-number,
.crm-ui-preview-lab .crm-table thead th.crm-report-cell-money,
.crm-ui-preview-lab .crm-report-table thead th.crm-table-text-col {
    text-align: center;
}

.crm-ui-preview-lab .crm-table tbody td.crm-report-cell-number,
.crm-ui-preview-lab .crm-table tbody td.crm-report-cell-money,
.crm-ui-preview-lab .crm-table thead th.crm-table-money-col,
.crm-ui-preview-lab .crm-table tbody td.crm-table-money-col {
    text-align: right;
}

.crm-ui-preview-lab .crm-table-actions-col {
    width: 156px;
    min-width: 156px;
}

.crm-ui-preview-lab .crm-table-row-actions {
    flex-wrap: nowrap;
    white-space: nowrap;
}

.crm-ui-preview-lab .crm-btn-primary,
.crm-ui-preview-lab .crm-btn-secondary,
.crm-ui-preview-lab .crm-btn-danger {
    min-height: 40px;
    font-weight: var(--opora-font-weight-button);
    box-shadow: none;
}

.crm-ui-preview-lab .crm-btn-primary {
    border-color: #174EA6;
    background: #174EA6;
    color: #fff;
}

.crm-ui-preview-lab .crm-btn-primary:hover,
.crm-ui-preview-lab .crm-btn-primary:focus {
    border-color: #143F86;
    background: #143F86;
    color: #fff;
}

.crm-ui-preview-lab .crm-btn-primary:disabled,
.crm-ui-preview-lab .crm-btn-primary.disabled,
fieldset:disabled .crm-ui-preview-lab .crm-btn-primary {
    border-color: #174EA6;
    background: #174EA6;
    color: #fff;
    opacity: 1;
}

.crm-ui-preview-lab .crm-btn-primary i,
.crm-ui-preview-lab .crm-btn-primary span,
.crm-ui-preview-lab .crm-btn-primary svg {
    color: currentColor;
    stroke: currentColor;
    opacity: 1;
}

.crm-ui-preview-lab .crm-btn-secondary {
    border-color: #CBD5E1;
    background: #fff;
    color: #334155;
}

.crm-ui-preview-lab .crm-btn-danger,
.crm-ui-preview-lab .crm-row-action-danger {
    border-color: rgba(185, 28, 28, 0.24);
    background: #fff;
    color: var(--opora-danger);
}

.crm-ui-preview-lab .crm-btn-sm {
    min-height: 32px;
    padding: 0.35rem 0.62rem;
    font-size: 0.86rem;
}

.crm-ui-preview-lab .crm-table-icon-btn,
.crm-ui-preview-lab .crm-row-action,
.crm-ui-preview-lab .crm-row-action-compact,
.crm-ui-preview-lab .crm-table-row-action-compact {
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    flex: 0 0 32px;
    padding-right: 0;
    padding-left: 0;
}

.crm-ui-preview-lab .crm-registry-icon-btn:not(.crm-registry-row-action-compact) {
    width: 38px;
    min-width: 38px;
    flex: 0 0 38px;
    padding-right: 0;
    padding-left: 0;
}

.crm-ui-preview-lab .crm-registry-row-actions,
.crm-ui-preview-lab .crm-row-actions,
.crm-ui-preview-lab .crm-toolbar-actions,
.crm-ui-preview-lab .crm-bulk-actions {
    gap: 0.5rem;
}

.crm-ui-preview-lab .crm-registry-row-actions,
.crm-ui-preview-lab .crm-row-actions,
.crm-ui-preview-lab .crm-table-row-actions {
    flex-wrap: nowrap;
    white-space: nowrap;
}

.crm-ui-preview-lab .crm-dropdown-danger-zone {
    margin-top: 0.35rem;
    padding-top: 0.35rem;
    border-top: 1px solid var(--opora-border);
}

.crm-ui-preview-lab .crm-filter-card > .crm-card-header {
    min-height: 0;
    padding: 0.65rem 0.9rem;
}

.crm-ui-preview-lab .crm-filter-card > .crm-card-body {
    padding: 0.75rem 0.9rem;
}

.crm-ui-preview-lab .crm-filter-card label,
.crm-ui-preview-lab .crm-filter-card .form-label,
.crm-ui-preview-lab .crm-registry-filter-field label,
.crm-ui-preview-lab .crm-report-filter-row label,
.crm-ui-preview-lab .crm-directory-filter-grid label,
.crm-ui-preview-lab .public-filter-form label {
    margin-bottom: 0.25rem;
    color: #475569;
    font-size: 0.7rem;
    font-weight: 500;
    line-height: 1.2;
}

.crm-ui-preview-lab .form-control,
.crm-ui-preview-lab .form-select,
.crm-ui-preview-lab .autocomplete-select__control {
    min-height: 38px;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    color: var(--opora-text);
    font-size: 0.88rem;
    line-height: 1.25;
}

.crm-ui-preview-lab input.form-control,
.crm-ui-preview-lab select.form-select,
.crm-ui-preview-lab .autocomplete-select__control {
    height: 38px;
}

.crm-ui-preview-lab textarea.form-control {
    height: auto;
    min-height: 88px;
    line-height: 1.4;
}

.crm-ui-preview-lab .crm-field-card .form-label {
    margin-bottom: 0.25rem;
    font-size: 0.82rem;
    font-weight: 600;
}

.crm-ui-preview-lab .crm-field-card {
    gap: 0.4rem;
    padding: 0.85rem;
}

.crm-ui-preview-lab .crm-registry-date-range {
    grid-template-columns: repeat(2, minmax(8.5rem, 1fr));
    gap: 0.45rem;
}

.crm-ui-preview-lab .crm-filter-grid,
.crm-ui-preview-lab .crm-directory-filter-grid,
.crm-ui-preview-lab .crm-report-filter-row,
.crm-ui-preview-lab .public-filter-controls {
    gap: 0.75rem;
    align-items: end;
}

.crm-ui-preview-lab .crm-registry-filter-actions,
.crm-ui-preview-lab .crm-directory-filter-actions,
.crm-ui-preview-lab .crm-report-toolbar-actions {
    justify-content: flex-end;
    flex-wrap: nowrap;
}

.crm-ui-preview-lab .crm-empty-state {
    gap: 0.65rem;
    padding: 2.35rem 1rem;
    color: var(--opora-muted);
    text-align: center;
}

.crm-ui-preview-lab .crm-empty-state i {
    color: #94A3B8;
    font-size: 2.25rem;
}

.crm-ui-preview-lab .crm-empty-state-title {
    margin: 0;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.25;
}

.crm-ui-preview-lab .crm-empty-state-text {
    max-width: 560px;
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.88rem;
    line-height: 1.4;
}

.crm-ui-preview-lab .crm-empty-state-actions {
    gap: 0.5rem;
}

.crm-ui-preview-lab .crm-alert {
    padding: 0.85rem 1rem;
    border-radius: var(--opora-radius-sm);
    background-clip: padding-box;
    font-size: 0.9rem;
    line-height: 1.4;
    opacity: 1;
}

.crm-ui-preview-lab .crm-alert strong {
    margin-bottom: 0.18rem;
    font-weight: 600;
}

.crm-ui-preview-lab .crm-alert p {
    font-size: 0.88rem;
}

.crm-ui-preview-lab .crm-global-message-stack {
    top: 20px;
    left: 50%;
    width: clamp(320px, 28vw, 520px);
    max-width: calc(100vw - 32px);
    transform: translateX(-50%);
}

.crm-ui-preview-lab .crm-global-message {
    width: 100%;
    padding: 0.72rem 0.85rem;
    border-radius: var(--opora-radius-sm);
    background: #fff;
    background-clip: padding-box;
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.18);
    color: var(--opora-text);
    font-size: 0.86rem;
    line-height: 1.35;
    opacity: 1;
}

.crm-ui-preview-lab .crm-global-message strong {
    font-weight: 600;
}

.crm-ui-preview-lab .crm-diagnostic-card {
    gap: 0.75rem;
    padding: 0.95rem;
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-soft);
}

.crm-ui-preview-lab .crm-diagnostic-status strong {
    font-size: 0.95rem;
    font-weight: 600;
}

.crm-ui-preview-lab .crm-diagnostic-item {
    font-size: 0.88rem;
    line-height: 1.35;
}

.crm-ui-preview-lab,
.crm-ui-preview-lab .crm-card,
.crm-ui-preview-lab .crm-card-body,
.crm-ui-preview-lab .crm-filter-card,
.crm-ui-preview-lab .crm-table-card,
.crm-ui-preview-lab .crm-action-grid,
.crm-ui-preview-lab .crm-field-grid,
.crm-ui-preview-lab .crm-detail-panel-grid,
.crm-ui-preview-lab .crm-directory-card-grid,
.crm-ui-preview-lab .crm-report-summary-grid,
.crm-ui-preview-lab .crm-builder-layout,
.crm-ui-preview-lab .crm-builder-main,
.crm-ui-preview-lab .crm-builder-side,
.crm-ui-preview-lab .crm-workspace-layout,
.crm-ui-preview-lab .crm-split-layout,
.crm-ui-preview-lab .public-event-grid,
.crm-ui-preview-lab .crm-shell-preview-grid,
.crm-ui-preview-lab .crm-ui-preview-grid {
    min-width: 0;
}

.crm-ui-preview-lab .crm-action-grid,
.crm-ui-preview-lab .crm-field-grid,
.crm-ui-preview-lab .crm-detail-panel-grid,
.crm-ui-preview-lab .crm-directory-card-grid,
.crm-ui-preview-lab .crm-report-summary-grid,
.crm-ui-preview-lab .crm-builder-option-groups,
.crm-ui-preview-lab .crm-workboard-summary,
.crm-ui-preview-lab .public-event-grid,
.crm-ui-preview-lab .crm-shell-preview-grid,
.crm-ui-preview-lab .crm-ui-preview-grid {
    gap: 1rem;
}

.crm-ui-preview-lab .crm-page-subtitle,
.crm-ui-preview-lab .crm-card-header,
.crm-ui-preview-lab .crm-card-body,
.crm-ui-preview-lab .crm-detail-value,
.crm-ui-preview-lab .crm-directory-meta-value,
.crm-ui-preview-lab .crm-builder-option-item,
.crm-ui-preview-lab .crm-builder-template-meta,
.crm-ui-preview-lab .crm-workspace-preview,
.crm-ui-preview-lab .public-event-summary,
.crm-ui-preview-lab .crm-shell-preview-layout-card {
    overflow-wrap: anywhere;
}

.crm-ui-preview-lab .crm-table-card.crm-table-wide-scroll,
.crm-ui-preview-lab .crm-table-card.crm-table-sticky,
.crm-ui-preview-lab .table-responsive {
    max-width: 100%;
}

.crm-ui-preview-lab .crm-table-card.crm-table-wide-scroll > .table-responsive,
.crm-ui-preview-lab .crm-table-sticky .table-responsive {
    overflow-x: auto;
    overflow-y: visible;
}

.crm-ui-preview-lab .dropdown-menu-end,
.crm-ui-preview-lab .crm-action-dropdown-menu,
.crm-ui-preview-lab .crm-table-row-action-menu,
.crm-ui-preview-lab .crm-registry-row-action-menu {
    right: 0 !important;
    left: auto !important;
    z-index: 45;
    max-width: min(18rem, calc(100vw - 2rem));
    white-space: normal;
}

.crm-ui-preview-lab .crm-table-sticky .crm-table thead th {
    z-index: 20;
}

@media (max-width: 1440px) and (max-height: 900px) and (min-width: 992px) {
    .crm-ui-preview-lab {
        gap: 1rem;
    }

    .crm-ui-preview-lab .crm-page-header,
    .crm-ui-preview-lab .crm-registry-hero,
    .crm-ui-preview-lab .crm-directory-header,
    .crm-ui-preview-lab .crm-report-header,
    .crm-ui-preview-lab .crm-builder-header,
    .crm-ui-preview-lab .crm-workspace-header {
        gap: 0.9rem;
        padding: 1.1rem 1.15rem;
    }

    .crm-ui-preview-lab .crm-page-title {
        font-size: clamp(1.35rem, 1.45vw, 1.6rem);
    }

    .crm-ui-preview-lab .crm-page-subtitle {
        font-size: 0.92rem;
        line-height: 1.45;
    }

    .crm-ui-preview-lab .crm-card-header,
    .crm-ui-preview-lab .crm-table-card-header,
    .crm-ui-preview-lab .crm-registry-table-header,
    .crm-ui-preview-lab .crm-directory-toolbar,
    .crm-ui-preview-lab .crm-report-toolbar,
    .crm-ui-preview-lab .crm-workspace-toolbar {
        min-height: 50px;
        padding: 0.72rem 0.95rem;
    }

    .crm-ui-preview-lab .crm-card-body,
    .crm-ui-preview-lab .crm-filter-card .crm-card-body,
    .crm-ui-preview-lab .crm-builder-card-body {
        padding: 0.85rem 0.95rem;
    }

    .crm-ui-preview-lab .crm-action-grid,
    .crm-ui-preview-lab .crm-field-grid,
    .crm-ui-preview-lab .crm-detail-panel-grid,
    .crm-ui-preview-lab .crm-directory-card-grid,
    .crm-ui-preview-lab .crm-report-summary-grid,
    .crm-ui-preview-lab .crm-builder-option-groups,
    .crm-ui-preview-lab .crm-workboard-summary,
    .crm-ui-preview-lab .public-event-grid,
    .crm-ui-preview-lab .crm-shell-preview-grid,
    .crm-ui-preview-lab .crm-ui-preview-grid {
        gap: 0.8rem;
    }

    .crm-ui-preview-lab .crm-stat-card {
        min-height: 118px;
        padding: 0.85rem;
    }

    .crm-ui-preview-lab .crm-stat-card .crm-stat-value,
    .crm-ui-preview-lab .crm-registry-stat-card .crm-stat-value {
        font-size: 1.28rem;
        font-weight: var(--opora-font-weight-kpi);
    }

    .crm-ui-preview-lab label,
    .crm-ui-preview-lab .crm-filter-label {
        font-size: 0.76rem;
        font-weight: var(--opora-font-weight-label-strong);
    }

    .crm-ui-preview-lab .form-control,
    .crm-ui-preview-lab .form-select,
    .crm-ui-preview-lab .crm-form-control {
        min-height: 36px;
        padding: 0.45rem 0.65rem;
        font-size: 0.86rem;
    }

    .crm-ui-preview-lab .crm-btn-primary,
    .crm-ui-preview-lab .crm-btn-secondary,
    .crm-ui-preview-lab .crm-btn-danger {
        min-height: 36px;
        padding: 0.45rem 0.78rem;
        font-weight: var(--opora-font-weight-button);
    }

    .crm-ui-preview-lab .crm-btn-primary,
    .crm-ui-preview-lab .crm-btn-primary i,
    .crm-ui-preview-lab .crm-btn-primary svg {
        color: #FFFFFF;
        fill: none;
        stroke: currentColor;
    }

    .crm-ui-preview-lab .crm-table thead th {
        padding: 0.6rem 0.68rem;
        font-size: 0.68rem;
        font-weight: var(--opora-font-weight-table-header);
        text-align: center;
    }

    .crm-ui-preview-lab .crm-table tbody td {
        padding: 0.62rem 0.68rem;
        font-size: 0.86rem;
    }

    .crm-ui-preview-lab .crm-table-actions-col,
    .crm-ui-preview-lab .crm-registry-actions-col {
        min-width: 142px;
        width: 142px;
    }

    .crm-ui-preview-lab .crm-table-row-actions,
    .crm-ui-preview-lab .crm-registry-row-actions {
        gap: 0.32rem;
        flex-wrap: nowrap;
        justify-content: center;
    }
}

@media (max-width: 1366px) and (max-height: 768px) and (min-width: 992px) {
    .crm-ui-preview-lab .crm-page-header,
    .crm-ui-preview-lab .crm-registry-hero,
    .crm-ui-preview-lab .crm-directory-header,
    .crm-ui-preview-lab .crm-report-header,
    .crm-ui-preview-lab .crm-builder-header,
    .crm-ui-preview-lab .crm-workspace-header {
        padding: 1rem;
    }

    .crm-ui-preview-lab .crm-page-actions,
    .crm-ui-preview-lab .crm-registry-actions,
    .crm-ui-preview-lab .crm-report-actions,
    .crm-ui-preview-lab .crm-builder-actions,
    .crm-ui-preview-lab .crm-workspace-actions {
        gap: 0.42rem;
    }

    .crm-ui-preview-lab .crm-filter-grid,
    .crm-ui-preview-lab .crm-directory-filter-grid,
    .crm-ui-preview-lab .crm-report-filter-row,
    .crm-ui-preview-lab .crm-workspace-filter-bar,
    .crm-ui-preview-lab .crm-workboard-filter-bar {
        gap: 0.58rem;
    }

    .crm-ui-preview-lab .crm-report-summary-grid-4,
    .crm-ui-preview-lab .crm-detail-summary-grid-4,
    .crm-ui-preview-lab .crm-directory-kpi-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-ui-preview-lab .crm-directory-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .crm-ui-preview-lab .crm-builder-layout,
    .crm-ui-preview-lab .crm-workspace-layout {
        grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.75fr);
    }
}

@media (max-width: 1280px) and (max-height: 800px) and (min-width: 992px) {
    .crm-ui-preview-lab {
        gap: 0.85rem;
    }

    .crm-ui-preview-lab .crm-page-title {
        font-size: clamp(1.28rem, 1.35vw, 1.5rem);
    }

    .crm-ui-preview-lab .crm-card-header,
    .crm-ui-preview-lab .crm-table-card-header,
    .crm-ui-preview-lab .crm-registry-table-header {
        padding: 0.65rem 0.8rem;
    }

    .crm-ui-preview-lab .crm-stat-card {
        min-height: 108px;
        padding: 0.75rem;
    }

    .crm-ui-preview-lab .crm-stat-card .crm-stat-value,
    .crm-ui-preview-lab .crm-registry-stat-card .crm-stat-value {
        font-size: 1.2rem;
    }

    .crm-ui-preview-lab .crm-table thead th {
        padding: 0.55rem 0.58rem;
        font-size: 0.66rem;
    }

    .crm-ui-preview-lab .crm-table tbody td {
        padding: 0.58rem;
        font-size: 0.84rem;
    }

    .crm-ui-preview-lab .crm-table-actions-col,
    .crm-ui-preview-lab .crm-registry-actions-col {
        min-width: 130px;
        width: 130px;
    }

    .crm-ui-preview-lab .crm-row-action,
    .crm-ui-preview-lab .crm-row-action-compact,
    .crm-ui-preview-lab .crm-registry-row-action,
    .crm-ui-preview-lab .crm-table-row-action {
        width: 30px;
        height: 30px;
        min-width: 30px;
    }

    .crm-ui-preview-lab .crm-ui-preview-grid,
    .crm-ui-preview-lab .crm-shell-preview-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .crm-ui-preview-lab .crm-builder-layout,
    .crm-ui-preview-lab .crm-builder-option-groups,
    .crm-ui-preview-lab .crm-workspace-layout,
    .crm-ui-preview-lab .crm-split-layout,
    .crm-ui-preview-lab .crm-shell-preview-frame,
    .crm-ui-preview-lab .public-filter-form,
    .crm-ui-preview-lab .public-event-card-wide {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-ui-preview-lab .crm-directory-filter-actions,
    .crm-ui-preview-lab .crm-report-toolbar-actions,
    .crm-ui-preview-lab .crm-builder-template-actions,
    .crm-ui-preview-lab .crm-builder-preview-actions,
    .crm-ui-preview-lab .crm-workspace-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    .crm-ui-preview-lab .crm-action-grid,
    .crm-ui-preview-lab .crm-field-grid,
    .crm-ui-preview-lab .crm-detail-summary-grid-2,
    .crm-ui-preview-lab .crm-detail-summary-grid-4,
    .crm-ui-preview-lab .crm-detail-panel-grid,
    .crm-ui-preview-lab .crm-directory-kpi-grid-3,
    .crm-ui-preview-lab .crm-directory-kpi-grid-4,
    .crm-ui-preview-lab .crm-directory-filter-grid,
    .crm-ui-preview-lab .crm-directory-card-grid,
    .crm-ui-preview-lab .crm-report-summary-grid-3,
    .crm-ui-preview-lab .crm-report-summary-grid-4,
    .crm-ui-preview-lab .crm-report-filter-row,
    .crm-ui-preview-lab .public-event-grid,
    .crm-ui-preview-lab .public-event-grid-single,
    .crm-ui-preview-lab .public-event-grid-many,
    .crm-ui-preview-lab .public-empty-state-grid,
    .crm-ui-preview-lab .crm-shell-preview-grid,
    .crm-ui-preview-lab .crm-ui-preview-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.crm-state-component-lab .crm-table thead th,
.crm-action-component-lab .crm-table thead th {
    color: #334155;
    padding: 0.72rem 0.85rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
}

.crm-state-component-lab .crm-table tbody td,
.crm-action-component-lab .crm-table tbody td {
    font-size: 0.9rem;
    line-height: 1.35;
}

.crm-state-component-lab .crm-table thead th.crm-table-text-col,
.crm-state-component-lab .crm-table tbody td.crm-table-text-col,
.crm-state-component-lab .crm-table thead th.crm-table-description,
.crm-state-component-lab .crm-table tbody td.crm-table-description,
.crm-state-component-lab .crm-table thead th.crm-table-description-col,
.crm-state-component-lab .crm-table tbody td.crm-table-description-col,
.crm-action-component-lab .crm-table thead th.crm-table-text-col,
.crm-action-component-lab .crm-table tbody td.crm-table-text-col,
.crm-action-component-lab .crm-table thead th.crm-table-description,
.crm-action-component-lab .crm-table tbody td.crm-table-description,
.crm-action-component-lab .crm-table thead th.crm-table-description-col,
.crm-action-component-lab .crm-table tbody td.crm-table-description-col {
    text-align: left;
}

.crm-state-component-lab .crm-table thead th.crm-table-center-col,
.crm-state-component-lab .crm-table tbody td.crm-table-center-col,
.crm-state-component-lab .crm-table thead th.crm-table-status-col,
.crm-state-component-lab .crm-table tbody td.crm-table-status-col,
.crm-state-component-lab .crm-table thead th.crm-table-date-col,
.crm-state-component-lab .crm-table tbody td.crm-table-date-col,
.crm-state-component-lab .crm-table thead th.crm-table-actions-col,
.crm-state-component-lab .crm-table tbody td.crm-table-actions-col,
.crm-state-component-lab .crm-table thead th.crm-table-numeric,
.crm-state-component-lab .crm-table tbody td.crm-table-numeric,
.crm-action-component-lab .crm-table thead th.crm-table-center-col,
.crm-action-component-lab .crm-table tbody td.crm-table-center-col,
.crm-action-component-lab .crm-table thead th.crm-table-status-col,
.crm-action-component-lab .crm-table tbody td.crm-table-status-col,
.crm-action-component-lab .crm-table thead th.crm-table-date-col,
.crm-action-component-lab .crm-table tbody td.crm-table-date-col,
.crm-action-component-lab .crm-table thead th.crm-table-actions-col,
.crm-action-component-lab .crm-table tbody td.crm-table-actions-col,
.crm-action-component-lab .crm-table thead th.crm-table-numeric,
.crm-action-component-lab .crm-table tbody td.crm-table-numeric {
    text-align: center;
}

.crm-state-component-lab .crm-table .crm-table-badge {
    min-height: 24px;
    padding: 0.2rem 0.5rem;
    border-radius: 7px;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.1;
}

.crm-action-component-lab .crm-table .crm-table-badge {
    min-height: 24px;
    padding: 0.2rem 0.5rem;
    border-radius: 7px;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.1;
}

.crm-state-component-lab .crm-badge,
.crm-action-component-lab .crm-badge {
    min-height: 24px;
    padding: 0.2rem 0.5rem;
    border-radius: 7px;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.1;
}

.crm-state-component-lab .crm-chip,
.crm-state-component-lab .crm-alert strong,
.crm-state-component-lab .crm-diagnostic-status strong,
.crm-state-component-lab .crm-empty-state-title,
.crm-action-component-lab .crm-alert strong,
.crm-action-component-lab .crm-diagnostic-status strong {
    font-weight: 600;
}

.crm-action-component-lab .btn {
    font-weight: 600;
}

.crm-action-component-lab .crm-btn-primary {
    border-color: #174EA6;
    background: #174EA6;
    color: #fff;
    box-shadow: none;
}

.crm-action-component-lab .crm-btn-primary:hover,
.crm-action-component-lab .crm-btn-primary:focus {
    border-color: #143F86;
    background: #143F86;
    color: #fff;
    box-shadow: none;
}

.crm-action-component-lab .crm-btn-primary:disabled,
.crm-action-component-lab .crm-btn-primary.disabled,
fieldset:disabled .crm-action-component-lab .crm-btn-primary {
    border-color: #174EA6;
    background: #174EA6;
    color: #fff;
    opacity: 1;
}

.crm-action-component-lab .crm-toolbar h3 {
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
}

.crm-action-row {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.crm-action-lab-section {
    display: grid;
    gap: 0.85rem;
}

.crm-action-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 0.85rem;
}

.crm-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.8rem 1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-soft);
    flex-wrap: wrap;
}

.crm-toolbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.crm-toolbar-actions .dropdown,
.crm-row-actions .dropdown {
    max-width: 100%;
}

.crm-toolbar-actions .dropdown-menu-end,
.crm-row-actions .dropdown-menu-end,
.crm-action-dropdown-menu {
    left: auto !important;
    right: 0 !important;
    z-index: 45;
    min-width: 14rem;
    max-width: min(14rem, calc(100vw - 2rem));
    white-space: normal;
}

.crm-action-dropdown-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 34px;
    color: var(--opora-text);
    font-size: 0.86rem;
    font-weight: 500;
}

.crm-action-dropdown-menu .dropdown-item i {
    color: var(--opora-blue-700);
    font-size: 0.92rem;
}

.crm-action-dropdown-menu .dropdown-item.text-danger,
.crm-action-dropdown-menu .dropdown-item.text-danger i,
.crm-dropdown-danger-zone .dropdown-item,
.crm-dropdown-danger-zone .dropdown-item i {
    color: var(--opora-danger) !important;
}

.crm-toolbar-action {
    min-width: 38px;
}

.crm-row-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.3rem;
    flex-wrap: nowrap;
}

.crm-row-actions form,
.crm-bulk-actions form,
.crm-dropdown-danger-zone form {
    display: inline-flex;
    margin: 0;
}

.crm-row-action,
.crm-row-action-compact {
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    flex: 0 0 32px;
    padding: 0;
    border-radius: 8px;
    box-shadow: none;
}

.crm-row-action-danger {
    border-color: rgba(185, 28, 28, 0.24);
    background: #fff;
    color: var(--opora-danger);
}

.crm-row-action-danger:hover,
.crm-row-action-danger:focus {
    border-color: var(--opora-danger);
    background: #FEF2F2;
    color: var(--opora-danger);
}

.crm-bulk-action-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: #F8FBFF;
    flex-wrap: wrap;
}

.crm-bulk-selection-count {
    color: var(--opora-text);
    font-size: 0.9rem;
    font-weight: 600;
}

.crm-action-component-lab .crm-bulk-selection-count {
    font-weight: 600;
}

.crm-bulk-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.crm-sticky-actions {
    position: sticky;
    bottom: 0;
    z-index: 18;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 -10px 22px rgba(15, 23, 42, 0.08);
    flex-wrap: wrap;
}

.crm-sticky-actions-danger {
    border-color: rgba(185, 28, 28, 0.18);
}

.crm-action-loading .spinner-border {
    width: 1rem;
    height: 1rem;
}

.crm-action-note {
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.86rem;
}

.crm-dropdown-danger-zone {
    margin-top: 0.35rem;
    padding-top: 0.35rem;
    border-top: 1px solid var(--opora-border);
}

.crm-form-page {
    align-content: start;
}

.crm-form-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-soft);
    flex-wrap: wrap;
}

.crm-form-title-block {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}

.crm-form-header .crm-page-title {
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.12;
}

.crm-form-header .crm-page-title i {
    font-size: 1.22rem;
}

.crm-form-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem;
    padding: 0.8rem 0.95rem;
    border: 1px solid transparent;
    border-radius: var(--opora-radius-sm);
    font-size: 0.9rem;
}

.crm-form-note p {
    margin: 0;
}

.crm-form-note-info {
    border-color: rgba(0, 125, 140, 0.18);
    background: #ECFEFF;
    color: var(--opora-teal-700);
}

.crm-form-note-warning {
    border-color: rgba(180, 83, 9, 0.2);
    background: #FFFBEB;
    color: var(--opora-warning);
}

.crm-form-note-readonly {
    border-color: rgba(100, 116, 139, 0.2);
    background: #F8FAFC;
    color: var(--opora-muted);
}

.crm-form-note-danger {
    border-color: rgba(185, 28, 28, 0.18);
    background: #FEF2F2;
    color: var(--opora-danger);
}

.crm-form-shell {
    display: grid;
    gap: 1rem;
}

.crm-form-section {
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-card);
    overflow: hidden;
}

.crm-form-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
    border-bottom: 1px solid var(--opora-form-section-header-border);
    background: var(--opora-form-section-header-bg);
    flex-wrap: wrap;
}

.crm-form-section-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    color: var(--opora-text);
    font-size: 0.98rem;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.25;
}

.crm-form-section-title i {
    color: var(--opora-teal-700);
}

.crm-form-section-subtitle {
    margin: 0.25rem 0 0;
    color: var(--opora-muted);
    font-size: 0.86rem;
}

.crm-form-section-body {
    padding: 1rem 1.15rem;
}

.crm-field-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.85rem;
    align-items: stretch;
}

.crm-markdown-editor {
    position: relative;
    display: grid;
    gap: 0.65rem;
    min-width: 0;
}

.crm-markdown-editor-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.crm-markdown-editor-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.crm-markdown-editor-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    min-height: 30px;
    min-width: 32px;
    padding: 0.28rem 0.55rem;
    border: 1px solid rgba(148, 163, 184, 0.36);
    border-radius: 7px;
    background: #fff;
    color: var(--opora-blue-700);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.1;
}

.crm-markdown-editor-btn:hover,
.crm-markdown-editor-btn:focus,
.crm-markdown-editor-btn[aria-pressed="true"] {
    border-color: rgba(22, 99, 232, 0.44);
    background: #EFF6FF;
    color: var(--opora-blue-800);
}

.crm-markdown-editor-body {
    position: relative;
    min-width: 0;
}

.crm-markdown-editor textarea.form-control {
    min-height: 180px;
    resize: vertical;
}

.crm-markdown-editor-preview,
.crm-event-description-rendered {
    overflow-wrap: anywhere;
}

.crm-markdown-editor-preview {
    min-height: 180px;
    padding: 0.85rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.crm-markdown-editor-preview h2,
.crm-event-description-rendered h2 {
    margin: 1rem 0 0.45rem;
    color: var(--opora-text);
    font-size: 1.18rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0;
}

.crm-markdown-editor-preview .event-description-heading-primary,
.crm-event-description-rendered .event-description-heading-primary {
    font-size: 1.35rem;
}

.crm-markdown-editor-preview h3,
.crm-event-description-rendered h3 {
    margin: 0.85rem 0 0.4rem;
    color: var(--opora-text);
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0;
}

.crm-markdown-editor-preview p,
.crm-event-description-rendered p {
    margin: 0 0 0.7rem;
}

.crm-markdown-editor-preview ul,
.crm-markdown-editor-preview ol,
.crm-event-description-rendered ul,
.crm-event-description-rendered ol {
    margin: 0 0 0.75rem;
    padding-left: 1.25rem;
}

.crm-markdown-editor-preview blockquote,
.crm-event-description-rendered blockquote {
    margin: 0.85rem 0;
    padding: 0.7rem 0.85rem;
    border-left: 4px solid var(--opora-blue-600);
    border-radius: 0 var(--opora-radius-sm) var(--opora-radius-sm) 0;
    background: #F8FBFF;
}

.crm-markdown-editor-preview del,
.crm-event-description-rendered del {
    color: var(--opora-muted);
    text-decoration-thickness: 1.5px;
}

.crm-markdown-editor-preview ins,
.crm-event-description-rendered ins {
    text-decoration: underline;
    text-decoration-thickness: 1.5px;
    text-underline-offset: 0.16em;
}

.crm-markdown-editor-preview pre,
.crm-event-description-rendered pre {
    overflow-x: auto;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #F8FAFC;
}

.crm-markdown-editor-preview code,
.crm-event-description-rendered code {
    color: var(--opora-blue-800);
}

.event-md-text-ink { color: var(--opora-text); }
.event-md-text-blue { color: #1D4ED8; }
.event-md-text-amber { color: #B45309; }
.event-md-text-red { color: #B91C1C; }
.event-md-text-orange { color: #C2410C; }
.event-md-text-green { color: #15803D; }
.event-md-text-pink { color: #BE185D; }
.event-md-text-violet { color: #6D28D9; }
.event-md-text-gray { color: #64748B; }
.event-md-text-brown { color: #92400E; }

.event-md-bg-ink,
.event-md-bg-blue,
.event-md-bg-amber,
.event-md-bg-red,
.event-md-bg-orange,
.event-md-bg-green,
.event-md-bg-pink,
.event-md-bg-violet,
.event-md-bg-gray,
.event-md-bg-brown {
    border-radius: 0.28rem;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    padding: 0.08rem 0.22rem;
}

.event-md-bg-ink { background: #E2E8F0; }
.event-md-bg-blue { background: #DBEAFE; }
.event-md-bg-amber { background: #FEF3C7; }
.event-md-bg-red { background: #FEE2E2; }
.event-md-bg-orange { background: #FFEDD5; }
.event-md-bg-green { background: #DCFCE7; }
.event-md-bg-pink { background: #FCE7F3; }
.event-md-bg-violet { background: #EDE9FE; }
.event-md-bg-gray { background: #F1F5F9; }
.event-md-bg-brown { background: #EAD7C0; }

.crm-markdown-editor-emoji,
.crm-markdown-editor-color,
.crm-markdown-editor-slash {
    position: absolute;
    left: 0;
    z-index: 45;
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    width: min(24rem, 100%);
    max-width: calc(100vw - 2rem);
    padding: 0.55rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    box-shadow: var(--opora-shadow-card);
}

.crm-markdown-editor-emoji {
    top: 0.55rem;
}

.crm-markdown-editor-color {
    top: 0.55rem;
    display: grid;
    gap: 0.45rem;
    width: min(16.5rem, 100%);
}

.crm-markdown-editor-slash {
    bottom: 0.55rem;
    display: grid;
    width: min(18rem, 100%);
}

.crm-markdown-editor-emoji[hidden],
.crm-markdown-editor-color[hidden],
.crm-markdown-editor-slash[hidden] {
    display: none;
}

.crm-markdown-editor-emoji button,
.crm-markdown-editor-color button,
.crm-markdown-editor-slash button {
    border: 1px solid rgba(148, 163, 184, 0.32);
    border-radius: 7px;
    background: #fff;
    color: var(--opora-text);
    font-size: 0.84rem;
    font-weight: 500;
}

.crm-markdown-editor-emoji button {
    min-width: 32px;
    min-height: 32px;
}

.crm-markdown-editor-color-group {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.3rem;
}

.crm-markdown-editor-color-title {
    grid-column: 1 / -1;
    color: var(--opora-muted);
    font-size: 0.74rem;
    font-weight: 700;
}

.crm-markdown-editor-color button {
    min-width: 34px;
    min-height: 34px;
    padding: 0.18rem;
    font-weight: 700;
}

.crm-markdown-editor-color-sample {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 24px;
    border-radius: 5px;
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1;
}

.crm-markdown-editor-color [data-md-color-scope="text"] .crm-markdown-editor-color-sample {
    background: #fff;
    box-shadow: inset 0 -3px 0 currentColor;
}

.crm-markdown-editor-color [data-md-color-scope="bg"] .crm-markdown-editor-color-sample {
    color: var(--opora-text);
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
}

.crm-markdown-editor-color button.is-selected {
    border-color: rgba(22, 99, 232, 0.72);
    box-shadow: 0 0 0 2px rgba(22, 99, 232, 0.14);
}

.crm-markdown-editor-slash button {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 30px;
    padding: 0.32rem 0.5rem;
    text-align: left;
}

.crm-markdown-editor-slash button i {
    flex: 0 0 1rem;
    color: var(--opora-blue-700);
    font-size: 0.95rem;
    text-align: center;
}

.crm-markdown-editor-slash button span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.crm-markdown-editor-emoji button:hover,
.crm-markdown-editor-emoji button:focus,
.crm-markdown-editor-color button:hover,
.crm-markdown-editor-color button:focus,
.crm-markdown-editor-slash button:hover,
.crm-markdown-editor-slash button:focus {
    border-color: rgba(22, 99, 232, 0.42);
    background: #EFF6FF;
}

.crm-muted-text {
    color: var(--opora-muted);
    font-size: 0.78rem;
    line-height: 1.35;
}

.crm-link-strong {
    color: #0b57d0;
    font-weight: 600;
    text-decoration: none;
}

.crm-link-strong:hover,
.crm-link-strong:focus {
    color: #174ea6;
    text-decoration: underline;
}

.crm-attachment-source-details {
    display: grid;
    gap: 0.22rem;
    margin-top: 0.35rem;
    font-size: 0.82rem;
}

.crm-attachment-source-link {
    margin-left: 0.35rem;
    font-size: 0.82rem;
}

.crm-attachment-version-controls {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
    margin-top: 0.35rem;
}

.crm-attachment-version-replace {
    min-width: min(100%, 320px);
}

.crm-attachment-version-replace > summary {
    list-style: none;
    cursor: pointer;
}

.crm-attachment-version-replace > summary::-webkit-details-marker {
    display: none;
}

.crm-attachment-version-form {
    display: grid;
    gap: 0.65rem;
    margin-top: 0.65rem;
}

.crm-events-page {
    gap: 0.75rem;
}

.crm-events-form-page,
.crm-events-detail-page {
    align-content: start;
}

.crm-registry-hero-subtitle {
    margin: 0.3rem 0 0;
    color: var(--opora-muted);
    font-size: 0.9rem;
    line-height: 1.35;
}

.crm-events-form-page .crm-form-header .crm-page-title,
.crm-events-detail-page .crm-detail-title-block h3 {
    overflow-wrap: anywhere;
}

.crm-events-form-page .crm-field-card > label {
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.76rem;
    font-weight: 600;
    line-height: 1.25;
}

.crm-events-field-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.crm-events-field-wide {
    grid-column: 1 / -1;
}

.crm-event-series-form-page .crm-form-section-header {
    border-bottom-color: rgba(22, 99, 232, 0.18);
    background: #F8FBFF;
}

.crm-event-series-foundation-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
}

.crm-event-series-info-card {
    align-content: start;
    gap: 0.38rem;
    min-height: 5.15rem;
    background: #fff;
}

.crm-event-series-info-value {
    color: var(--opora-text);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.3;
}

.crm-event-series-copy-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
}

.crm-event-series-copy-card {
    min-height: 4.7rem;
    align-content: center;
}

.crm-event-series-copy-card .form-check {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    min-width: 0;
    margin: 0;
    padding-left: 0;
}

.crm-event-series-copy-card .form-check-input {
    flex: 0 0 auto;
    margin: 0.1rem 0 0;
}

.crm-event-series-copy-card .form-check-label {
    min-width: 0;
    color: var(--opora-text);
    font-size: 0.88rem;
    font-weight: 500;
    line-height: 1.35;
}

.crm-event-template-form-page .crm-form-section-header {
    border-bottom-color: rgba(22, 99, 232, 0.18);
    background: #EFF6FF;
}

.crm-event-template-form-page .crm-field-card {
    align-content: start;
    background: linear-gradient(180deg, #FBFCFF 0%, #F5F8FF 100%);
}

.crm-event-template-form-page .crm-field-card .form-control,
.crm-event-template-form-page .crm-field-card .form-select {
    background-color: #fff;
}

.crm-event-template-parameter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
}

.crm-event-template-main-card {
    align-content: start;
    min-height: 7.35rem;
}

.crm-event-template-main-card textarea.form-control {
    min-height: 4.75rem;
}

.crm-event-template-option-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    margin-top: 0.85rem;
}

.crm-event-template-option-card {
    min-height: 4.75rem;
    align-content: center;
}

.crm-event-template-option-card .form-check {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    min-width: 0;
    margin: 0;
    padding-left: 0;
}

.crm-event-template-option-card .form-check-input {
    flex: 0 0 auto;
    margin: 0.1rem 0 0;
}

.crm-event-template-option-card .form-check-label {
    min-width: 0;
    color: var(--opora-text);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.35;
}

.crm-event-template-option-card > .form-label {
    margin: 0;
}

.crm-event-template-card-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: stretch;
}

.crm-event-template-field-title {
    grid-column: span 12;
}

.crm-event-template-field-short,
.crm-event-template-field-date {
    grid-column: span 3;
}

.crm-event-template-field-organizer,
.crm-event-template-field-time,
.crm-event-template-field-half,
.crm-event-template-field-description {
    grid-column: span 6;
}

.crm-event-template-field-third {
    grid-column: span 4;
}

.crm-event-template-inline-check {
    margin-bottom: 0.65rem;
}

.crm-event-template-time-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.crm-event-template-field-description textarea.form-control {
    min-height: 8rem;
}

.crm-event-template-form-page .crm-markdown-editor textarea.form-control,
.crm-event-template-form-page .crm-markdown-editor-preview {
    min-height: 8rem;
}

.crm-event-template-form-page .schedule-row-title > :first-child {
    min-width: 0;
}

.crm-event-template-form-page .schedule-row-title .crm-setup-task-card-title,
.crm-event-template-form-page .schedule-row-title .crm-setup-task-card-meta {
    overflow-wrap: anywhere;
}

.crm-event-template-form-page .schedule-actions {
    flex: 0 0 auto;
    flex-wrap: nowrap;
    align-items: flex-start;
}

.crm-event-template-form-page .crm-sticky-actions {
    align-items: center;
    box-shadow: none;
}

.crm-event-template-detail-page .crm-detail-header {
    align-items: center;
}

.crm-event-template-detail-page .crm-detail-title-block h3 {
    font-size: 1.24rem;
    font-weight: 600;
    line-height: 1.14;
}

.crm-event-template-detail-page .crm-detail-avatar-icon {
    width: 46px;
    min-width: 46px;
    height: 46px;
    border-radius: 12px;
    font-size: 1.08rem;
}

.crm-template-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.crm-template-metric-card {
    min-height: 4.35rem;
    background: #fff;
}

.crm-template-metric-card > i {
    color: var(--opora-blue-700);
    font-size: 1rem;
}

.crm-template-detail-layout {
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
    gap: 0.85rem;
}

.crm-template-panel-stack {
    display: grid;
    gap: 0.75rem;
}

.crm-template-description-card,
.crm-template-component-card {
    min-width: 0;
    padding: 0.8rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #F8FBFF;
}

.crm-template-description-card {
    display: grid;
    gap: 0.35rem;
}

.crm-template-description-card.is-empty {
    background: #F8FAFC;
}

.crm-template-empty-title {
    margin: 0;
    color: var(--opora-text);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.3;
}

.crm-template-empty-text {
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.82rem;
    line-height: 1.4;
}

.crm-template-component-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.55rem;
}

.crm-template-component-card {
    display: grid;
    gap: 0.25rem;
    align-content: start;
    min-height: 4.25rem;
    background: #fff;
}

.crm-template-component-card strong {
    color: var(--opora-text);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.2;
}

.crm-template-basics-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.crm-template-basic-card {
    min-height: 4.6rem;
}

.crm-template-basic-card strong {
    color: var(--opora-text);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.crm-template-action-row {
    align-items: flex-start;
}

@media (max-width: 1199.98px) {
    .crm-event-series-copy-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .crm-template-metric-grid,
    .crm-template-component-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-template-detail-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-event-template-option-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .crm-event-template-field-short,
    .crm-event-template-field-date,
    .crm-event-template-field-organizer,
    .crm-event-template-field-time,
    .crm-event-template-field-half,
    .crm-event-template-field-description,
    .crm-event-template-field-third {
        grid-column: span 6;
    }
}

@media (max-width: 991.98px) {
    .crm-event-series-foundation-grid,
    .crm-event-series-copy-grid,
    .crm-event-template-parameter-grid,
    .crm-event-template-option-grid,
    .crm-event-template-card-grid,
    .crm-template-basics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-event-template-field-title,
    .crm-event-template-field-short,
    .crm-event-template-field-date,
    .crm-event-template-field-organizer,
    .crm-event-template-field-time,
    .crm-event-template-field-half,
    .crm-event-template-field-description,
    .crm-event-template-field-third {
        grid-column: span 2;
    }
}

@media (max-width: 767.98px) {
    .crm-event-series-foundation-grid,
    .crm-event-series-copy-grid,
    .crm-event-template-parameter-grid,
    .crm-event-template-option-grid,
    .crm-event-template-card-grid,
    .crm-template-metric-grid,
    .crm-template-component-grid,
    .crm-template-basics-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-event-template-field-title,
    .crm-event-template-field-short,
    .crm-event-template-field-date,
    .crm-event-template-field-organizer,
    .crm-event-template-field-time,
    .crm-event-template-field-half,
    .crm-event-template-field-description,
    .crm-event-template-field-third {
        grid-column: span 1;
    }

    .crm-event-template-time-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

.crm-events-create-page .crm-form-header {
    padding: 1rem 1.15rem;
}

.crm-events-create-page .crm-form-header .crm-page-title {
    font-size: 1.36rem;
    font-weight: 600;
    line-height: 1.12;
}

.crm-events-create-page .crm-form-title-block p {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.4;
}

.crm-events-create-page .crm-wizard-shell {
    gap: 0.85rem;
}

.crm-events-create-page .crm-form-section-body {
    padding: 1rem 1.15rem 1.15rem;
}

.crm-events-create-page .crm-form-section-header {
    border-bottom-color: rgba(22, 99, 232, 0.18);
    background: #EFF6FF;
}

.crm-events-create-page .crm-sticky-actions {
    position: static;
    margin: 1.1rem 1.15rem 1rem;
    box-shadow: none;
}

.crm-event-create-main-grid,
.crm-event-create-date-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: stretch;
}

.crm-events-create-page .crm-field-card {
    align-content: start;
    min-height: 96px;
    background: linear-gradient(180deg, #FBFCFF 0%, #F5F8FF 100%);
}

.crm-events-create-page .crm-field-card .form-control,
.crm-events-create-page .crm-field-card .form-select {
    background-color: #fff;
}

.crm-event-create-field-title,
.crm-event-create-field-short-description {
    grid-column: 1 / -1;
}

.crm-event-create-field-short,
.crm-event-create-field-organizer {
    grid-column: span 3;
}

.crm-event-create-format-summary,
.crm-event-create-field-date,
.crm-event-create-field-toggles {
    grid-column: span 4;
}

.crm-event-create-field-time {
    grid-column: span 2;
}

.crm-event-create-field-place {
    grid-column: span 4;
}

.crm-events-create-page [data-format-field][hidden],
.crm-events-create-page [data-multi-day-end-date][hidden] {
    display: none;
}

.crm-events-create-page .is-format-offline .crm-event-create-field-place[data-format-field="location"],
.crm-events-create-page .is-format-online .crm-event-create-field-place[data-format-field="online"] {
    grid-column: span 8;
}

.crm-events-create-page .is-multi-day .crm-event-create-format-summary,
.crm-events-create-page .is-multi-day .crm-event-create-field-date,
.crm-events-create-page .is-multi-day .crm-event-create-field-toggles {
    grid-column: span 3;
}

.crm-events-create-page .crm-event-create-field-short-description textarea.form-control {
    min-height: 112px;
}

.crm-event-create-format-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: flex-start;
    column-gap: 0.65rem;
    row-gap: 0.55rem;
}

.crm-event-create-format-summary strong {
    display: block;
    color: var(--opora-text);
    font-size: 0.92rem;
    line-height: 1.25;
}

.crm-event-create-format-label {
    display: block;
    color: var(--opora-muted);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
}

.crm-event-create-format-summary .crm-btn {
    grid-column: 1 / -1;
    justify-self: start;
}

.crm-event-create-toggle-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 0.85rem;
    align-items: start;
}

.crm-event-create-toggle-row .form-check {
    margin: 0;
    min-width: 0;
}

.crm-event-create-toggle-row .form-check:last-child {
    justify-self: end;
    white-space: nowrap;
}

.crm-event-create-toggle-row .form-check-label {
    line-height: 1.3;
}

.crm-events-create-page .crm-review-summary-item {
    background: #F8FAFC;
}

.crm-events-create-page .crm-review-summary-item.is-incomplete {
    border-color: rgba(220, 38, 38, 0.42);
    box-shadow: inset 0 0 0 1px rgba(220, 38, 38, 0.12);
}

.crm-events-create-page .crm-review-summary-item.is-recommendation {
    border-color: rgba(217, 119, 6, 0.48);
    box-shadow: inset 0 0 0 1px rgba(217, 119, 6, 0.12);
}

@media (max-width: 1199.98px) {
    .crm-event-create-main-grid,
    .crm-event-create-date-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-event-create-main-grid > .crm-field-card,
    .crm-event-create-date-grid > .crm-field-card {
        grid-column: auto;
    }

    .crm-event-create-field-title,
    .crm-event-create-field-short-description,
    .crm-event-create-field-place {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .crm-event-create-main-grid,
    .crm-event-create-date-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-event-create-main-grid > .crm-field-card,
    .crm-event-create-date-grid > .crm-field-card {
        grid-column: auto;
    }

    .crm-event-create-format-summary {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .crm-event-create-format-summary .crm-btn {
        grid-column: 1 / -1;
        justify-self: start;
    }
}

.crm-events-option-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.crm-events-panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
    flex-wrap: wrap;
    min-width: 0;
}

.crm-events-description {
    margin: 0;
    color: var(--opora-text);
    font-size: 0.9rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.crm-event-detail-page {
    gap: 0;
}

.crm-event-detail-page .crm-card-header,
.crm-event-detail-page .crm-table-card > .crm-card-header {
    min-height: 54px;
    padding: 0.85rem 1.1rem;
}

.crm-event-detail-page .crm-card-header h2,
.crm-event-detail-page .crm-table-card > .crm-card-header h2,
.crm-event-detail-page .event-section-head h2 {
    margin: 0;
    color: var(--opora-text);
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0;
}

.crm-event-cover-preview {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #DFEAF7;
}

.crm-event-cover-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.crm-event-table-body {
    padding: 1rem 1.1rem 1.05rem;
}

.crm-event-table-body > .table-responsive {
    overflow-x: auto;
    overflow-y: visible;
}

.crm-events-detail-page .crm-stat-value.crm-events-stat-text,
.crm-events-form-page .crm-stat-value.crm-events-stat-text {
    max-width: 100%;
    font-size: 1.05rem;
    line-height: 1.1;
    overflow: hidden;
    text-overflow: ellipsis;
}

.crm-events-registration-summary .crm-stat-card {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-content: start;
    align-items: start;
    column-gap: 0.75rem;
    row-gap: 0.22rem;
    min-width: 0;
    min-height: 110px;
}

.crm-events-registration-summary .crm-stat-icon {
    grid-row: 1 / span 3;
}

.crm-events-registration-summary .crm-stat-label,
.crm-events-registration-summary .crm-stat-value,
.crm-events-registration-summary .crm-stat-delta {
    min-width: 0;
}

.crm-events-registration-summary .crm-stat-label {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.25;
    text-transform: uppercase;
}

.crm-events-registration-summary .crm-stat-value {
    display: block;
    margin: 0.02rem 0 0;
    color: var(--opora-text);
    font-size: 0.94rem;
    font-weight: 500;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.crm-events-registration-summary .crm-stat-delta {
    display: block;
    margin: 0.1rem 0 0;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.25;
}

.crm-events-registration-settings-page .crm-form-header .crm-page-title {
    font-size: 1.32rem;
    font-weight: 600;
    line-height: 1.12;
}

.crm-events-registration-settings-page .crm-table-card > .crm-card-header,
.crm-events-registration-settings-page .crm-detail-panel > .crm-events-panel-heading {
    min-height: 54px;
    padding: 0.85rem 1.1rem;
}

.crm-events-registration-settings-page .crm-table-card > .crm-card-header {
    font-weight: 600;
}

.crm-events-registration-settings-page .crm-detail-panel {
    gap: 0;
    padding: 0;
    overflow: hidden;
}

.crm-events-registration-settings-page .crm-detail-panel > .crm-events-panel-heading {
    border-bottom: 1px solid var(--opora-border);
    background: #F8FBFF;
}

.crm-events-registration-settings-page .crm-detail-panel > .crm-events-ticket-list {
    padding: 1rem 1.1rem 1.05rem;
}

.crm-events-registration-settings-page .crm-detail-panel-title,
.crm-events-registration-settings-page .crm-events-ticket-title {
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0;
}

.crm-events-registration-settings-page .crm-events-nested-table {
    overflow: hidden;
}

.crm-events-registration-settings-page .crm-form-section-body {
    padding: 1rem 1.15rem 1.15rem;
}

.crm-events-registration-settings-page .crm-form-section-header {
    border-bottom-color: rgba(22, 99, 232, 0.18);
    background: #EFF6FF;
}

.crm-events-scenario-grid {
    display: grid;
    gap: 0.75rem;
    min-width: 0;
}

.crm-events-scenario-grid.is-registration {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.crm-events-scenario-grid.is-payment {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.crm-events-scenario-card.crm-setup-task-card {
    position: relative;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: start;
    min-height: 112px;
    padding: 0.9rem 0.95rem;
    cursor: pointer;
    background: linear-gradient(180deg, #FBFCFF 0%, #F5F8FF 100%);
}

.crm-events-scenario-card.crm-setup-task-card.is-selected,
.crm-events-scenario-card.crm-setup-task-card.is-next {
    border-color: rgba(22, 99, 232, 0.44);
    background: #EFF6FF;
    box-shadow: inset 0 0 0 1px rgba(22, 99, 232, 0.08);
}

.crm-events-scenario-card .crm-events-scenario-input {
    position: absolute;
    top: 0.78rem;
    right: 0.78rem;
    margin: 0;
}

.crm-events-scenario-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: #EAF2FF;
    color: #174EA6;
    font-size: 1rem;
}

.crm-events-scenario-icon.is-success {
    background: #EAFBF2;
    color: #15803D;
}

.crm-events-scenario-icon.is-warning {
    background: #FFF7E6;
    color: #B45309;
}

.crm-events-scenario-card .crm-setup-task-card-body {
    gap: 0.25rem;
    padding-right: 1.8rem;
}

.crm-events-scenario-card .crm-setup-task-card-title {
    font-size: 0.92rem;
}

.crm-events-scenario-card .crm-setup-task-card-meta {
    font-size: 0.8rem;
    line-height: 1.35;
}

.crm-events-registration-settings-page .crm-field-grid {
    align-items: stretch;
    gap: 0.8rem;
}

.crm-events-registration-settings-page .crm-field-card {
    align-content: start;
    background: linear-gradient(180deg, #FBFCFF 0%, #F5F8FF 100%);
}

.crm-events-registration-settings-page .crm-field-card .form-control,
.crm-events-registration-settings-page .crm-field-card .form-select {
    background-color: #fff;
}

@media (max-width: 1199.98px) {
    .crm-events-scenario-grid.is-registration,
    .crm-events-scenario-grid.is-payment {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .crm-events-scenario-grid.is-registration,
    .crm-events-scenario-grid.is-payment {
        grid-template-columns: minmax(0, 1fr);
    }
}

.crm-events-ticket-list {
    display: grid;
    gap: 0.85rem;
}

.crm-events-ticket-card {
    display: grid;
    gap: 0.8rem;
    padding: 0.9rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.crm-events-ticket-title {
    margin: 0;
    color: var(--opora-text);
    font-size: 0.98rem;
    font-weight: 600;
}

.crm-events-nested-table {
    box-shadow: none;
}

.crm-event-created-list {
    display: grid;
    gap: 0.45rem;
}

.crm-event-created-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    color: var(--opora-text);
    text-decoration: none;
    min-width: 0;
}

.crm-event-created-row:hover,
.crm-event-created-row:focus {
    border-color: rgba(22, 99, 232, 0.36);
    background: #F8FBFF;
    color: var(--opora-blue-700);
}

.crm-event-filter-grid {
    grid-template-columns:
        minmax(170px, 1fr)
        minmax(150px, 0.8fr)
        minmax(150px, 0.8fr)
        minmax(150px, 0.8fr)
        minmax(135px, 0.72fr)
        minmax(135px, 0.72fr)
        minmax(150px, 0.8fr)
        max-content;
}

.crm-event-registration-filter-grid {
    grid-template-columns:
        minmax(190px, 1.2fr)
        minmax(145px, 0.8fr)
        minmax(145px, 0.8fr)
        minmax(145px, 0.8fr)
        minmax(145px, 0.8fr)
        max-content;
}

.crm-event-domain-filter-grid {
    grid-template-columns:
        minmax(240px, 1.25fr)
        minmax(180px, 0.9fr)
        minmax(160px, 0.75fr)
        max-content;
}

.crm-event-publication-filter-grid {
    grid-template-columns:
        minmax(130px, 0.6fr)
        minmax(150px, 0.75fr)
        minmax(200px, 1fr)
        minmax(200px, 1fr)
        minmax(135px, 0.68fr)
        minmax(135px, 0.68fr)
        max-content;
}

.crm-filter-action-cell {
    display: flex;
    justify-content: flex-end;
    align-items: end;
}

.crm-event-title-cell {
    min-width: 240px;
    max-width: 460px;
    overflow-wrap: anywhere;
}

.crm-event-table tbody td {
    font-size: 0.88rem;
}

.crm-event-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.75rem;
}

.crm-event-readiness-grid,
.crm-event-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 0.75rem;
}

.crm-events-edit-page .crm-event-edit-overview-grid,
.crm-events-edit-page .crm-event-edit-action-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

.crm-events-edit-page .crm-event-edit-public-link-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

.crm-events-edit-page .crm-event-publication-status-row {
    display: grid;
    grid-template-columns: minmax(180px, 320px) minmax(0, 1fr);
    gap: 0.85rem;
    align-items: end;
}

.crm-events-edit-page .crm-event-publication-status-control {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}

.crm-events-edit-page .crm-event-publication-status-hint {
    padding-bottom: 0.45rem;
    line-height: 1.35;
}

.crm-events-edit-page .crm-event-edit-card-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: stretch;
}

.crm-events-edit-page .crm-event-edit-card-grid .crm-field-card {
    align-content: start;
    min-height: 96px;
}

.crm-events-edit-page .crm-event-edit-field-title {
    grid-column: span 4;
}

.crm-events-edit-page .crm-event-edit-field-organizer {
    grid-column: span 2;
}

.crm-events-edit-page .crm-event-edit-field-short,
.crm-events-edit-page .crm-event-edit-field-date,
.crm-events-edit-page .crm-event-edit-field-time,
.crm-events-edit-page .crm-event-edit-field-check {
    grid-column: span 2;
}

.crm-events-edit-page .crm-event-edit-field-short-description {
    grid-column: span 4;
}

.crm-events-edit-page .crm-event-edit-field-full-description {
    grid-column: span 8;
}

.crm-events-edit-page .crm-event-edit-field-location {
    grid-column: span 6;
}

.crm-events-edit-page .crm-event-edit-field-short-description textarea.form-control {
    min-height: 104px;
}

.crm-events-edit-page .crm-event-edit-field-full-description textarea.form-control {
    min-height: 150px;
}

.crm-events-edit-page .crm-event-edit-two-column-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.crm-events-edit-page .crm-event-edit-one-column-grid {
    grid-template-columns: minmax(0, 1fr);
}

.crm-events-edit-page .crm-event-edit-field-wide {
    min-width: 0;
}

.crm-events-edit-page .crm-event-edit-inline-check {
    padding-top: 0.2rem;
}

.crm-events-edit-page .crm-event-edit-inline-check .form-check {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 24px;
    margin: 0;
    padding-left: 0;
}

.crm-events-edit-page .crm-event-edit-inline-check .form-check-input {
    margin: 0;
    flex: 0 0 auto;
}

.crm-events-edit-page .crm-event-edit-inline-check .form-check-label {
    color: var(--opora-text);
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.25;
}

@media (max-width: 1199.98px) {
    .crm-events-edit-page .crm-event-edit-overview-grid,
    .crm-events-edit-page .crm-event-edit-action-grid,
    .crm-events-edit-page .crm-event-edit-public-link-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-events-edit-page .crm-event-edit-card-grid,
    .crm-events-edit-page .crm-event-edit-two-column-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-events-edit-page .crm-event-edit-card-grid > .crm-field-card {
        grid-column: auto;
    }

    .crm-events-edit-page .crm-event-edit-field-short-description,
    .crm-events-edit-page .crm-event-edit-field-full-description,
    .crm-events-edit-page .crm-event-edit-field-location {
        grid-column: span 2;
    }
}

@media (max-width: 767.98px) {
    .crm-events-edit-page .crm-event-edit-overview-grid,
    .crm-events-edit-page .crm-event-edit-action-grid,
    .crm-events-edit-page .crm-event-edit-public-link-grid,
    .crm-events-edit-page .crm-event-publication-status-row,
    .crm-events-edit-page .crm-event-edit-card-grid,
    .crm-events-edit-page .crm-event-edit-two-column-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-events-edit-page .crm-event-publication-status-hint {
        padding-bottom: 0;
    }

    .crm-events-edit-page .crm-event-edit-card-grid > .crm-field-card {
        grid-column: auto;
    }
}

.crm-event-action-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.crm-event-action-row form {
    margin: 0;
}

.crm-event-schedule-item {
    border: 1px solid var(--opora-border);
    border-radius: 8px;
    padding: 0.85rem;
}

.crm-event-formset-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.crm-event-formset-actions button {
    margin: 0;
}

.crm-event-inline-note {
    border: 1px dashed var(--opora-border);
    border-radius: 8px;
    color: var(--opora-muted);
    font-size: 0.82rem;
    line-height: 1.45;
    padding: 0.85rem;
}

.event-readiness-card,
.schedule-card {
    border: 1px solid var(--opora-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--opora-shadow-sm);
}

.event-readiness-actions,
.schedule-actions,
.schedule-form-actions,
.event-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.event-readiness-actions .crm-btn-primary,
.event-readiness-actions .crm-btn-secondary,
.event-readiness-actions .crm-btn-danger {
    min-height: 36px;
}

.event-readiness-layout {
    display: grid;
    grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1.45fr);
    gap: 0.85rem;
    align-items: start;
}

.event-readiness-sections {
    display: grid;
    gap: 0.7rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.event-readiness-section-head {
    display: grid;
    gap: 0.18rem;
}

.event-readiness-section-head h3,
.event-readiness-subhead {
    margin: 0;
    color: var(--opora-text);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.25;
}

.event-readiness-section-head p {
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.8rem;
    line-height: 1.35;
}

.event-readiness-subhead {
    margin-bottom: 0.45rem;
}

.event-setup-task-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.event-readiness-actions-details {
    padding-top: 0.15rem;
}

.event-readiness-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 0.65rem;
}

.event-readiness-item {
    align-items: start;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    padding: 0.75rem;
    border: 1px solid var(--opora-border);
    border-radius: 8px;
    background: #fff;
}

.event-readiness-item .small {
    line-height: 1.35;
}

.event-setup-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 0.5rem;
}

.event-setup-metric,
.event-ticket-card {
    border: 1px solid var(--opora-border);
    border-radius: 8px;
    background: #fff;
}

.crm-event-overview-card .crm-card-body {
    padding: 1rem 1.15rem;
}

.crm-event-overview-layout {
    display: grid;
    grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.crm-event-overview-layout.is-without-cover {
    grid-template-columns: minmax(0, 1fr);
}

.crm-event-overview-card .crm-event-cover-preview {
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
}

.crm-event-fact-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
    min-width: 0;
}

.crm-event-fact-item {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
    padding: 0.72rem 0.8rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #F8FAFC;
}

.crm-event-fact-label {
    color: var(--opora-muted);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;
}

.crm-event-fact-value {
    color: var(--opora-text);
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

@media (max-width: 1199.98px) {
    .event-readiness-layout,
    .crm-event-overview-layout {
        grid-template-columns: 1fr;
    }

    .event-setup-task-grid,
    .crm-event-fact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .event-setup-task-grid,
    .crm-event-fact-grid {
        grid-template-columns: 1fr;
    }
}

.event-setup-metric {
    padding: 0.65rem;
}

.event-ticket-card {
    padding: 0.85rem;
}

.event-form-shell,
.schedule-shell {
    max-width: none;
}

.event-section-nav {
    position: sticky;
    top: 72px;
    z-index: 20;
    display: flex;
    gap: 0.5rem;
    overflow-x: auto;
    padding: 0.75rem;
    margin-bottom: 1rem;
    border: 1px solid var(--opora-border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--opora-shadow-sm);
}

.event-section-nav a {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 36px;
    padding: 0.45rem 0.75rem;
    border: 1px solid var(--opora-border);
    border-radius: 999px;
    color: #334155;
    text-decoration: none;
    background: #f8fafc;
    font-weight: 600;
    font-size: 0.86rem;
}

.event-form-section {
    scroll-margin-top: 140px;
    border: 1px solid var(--opora-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--opora-shadow-sm);
    margin-bottom: 1rem;
}

.event-section-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1rem 0.85rem;
    border-bottom: 1px solid var(--opora-border);
}

.event-section-head h2 {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
}

.event-section-note {
    max-width: 520px;
    color: var(--opora-muted);
    font-size: 0.86rem;
}

.event-section-body {
    padding: 1rem;
}

.field-block label {
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.field-block .errorlist {
    margin: 0.35rem 0 0;
    padding-left: 1rem;
    color: var(--opora-danger);
    font-size: 0.86rem;
}

.char-counter {
    white-space: nowrap;
}

.char-counter.is-over-limit,
.event-time-conflict-warning {
    color: var(--opora-danger);
    font-weight: 600;
}

.event-time-conflict-warning {
    font-size: 0.86rem;
    line-height: 1.35;
}

.choice-tile,
.session-block {
    border: 1px solid var(--opora-border);
    border-radius: 8px;
    background: #f8fafc;
}

.choice-tile {
    min-height: 100%;
    padding: 0.8rem;
}

.session-block {
    padding: 1rem;
}

.related-list {
    display: grid;
    gap: 0.5rem;
}

.related-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--opora-border);
    border-radius: 8px;
    background: #f8fafc;
}

.event-form-actions {
    position: sticky;
    bottom: 0;
    z-index: 25;
    justify-content: flex-end;
    padding: 0.8rem 0 calc(0.8rem + env(safe-area-inset-bottom));
    background: linear-gradient(180deg, rgba(245, 247, 251, 0), #f5f7fb 28%);
}

.schedule-row {
    padding: 1rem;
}

.schedule-row:not(.crm-setup-task-card) {
    border-top: 1px solid var(--opora-border);
}

.schedule-row:not(.crm-setup-task-card):first-child {
    border-top: 0;
}

.schedule-row.crm-setup-task-card {
    align-items: start;
}

.schedule-row > .crm-status-dot {
    margin-top: 0.34rem;
}

.schedule-row.is-deleted {
    display: none;
}

.schedule-form-actions {
    border-top: 1px solid var(--opora-border);
    padding: 1rem;
    justify-content: flex-end;
}

.schedule-row-title {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.crm-events-schedule-page .schedule-row-title > :first-child {
    min-width: 0;
}

.crm-events-schedule-page .schedule-row-title .crm-setup-task-card-title,
.crm-events-schedule-page .schedule-row-title .crm-setup-task-card-meta {
    overflow-wrap: anywhere;
}

.crm-events-schedule-page .schedule-actions {
    flex: 0 0 auto;
    flex-wrap: nowrap;
    align-items: flex-start;
}

.crm-event-schedule-context-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

.crm-event-schedule-list {
    display: grid;
    gap: 0.85rem;
}

.crm-event-schedule-field-grid {
    align-items: stretch;
}

.crm-event-schedule-field-grid .crm-field-card {
    align-content: start;
    min-height: 92px;
}

.crm-event-schedule-field-card-wide {
    min-width: 0;
}

.crm-events-schedule-page .crm-sticky-actions {
    align-items: center;
    box-shadow: none;
}

.crm-event-schedule-sticky-tools {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
}

@media (max-width: 991.98px) {
    .crm-event-schedule-context-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .crm-event-schedule-context-grid {
        grid-template-columns: 1fr;
    }

    .crm-events-schedule-page .schedule-row-title {
        grid-template-columns: 1fr;
    }

    .crm-events-schedule-page .schedule-actions {
        width: 100%;
        flex-wrap: wrap;
    }
}

.delete-check {
    min-height: 32px;
    display: flex;
    align-items: center;
}

.crm-event-wide-text {
    max-width: 360px;
    overflow-wrap: anywhere;
}

.crm-event-wide-text-sm {
    max-width: 260px;
    overflow-wrap: anywhere;
}

.crm-event-payment-qr {
    max-width: 180px;
}

.crm-work-page,
.crm-backlog-page,
.crm-notes-page,
.crm-export-page,
.crm-outreach-page,
.crm-max-page {
    gap: 0.95rem;
    max-width: 100%;
    min-width: 0;
}

.crm-work-page .crm-page-header,
.crm-backlog-page .crm-page-header,
.crm-notes-page .crm-page-header,
.crm-export-page .crm-page-header,
.crm-outreach-page .crm-page-header,
.crm-max-page .crm-page-header {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    flex-wrap: wrap;
    padding: 1.15rem 1.2rem;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    box-shadow: var(--opora-shadow-soft);
    overflow: hidden;
}

.crm-work-page .crm-page-header::before,
.crm-backlog-page .crm-page-header::before,
.crm-notes-page .crm-page-header::before,
.crm-export-page .crm-page-header::before,
.crm-outreach-page .crm-page-header::before,
.crm-max-page .crm-page-header::before {
    display: none;
}

.crm-work-page .crm-page-title,
.crm-backlog-page .crm-page-title,
.crm-notes-page .crm-page-title,
.crm-export-page .crm-page-title,
.crm-outreach-page .crm-page-title,
.crm-max-page .crm-page-title {
    min-width: 0;
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.crm-work-page .crm-page-title i,
.crm-backlog-page .crm-page-title i,
.crm-notes-page .crm-page-title i,
.crm-export-page .crm-page-title i,
.crm-outreach-page .crm-page-title i,
.crm-max-page .crm-page-title i {
    font-size: 1.18rem;
}

.crm-work-page .crm-page-subtitle,
.crm-backlog-page .crm-page-subtitle,
.crm-notes-page .crm-page-subtitle,
.crm-export-page .crm-page-subtitle,
.crm-outreach-page .crm-page-subtitle,
.crm-max-page .crm-page-subtitle {
    min-width: 0;
    margin-top: 0.32rem;
    font-size: 0.88rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.crm-work-page .crm-page-title-block,
.crm-backlog-page .crm-page-title-block,
.crm-notes-page .crm-page-title-block,
.crm-export-page .crm-page-title-block,
.crm-outreach-page .crm-page-title-block,
.crm-max-page .crm-page-title-block,
.crm-work-page .crm-page-actions,
.crm-backlog-page .crm-page-actions,
.crm-notes-page .crm-page-actions,
.crm-export-page .crm-page-actions,
.crm-outreach-page .crm-page-actions,
.crm-max-page .crm-page-actions {
    min-width: 0;
    max-width: 100%;
}

.crm-work-page .crm-card-header,
.crm-backlog-page .crm-card-header,
.crm-notes-page .crm-card-header,
.crm-export-page .crm-card-header,
.crm-outreach-page .crm-card-header,
.crm-outreach-page .crm-table-card > .crm-card-header,
.crm-outreach-page .crm-form-section-header,
.crm-max-page .crm-card-header,
.crm-max-page .crm-table-card > .crm-card-header,
.crm-max-page .crm-form-section-header {
    min-width: 0;
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1.1rem;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
    background: #fff;
    border-bottom: 1px solid var(--opora-border);
}

.crm-work-page .crm-card-header h2,
.crm-backlog-page .crm-card-header h2,
.crm-notes-page .crm-card-header h2,
.crm-export-page .crm-card-header h2,
.crm-outreach-page .crm-card-header h2,
.crm-max-page .crm-card-header h2,
.crm-work-page .crm-card-header h3,
.crm-backlog-page .crm-card-header h3,
.crm-notes-page .crm-card-header h3,
.crm-export-page .crm-card-header h3,
.crm-outreach-page .crm-card-header h3,
.crm-max-page .crm-card-header h3,
.crm-max-page .crm-card-header h4,
.crm-max-page .crm-card-header h5,
.crm-work-page .crm-card-header > span:first-child,
.crm-backlog-page .crm-card-header > span:first-child,
.crm-notes-page .crm-card-header > span:first-child,
.crm-export-page .crm-card-header > span:first-child,
.crm-outreach-page .crm-card-header > span:first-child,
.crm-outreach-page .crm-table-card > .crm-card-header h2,
.crm-outreach-page .crm-form-section-title,
.crm-max-page .crm-card-header > span:first-child,
.crm-max-page .crm-table-card > .crm-card-header h2,
.crm-max-page .crm-table-card > .crm-card-header h5,
.crm-max-page .crm-form-section-title {
    margin: 0;
    font: inherit;
    letter-spacing: 0;
}

.crm-work-page .crm-card-body,
.crm-backlog-page .crm-card-body,
.crm-notes-page .crm-card-body,
.crm-export-page .crm-card-body,
.crm-outreach-page .crm-card-body,
.crm-max-page .crm-card-body {
    padding: 1rem;
}

.crm-work-page .crm-card-footer,
.crm-backlog-page .crm-card-footer,
.crm-notes-page .crm-card-footer,
.crm-export-page .crm-card-footer,
.crm-outreach-page .crm-card-footer,
.crm-max-page .crm-card-footer {
    padding: 0.85rem 1rem;
    border-top: 1px solid var(--opora-border);
    background: #fff;
}

.crm-backlog-page .crm-filter-card .crm-card-body,
.crm-notes-page .crm-filter-card .crm-card-body,
.crm-export-page .crm-filter-card .crm-card-body,
.crm-outreach-page .crm-filter-card .crm-card-body,
.crm-max-page .crm-filter-card .crm-card-body {
    padding: 0.85rem;
}

.crm-backlog-page .form-control,
.crm-backlog-page .form-select,
.crm-backlog-page .autocomplete-select__control,
.crm-backlog-page .crm-searchable-multiselect-input,
.crm-notes-page .form-control,
.crm-notes-page .form-select,
.crm-notes-page .autocomplete-select__control,
.crm-notes-page .crm-searchable-multiselect-input,
.crm-export-page .form-control,
.crm-export-page .form-select,
.crm-export-page .autocomplete-select__control,
.crm-export-page .crm-searchable-multiselect-input,
.crm-outreach-page .form-control,
.crm-outreach-page .form-select,
.crm-outreach-page .autocomplete-select__control,
.crm-outreach-page .crm-searchable-multiselect-input,
.crm-max-page .form-control,
.crm-max-page .form-select,
.crm-max-page .autocomplete-select__control,
.crm-max-page .crm-searchable-multiselect-input {
    min-height: 38px;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    color: var(--opora-text);
    font-size: 0.88rem;
}

.crm-backlog-page textarea.form-control,
.crm-notes-page textarea.form-control,
.crm-export-page textarea.form-control,
.crm-outreach-page textarea.form-control,
.crm-max-page textarea.form-control {
    min-height: auto;
    line-height: 1.45;
}

.crm-backlog-page .form-control:focus,
.crm-backlog-page .form-select:focus,
.crm-backlog-page .autocomplete-select__control:focus-within,
.crm-backlog-page .crm-searchable-multiselect-input:focus,
.crm-notes-page .form-control:focus,
.crm-notes-page .form-select:focus,
.crm-notes-page .autocomplete-select__control:focus-within,
.crm-notes-page .crm-searchable-multiselect-input:focus,
.crm-export-page .form-control:focus,
.crm-export-page .form-select:focus,
.crm-export-page .autocomplete-select__control:focus-within,
.crm-export-page .crm-searchable-multiselect-input:focus,
.crm-outreach-page .form-control:focus,
.crm-outreach-page .form-select:focus,
.crm-outreach-page .autocomplete-select__control:focus-within,
.crm-outreach-page .crm-searchable-multiselect-input:focus,
.crm-max-page .form-control:focus,
.crm-max-page .form-select:focus,
.crm-max-page .autocomplete-select__control:focus-within,
.crm-max-page .crm-searchable-multiselect-input:focus {
    border-color: rgba(22, 99, 232, 0.52);
    box-shadow: 0 0 0 0.2rem rgba(22, 99, 232, 0.12);
}

.crm-backlog-page .crm-table th,
.crm-notes-page .crm-table th,
.crm-export-page .crm-table th,
.crm-outreach-page .crm-table th,
.crm-max-page .crm-table th {
    text-align: center;
}

.crm-backlog-page .crm-table td,
.crm-notes-page .crm-table td,
.crm-export-page .crm-table td,
.crm-outreach-page .crm-table td,
.crm-max-page .crm-table td {
    text-align: center;
    vertical-align: middle;
}

.crm-backlog-page .crm-table .crm-table-left-col,
.crm-notes-page .crm-table .crm-table-left-col,
.crm-export-page .crm-table .crm-table-left-col,
.crm-outreach-page .crm-table .crm-table-left-col,
.crm-max-page .crm-table .crm-table-left-col {
    text-align: left;
}

.crm-backlog-page .crm-table-card-body {
    padding: 0.85rem;
}

.crm-backlog-page .crm-table-card-body > .table-responsive {
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    overflow-x: auto;
    overflow-y: visible;
}

.crm-outreach-page .crm-table-card-body {
    padding: 0.85rem;
}

.crm-outreach-page .crm-table-card-body > .table-responsive,
.crm-max-page .crm-table-card-body,
.crm-max-page .crm-table-card > .table-responsive {
    padding: 0.85rem;
}

.crm-outreach-page .crm-table-card-body > .table-responsive,
.crm-max-page .crm-table-card-body > .table-responsive,
.crm-max-page .crm-table-card > .table-responsive {
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    overflow-x: auto;
    overflow-y: visible;
}

.crm-outreach-page .crm-form-shell,
.crm-outreach-page .crm-form-section,
.crm-outreach-page .crm-card,
.crm-outreach-page .crm-table-card,
.crm-max-page .crm-form-shell,
.crm-max-page .crm-form-section,
.crm-max-page .crm-card,
.crm-max-page .crm-table-card {
    min-width: 0;
}

.crm-outreach-page .crm-field-card-wide,
.crm-max-page .crm-field-card-wide {
    grid-column: 1 / -1;
}

.crm-outreach-page .crm-badge,
.crm-outreach-page .crm-table-badge,
.crm-max-page .crm-badge,
.crm-max-page .crm-table-badge {
    white-space: normal;
}

.crm-outreach-page .crm-related-block {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 0.75rem;
    align-items: start;
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--opora-border);
}

.crm-outreach-page .crm-related-block:first-child {
    padding-top: 0;
}

.crm-outreach-page .crm-related-block:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.crm-accounts-page {
    gap: 0.95rem;
    max-width: 100%;
    min-width: 0;
}

.crm-accounts-page .crm-page-header {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    flex-wrap: wrap;
    padding: 1.15rem 1.2rem;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    box-shadow: var(--opora-shadow-soft);
    overflow: hidden;
}

.crm-accounts-page .crm-page-header::before {
    display: none;
}

.crm-accounts-page .crm-page-title {
    min-width: 0;
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.crm-accounts-page .crm-page-title i {
    font-size: 1.18rem;
}

.crm-accounts-page .crm-page-subtitle {
    min-width: 0;
    margin-top: 0.32rem;
    font-size: 0.88rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.crm-accounts-page .crm-card,
.crm-accounts-page .crm-filter-card,
.crm-accounts-page .crm-form-section,
.crm-accounts-page .crm-table-card {
    min-width: 0;
}

.crm-accounts-page .crm-card-header,
.crm-accounts-page .crm-table-card > .crm-card-header,
.crm-accounts-page .crm-form-section-header {
    min-width: 0;
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1.1rem;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
    background: #fff;
    border-bottom: 1px solid var(--opora-border);
}

.crm-accounts-page .crm-card-header h2,
.crm-accounts-page .crm-form-section-title,
.crm-accounts-page .crm-card-header > span:first-child {
    margin: 0;
    font: inherit;
    letter-spacing: 0;
}

.crm-accounts-page .crm-card-body,
.crm-accounts-page .crm-form-section-body {
    padding: 1rem;
}

.crm-accounts-page .crm-filter-card .crm-card-body {
    padding: 0.85rem;
}

.crm-accounts-page .form-control,
.crm-accounts-page .form-select,
.crm-login-page .form-control {
    min-height: 38px;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    color: var(--opora-text);
    font-size: 0.88rem;
}

.crm-accounts-page textarea.form-control {
    min-height: auto;
    line-height: 1.45;
}

.crm-accounts-page .form-control:focus,
.crm-accounts-page .form-select:focus,
.crm-login-page .form-control:focus {
    border-color: rgba(22, 99, 232, 0.52);
    box-shadow: 0 0 0 0.2rem rgba(22, 99, 232, 0.12);
}

.crm-accounts-page .crm-form-hint,
.crm-login-page .crm-form-hint {
    display: block;
    margin-top: 0.32rem;
    color: var(--opora-muted);
    font-size: 0.78rem;
    line-height: 1.35;
}

.crm-accounts-filter-form,
.crm-accounts-role-filter {
    display: grid;
    grid-template-columns: minmax(260px, 1.35fr) minmax(180px, 0.8fr) minmax(170px, 0.75fr) max-content;
    gap: 0.75rem;
    align-items: end;
}

.crm-accounts-role-filter {
    grid-template-columns: minmax(240px, 360px) max-content;
}

.crm-accounts-filter-field,
.crm-accounts-field {
    min-width: 0;
}

.crm-accounts-filter-actions {
    display: flex;
    align-items: end;
    justify-content: flex-end;
    gap: 0.5rem;
    min-width: 0;
}

.crm-accounts-results,
.crm-accounts-form-stack,
.crm-accounts-profile-stack,
.crm-accounts-template-summary,
.crm-accounts-permissions-form {
    display: grid;
    gap: 0.95rem;
    min-width: 0;
}

.crm-accounts-page .crm-table-card-body {
    padding: 0.85rem;
}

.crm-accounts-page .crm-table-card-body > .table-responsive {
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    overflow-x: auto;
    overflow-y: visible;
}

.crm-accounts-page .crm-table th {
    text-align: center;
}

.crm-accounts-page .crm-table td {
    text-align: center;
    vertical-align: middle;
}

.crm-accounts-page .crm-table thead th.crm-table-left-col,
.crm-accounts-page .crm-table tbody td.crm-table-left-col {
    text-align: left;
}

.crm-accounts-page .crm-table-row-actions {
    justify-content: center;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.crm-accounts-section-caption {
    margin-bottom: 0.6rem;
    color: var(--opora-text);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.25;
}

.crm-accounts-form-group {
    min-width: 0;
    padding-bottom: 0.95rem;
    border-bottom: 1px solid var(--opora-border);
}

.crm-accounts-form-group:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.crm-accounts-page .crm-field-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.crm-accounts-page .crm-field-grid-single {
    grid-template-columns: minmax(0, 1fr);
}

.crm-accounts-page .crm-field-card-wide {
    grid-column: 1 / -1;
}

.crm-accounts-check-field {
    display: flex;
    align-items: center;
    min-height: 38px;
}

.crm-accounts-page .form-check {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    margin: 0;
    padding-left: 0;
}

.crm-accounts-page .form-check-input {
    flex: 0 0 auto;
    margin: 0;
}

.crm-accounts-page .form-check-label {
    color: var(--opora-text);
    font-size: 0.86rem;
    line-height: 1.25;
}

.crm-accounts-callout,
.crm-accounts-copy-role {
    min-width: 0;
    padding: 0.9rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #F8FBFF;
}

.crm-accounts-copy-role {
    margin-top: 1rem;
}

.crm-accounts-callout-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    min-width: 0;
}

.crm-input-group-action {
    min-width: 40px;
    padding-right: 0.65rem;
    padding-left: 0.65rem;
    white-space: nowrap;
}

.crm-accounts-suggestions {
    z-index: 2050;
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
}

.crm-accounts-manual-source {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 0;
    margin-top: 0.55rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid rgba(11, 87, 208, 0.22);
    border-radius: var(--opora-radius-sm);
    background: #F8FBFF;
}

.crm-accounts-manual-source-text {
    min-width: 0;
}

.crm-accounts-profile-layout,
.crm-accounts-role-ui-layout {
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.4fr);
    gap: 1rem;
    align-items: start;
    min-width: 0;
}

.crm-accounts-role-ui-layout {
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
}

.crm-accounts-narrow-shell {
    max-width: 720px;
    min-width: 0;
}

.crm-accounts-detail-list,
.role-card-meta,
.crm-accounts-template-block dl {
    display: grid;
    gap: 0;
    margin: 0;
}

.crm-accounts-detail-row,
.role-card-meta > div,
.crm-accounts-template-block dl > div {
    display: grid;
    grid-template-columns: minmax(120px, 0.45fr) minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.72rem 0;
    border-bottom: 1px solid var(--opora-border);
}

.crm-accounts-detail-row:first-child,
.role-card-meta > div:first-child,
.crm-accounts-template-block dl > div:first-child {
    padding-top: 0;
}

.crm-accounts-detail-row:last-child,
.role-card-meta > div:last-child,
.crm-accounts-template-block dl > div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.crm-accounts-detail-row dt,
.role-card-meta dt,
.crm-accounts-template-block dt {
    color: var(--opora-muted);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
    margin: 0;
    text-transform: uppercase;
}

.crm-accounts-detail-row dd,
.role-card-meta dd,
.crm-accounts-template-block dd {
    min-width: 0;
    margin: 0;
    color: var(--opora-text);
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.crm-accounts-detail-row dd {
    display: grid;
    gap: 0.25rem;
}

.crm-accounts-region-grid,
.crm-accounts-role-switch {
    display: grid;
    grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr);
    gap: 0.75rem;
    align-items: end;
    min-width: 0;
}

.profile-view-region-card,
.profile-view-region-card .crm-form-section-body {
    overflow: visible;
}

.profile-view-region-card {
    position: relative;
    z-index: 20;
}

.view-region-search {
    position: relative;
}

.view-region-search-results {
    position: absolute;
    z-index: 2050;
    top: calc(100% + 0.35rem);
    left: 0;
    right: 0;
    max-height: 280px;
    overflow-y: auto;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
    padding: 0.35rem;
}

.view-region-search-result {
    width: 100%;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--opora-text);
    padding: 0.55rem 0.65rem;
    text-align: left;
}

.view-region-search-result:hover,
.view-region-search-result:focus {
    background: #EAF1FF;
    color: var(--opora-blue-700);
    outline: none;
}

.view-region-search-empty {
    padding: 0.65rem;
    color: var(--opora-muted);
}

.role-list-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 0.85rem;
}

.role-card {
    display: grid;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.9rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.role-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 0;
}

.role-card-title {
    min-width: 0;
    margin: 0;
    color: var(--opora-text);
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.role-level-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 0.6rem;
    align-items: end;
    min-width: 0;
}

.crm-accounts-role-switch {
    align-items: stretch;
    margin-bottom: 0.95rem;
}

.crm-accounts-current-role,
.crm-accounts-selected-role {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
    color: var(--opora-muted);
    font-size: 0.86rem;
}

.crm-accounts-current-role strong,
.crm-accounts-selected-role strong {
    color: var(--opora-text);
    font-weight: 600;
}

.permission-accordion {
    display: grid;
    gap: 0.75rem;
}

.permission-section-card {
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    overflow: hidden;
    background: #fff;
}

.permission-section-header .accordion-button {
    gap: 0.75rem;
    align-items: center;
    background: #F8FBFF;
    box-shadow: none;
    padding: 0.85rem 1rem;
}

.permission-section-header .accordion-button:not(.collapsed) {
    background: #EFF6FF;
}

.permission-section-title-wrap {
    display: flex;
    flex-direction: column;
    min-width: 0;
    margin-right: auto;
    text-align: left;
}

.permission-section-title {
    color: var(--opora-text);
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.2;
}

.permission-section-code {
    margin-top: 0.12rem;
    color: var(--opora-muted);
    font-size: 0.72rem;
}

.permission-section-counter {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0.2rem 0.5rem;
    border: 1px solid rgba(100, 116, 139, 0.14);
    border-radius: 7px;
    background: #F1F5F9;
    color: var(--opora-muted);
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.1;
    white-space: nowrap;
}

.permission-section-body {
    padding: 0.85rem;
}

.permission-section-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.permission-actions-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
}

.permission-action-item {
    min-width: 0;
    min-height: 58px;
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.65rem 0.7rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.permission-action-item:hover {
    border-color: rgba(22, 99, 232, 0.32);
    background: #F8FBFF;
}

.permission-action-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.25;
}

.permission-action-name {
    color: var(--opora-text);
    font-size: 0.86rem;
    font-weight: 500;
}

.permission-action-code {
    margin-top: 0.15rem;
    color: var(--opora-muted);
    font-size: 0.7rem;
    overflow-wrap: anywhere;
}

.crm-accounts-check-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 1rem 0;
}

.crm-accounts-template-block {
    min-width: 0;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--opora-border);
}

.crm-accounts-template-block:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.crm-accounts-widget-list {
    display: grid;
    gap: 0.65rem;
}

.crm-accounts-widget-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.7rem 0;
    border-bottom: 1px solid var(--opora-border);
}

.crm-accounts-widget-row:last-child {
    border-bottom: 0;
}

.crm-accounts-widget-state {
    display: flex;
    justify-content: flex-end;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.crm-login-page {
    min-height: 100vh;
    margin: 0;
    display: grid;
    place-items: center;
    padding: 1.25rem;
    background: linear-gradient(180deg, #EEF3FA 0%, #F8FAFC 100%);
    color: var(--opora-text);
    font-family: var(--opora-font-family);
}

.crm-login-shell {
    width: min(100%, 440px);
}

.crm-login-card {
    overflow: hidden;
    border: 1px solid var(--opora-border);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 24px 50px rgba(15, 23, 42, 0.12);
}

.crm-login-header {
    padding: 1.35rem 1.45rem 1rem;
    border-bottom: 1px solid var(--opora-border);
    background: #fff;
}

.crm-login-title {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: 0;
    color: var(--opora-text);
    font-size: 1.45rem;
    font-weight: 600;
    line-height: 1.15;
}

.crm-login-title i {
    color: var(--opora-teal-700);
}

.crm-login-subtitle {
    margin: 0.4rem 0 0;
    color: var(--opora-muted);
    font-size: 0.9rem;
}

.crm-login-body {
    display: grid;
    gap: 0.9rem;
    padding: 1.25rem 1.45rem 1.45rem;
}

.crm-login-form,
.crm-login-messages {
    display: grid;
    gap: 0.85rem;
}

.crm-login-page .crm-alert {
    margin: 0;
}

.crm-login-page .crm-btn-primary {
    min-height: 42px;
}

@media (max-width: 1199.98px) {
    .crm-accounts-page .crm-field-grid,
    .permission-actions-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-accounts-filter-form {
        grid-template-columns: minmax(220px, 1.25fr) minmax(160px, 0.8fr) minmax(150px, 0.75fr) max-content;
    }
}

@media (max-width: 991.98px) {
    .crm-accounts-filter-form,
    .crm-accounts-role-filter,
    .crm-accounts-profile-layout,
    .crm-accounts-role-ui-layout,
    .crm-accounts-region-grid,
    .crm-accounts-role-switch,
    .role-level-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-accounts-filter-actions,
    .crm-accounts-page .crm-page-actions {
        justify-content: flex-start;
    }

    .crm-accounts-page .crm-table-card-body > .table-responsive {
        overflow-x: auto;
        overflow-y: visible;
    }
}

@media (max-width: 575.98px) {
    .crm-accounts-page .crm-page-header,
    .crm-accounts-page .crm-form-header,
    .crm-accounts-page .crm-card-body,
    .crm-accounts-page .crm-form-section-body,
    .crm-login-body {
        padding: 0.9rem;
    }

    .crm-accounts-page .crm-field-grid,
    .permission-actions-grid,
    .crm-accounts-check-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-accounts-callout-head,
    .crm-accounts-manual-source,
    .role-card-head,
    .permission-section-header .accordion-button,
    .crm-accounts-widget-row,
    .crm-sticky-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .permission-section-counter,
    .crm-accounts-page .crm-page-actions .btn,
    .crm-accounts-filter-actions .btn,
    .crm-login-page .crm-btn-primary {
        width: 100%;
    }

    .crm-accounts-detail-row,
    .role-card-meta > div,
    .crm-accounts-template-block dl > div {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.25rem;
    }
}

.crm-gr-page {
    gap: 0.95rem;
    max-width: 100%;
    min-width: 0;
}

.crm-gr-page:not(.crm-gr-home-page) .crm-page-header {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    flex-wrap: wrap;
    padding: 1.15rem 1.2rem;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    box-shadow: var(--opora-shadow-soft);
    overflow: hidden;
}

.crm-gr-page:not(.crm-gr-home-page) .crm-page-header::before {
    display: none;
}

.crm-gr-page:not(.crm-gr-home-page) .crm-page-title {
    min-width: 0;
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.crm-gr-page:not(.crm-gr-home-page) .crm-page-header .text-muted {
    margin-top: 0.32rem;
    color: var(--opora-muted) !important;
    font-size: 0.88rem;
    line-height: 1.35;
}

.crm-gr-nav {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
    min-width: 0;
    margin-bottom: 0.2rem;
}

.crm-gr-nav .crm-btn-primary,
.crm-gr-nav .crm-btn-secondary {
    min-height: 32px;
    padding: 0.35rem 0.62rem;
    font-size: 0.82rem;
    white-space: nowrap;
}

.crm-gr-page .crm-card,
.crm-gr-page .crm-table-card,
.crm-gr-page .crm-form-section,
.crm-gr-page .crm-filter-card {
    min-width: 0;
}

.crm-gr-page .crm-card-header,
.crm-gr-page .crm-table-card > .crm-card-header,
.crm-gr-page .crm-form-section-header {
    min-width: 0;
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1.1rem;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
    background: #fff;
    border-bottom: 1px solid var(--opora-border);
}

.crm-gr-page .crm-card-header h2,
.crm-gr-page .crm-card-header h3,
.crm-gr-page .crm-card-header h4,
.crm-gr-page .crm-card-header h5,
.crm-gr-page .crm-section-title {
    margin: 0;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0;
}

.crm-gr-page .crm-card-body,
.crm-gr-page .crm-form-section-body {
    padding: 1rem;
}

.crm-gr-page .crm-card-footer,
.crm-gr-page .crm-form-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
    flex-wrap: wrap;
    padding: 0.85rem 1rem;
    border-top: 1px solid var(--opora-border);
    background: #fff;
}

.crm-gr-search-filter-form {
    display: grid;
    gap: 1.25rem;
    min-width: 0;
}

.crm-gr-search-filter-form .crm-page-header .crm-page-actions {
    flex: 1 1 540px;
}

.crm-gr-header-search {
    flex: 1 1 340px;
    min-width: min(100%, 280px);
    max-width: 520px;
}

.crm-gr-header-search .form-control {
    width: 100%;
    min-width: 0;
}

.crm-gr-search-filter-form .crm-page-header .crm-btn-primary,
.crm-gr-search-filter-form .crm-page-header .crm-btn-secondary {
    flex: 0 0 auto;
}

.crm-gr-page .crm-filter-card .crm-card-body,
.crm-gr-page .crm-filter-card > .crm-page-actions {
    padding: 0.85rem;
}

.crm-gr-page .crm-filter-card > .crm-page-actions {
    display: flex;
    justify-content: stretch;
    width: 100%;
}

.crm-gr-page .crm-filter-card > .crm-page-actions .form-control {
    min-width: min(100%, 320px);
    flex: 1 1 320px;
}

.crm-gr-page label,
.crm-gr-page .crm-filter-label {
    margin-bottom: 0.3rem;
    color: #334155;
    font-size: 0.76rem;
    font-weight: 560;
    line-height: 1.25;
}

.crm-gr-page .form-check-label {
    margin-bottom: 0;
    font-size: 0.82rem;
    font-weight: 500;
}

.crm-gr-page .form-control,
.crm-gr-page .form-select,
.crm-gr-page .autocomplete-select__control {
    min-height: 38px;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    color: var(--opora-text);
    font-size: 0.88rem;
}

.crm-gr-page textarea.form-control {
    min-height: auto;
    line-height: 1.45;
}

.crm-gr-page .form-control:focus,
.crm-gr-page .form-select:focus,
.crm-gr-page .autocomplete-select__control:focus-within {
    border-color: rgba(22, 99, 232, 0.52);
    box-shadow: 0 0 0 0.2rem rgba(22, 99, 232, 0.12);
}

.crm-gr-page .crm-table-card:not(.crm-table-sticky) > .table-responsive,
.crm-gr-page .crm-table-card:not(.crm-table-sticky) > .crm-card-body > .table-responsive {
    overflow-x: auto;
    overflow-y: visible;
}

.crm-gr-page .crm-table-card.crm-table-sticky > .table-responsive,
.crm-gr-page .crm-table-card.crm-table-sticky > .crm-card-body > .table-responsive,
.crm-gr-page .crm-table-card.crm-table-sticky > .crm-table-card-body > .table-responsive {
    overflow: visible;
}

.crm-gr-page .crm-table .text-end,
.crm-gr-page .crm-table th.text-end {
    text-align: center !important;
}

.crm-gr-page .crm-table-row-actions,
.crm-gr-page .crm-page-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    flex-wrap: wrap;
    min-width: 0;
}

.crm-gr-page .crm-table-row-actions {
    flex-wrap: nowrap;
    white-space: nowrap;
}

.crm-gr-page .crm-table-row-actions .crm-btn-primary,
.crm-gr-page .crm-table-row-actions .crm-btn-secondary,
.crm-gr-page .crm-table-row-actions .crm-btn-danger {
    min-height: 30px;
    padding: 0.3rem 0.5rem;
    font-size: 0.76rem;
    white-space: nowrap;
}

.crm-gr-page .crm-badge,
.crm-gr-page .crm-table-badge {
    white-space: normal;
}

.crm-gr-page dl.row {
    --bs-gutter-y: 0;
}

.crm-gr-page dl.row dt,
.crm-gr-page dl.row dd {
    min-height: 38px;
    display: flex;
    align-items: center;
    margin: 0;
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
    border-bottom: 1px solid var(--opora-border);
}

.crm-gr-page dl.row dt {
    color: #475569;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.25;
    text-transform: uppercase;
}

.crm-gr-page dl.row dd {
    min-width: 0;
    color: var(--opora-text);
    font-size: 0.9rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.crm-gr-page dl.row dt:last-of-type,
.crm-gr-page dl.row dd:last-of-type {
    border-bottom: 0;
}

.crm-gr-kpi-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.72rem;
}

.crm-gr-kpi-card.crm-directory-kpi-card.crm-stat-card {
    min-width: 0;
    height: 88px;
    min-height: 88px;
    max-height: none;
    padding: 10px 11px;
    color: var(--opora-text);
    text-decoration: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.crm-gr-kpi-card.crm-directory-kpi-card.crm-stat-card:hover,
.crm-gr-kpi-card.crm-directory-kpi-card.crm-stat-card:focus-visible {
    border-color: rgba(11, 87, 208, 0.32);
    color: var(--opora-text);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.1);
    transform: translateY(-1px);
}

.crm-gr-kpi-card.crm-directory-kpi-card .crm-stat-label {
    min-width: 0;
    padding-right: 0.45rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.crm-gr-kpi-card.crm-directory-kpi-card .crm-stat-value {
    color: var(--opora-text);
    font-size: 1.34rem;
    font-weight: 600;
    line-height: 1;
}

.crm-gr-kpi-card.crm-directory-kpi-card .crm-stat-delta {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.crm-gr-kpi-card.crm-stat-card-violet {
    --directory-stat-icon-bg: #E5DCFF;
    --directory-stat-icon-color: #6D28D9;
    --directory-stat-wash: rgba(109, 40, 217, 0.15);
}

.crm-gr-kpi-card.crm-stat-card-teal {
    --directory-stat-icon-bg: #C9F0F4;
    --directory-stat-icon-color: var(--opora-teal-700);
    --directory-stat-wash: rgba(0, 151, 167, 0.15);
}

.crm-gr-list,
.crm-gr-report-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.crm-gr-report-list {
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    overflow: hidden;
}

.crm-gr-list-item {
    display: block;
    padding: 0.72rem 0.85rem;
    border-bottom: 1px solid var(--opora-border);
    color: var(--opora-text);
    font-size: 0.86rem;
    line-height: 1.4;
    text-decoration: none;
}

.crm-gr-list-item:last-child {
    border-bottom: 0;
}

.crm-gr-list-item-action:hover,
.crm-gr-list-item-action:focus {
    background: #F8FBFF;
    color: var(--opora-blue-700);
}

.crm-gr-list-item-split {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
}

.crm-gr-list-item-danger {
    color: var(--opora-danger);
}

.crm-gr-counter-card,
.crm-gr-inline-card {
    height: 100%;
    padding: 0.85rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #F8FBFF;
}

.crm-gr-counter-card .crm-stat-value {
    margin-top: 0.2rem;
    color: var(--opora-text);
    font-size: 1.15rem;
    font-weight: 600;
}

.crm-gr-divider {
    margin: 1.1rem 0;
    border-color: var(--opora-border);
    opacity: 1;
}

.event-source-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.event-source-strip .form-check {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.75rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.event-source-strip .form-check-input {
    margin: 0;
}

.event-picker-table td,
.event-participant-table td {
    vertical-align: middle;
}

.event-note-input {
    min-width: 220px;
}

.event-participant-number-col {
    width: 6rem;
}

.event-participant-actions {
    width: 3.5rem;
}

.event-picker-actions {
    width: 3.25rem;
}

.gr-event-list-actions {
    width: 7.75rem;
    white-space: nowrap;
}

@media (max-width: 1366px) {
    .crm-gr-page:not(.crm-gr-home-page) .crm-page-header,
    .crm-gr-page .crm-card-body,
    .crm-gr-page .crm-form-section-body {
        padding: 0.9rem;
    }

    .crm-gr-search-filter-form {
        gap: 1rem;
    }

    .crm-gr-search-filter-form .crm-page-header .crm-page-actions {
        flex-basis: 480px;
    }

    .crm-gr-header-search {
        flex-basis: 300px;
        max-width: 440px;
    }

    .crm-gr-nav .crm-btn-primary,
    .crm-gr-nav .crm-btn-secondary {
        font-size: 0.78rem;
    }

    .crm-gr-page .crm-table tbody td {
        font-size: 0.84rem;
    }

    .crm-gr-kpi-grid {
        gap: 0.6rem;
    }

    .crm-gr-kpi-card.crm-directory-kpi-card.crm-stat-card {
        padding-inline: 9px;
    }
}

@media (max-width: 1280px) {
    .crm-gr-header-search {
        flex-basis: 260px;
        max-width: 380px;
    }

    .crm-gr-page .crm-table-row-actions .crm-btn-primary,
    .crm-gr-page .crm-table-row-actions .crm-btn-secondary,
    .crm-gr-page .crm-table-row-actions .crm-btn-danger {
        padding-inline: 0.42rem;
        font-size: 0.72rem;
    }

    .crm-gr-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.75rem;
    }
}

@media (max-width: 768px) {
    .crm-gr-search-filter-form .crm-page-header .crm-page-actions {
        flex-basis: 100%;
        justify-content: flex-start;
        width: 100%;
    }

    .crm-gr-header-search {
        flex: 1 1 100%;
        max-width: none;
    }

    .crm-gr-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 576px) {
    .crm-gr-kpi-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.crm-navigator-page {
    display: grid;
    gap: 1rem;
    min-width: 0;
    color: var(--opora-text);
    font-family: var(--opora-font-family);
}

.crm-navigator-page > * {
    min-width: 0;
}

.crm-navigator-page .crm-page-header {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    flex-wrap: wrap;
    padding: 1.15rem 1.2rem;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    box-shadow: var(--opora-shadow-soft);
    overflow: hidden;
}

.crm-navigator-page .crm-page-header::before {
    display: none;
}

.crm-navigator-page .crm-form-header,
.crm-navigator-page .crm-detail-header,
.crm-navigator-page .crm-workspace-header {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border-radius: var(--opora-radius-sm);
}

.crm-navigator-page .crm-form-title-block,
.crm-navigator-page .crm-detail-title-block,
.crm-navigator-page .crm-workspace-title-block {
    min-width: 0;
}

.crm-navigator-page .crm-page-title {
    min-width: 0;
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.crm-navigator-page .crm-page-title i,
.crm-navigator-page .crm-registry-hero h1 i {
    color: var(--opora-teal-500);
}

.crm-navigator-page .crm-detail-title {
    overflow-wrap: anywhere;
}

.crm-navigator-page .crm-page-subtitle,
.crm-navigator-page .crm-form-header .crm-page-subtitle,
.crm-navigator-page .crm-workspace-header p,
.crm-navigator-page .crm-detail-meta {
    margin-top: 0.32rem;
    color: var(--opora-muted) !important;
    font-size: 0.88rem;
    line-height: 1.35;
}

.crm-navigator-list-page .crm-registry-hero {
    border-radius: var(--opora-radius-sm);
}

.crm-navigator-list-page .crm-registry-hero h1 {
    color: #fff;
    font-size: 1.45rem;
    font-weight: 600;
    letter-spacing: 0;
}

.crm-navigator-list-page .crm-registry-hero h1 i {
    color: #6FEAF2;
}

.crm-navigator-list-page .crm-registry-hero p {
    max-width: 760px;
    color: rgba(226, 232, 240, 0.86);
}

.crm-navigator-list-page .crm-registry-hero-subtitle {
    margin: 0.32rem 0 0;
}

.crm-navigator-nav {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
    min-width: 0;
}

.crm-navigator-nav .nav {
    display: flex;
    gap: 0.45rem;
    flex-wrap: wrap;
    min-width: 0;
}

.crm-navigator-nav .nav-link {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    color: var(--opora-navy-800);
    font-size: 0.82rem;
    font-weight: 560;
    line-height: 1.15;
    text-decoration: none;
    white-space: nowrap;
}

.crm-navigator-nav .nav-link:hover,
.crm-navigator-nav .nav-link:focus,
.crm-navigator-nav .nav-link.active {
    border-color: rgba(22, 99, 232, 0.36);
    background: #EFF6FF;
    color: var(--opora-blue-700);
}

.crm-navigator-page .crm-card,
.crm-navigator-page .crm-table-card,
.crm-navigator-page .crm-form-section,
.crm-navigator-page .crm-filter-card,
.crm-navigator-page .navigator-section-card {
    min-width: 0;
}

.crm-navigator-page .navigator-section-card {
    background: #fff;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    box-shadow: var(--opora-shadow-card);
    overflow: hidden;
}

.crm-navigator-page .navigator-section-head,
.crm-navigator-page .crm-card-header,
.crm-navigator-page .crm-table-card > .crm-card-header,
.crm-navigator-page .crm-form-section-header {
    min-width: 0;
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1.1rem;
    border-bottom: 1px solid var(--opora-border);
    background: #fff;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.25;
}

.crm-navigator-page .navigator-section-head strong,
.crm-navigator-page .crm-card-header strong,
.crm-navigator-page .crm-section-title {
    margin: 0;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0;
}

.crm-navigator-page .navigator-section-body,
.crm-navigator-page .crm-card-body,
.crm-navigator-page .crm-form-section-body {
    padding: 1rem;
}

.crm-navigator-page .navigator-panel-compact .navigator-section-body,
.crm-navigator-page .navigator-panel-compact .crm-card-body {
    padding: 0.9rem 1rem;
}

.crm-navigator-page label,
.crm-navigator-page .form-label,
.crm-navigator-page .crm-filter-label,
.crm-navigator-page .contact-filter__label,
.crm-navigator-page .meeting-filter__label,
.crm-navigator-page .journey-filter__label,
.crm-navigator-page .intro-selection-filter__label {
    display: block;
    margin-bottom: 0.3rem;
    color: #334155;
    font-size: 0.76rem;
    font-weight: 560;
    line-height: 1.25;
}

.crm-navigator-page .form-check-label {
    margin-bottom: 0;
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.25;
}

.crm-navigator-page .form-control,
.crm-navigator-page .form-select,
.crm-navigator-page .autocomplete-select__control {
    min-height: 38px;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    color: var(--opora-text);
    font-size: 0.88rem;
}

.crm-navigator-page textarea.form-control {
    min-height: auto;
    line-height: 1.45;
}

.crm-navigator-page .form-control:focus,
.crm-navigator-page .form-select:focus,
.crm-navigator-page .autocomplete-select__control:focus-within {
    border-color: rgba(22, 99, 232, 0.52);
    box-shadow: 0 0 0 0.2rem rgba(22, 99, 232, 0.12);
}

.crm-navigator-page .crm-btn-primary,
.crm-navigator-page .crm-btn-secondary,
.crm-navigator-page .crm-btn-danger {
    white-space: nowrap;
}

.crm-navigator-page .crm-btn-primary i,
.crm-navigator-page .crm-btn-primary svg {
    color: #fff;
}

.crm-navigator-summary-grid,
.journey-summary-grid,
.navigator-summary-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
}

.crm-navigator-summary-grid .crm-stat-card,
.journey-summary-card,
.navigator-summary-card {
    min-height: 86px;
    display: grid;
    align-content: center;
    gap: 0.28rem;
    padding: 0.78rem 0.85rem;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: var(--opora-radius-sm);
    background: linear-gradient(180deg, #fff, #F8FBFF);
    box-shadow: var(--opora-shadow-soft);
}

.journey-summary-card__label,
.navigator-summary-card__label,
.crm-navigator-page .crm-stat-label {
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.76rem;
    font-weight: 560;
    line-height: 1.25;
    letter-spacing: 0;
    text-transform: none;
}

.journey-summary-card__value,
.navigator-summary-card__value,
.crm-navigator-page .crm-stat-value {
    margin: 0;
    color: var(--opora-text);
    font-size: 1.28rem;
    font-weight: 600;
    line-height: 1.05;
}

.crm-navigator-page .crm-filter-card {
    overflow: visible;
}

.crm-navigator-page .contact-filter-grid,
.crm-navigator-page .meeting-filter-grid,
.crm-navigator-page .journey-filter-grid,
.crm-navigator-page .intro-selection-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: end;
}

.crm-navigator-page .contact-filter,
.crm-navigator-page .meeting-filter,
.crm-navigator-page .journey-filter,
.crm-navigator-page .intro-selection-filter {
    min-width: 0;
}

.crm-navigator-page .contact-filter__control,
.crm-navigator-page .meeting-filter__control,
.crm-navigator-page .journey-filter__control,
.crm-navigator-page .intro-selection-filter__control {
    width: 100%;
    min-width: 0;
}

.crm-navigator-page .contact-filter--search,
.crm-navigator-page .contact-filter--status,
.crm-navigator-page .contact-filter--source,
.crm-navigator-page .contact-filter--branch,
.crm-navigator-page .contact-filter--owner,
.crm-navigator-page .contact-filter--meeting,
.crm-navigator-page .journey-filter--search,
.crm-navigator-page .journey-filter--status,
.crm-navigator-page .journey-filter--curator {
    grid-column: span 4;
}

.crm-navigator-page .meeting-filter--search,
.crm-navigator-page .meeting-filter--status-format,
.crm-navigator-page .journey-filter--branch,
.crm-navigator-page .journey-filter--committee,
.crm-navigator-page .intro-selection-filter--wide {
    grid-column: span 6;
}

.crm-navigator-page .intro-selection-filter--third {
    grid-column: span 4;
}

.crm-navigator-page .contact-filter--toggles,
.crm-navigator-page .journey-filter--toggles {
    grid-column: span 8;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem 0.85rem;
}

.crm-navigator-page .contact-filter--actions,
.crm-navigator-page .meeting-filter--actions,
.crm-navigator-page .journey-filter--actions,
.crm-navigator-page .intro-selection-filter--actions {
    grid-column: span 4;
    display: flex;
    justify-content: flex-end;
    gap: 0.55rem;
}

.crm-navigator-page .meeting-filter--actions {
    grid-column: span 2;
}

.crm-navigator-page .meeting-filter--responsible {
    grid-column: span 4;
}

.crm-navigator-page .meeting-status-format {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.crm-navigator-page .contact-toggle,
.crm-navigator-page .journey-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 38px;
    white-space: nowrap;
}

.crm-navigator-page .navigator-chip,
.crm-navigator-page .crm-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 100%;
    padding: 0.24rem 0.58rem;
    border: 1px solid rgba(22, 99, 232, 0.14);
    border-radius: 999px;
    background: #EFF6FF;
    color: var(--opora-blue-700);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.crm-navigator-page .navigator-muted-chip {
    border-color: rgba(100, 116, 139, 0.14);
    background: #F1F5F9;
    color: var(--opora-muted);
}

.crm-navigator-page .navigator-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    min-width: 0;
}

.crm-navigator-page .crm-badge,
.crm-navigator-page .crm-table-badge {
    white-space: normal;
}

.crm-navigator-page .navigator-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.55rem;
}

.crm-navigator-page .navigator-detail-actions,
.crm-navigator-page .crm-page-actions,
.crm-navigator-page .navigator-actions-grid,
.crm-navigator-page .crm-table-row-actions,
.crm-navigator-page .contact-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    flex-wrap: wrap;
    min-width: 0;
}

.crm-navigator-page .crm-table-row-actions,
.crm-navigator-page .contact-actions {
    flex-wrap: nowrap;
    white-space: nowrap;
}

.crm-navigator-page .crm-table-row-actions .crm-btn-primary,
.crm-navigator-page .crm-table-row-actions .crm-btn-secondary,
.crm-navigator-page .crm-table-row-actions .crm-btn-danger,
.crm-navigator-page .contact-actions .crm-btn-primary,
.crm-navigator-page .contact-actions .crm-btn-secondary,
.crm-navigator-page .contact-actions .crm-btn-danger {
    min-height: 30px;
    padding: 0.3rem 0.5rem;
    font-size: 0.76rem;
}

.crm-navigator-page .contact-table .contact-actions {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    white-space: normal;
}

.crm-navigator-page .contact-table .contact-actions .crm-btn-primary,
.crm-navigator-page .contact-table .contact-actions .crm-btn-secondary,
.crm-navigator-page .contact-table .contact-actions .crm-btn-danger {
    width: 100%;
    min-width: 82px;
    justify-content: center;
}

.crm-navigator-page .navigator-actions-grid {
    display: grid;
    justify-content: stretch;
}

.crm-navigator-page .navigator-actions-grid .crm-btn-primary,
.crm-navigator-page .navigator-actions-grid .crm-btn-secondary,
.crm-navigator-page .navigator-actions-grid .crm-btn-danger,
.crm-navigator-page .navigator-actions-grid .form-select,
.crm-navigator-page .navigator-actions-grid .form-control {
    width: 100%;
}

.crm-navigator-page .navigator-surface-stack {
    display: grid;
    gap: 0.85rem;
}

.crm-navigator-page .navigator-meta-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.crm-navigator-page .navigator-meta-item {
    min-width: 0;
    padding: 0.8rem 0.9rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #F8FBFF;
}

.crm-navigator-page .navigator-meta-item--wide {
    grid-column: 1 / -1;
}

.crm-navigator-page .navigator-meta-label {
    margin-bottom: 0.3rem;
    color: var(--opora-muted);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.25;
    text-transform: uppercase;
}

.crm-navigator-page .navigator-meta-value,
.crm-navigator-page .meeting-description-value {
    color: var(--opora-text);
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.crm-navigator-page .navigator-note-card {
    min-width: 0;
    padding: 0.85rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #F8FBFF;
}

.crm-navigator-page .navigator-note-card-title,
.crm-navigator-page .navigator-note-title {
    color: var(--opora-text);
    font-size: 0.9rem;
    font-weight: 600;
}

.crm-navigator-page .crm-table-card:not(.crm-table-sticky) > .table-responsive,
.crm-navigator-page .crm-table-card:not(.crm-table-sticky) > .crm-card-body > .table-responsive {
    overflow-x: auto;
    overflow-y: visible;
}

.crm-navigator-page .crm-table-card.crm-table-sticky > .table-responsive,
.crm-navigator-page .crm-table-card.crm-table-sticky > .crm-card-body > .table-responsive {
    position: relative;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
}

.crm-navigator-page .crm-table {
    table-layout: fixed;
}

.crm-navigator-page .crm-table tbody td {
    overflow-wrap: anywhere;
}

.crm-navigator-page .crm-table thead th.crm-table-date-col,
.crm-navigator-page .crm-table tbody td.crm-table-date-col,
.crm-navigator-page .crm-table .col-date,
.crm-navigator-page .crm-table .col-time {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}

.crm-navigator-page .crm-table tbody td:first-child,
.crm-navigator-page .crm-table tbody td.crm-table-text-col,
.crm-navigator-page .crm-table tbody td.crm-table-description-col {
    text-align: left;
}

.crm-navigator-page .contact-row-alert,
.crm-navigator-page .journey-row-alert,
.crm-navigator-page .meeting-row-open {
    --bs-table-bg: #FFFBEB;
    --bs-table-hover-bg: #FEF3C7;
}

.crm-navigator-page .contact-problems {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    justify-content: center;
}

.meeting-table {
    table-layout: fixed;
    width: 100%;
    min-width: 1280px;
}

.meeting-table .col-date { width: 96px; }
.meeting-table .col-time { width: 72px; }
.meeting-table .col-invited { width: 72px; }
.meeting-table .col-confirmed { width: 72px; }
.meeting-table .col-attended { width: 72px; }
.meeting-table .col-absent { width: 76px; }
.meeting-table .col-walkin { width: 124px; }
.meeting-table .col-status { width: 124px; }
.meeting-table .col-responsible { width: 154px; }
.meeting-table .col-place { width: 236px; }
.meeting-table .col-meeting { width: 182px; }

.meeting-table .col-meeting,
.meeting-table .col-place {
    overflow-wrap: anywhere;
    text-align: left;
}

.intro-selection-toolbar {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    flex-wrap: wrap;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--opora-border);
}

.intro-selection-muted {
    color: var(--opora-muted);
    font-size: 0.84rem;
    line-height: 1.35;
}

.intro-selection-table .col-check {
    width: 52px;
}

.intro-selection-table {
    min-width: 1120px;
}

.intro-selection-table .col-date,
.intro-selection-table .col-debt {
    width: 112px;
}

.intro-selection-table .col-fio {
    text-align: left;
}

.meeting-inline-alert {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.meeting-inline-alert__title {
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
}

.meeting-inline-alert__badges,
.meeting-meta-inline-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    min-width: 0;
}

.meeting-meta-inline-row .navigator-chip {
    min-width: 0;
}

.meeting-participants-table {
    table-layout: fixed;
    min-width: 1180px;
}

.meeting-participants-table .participant-col-person { width: 15%; }
.meeting-participants-table .participant-col-status { width: 10%; }
.meeting-participants-table .participant-col-branch { width: 12%; }
.meeting-participants-table .participant-col-committees { width: 22%; }
.meeting-participants-table .participant-col-profile { width: 11%; }
.meeting-participants-table .participant-col-documents { width: 15%; }
.meeting-participants-table .participant-col-risks { width: 8%; }
.meeting-participants-table .participant-col-notes { width: 7%; }

.meeting-participants-table tbody tr:not(.participant-actions-row) td:not(:first-child) .navigator-chip-row,
.meeting-participants-table tbody tr:not(.participant-actions-row) td:not(:first-child) .d-flex {
    justify-content: center;
}

.meeting-participants-table .participant-committees-text {
    color: var(--opora-text);
    font-size: 0.86rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
    text-align: center;
}

.participant-actions-row td {
    padding-top: 0;
    border-top: 0;
}

.participant-actions-panel {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem 0.75rem;
    padding: 0.6rem 0.75rem;
    margin: -0.15rem 0 0.25rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #F8FBFF;
}

.participant-actions-panel__label {
    flex: 0 0 auto;
    color: var(--opora-muted);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.25;
    text-transform: uppercase;
    white-space: nowrap;
}

.participant-actions-panel__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
}

.participant-actions-panel__buttons form {
    margin: 0;
}

.participant-actions-panel__reschedule {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.45rem;
    align-items: center;
    flex: 0 0 auto;
    margin-left: auto;
    min-width: 0;
}

.participant-actions-panel__reschedule .form-select {
    width: min(560px, 46vw);
    min-width: 280px;
}

.participant-document-list {
    display: grid;
    gap: 0.25rem;
    min-width: 170px;
}

.participant-document-form {
    margin: 0;
}

.participant-document-item {
    display: flex;
    align-items: flex-start;
    gap: 0.35rem;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--opora-muted);
    font-size: 0.82rem;
    line-height: 1.2;
    text-align: left;
    transition: color 0.16s ease, opacity 0.16s ease, transform 0.16s ease;
}

button.participant-document-item {
    cursor: pointer;
}

button.participant-document-item:hover {
    color: var(--opora-blue-700);
}

.participant-document-item.is-selected {
    color: var(--opora-success);
    font-weight: 600;
}

.participant-document-item.is-updating {
    opacity: 0.55;
    pointer-events: none;
}

.participant-document-item.just-changed {
    transform: translateY(-1px);
}

.participant-document-item .bi {
    flex: 0 0 auto;
    margin-top: 0.05rem;
    transition: transform 0.16s ease;
}

.participant-document-item.just-changed .bi {
    transform: scale(1.14);
}

.searchable-select {
    position: relative;
}

.searchable-select__native {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.searchable-select__menu {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 30;
    max-height: 240px;
    overflow-y: auto;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.16);
}

.searchable-select__option,
.searchable-select__empty {
    width: 100%;
    padding: 0.65rem 0.8rem;
    border: 0;
    background: transparent;
    color: var(--opora-text);
    line-height: 1.25;
    text-align: left;
}

.searchable-select__option:hover,
.searchable-select__option:focus,
.searchable-select__option.is-active {
    background: #EFF6FF;
    outline: none;
}

.searchable-select__empty {
    color: var(--opora-muted);
}

.crm-navigator-event-list {
    display: grid;
    gap: 0.55rem;
}

.crm-navigator-event-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.7rem;
    align-items: start;
    padding: 0.75rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

@media (max-width: 1366px) {
    .crm-navigator-page .crm-page-header,
    .crm-navigator-page .navigator-section-body,
    .crm-navigator-page .crm-card-body,
    .crm-navigator-page .crm-form-section-body {
        padding: 0.9rem;
    }

    .crm-navigator-list-page .crm-registry-hero {
        padding: 1.1rem;
    }

    .crm-navigator-page .crm-table tbody td {
        font-size: 0.84rem;
    }

    .crm-navigator-page .crm-table-row-actions .crm-btn-primary,
    .crm-navigator-page .crm-table-row-actions .crm-btn-secondary,
    .crm-navigator-page .crm-table-row-actions .crm-btn-danger,
    .crm-navigator-page .contact-actions .crm-btn-primary,
    .crm-navigator-page .contact-actions .crm-btn-secondary,
    .crm-navigator-page .contact-actions .crm-btn-danger {
        padding-inline: 0.42rem;
        font-size: 0.72rem;
    }
}

@media (max-width: 1280px) {
    .crm-navigator-page .contact-filter-grid,
    .crm-navigator-page .meeting-filter-grid,
    .crm-navigator-page .journey-filter-grid,
    .crm-navigator-page .intro-selection-grid {
        gap: 0.65rem;
    }

    .crm-navigator-page .contact-filter--search,
    .crm-navigator-page .contact-filter--status,
    .crm-navigator-page .contact-filter--source,
    .crm-navigator-page .contact-filter--branch,
    .crm-navigator-page .contact-filter--owner,
    .crm-navigator-page .contact-filter--meeting,
    .crm-navigator-page .journey-filter--search,
    .crm-navigator-page .journey-filter--status,
    .crm-navigator-page .journey-filter--curator,
    .crm-navigator-page .meeting-filter--search,
    .crm-navigator-page .meeting-filter--status-format,
    .crm-navigator-page .meeting-filter--responsible,
    .crm-navigator-page .journey-filter--branch,
    .crm-navigator-page .journey-filter--committee,
    .crm-navigator-page .intro-selection-filter--wide,
    .crm-navigator-page .intro-selection-filter--third {
        grid-column: span 6;
    }

    .crm-navigator-page .contact-filter--toggles,
    .crm-navigator-page .journey-filter--toggles,
    .crm-navigator-page .contact-filter--actions,
    .crm-navigator-page .meeting-filter--actions,
    .crm-navigator-page .journey-filter--actions,
    .crm-navigator-page .intro-selection-filter--actions {
        grid-column: span 6;
    }
}

@media (max-width: 991.98px) {
    .crm-navigator-page .crm-page-header,
    .crm-navigator-list-page .crm-registry-hero-layout {
        display: grid;
    }

    .crm-navigator-page .contact-filter-grid > *,
    .crm-navigator-page .meeting-filter-grid > *,
    .crm-navigator-page .journey-filter-grid > *,
    .crm-navigator-page .intro-selection-grid > * {
        grid-column: 1 / -1 !important;
    }

    .crm-navigator-page .meeting-status-format {
        grid-template-columns: 1fr;
    }

    .crm-navigator-page .contact-filter--toggles,
    .crm-navigator-page .journey-filter--toggles {
        align-items: flex-start;
    }

    .participant-actions-panel {
        align-items: stretch;
    }

    .participant-actions-panel__reschedule {
        width: 100%;
        margin-left: 0;
    }

    .participant-actions-panel__reschedule .form-select {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
    }
}

/* Settings/Admin + Google Sync runtime */
.crm-settings-page,
.crm-sync-page {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.crm-settings-page > *,
.crm-sync-page > * {
    min-width: 0;
}

.crm-settings-page .crm-page-header,
.crm-sync-page .crm-page-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1.1rem 1.25rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius);
    background: #fff;
    box-shadow: var(--opora-shadow-soft);
}

.crm-settings-page .crm-page-title,
.crm-sync-page .crm-page-title,
.crm-settings-page h2,
.crm-sync-page h2,
.crm-settings-page h5,
.crm-sync-page h5 {
    font-weight: 600;
    letter-spacing: 0;
}

.crm-settings-page .crm-page-title,
.crm-sync-page .crm-page-title {
    margin: 0;
    font-size: clamp(1.25rem, 1.05rem + 0.55vw, 1.65rem);
}

.crm-settings-page .crm-page-subtitle,
.crm-sync-page .crm-page-subtitle {
    margin: 0.35rem 0 0;
    color: var(--opora-muted);
    font-size: 0.9rem;
}

.crm-settings-page .crm-registry-hero {
    margin-bottom: 0;
}

.crm-settings-page .crm-card,
.crm-settings-page .crm-table-card,
.crm-sync-page .crm-card,
.crm-sync-page .crm-table-card {
    min-width: 0;
}

.crm-settings-page .crm-card-header,
.crm-sync-page .crm-card-header,
.crm-settings-page .crm-table-card > .crm-card-header,
.crm-sync-page .crm-table-card > .crm-card-header {
    min-height: 52px;
    padding: 0.8rem 1rem;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0;
    color: var(--opora-ink);
}

.crm-settings-page .crm-card-body,
.crm-sync-page .crm-card-body {
    padding: 1rem;
}

.crm-settings-page .crm-filter-label,
.crm-sync-page .crm-filter-label {
    display: block;
    margin-bottom: 0.35rem;
    color: var(--opora-ink);
    font-size: 0.78rem;
    font-weight: 600;
}

.crm-settings-page .crm-form-hint,
.crm-sync-page .crm-form-hint {
    margin-top: 0.35rem;
    color: var(--opora-muted);
    font-size: 0.78rem;
    line-height: 1.35;
}

.crm-settings-page .form-control,
.crm-settings-page .form-select,
.crm-sync-page .form-control,
.crm-sync-page .form-select {
    min-height: 40px;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    font-size: 0.9rem;
}

.crm-settings-page textarea.form-control,
.crm-sync-page textarea.form-control {
    min-height: 96px;
}

.crm-settings-page .crm-btn-primary,
.crm-settings-page .crm-btn-secondary,
.crm-settings-page .crm-btn-danger,
.crm-sync-page .crm-btn-primary,
.crm-sync-page .crm-btn-secondary,
.crm-sync-page .crm-btn-danger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    white-space: nowrap;
}

.crm-settings-page .crm-btn-primary,
.crm-sync-page .crm-btn-primary {
    color: #fff;
}

.crm-settings-page .crm-btn-primary i,
.crm-settings-page .crm-btn-primary svg,
.crm-sync-page .crm-btn-primary i,
.crm-sync-page .crm-btn-primary svg {
    color: #fff;
}

.crm-settings-page .crm-btn-sm,
.crm-sync-page .crm-btn-sm {
    min-height: 32px;
    padding: 0.38rem 0.62rem;
    font-size: 0.78rem;
}

.crm-settings-page .crm-stat-card,
.crm-sync-page .crm-stat-card {
    min-height: 0;
    padding: 0.95rem;
}

.crm-settings-page .crm-stat-card .value,
.crm-sync-page .crm-stat-card .value {
    color: var(--opora-ink);
    font-size: 1.45rem;
    font-weight: 600;
    line-height: 1.15;
}

.crm-settings-page .crm-stat-card .label,
.crm-sync-page .crm-stat-card .label {
    color: var(--opora-muted);
    font-size: 0.78rem;
    font-weight: 600;
}

.crm-settings-page .crm-table,
.crm-sync-page .crm-table {
    min-width: 100%;
}

.crm-settings-page .crm-table thead th,
.crm-sync-page .crm-table thead th {
    text-align: center;
}

.crm-settings-page .crm-table tbody td,
.crm-sync-page .crm-table tbody td {
    vertical-align: middle;
    text-align: center;
    overflow-wrap: anywhere;
}

.crm-settings-page .crm-table tbody td:first-child,
.crm-settings-page .crm-table tbody td.crm-table-text-col,
.crm-settings-page .crm-table tbody td.crm-table-description-col,
.crm-sync-page .crm-table tbody td:first-child,
.crm-sync-page .crm-table tbody td.crm-table-text-col,
.crm-sync-page .crm-table tbody td.crm-table-description-col {
    text-align: left;
}

.crm-settings-page .crm-table tbody td.text-end,
.crm-sync-page .crm-table tbody td.text-end {
    text-align: right;
}

.crm-settings-page .crm-table-row-actions,
.crm-sync-page .crm-table-row-actions,
.crm-settings-page .crm-settings-row-actions,
.crm-sync-page .crm-settings-row-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.4rem;
    flex-wrap: nowrap;
}

.settings-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.crm-settings-hub-page .settings-card > .crm-card-header {
    justify-content: flex-start;
    gap: 0.55rem;
    text-align: left;
}

.crm-settings-hub-page .settings-card > .crm-card-header i {
    flex: 0 0 auto;
    color: var(--opora-accent);
}

.settings-card .crm-card-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    padding: 1.15rem;
}

.settings-card-text {
    margin-bottom: 0.85rem;
    color: var(--opora-muted);
    line-height: 1.45;
}

.settings-card-footer {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin-top: auto;
}

.settings-card-action {
    align-self: flex-start;
    margin-top: 0;
}

.crm-settings-hub-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.registry-summary-card,
.usage-summary-card {
    height: 100%;
}

.crm-settings-file-registry-page .registry-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 260px));
    gap: 1rem;
    align-items: stretch;
}

.crm-settings-file-registry-page .registry-summary-card {
    height: auto;
    min-height: 96px;
}

.crm-settings-file-registry-page .registry-object-breakdown-card > .crm-card-body {
    padding: 0.9rem 1rem;
}

.crm-settings-file-registry-page .registry-object-breakdown-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.5rem 0.85rem;
}

.crm-settings-file-registry-page .registry-object-breakdown-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    min-height: 34px;
    padding: 0.35rem 0.55rem;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: var(--opora-radius-sm);
    background: #F8FAFC;
}

.crm-settings-file-registry-page .registry-object-breakdown-item strong {
    color: var(--opora-ink);
    font-weight: 600;
}

.registry-summary-value,
.usage-summary-value {
    color: var(--opora-ink);
    font-size: 1.45rem;
    font-weight: 600;
    line-height: 1.2;
}

.registry-filename,
.usage-filename,
.crm-strong {
    font-weight: 600;
}

.registry-muted,
.usage-muted {
    color: var(--opora-muted);
    font-size: 0.82rem;
}

.registry-quick-filters,
.registry-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.registry-quick-filter {
    border-radius: var(--opora-radius-sm);
}

.crm-settings-file-registry-page .registry-actions-column {
    width: 1%;
    white-space: nowrap;
}

.crm-settings-file-registry-page .registry-file-actions-wrapper {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.35rem;
}

.crm-settings-file-registry-page .registry-file-actions {
    justify-content: flex-end;
}

.crm-settings-file-registry-page .registry-file-delete-form {
    display: flex;
    justify-content: flex-end;
    gap: 0.25rem;
    margin: 0;
    flex-wrap: nowrap;
}

.crm-settings-file-registry-page .registry-file-delete-form .crm-settings-action-reason {
    width: 8.5rem;
    min-width: 7.5rem;
}

.crm-settings-file-registry-page .crm-table-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 991.98px) {
    .crm-settings-file-registry-page .registry-summary-grid {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }
}

@media (max-width: 575.98px) {
    .crm-settings-file-registry-page .registry-summary-grid {
        grid-template-columns: 1fr;
    }

    .crm-settings-file-registry-page .registry-object-breakdown-grid {
        grid-template-columns: 1fr;
    }

    .crm-settings-file-registry-page .registry-file-delete-form {
        flex-wrap: wrap;
    }

    .crm-settings-file-registry-page .registry-file-delete-form .crm-settings-action-reason {
        width: min(100%, 12rem);
    }
}

.registry-empty-state {
    max-width: 34rem;
    margin: 0 auto;
}

.audit-summary {
    min-width: 260px;
    max-width: 520px;
}

.audit-details summary {
    cursor: pointer;
    white-space: nowrap;
}

.audit-details-panel {
    min-width: 360px;
    max-width: 620px;
    margin-top: 8px;
    padding: 12px;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: var(--opora-surface-soft);
}

.audit-detail-grid {
    display: grid;
    grid-template-columns: minmax(120px, 0.35fr) minmax(160px, 1fr);
    gap: 7px 12px;
    font-size: 0.875rem;
}

.audit-detail-label {
    color: var(--opora-muted);
}

.audit-detail-value {
    overflow-wrap: anywhere;
}

.audit-risk-badges {
    min-width: 120px;
}

.server-status-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    padding: 8px 0;
}

.server-status-row:last-child {
    border-bottom: 0;
}

.server-status-row code {
    max-width: 60%;
    overflow-wrap: anywhere;
    text-align: right;
}

.crm-settings-progress-thin {
    height: 10px;
}

.crm-settings-progress-bar-zero {
    width: 0;
}

.crm-settings-disk-progress-bar {
    min-width: 2.5rem;
}

.branch-pick-list {
    display: grid;
    gap: 0.5rem;
    max-height: 60vh;
    overflow: auto;
    padding-right: 0.25rem;
}

.branch-pick-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.branch-pick-item:hover {
    border-color: #8fb3ff;
    box-shadow: 0 4px 16px rgba(31, 65, 145, 0.08);
    background: var(--opora-surface-soft);
}

.branch-pick-item.is-selected {
    border-color: var(--opora-primary);
    background: #eef5ff;
}

.branch-pick-item input {
    margin-top: 0;
}

.branch-pick-name {
    flex: 1 1 auto;
    font-weight: 600;
}

.branch-pick-group {
    color: var(--opora-muted);
    font-size: 0.86rem;
}

.crm-settings-action-reason {
    max-width: 14rem;
}

.crm-settings-region-doc-col {
    max-width: 260px;
}

.crm-settings-width-50 {
    width: 50px;
}

.crm-settings-width-80 {
    width: 80px;
}

.crm-document-status-badge-primary,
.crm-document-status-badge-info {
    color: #075985;
    border-color: #bae6fd;
    background: #e0f2fe;
}

.crm-document-status-badge-success {
    color: #166534;
    border-color: #bbf7d0;
    background: #dcfce7;
}

.crm-document-status-badge-warning {
    color: #92400e;
    border-color: #fde68a;
    background: #fef3c7;
}

.crm-document-status-badge-danger {
    color: #991b1b;
    border-color: #fecaca;
    background: #fee2e2;
}

.crm-document-status-badge-secondary,
.crm-document-status-badge-light {
    color: #475569;
    border-color: #dbe4f0;
    background: #f8fafc;
}

.finance-preview-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
    max-width: 100%;
    margin-top: 0.35rem;
}

.finance-preview-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 100%;
    padding: 0.22rem 0.55rem;
    border: 1px solid #d8e2f1;
    border-radius: var(--opora-radius-sm);
    background: #f8fbff;
    color: #264067;
    font-size: 0.73rem;
    line-height: 1.2;
    white-space: nowrap;
}

.finance-preview-pill .finance-preview-year {
    color: #132238;
    font-weight: 600;
}

.finance-preview-pill.membership {
    border-color: #ffd7d7;
    background: #fff5f5;
}

.finance-preview-pill.property {
    border-color: #cbe0ff;
    background: #f1f8ff;
}

.finance-preview-pill .finance-preview-metric {
    color: #51627a;
}

@media (max-width: 1366px) {
    .crm-settings-page,
    .crm-sync-page {
        gap: 0.8rem;
    }

    .crm-settings-page .crm-page-header,
    .crm-sync-page .crm-page-header,
    .crm-settings-page .crm-card-body,
    .crm-sync-page .crm-card-body {
        padding: 0.9rem;
    }

    .crm-settings-hub-grid {
        gap: 0.75rem;
    }
}

@media (max-width: 1280px) {
    .crm-settings-hub-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-settings-page .crm-table tbody td,
    .crm-sync-page .crm-table tbody td {
        font-size: 0.84rem;
    }
}

@media (max-width: 991.98px) {
    .crm-settings-page .crm-page-header,
    .crm-sync-page .crm-page-header {
        display: grid;
    }

    .crm-settings-hub-grid {
        grid-template-columns: 1fr;
    }

    .server-status-row {
        display: block;
    }

    .server-status-row code {
        display: block;
        max-width: 100%;
        margin-top: 4px;
        text-align: left;
    }

    .audit-details-panel {
        min-width: 260px;
    }

    .audit-detail-grid {
        grid-template-columns: 1fr;
    }
}

/* Bitrix Integration runtime */
.crm-bitrix-page {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.crm-bitrix-page > * {
    min-width: 0;
}

.crm-bitrix-page .crm-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1.1rem 1.25rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius);
    background: #fff;
    box-shadow: var(--opora-shadow-soft);
}

.crm-bitrix-page h1,
.crm-bitrix-page h2,
.crm-bitrix-page h5,
.crm-bitrix-page h6,
.crm-bitrix-page .crm-card-header,
.crm-bitrix-page .crm-section-title {
    font-weight: 600;
    letter-spacing: 0;
}

.crm-bitrix-page .crm-page-title,
.crm-bitrix-page h1,
.crm-bitrix-page h2 {
    margin: 0;
    font-size: clamp(1.25rem, 1.05rem + 0.55vw, 1.65rem);
    line-height: 1.18;
}

.crm-bitrix-page .crm-page-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
    flex-wrap: wrap;
    min-width: 0;
}

.crm-bitrix-page .crm-page-header p {
    color: var(--opora-muted);
    font-size: 0.9rem;
}

.crm-bitrix-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    min-width: 0;
}

.crm-bitrix-page .crm-btn-primary,
.crm-bitrix-page .crm-btn-secondary,
.crm-bitrix-page .crm-btn-danger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    white-space: nowrap;
}

.crm-bitrix-page .crm-btn-primary,
.crm-bitrix-page .crm-btn-primary i,
.crm-bitrix-page .crm-btn-primary svg {
    color: #fff;
}

.crm-bitrix-page .crm-btn-sm {
    min-height: 32px;
    padding: 0.38rem 0.62rem;
    font-size: 0.78rem;
}

.crm-bitrix-page .crm-card,
.crm-bitrix-page .crm-filter-card,
.crm-bitrix-page .crm-table-card,
.crm-bitrix-page .crm-stat-card {
    min-width: 0;
}

.crm-bitrix-inner-table {
    overflow: hidden;
    border-radius: var(--opora-radius-sm);
    box-shadow: none;
}

.crm-bitrix-page .crm-card-header,
.crm-bitrix-page .crm-filter-card > .crm-card-header,
.crm-bitrix-page .crm-table-card > .crm-card-header {
    min-height: 50px;
    padding: 0.8rem 1rem;
    color: var(--opora-ink);
    font-size: 0.95rem;
}

.crm-bitrix-page .crm-card-body,
.crm-bitrix-page .crm-filter-card .crm-card-body {
    padding: 1rem;
}

.bitrix-filter-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr)) auto;
    gap: 0.75rem;
    align-items: end;
    min-width: 0;
}

.bitrix-filter-form.bitrix-filter-form-compact {
    grid-template-columns: minmax(220px, 1fr) auto;
}

.bitrix-filter-item {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}

.bitrix-filter-item.bitrix-filter-wide {
    grid-column: span 2;
}

.bitrix-filter-item .crm-filter-label {
    margin: 0;
}

.bitrix-filter-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    flex-wrap: nowrap;
    min-width: max-content;
}

.crm-bitrix-page .form-control,
.crm-bitrix-page .form-select {
    min-height: 40px;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    font-size: 0.9rem;
}

.crm-bitrix-page .form-control-sm,
.crm-bitrix-page .form-select-sm {
    min-height: 36px;
    font-size: 0.84rem;
}

.crm-bitrix-page .crm-stat-card {
    min-height: 0;
    padding: 0.95rem;
}

.crm-bitrix-page .crm-stat-card .value {
    color: var(--opora-ink);
    font-size: 1.45rem;
    font-weight: 600;
    line-height: 1.15;
}

.crm-bitrix-page .crm-stat-card .label {
    color: var(--opora-muted);
    font-size: 0.78rem;
    font-weight: 600;
}

.crm-bitrix-page .crm-table {
    min-width: 100%;
}

.crm-bitrix-page .crm-table thead th {
    text-align: center;
}

.crm-bitrix-page .crm-table tbody td {
    vertical-align: middle;
    text-align: center;
    overflow-wrap: anywhere;
}

.crm-bitrix-page .crm-table tbody td:first-child,
.crm-bitrix-page .crm-table tbody td.crm-table-text-col,
.crm-bitrix-page .crm-table tbody td.crm-table-description-col {
    text-align: left;
}

.crm-bitrix-page .crm-table tbody td.text-end,
.crm-bitrix-page .crm-table tbody td.crm-table-action-col {
    text-align: right;
}

.crm-bitrix-page .crm-table-row-actions,
.crm-bitrix-actions-row {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    flex-wrap: nowrap;
}

.crm-bitrix-empty {
    padding: 2rem 1rem;
}

.crm-bitrix-id-input {
    width: 120px;
}

.crm-bitrix-check-col {
    width: 40px;
}

.crm-bitrix-select-col {
    width: 48px;
}

.crm-bitrix-action-col {
    width: 220px;
}

.crm-bitrix-field-col {
    width: 15%;
}

.crm-bitrix-value-col {
    width: 25%;
}

.crm-bitrix-status-col {
    width: 10%;
}

.crm-bitrix-comparison-actions {
    max-width: 250px;
}

.crm-bitrix-icon-btn {
    width: 30px;
    min-width: 30px;
    min-height: 30px;
    padding: 0;
}

.crm-bitrix-action-strip {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
    padding: 0.7rem 0.9rem;
    border-bottom: 1px solid var(--opora-border);
    background: #f8fbff;
}

.crm-bitrix-debug-summary {
    cursor: pointer;
    opacity: 0.68;
}

.crm-bitrix-debug-pre {
    max-height: 300px;
    overflow-y: auto;
}

.recent-runs-wrap {
    display: grid;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.recent-runs-title {
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.9rem;
    font-weight: 600;
}

.recent-runs-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.recent-run-item {
    display: inline-flex;
    align-items: stretch;
    gap: 0.35rem;
}

.recent-run-card {
    display: inline-flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 170px;
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    color: #334155;
    text-decoration: none;
    box-shadow: var(--opora-shadow-soft);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.recent-run-card:hover {
    border-color: var(--opora-primary);
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.12);
    transform: translateY(-1px);
    color: #1f2937;
}

.recent-run-card-current {
    border-color: var(--opora-primary);
    background: #f8fbff;
}

.recent-run-card-top {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--opora-ink);
    font-size: 0.92rem;
    font-weight: 600;
}

.recent-run-card-meta {
    color: var(--opora-muted);
    font-size: 0.84rem;
}

.recent-run-delete-form {
    display: flex;
}

.recent-run-delete-btn {
    align-self: stretch;
    padding-inline: 0.6rem;
}

.run-header-meta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.35rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid rgba(37, 99, 235, 0.12);
    border-radius: var(--opora-radius-sm);
    background: #edf5ff;
    color: #1d4ed8;
    font-size: 0.86rem;
    font-weight: 600;
}

@media (max-width: 1366px) {
    .crm-bitrix-page {
        gap: 0.8rem;
    }

    .crm-bitrix-page .crm-page-header,
    .crm-bitrix-page .crm-card-body,
    .crm-bitrix-page .crm-filter-card .crm-card-body {
        padding: 0.9rem;
    }

    .bitrix-filter-form {
        grid-template-columns: repeat(3, minmax(150px, 1fr));
    }

    .bitrix-filter-item.bitrix-filter-wide {
        grid-column: span 1;
    }

    .bitrix-filter-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 991.98px) {
    .crm-bitrix-page .crm-page-header,
    .bitrix-filter-form,
    .bitrix-filter-form.bitrix-filter-form-compact {
        display: grid;
        grid-template-columns: 1fr;
    }

    .bitrix-filter-actions,
    .crm-bitrix-actions-row {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

.crm-outreach-page .crm-related-block-main,
.crm-outreach-page .crm-related-block-actions {
    min-width: 0;
}

.crm-outreach-page .crm-related-block-actions {
    display: inline-flex;
    gap: 0.45rem;
    align-items: center;
    justify-content: flex-end;
}

.crm-outreach-page .crm-detail-summary-grid .crm-stat-card {
    min-height: 0;
    display: grid;
    grid-template-areas:
        "icon label"
        "value value"
        "delta delta";
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 0.35rem 0.55rem;
    align-items: center;
    padding: 0.75rem 0.85rem;
    border-radius: var(--opora-radius-sm);
}

.crm-outreach-page .crm-detail-summary-grid .crm-stat-icon {
    grid-area: icon;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    font-size: 0.95rem;
}

.crm-outreach-page .crm-detail-summary-grid .crm-stat-label {
    grid-area: label;
    margin: 0;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.2;
}

.crm-outreach-page .crm-detail-summary-grid .crm-stat-value {
    grid-area: value;
    margin: 0.1rem 0 0;
    font-size: 1.28rem;
    font-weight: 600;
    line-height: 1.05;
}

.crm-outreach-page .crm-detail-summary-grid .crm-stat-delta {
    grid-area: delta;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin: 0;
    font-size: 0.74rem;
    line-height: 1.25;
}

.crm-max-page .max-page-header,
.crm-max-page .audience-page-header {
    margin-bottom: 0;
}

.crm-max-page .crm-page-header h2 {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0;
    color: var(--opora-text);
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: 0;
}

.crm-max-page .crm-page-header h2 i {
    color: var(--opora-teal-700);
    font-size: 1.18rem;
}

.crm-max-page .max-page-actions,
.crm-max-page .audience-page-actions {
    row-gap: 0.5rem;
}

.crm-max-page .max-page-actions .crm-btn,
.crm-max-page .audience-page-actions .crm-btn,
.crm-max-page .max-filter-form .crm-btn,
.crm-max-page .max-form-actions .crm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
}

.crm-max-page .max-card.max-overflow-visible,
.crm-max-page .max-card.max-overflow-visible .crm-card-body,
.crm-max-page .audience-builder-card {
    overflow: visible;
}

.crm-max-page .max-filter-form,
.crm-max-page .max-form-grid {
    row-gap: 0.85rem;
}

.crm-max-page .max-field .form-label,
.crm-max-page .max-filter-form .form-label,
.crm-max-page .audience-field .form-label,
.crm-max-page .audience-action-panel .form-label,
.crm-max-page form > .row label,
.crm-max-page form .row label {
    margin-bottom: 0.35rem;
    color: #526176;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.25;
}

.crm-max-page .max-filter-form .crm-btn,
.crm-max-page .max-form-actions .crm-btn,
.crm-max-page .audience-action-panel .form-select,
.crm-max-page .audience-action-panel .form-control,
.crm-max-page .audience-action-panel .crm-btn {
    min-height: 38px;
}

.crm-max-page .max-filter-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

.crm-max-page .max-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--opora-border);
}

.crm-max-page .max-muted-label {
    margin-bottom: 0.35rem;
    color: #526176;
    font-size: 0.8rem;
    font-weight: 600;
}

.crm-max-page .max-detail-card {
    padding: 1rem 1.1rem;
}

.crm-max-page .max-message-item {
    padding: 1rem 1.25rem;
}

.crm-max-page .max-message-box,
.crm-max-page .max-soft-box {
    padding: 0.8rem 0.9rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #FBFCFE;
}

.crm-max-page .max-soft-box-scroll {
    max-height: 360px;
    overflow-y: auto;
}

.crm-max-page .max-variable-list code {
    display: inline-flex;
    padding: 0.24rem 0.45rem;
    border-radius: 6px;
    background: #F3F6FB;
}

.crm-max-page .max-import-divider {
    margin: 1rem 0;
}

.crm-max-page .max-live-search {
    position: relative;
}

.crm-max-page .max-live-search-results {
    position: absolute;
    z-index: 1300;
    top: calc(100% + 0.25rem);
    right: 0;
    left: 0;
    max-height: 280px;
    overflow-y: auto;
    border: 1px solid #D9E2EF;
    border-radius: var(--opora-radius-sm);
    background: #fff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16);
}

.crm-max-page .max-live-search-option {
    display: block;
    width: 100%;
    padding: 0.65rem 0.8rem;
    border: 0;
    border-bottom: 1px solid #EDF1F7;
    background: #fff;
    color: var(--opora-text);
    text-align: left;
}

.crm-max-page .max-live-search-option:last-child {
    border-bottom: 0;
}

.crm-max-page .max-live-search-option:hover,
.crm-max-page .max-live-search-option:focus {
    background: #F5F8FF;
    outline: none;
}

.crm-max-page .max-live-search-option-title {
    display: block;
    font-weight: 600;
}

.crm-max-page .max-live-search-option-subtitle,
.crm-max-page .max-live-search-empty {
    display: block;
    color: var(--opora-muted);
    font-size: 0.82rem;
}

.crm-max-page .max-live-search-empty {
    padding: 0.7rem 0.8rem;
}

.crm-max-page .max-work-route-hint {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(22, 99, 232, 0.18);
    border-radius: var(--opora-radius-sm);
    background: #EFF6FF;
    color: #1E3A8A;
    font-size: 0.92rem;
    line-height: 1.4;
}

.crm-max-page .max-work-route-hint-text {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
}

.crm-max-page .max-work-route-hint i {
    flex: 0 0 auto;
    color: var(--opora-blue-700);
    font-size: 1rem;
}

.crm-max-page .max-work-route-hint-action {
    flex: 0 0 auto;
}

.crm-max-page .max-work-scenario-stack {
    display: grid;
    gap: 1rem;
}

.crm-max-page .max-work-section {
    display: grid;
    gap: 0.8rem;
    padding: 1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: var(--opora-shadow-soft);
}

.crm-max-page .max-work-section-header {
    display: grid;
    gap: 0.25rem;
}

.crm-max-page .max-work-section-title {
    margin: 0;
    color: var(--opora-text);
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.25;
}

.crm-max-page .max-work-section-description {
    max-width: 820px;
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.9rem;
    line-height: 1.42;
}

.crm-max-page .max-work-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 0.8rem;
}

.crm-max-page .max-work-card {
    min-height: 172px;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-soft);
}

.crm-max-page .max-work-card-head {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.crm-max-page .max-work-card-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #EAF1FF;
    color: var(--opora-blue-700);
    font-size: 1.05rem;
}

.crm-max-page .max-work-card-title {
    min-width: 0;
    margin: 0;
    color: var(--opora-text);
    font-size: 0.96rem;
    font-weight: 600;
    line-height: 1.25;
}

.crm-max-page .max-work-card-description {
    flex: 1 1 auto;
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.86rem;
    line-height: 1.38;
}

.crm-max-page .max-instructions-hero {
    display: grid;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(22, 99, 232, 0.18);
    border-radius: var(--opora-radius-md);
    background: #F8FBFF;
    box-shadow: var(--opora-shadow-soft);
}

.crm-max-page .max-instructions-hero h3,
.crm-max-page .max-instructions-alert h3 {
    margin: 0 0 0.45rem;
    color: var(--opora-text);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.25;
}

.crm-max-page .max-instructions-hero p,
.crm-max-page .max-instructions-alert p {
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.92rem;
    line-height: 1.5;
}

.crm-max-page .max-instructions-formula,
.crm-max-page .max-instructions-flow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
}

.crm-max-page .max-instructions-step {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0.42rem 0.65rem;
    border: 1px solid rgba(22, 99, 232, 0.18);
    border-radius: var(--opora-radius-sm);
    background: var(--opora-surface);
    color: #1E3A8A;
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.25;
    text-align: left;
    text-decoration: none;
    transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}

.crm-max-page a.max-instructions-step:hover,
.crm-max-page a.max-instructions-step:focus {
    border-color: rgba(22, 99, 232, 0.35);
    background: #EAF1FF;
    color: var(--opora-blue-700);
    text-decoration: none;
}

.crm-max-page .max-instructions-formula i,
.crm-max-page .max-instructions-flow i {
    color: var(--opora-blue-700);
    font-size: 0.9rem;
}

.crm-max-page .max-instructions-grid,
.crm-max-page .max-instructions-module-grid,
.crm-max-page .max-instructions-scenario-grid {
    display: grid;
    gap: 1rem;
}

.crm-max-page .max-instructions-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.crm-max-page .max-instructions-section {
    min-width: 0;
}

.crm-max-page .max-instructions-module-grid,
.crm-max-page .max-instructions-scenario-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.crm-max-page .max-instructions-module,
.crm-max-page .max-instructions-scenario {
    min-width: 0;
    padding: 0.9rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: var(--opora-surface);
}

.crm-max-page .max-instructions-module h4,
.crm-max-page .max-instructions-scenario h4 {
    margin: 0 0 0.6rem;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
}

.crm-max-page .max-instructions-module-title-link {
    color: var(--opora-text);
    text-decoration: none;
    transition: color 0.18s ease;
}

.crm-max-page .max-instructions-module-title-link:hover,
.crm-max-page .max-instructions-module-title-link:focus {
    color: var(--opora-blue-700);
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.crm-max-page .max-instructions-module ul,
.crm-max-page .max-instructions-scenario ol {
    margin: 0;
    padding-left: 1.1rem;
    color: #344761;
    font-size: 0.88rem;
    line-height: 1.45;
}

.crm-max-page .max-instructions-module li + li,
.crm-max-page .max-instructions-scenario li + li {
    margin-top: 0.3rem;
}

.crm-max-page .max-instructions-alert {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    padding: 1rem;
    border: 1px solid rgba(180, 83, 9, 0.22);
    border-radius: var(--opora-radius-md);
    background: #FFF7ED;
    box-shadow: var(--opora-shadow-soft);
}

.crm-max-page .max-instructions-alert > i {
    flex: 0 0 auto;
    color: #B45309;
    font-size: 1.1rem;
}

.crm-max-page .max-instructions-table-card .crm-card-header h3 {
    font-size: 1rem;
    font-weight: 600;
}

.crm-max-page .max-instructions-table td:last-child {
    font-weight: 600;
}

.crm-max-page .max-instructions-destination-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.25rem;
}

.crm-max-page .max-instructions-table-link {
    color: var(--opora-blue-700);
    text-decoration: none;
}

.crm-max-page .max-instructions-table-link:hover,
.crm-max-page .max-instructions-table-link:focus {
    color: var(--opora-blue-800);
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.crm-max-page .max-instructions-destination-separator {
    color: var(--opora-muted);
}

.crm-max-page .max-instructions-link-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.crm-max-page .max-instructions-link-grid .crm-btn {
    min-height: 38px;
}

.crm-max-page .audience-form-section + .audience-form-section {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--opora-border);
}

.crm-max-page .audience-section-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.85rem;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
}

.crm-max-page .audience-actions {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--opora-border);
}

.crm-max-page .audience-stat-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.6rem;
    border: 1px solid rgba(22, 99, 232, 0.18);
    border-radius: var(--opora-radius-sm);
    background: #EEF4FF;
    color: var(--opora-blue-700);
    font-size: 0.82rem;
    font-weight: 600;
    white-space: nowrap;
}

.crm-max-page .audience-person-section {
    margin-top: 0.12rem;
    color: #7A8699;
    font-size: 0.68rem;
    line-height: 1.15;
}

.crm-max-page .audience-next-actions {
    background: #FBFCFE;
}

.crm-max-page .audience-action-panel {
    height: 100%;
    padding: 1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.crm-max-page .audience-action-heading {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.8rem;
}

.crm-max-page .audience-action-subtitle {
    color: #526176;
    font-size: 0.78rem;
    font-weight: 600;
}

.crm-max-page .audience-action-block + .audience-action-block {
    margin-top: 0.95rem;
    padding-top: 0.95rem;
    border-top: 1px solid #EDF1F6;
}

.crm-max-page .audience-action-button {
    min-width: 148px;
}

.crm-max-page .audience-empty-state {
    padding: 3rem 1rem;
}

.crm-max-page .audience-empty-icon {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.9rem;
    border-radius: 12px;
    background: #EEF4FF;
    color: var(--opora-blue-700);
    font-size: 1.45rem;
}

.crm-max-page .crm-table .crm-table-description {
    min-width: 220px;
}

.crm-max-page .crm-table-checkbox-col {
    width: 44px;
    min-width: 44px;
    text-align: center;
}

.crm-max-page.messenger-campaign-page .campaign-kpi-card .crm-card-body {
    padding: 1rem 1.1rem;
}

.crm-max-page.messenger-campaign-page .campaign-action-row {
    gap: 0.65rem;
}

.crm-max-page.messenger-campaign-page .campaign-recipient-filters {
    row-gap: 0.9rem;
}

.crm-max-page.messenger-campaign-page .campaign-recipient-checkboxes {
    gap: 0.85rem 1rem;
}

.crm-max-page .campaign-form-section {
    padding: 1.1rem 0;
    border-top: 1px solid var(--opora-border);
}

.crm-max-page .campaign-form-section:first-of-type {
    padding-top: 0;
    border-top: 0;
}

.crm-max-page .campaign-section-title {
    margin-bottom: 0.85rem;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
}

.crm-max-page .campaign-source-panel {
    padding: 1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: #F8FBFF;
}

.crm-max-page .campaign-source-panel[hidden] {
    display: none !important;
}

.crm-max-page .campaign-manual-picker {
    display: grid;
    gap: 0.65rem;
}

.crm-max-page .campaign-manual-picker select {
    min-height: 15rem;
}

.crm-max-page .campaign-form-actions {
    padding-top: 1rem;
    border-top: 1px solid var(--opora-border);
}

@media (max-width: 767.98px) {
    .crm-max-page .max-work-route-hint,
    .crm-max-page .max-work-section,
    .crm-max-page .max-instructions-hero,
    .crm-max-page .max-instructions-alert {
        padding: 0.85rem;
    }

    .crm-max-page .max-work-route-hint {
        flex-direction: column;
        align-items: stretch;
    }

    .crm-max-page .max-work-route-hint-action {
        width: 100%;
    }

    .crm-max-page .max-instructions-grid {
        grid-template-columns: 1fr;
    }

    .crm-max-page .max-instructions-flow {
        align-items: stretch;
    }

    .crm-max-page .max-instructions-flow .max-instructions-step {
        flex: 1 1 100%;
    }

    .crm-max-page .max-instructions-flow i {
        transform: rotate(90deg);
    }

    .crm-max-page .max-page-actions,
    .crm-max-page .audience-page-actions {
        width: 100%;
    }

    .crm-max-page .max-page-actions .crm-btn,
    .crm-max-page .audience-page-actions .crm-btn {
        flex: 1 1 180px;
    }

    .crm-max-page .max-filter-actions {
        justify-content: stretch;
    }

    .crm-max-page .max-filter-actions .crm-btn {
        width: 100%;
    }

    .crm-max-page .campaign-source-panel {
        padding: 0.85rem;
    }
}

.outreach-assignment-main,
.outreach-assignment-people-card,
.outreach-anchor-target {
    min-width: 0;
}

.outreach-anchor-target {
    scroll-margin-top: 84px;
}

.outreach-assignment-people-card .table-responsive {
    overflow-x: auto;
}

.outreach-assignment-people-table {
    table-layout: fixed;
    width: 100%;
}

.outreach-field-detail-row {
    align-items: center;
}

.outreach-field-detail-row .crm-detail-label {
    align-self: center;
}

.outreach-field-detail-value {
    align-self: center;
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 0.55rem;
    align-items: center;
}

.outreach-field-detail-main {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.outreach-field-detail-actions {
    justify-self: end;
}

.outreach-assignment-people-table th,
.outreach-assignment-people-table td {
    overflow-wrap: anywhere;
    white-space: normal;
}

.outreach-assignment-checkbox-col {
    width: 44px;
}

.outreach-assignment-person-col {
    width: 18%;
}

.outreach-assignment-contact-col {
    width: 18%;
}

.outreach-assignment-source-col {
    width: 15%;
}

.outreach-assignment-operator-col {
    width: 13%;
}

.outreach-assignment-status-col {
    width: 12%;
}

.outreach-assignment-next-call-col {
    width: 12%;
}

.outreach-assignment-action-col {
    width: 96px;
    white-space: nowrap;
}

.outreach-assignment-form-card {
    overflow: hidden;
}

.outreach-assignment-form-card .crm-card-body {
    padding: 1.05rem;
}

.outreach-form-stack {
    display: grid;
    gap: 1rem;
}

.outreach-form-top-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.82fr);
    gap: 1rem;
    align-items: start;
}

.outreach-form-section {
    display: grid;
    gap: 0.75rem;
    min-width: 0;
}

.outreach-section-title {
    margin: 0;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0;
}

.outreach-subsection-title {
    font-size: 0.95rem;
}

.outreach-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    align-items: stretch;
}

.outreach-field-grid.three {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.9fr) minmax(0, 0.9fr);
}

.outreach-field-grid.four {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 0.9fr) minmax(0, 0.9fr);
}

.outreach-field-grid.template {
    grid-template-columns: 1fr;
}

.outreach-field,
.outreach-custom-list-field {
    min-width: 0;
}

.outreach-field .form-label {
    margin-bottom: 0.28rem;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0;
}

.outreach-assignment-form-card textarea.form-control {
    min-height: 88px;
}

.outreach-side-stack {
    display: grid;
    gap: 1rem;
}

.outreach-team-grid {
    display: grid;
    gap: 0.75rem;
}

.outreach-inline-help {
    color: var(--opora-muted);
    font-size: 0.82rem;
    line-height: 1.35;
}

.outreach-form-divider {
    border-top: 1px solid var(--opora-border);
    padding-top: 1rem;
}

.outreach-custom-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 190px;
    gap: 0.75rem;
    align-items: end;
}

.outreach-selected-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 0.8rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #F8FBFF;
}

.outreach-selected-count {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    white-space: nowrap;
}

.outreach-selected-count strong {
    color: var(--opora-text);
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1;
}

.outreach-custom-list-field textarea.form-control {
    min-height: 110px;
}

.outreach-picker-filter-shell .crm-card-body {
    padding: 1rem;
}

.outreach-picker-filter-grid {
    row-gap: 0.85rem;
}

.outreach-picker-advanced-toggle {
    width: 42px;
    min-width: 42px;
}

.outreach-picker-advanced-toggle .bi {
    transition: transform .15s ease;
}

.outreach-picker-advanced-toggle[aria-expanded="true"] .bi {
    transform: rotate(180deg);
}

.outreach-picker-advanced-row {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--opora-border);
}

.outreach-picker-advanced-line {
    display: flex;
    align-items: flex-end;
    gap: 0.75rem;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 0.15rem;
}

.outreach-picker-advanced-item {
    flex: 0 0 180px;
}

.outreach-picker-advanced-item.is-sort {
    flex-basis: 155px;
}

.outreach-picker-advanced-item.is-notes {
    flex-basis: 165px;
}

.outreach-picker-advanced-item.is-protocol,
.outreach-picker-advanced-item.is-document {
    flex-basis: 190px;
}

.outreach-picker-advanced-item.is-without-protocol {
    flex-basis: 145px;
}

.outreach-picker-table tbody td.col-fio,
.outreach-picker-table tbody td.col-contacts {
    text-align: left;
}

.outreach-picker-table .inline-contact-list {
    justify-content: flex-start;
}

.outreach-picker-table .sortable-heading {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
}

.outreach-picker-table .sortable-heading.is-active {
    color: var(--opora-blue-700);
}

.outreach-checkbox-list {
    max-height: 150px;
    overflow: auto;
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.outreach-checkbox-list .form-check {
    margin-bottom: 0.35rem;
}

.outreach-checkbox-list .form-check:last-child {
    margin-bottom: 0;
}

.outreach-template-actions {
    display: grid;
    gap: 0.85rem;
}

.outreach-template-action-panel,
.outreach-assignment-toolbar {
    display: grid;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.85rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #F8FAFC;
}

.outreach-template-action-title {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--opora-ink);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.25;
}

.outreach-template-action-title i {
    color: var(--opora-accent);
}

.outreach-template-action-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 0.7rem;
}

.outreach-template-save-grid {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.outreach-template-action-panel .crm-field-card,
.outreach-operator-field {
    min-height: auto;
    padding: 0.72rem;
    background: #fff;
}

.outreach-template-description-field textarea {
    min-height: 42px;
}

.outreach-template-action-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.outreach-template-action-footer .btn,
.outreach-assignment-toolbar .btn {
    min-height: 38px;
}

.outreach-assignment-toolbar {
    grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.6fr);
    align-items: center;
    margin-bottom: 0.85rem;
}

.outreach-assignment-toolbar-text {
    min-width: 0;
}

.outreach-assignment-toolbar-controls {
    display: grid;
    grid-template-columns: minmax(180px, 220px) minmax(170px, max-content) max-content;
    gap: 0.65rem;
    align-items: end;
    justify-content: end;
    min-width: 0;
}

.outreach-operator-field {
    display: grid;
    gap: 0.35rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
}

.outreach-operator-field .form-label {
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.76rem;
    font-weight: 600;
}

.outreach-overwrite-check {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 38px;
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.2;
}

.outreach-picker-header-actions,
.outreach-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.outreach-review-proposal {
    padding: 1rem 1.1rem;
    border-bottom: 1px solid var(--opora-border);
}

.outreach-review-proposal:last-child {
    border-bottom: 0;
}

.outreach-review-proposal-grid {
    display: grid;
    grid-template-columns: minmax(180px, 0.8fr) minmax(0, 1fr) minmax(0, 1fr) minmax(140px, 0.6fr);
    gap: 1rem;
    align-items: start;
}

.outreach-review-proposal-label {
    margin-bottom: 0.25rem;
    color: var(--opora-muted);
    font-size: 0.78rem;
    font-weight: 600;
}

.outreach-review-proposal-value {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.outreach-review-decision-form {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto auto auto;
    gap: 0.75rem;
    align-items: center;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px dashed rgba(15, 23, 42, 0.16);
}

.outreach-review-comment-input {
    min-width: 260px;
}

.outreach-review-clear-check {
    min-width: 180px;
}

@media (max-width: 1399.98px) {
    .outreach-assignment-people-table {
        min-width: 980px;
    }
}

@media (max-width: 1199.98px) {
    .outreach-form-top-grid,
    .outreach-field-grid.three,
    .outreach-field-grid.four,
    .outreach-field-grid.template,
    .outreach-custom-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .outreach-review-proposal-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767.98px) {
    .outreach-field-grid,
    .outreach-team-grid {
        grid-template-columns: 1fr;
    }

    .outreach-assignment-form-card .crm-card-body {
        padding: 1rem;
    }
}

@media (max-width: 575.98px) {
    .outreach-review-proposal-grid,
    .outreach-review-decision-form {
        grid-template-columns: 1fr;
    }

    .crm-outreach-page .crm-related-block {
        grid-template-columns: 1fr;
    }

    .crm-outreach-page .crm-related-block-actions {
        justify-content: flex-start;
    }
}

.crm-global-search-page {
    gap: 0.95rem;
    max-width: 100%;
    min-width: 0;
}

.crm-global-search-page .crm-registry-content {
    min-width: 0;
}

.crm-global-search-hero-layout {
    grid-template-columns: max-content minmax(840px, 1fr) max-content;
}

.crm-global-search-page .crm-registry-hero-search {
    width: 100%;
    justify-self: stretch;
}

.crm-global-search-hero-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 104px;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.crm-global-search-page-size {
    height: 38px;
    min-height: 38px;
    border-color: rgba(226, 232, 240, 0.55);
    border-radius: 10px;
    background-color: rgba(248, 250, 252, 0.96);
    color: #08234A;
    font-size: 0.86rem;
    font-weight: 600;
    box-shadow: none;
}

.crm-global-search-page-size:focus {
    border-color: rgba(111, 234, 242, 0.75);
    box-shadow: 0 0 0 0.2rem rgba(111, 234, 242, 0.18);
}

.crm-global-search-page .crm-card-header {
    min-width: 0;
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1.1rem;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
    background: #fff;
    border-bottom: 1px solid var(--opora-border);
}

.crm-global-search-page .crm-card-header h2 {
    margin: 0;
    font: inherit;
    letter-spacing: 0;
}

.crm-global-search-page .crm-card-body {
    padding: 1rem;
}

.crm-global-search-results {
    gap: 0.95rem;
}

.crm-global-search-results-card .crm-table-card-body {
    padding: 0.85rem;
}

.crm-global-search-results-card .crm-table-card-body > .table-responsive {
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    overflow-x: auto;
    overflow-y: visible;
}

.crm-global-search-table {
    min-width: 980px;
}

.crm-global-search-person-col {
    min-width: 220px;
}

.crm-global-search-person-link {
    color: var(--opora-blue-700);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
}

.crm-global-search-person-link:hover,
.crm-global-search-person-link:focus {
    color: #143F86;
    text-decoration: underline;
}

.crm-global-search-contact-col {
    min-width: 220px;
    max-width: 340px;
    overflow-wrap: anywhere;
}

.crm-global-search-match-row td {
    padding-top: 0;
    border-top: 0;
    background: #fff;
}

.crm-global-search-match {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
    min-width: 0;
    padding: 0.58rem 0.7rem;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-left: 3px solid var(--opora-teal-700);
    border-radius: var(--opora-radius-sm);
    background: #F8FBFF;
}

.crm-global-search-match-item {
    max-width: 100%;
    min-height: 26px;
    border-radius: 7px;
    font-size: 0.78rem;
    font-weight: 500;
}

.crm-global-search-match-label {
    color: var(--opora-muted);
    font-weight: 600;
    white-space: nowrap;
}

.crm-global-search-match-value {
    min-width: 0;
    color: var(--opora-text);
    overflow-wrap: anywhere;
}

.crm-global-search-empty-card .crm-empty-state {
    min-height: 260px;
}

@media (max-width: 1199.98px) {
    .crm-global-search-hero-layout {
        grid-template-columns: minmax(0, 1fr);
        align-content: center;
    }

    .crm-global-search-page .crm-registry-hero-actions {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 1px;
    }
}

@media (max-width: 767.98px) {
    .crm-global-search-hero-controls {
        grid-template-columns: 1fr;
    }

    .crm-global-search-page .crm-card-header {
        align-items: stretch;
        flex-direction: column;
    }

    .crm-global-search-page .crm-registry-hero-actions .btn {
        width: 100%;
        justify-content: center;
    }
}

.crm-dashboard-page {
    gap: 0.95rem;
    max-width: 100%;
    min-width: 0;
}

.crm-dashboard-content {
    gap: 1rem;
    min-width: 0;
}

.crm-dashboard-hero-layout {
    grid-template-columns: minmax(0, 1fr) max-content;
}

.crm-dashboard-hero-title {
    display: grid;
    align-content: center;
    gap: 0.28rem;
    min-width: 0;
}

.crm-dashboard-page .crm-card-header {
    min-width: 0;
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1.1rem;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
    background: #fff;
    border-bottom: 1px solid var(--opora-border);
}

.crm-dashboard-page .crm-card-header h2,
.crm-dashboard-page .crm-card-header h3,
.crm-dashboard-page .crm-card-header > span:first-child {
    margin: 0;
    font: inherit;
    letter-spacing: 0;
}

.crm-dashboard-page .crm-card-header i,
.crm-dashboard-widget-title i {
    color: var(--opora-teal-700);
}

.crm-dashboard-page .crm-card-body {
    padding: 1rem;
}

.crm-dashboard-transfer-alert {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0;
}

.crm-dashboard-transfer-copy {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
}

.crm-dashboard-transfer-copy > i {
    color: var(--opora-blue-700);
    font-size: 1.05rem;
}

.crm-dashboard-transfer-copy p {
    margin: 0.15rem 0 0;
}

.crm-dashboard-kpi-grid,
.crm-registry-page .crm-dashboard-kpi-grid,
.crm-registry-page .crm-stat-grid.crm-dashboard-kpi-grid {
    align-items: stretch;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.crm-registry-page .crm-dashboard-kpi-card,
.crm-registry-page .crm-stat-card.crm-dashboard-kpi-card {
    min-height: 82px;
    color: inherit;
    text-decoration: none;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.crm-registry-page .crm-dashboard-kpi-card .crm-stat-label {
    padding-right: 0;
    font-size: 0.78rem;
    line-height: 1.18;
}

.crm-registry-page .crm-dashboard-kpi-card .crm-stat-value {
    grid-column: 1 / -1;
    align-self: end;
    font-size: 1.28rem;
    line-height: 1;
}

.crm-dashboard-kpi-card:hover,
.crm-dashboard-kpi-card:focus {
    color: inherit;
    border-color: rgba(22, 99, 232, 0.36);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.1);
    outline: none;
    transform: translateY(-2px);
}

.dashboard-start-collapsed {
    display: none !important;
}

body.dashboard-show-collapsed .dashboard-start-collapsed {
    display: block !important;
}

body.dashboard-show-collapsed .crm-dashboard-kpi-card.dashboard-start-collapsed,
body.dashboard-show-collapsed .dashboard-attention-widget.dashboard-start-collapsed {
    display: grid !important;
}

.dashboard-attention-widget {
    display: grid;
    min-width: 0;
}

.dashboard-attention-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem;
}

.dashboard-attention-tile {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 0.65rem;
    min-height: 98px;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.dashboard-attention-tile:hover,
.dashboard-attention-tile:focus {
    transform: translateY(-2px);
    border-color: rgba(37, 99, 235, 0.35);
    box-shadow: 0 8px 24px rgba(37, 99, 235, 0.08);
    color: inherit;
    outline: none;
}

.dashboard-attention-tile__content {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.dashboard-attention-tile__value {
    color: var(--opora-text);
    font-size: 1.42rem;
    font-weight: 500;
    line-height: 1;
}

.dashboard-attention-tile__label {
    color: var(--opora-muted);
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.25;
}

.dashboard-attention-tile__icon {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: rgba(21, 128, 61, 0.1);
    color: var(--opora-success);
    font-size: 1.1rem;
}

.dashboard-attention-tile--overdue .dashboard-attention-tile__value {
    color: var(--opora-danger);
}

.dashboard-attention-tile--overdue .dashboard-attention-tile__icon {
    background: rgba(185, 28, 28, 0.1);
    color: var(--opora-danger);
}

.dashboard-attention-tile--today .dashboard-attention-tile__value {
    color: var(--opora-blue-700);
}

.dashboard-attention-tile--today .dashboard-attention-tile__icon {
    background: rgba(37, 99, 235, 0.1);
    color: var(--opora-blue-700);
}

.dashboard-attention-tile--incoming .dashboard-attention-tile__value {
    color: var(--opora-warning);
}

.dashboard-attention-tile--incoming .dashboard-attention-tile__icon {
    background: rgba(180, 83, 9, 0.12);
    color: var(--opora-warning);
}

.crm-dashboard-section-card {
    min-width: 0;
}

.crm-dashboard-finance-header {
    align-items: flex-start;
    flex-wrap: wrap;
}

.crm-dashboard-finance-header .crm-muted-text {
    margin: 0.2rem 0 0;
}

.crm-dashboard-year-controls,
.crm-dashboard-year-form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.crm-dashboard-year-check {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    border: 0;
    white-space: nowrap;
}

.crm-dashboard-year-pill {
    min-height: 34px;
    padding: 0.38rem 0.85rem;
    border: 1px solid rgba(22, 99, 232, 0.24);
    border-radius: 999px;
    background: #fff;
    color: var(--opora-blue-700);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.2;
    box-shadow: none;
}

.crm-dashboard-year-pill:hover,
.crm-dashboard-year-pill:focus,
.crm-dashboard-year-pill.is-active {
    border-color: #174EA6;
    background: #174EA6;
    color: #fff;
    outline: none;
    box-shadow: none;
}

.crm-dashboard-contribution-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.crm-dashboard-link-card,
.crm-dashboard-shortcut-card,
.crm-dashboard-widget-link,
.crm-dashboard-mini-row {
    color: inherit;
    text-decoration: none;
}

.crm-dashboard-contribution-card {
    display: grid;
    gap: 0.9rem;
    min-height: 186px;
    padding: 1rem;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: var(--opora-radius-sm);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.96));
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.crm-dashboard-link-card:hover,
.crm-dashboard-link-card:focus,
.crm-dashboard-shortcut-card:hover,
.crm-dashboard-shortcut-card:focus,
.crm-dashboard-widget-link:hover,
.crm-dashboard-widget-link:focus,
.crm-dashboard-mini-row:hover,
.crm-dashboard-mini-row:focus {
    color: inherit;
    border-color: rgba(22, 99, 232, 0.36);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.1);
    outline: none;
    transform: translateY(-2px);
}

.crm-dashboard-contribution-heading {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.crm-dashboard-contribution-heading h3 {
    margin: 0;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.25;
}

.crm-dashboard-metric-list {
    display: grid;
    gap: 0.45rem;
}

.crm-dashboard-metric-row,
.crm-dashboard-meta-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.8rem;
    min-width: 0;
    color: var(--opora-muted);
    font-size: 0.84rem;
    line-height: 1.35;
}

.crm-dashboard-metric-row strong,
.crm-dashboard-meta-row strong {
    flex: 0 0 auto;
    color: var(--opora-text);
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.25;
    text-align: right;
}

.crm-dashboard-positive {
    color: var(--opora-success) !important;
}

.dashboard-contribution-progress-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.dashboard-progress {
    width: 100%;
    height: 12px;
    flex: 1 1 auto;
    border: 0;
    border-radius: 999px;
    background: #E5E7EB;
    overflow: hidden;
    appearance: none;
    -webkit-appearance: none;
}

.dashboard-progress::-webkit-progress-bar {
    border-radius: 999px;
    background: #E5E7EB;
}

.dashboard-progress::-webkit-progress-value {
    border-radius: 999px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22);
}

.dashboard-progress::-moz-progress-bar {
    border-radius: 999px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22);
}

.dashboard-progress--membership::-webkit-progress-value {
    background: linear-gradient(90deg, #22C55E 0%, #15803D 100%);
}

.dashboard-progress--membership::-moz-progress-bar {
    background: linear-gradient(90deg, #22C55E 0%, #15803D 100%);
}

.dashboard-progress--property::-webkit-progress-value {
    background: linear-gradient(90deg, #38BDF8 0%, #2563EB 100%);
}

.dashboard-progress--property::-moz-progress-bar {
    background: linear-gradient(90deg, #38BDF8 0%, #2563EB 100%);
}

.dashboard-contribution-progress-value {
    flex: 0 0 3.7rem;
    color: #374151;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: right;
}

#dashboard-finance-summary.is-loading .crm-dashboard-contribution-card,
#dashboard-finance-summary.is-loading .crm-dashboard-year-controls {
    opacity: 0.46;
    pointer-events: none;
}

#dashboard-finance-summary.dashboard-fade-in .crm-dashboard-contribution-card {
    animation: dashboardFinanceFadeIn 0.22s ease;
}

@keyframes dashboardFinanceFadeIn {
    from {
        opacity: 0.55;
    }
    to {
        opacity: 1;
    }
}

.crm-dashboard-shortcut-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.crm-dashboard-widget-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.crm-dashboard-shortcut-card {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-content: start;
    column-gap: 0.65rem;
    row-gap: 0.55rem;
    min-height: 112px;
    padding: 1rem;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.crm-dashboard-shortcut-card .crm-stat-icon {
    grid-column: 1;
    grid-row: 1;
}

.crm-dashboard-shortcut-title {
    grid-column: 2;
    align-self: center;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.25;
}

.crm-dashboard-shortcut-text,
.crm-dashboard-widget-label {
    color: var(--opora-muted);
    font-size: 0.84rem;
    font-weight: 400;
    line-height: 1.4;
}

.crm-dashboard-shortcut-text {
    grid-column: 1 / -1;
    max-width: 62rem;
}

.crm-dashboard-widget-card {
    min-height: 154px;
    min-width: 0;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.crm-dashboard-widget-card .crm-card-body {
    display: grid;
    align-content: start;
    gap: 0.75rem;
    height: 100%;
}

.crm-dashboard-widget-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.25;
}

.crm-dashboard-widget-value {
    color: var(--opora-text);
    font-size: 1.42rem;
    font-weight: 500;
    line-height: 1;
}

.crm-dashboard-meta-list,
.crm-dashboard-mini-list {
    display: grid;
    gap: 0.45rem;
}

.crm-dashboard-mini-row {
    display: grid;
    gap: 0.2rem;
    padding: 0.65rem 0.7rem;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.crm-dashboard-mini-row span {
    color: var(--opora-muted);
    font-size: 0.82rem;
    line-height: 1.3;
}

.crm-dashboard-mini-row strong {
    color: var(--opora-text);
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1.3;
}

.crm-dashboard-empty-card .crm-empty-state {
    min-height: 260px;
}

.crm-dashboard-settings-page {
    gap: 0.95rem;
    max-width: 100%;
    min-width: 0;
}

.crm-dashboard-settings-page .crm-page-header {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    flex-wrap: wrap;
    padding: 1.15rem 1.2rem;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    box-shadow: var(--opora-shadow-soft);
    overflow: hidden;
}

.crm-dashboard-settings-page .crm-page-header::before {
    display: none;
}

.crm-dashboard-settings-page .crm-page-title {
    min-width: 0;
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.crm-dashboard-settings-page .crm-page-title i {
    font-size: 1.18rem;
}

.crm-dashboard-settings-page .crm-page-subtitle {
    min-width: 0;
    margin-top: 0.32rem;
    font-size: 0.88rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.crm-dashboard-settings-page .crm-page-title-block,
.crm-dashboard-settings-page .crm-page-actions {
    min-width: 0;
    max-width: 100%;
}

.crm-dashboard-settings-page .crm-btn {
    min-height: 38px;
}

.crm-dashboard-settings-section {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
}

.crm-dashboard-settings-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
    min-width: 0;
    padding: 0 0.1rem;
}

.crm-dashboard-settings-section-title {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.25;
}

.crm-dashboard-settings-section-title i {
    color: var(--opora-teal-700);
}

.crm-dashboard-settings-section-head .crm-muted-text {
    margin: 0.22rem 0 0;
    font-size: 0.84rem;
    line-height: 1.35;
}

.crm-dashboard-settings-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
    min-width: 0;
}

.crm-dashboard-widget-setting-card {
    min-width: 0;
    box-shadow: var(--opora-shadow-soft);
}

.crm-dashboard-widget-setting-card .crm-card-body {
    display: grid;
    gap: 0.9rem;
    padding: 1rem;
}

.crm-dashboard-setting-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
    min-width: 0;
}

.crm-dashboard-setting-copy {
    display: grid;
    gap: 0.38rem;
    min-width: 0;
}

.crm-dashboard-setting-copy h3 {
    margin: 0;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.crm-dashboard-setting-copy p {
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.84rem;
    font-weight: 400;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.crm-dashboard-setting-switch,
.crm-dashboard-check-row {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    color: var(--opora-text);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.25;
    cursor: pointer;
}

.crm-dashboard-setting-switch {
    flex: 0 0 auto;
    min-height: 32px;
    padding: 0.32rem 0.55rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #F8FAFC;
}

.crm-dashboard-setting-controls {
    display: grid;
    grid-template-columns: minmax(120px, 0.42fr) minmax(180px, 1fr);
    align-items: end;
    gap: 0.75rem;
    min-width: 0;
}

.crm-dashboard-setting-field {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}

.crm-dashboard-settings-page .form-control {
    min-height: 38px;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    color: var(--opora-text);
    font-size: 0.88rem;
    box-shadow: none;
}

.crm-dashboard-settings-page .form-control:focus {
    border-color: rgba(22, 99, 232, 0.45);
    box-shadow: 0 0 0 0.2rem rgba(22, 99, 232, 0.12);
}

.crm-dashboard-settings-page .form-check-input {
    margin: 0;
    border-color: var(--opora-border);
    box-shadow: none;
}

.crm-dashboard-settings-page .form-check-input:checked {
    border-color: var(--opora-blue-600);
    background-color: var(--opora-blue-600);
}

.crm-dashboard-settings-empty .crm-empty-state {
    min-height: 220px;
}

@media (max-width: 1199.98px) {
    .crm-dashboard-kpi-grid,
    .crm-registry-page .crm-dashboard-kpi-grid,
    .crm-registry-page .crm-stat-grid.crm-dashboard-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .crm-dashboard-hero-layout {
        grid-template-columns: minmax(0, 1fr);
        align-content: center;
    }

    .crm-dashboard-hero-actions {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 1px;
    }

    .crm-dashboard-shortcut-grid,
    .crm-dashboard-widget-grid,
    .crm-dashboard-settings-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .crm-dashboard-contribution-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .crm-dashboard-page .crm-card-header,
    .crm-dashboard-transfer-alert {
        align-items: stretch;
        flex-direction: column;
    }

    .crm-dashboard-transfer-alert .btn,
    .crm-dashboard-hero-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .crm-dashboard-kpi-grid,
    .crm-registry-page .crm-dashboard-kpi-grid,
    .crm-registry-page .crm-stat-grid.crm-dashboard-kpi-grid,
    .dashboard-attention-grid,
    .crm-dashboard-shortcut-grid,
    .crm-dashboard-settings-grid,
    .crm-dashboard-widget-grid {
        grid-template-columns: 1fr;
    }

    .crm-dashboard-year-controls,
    .crm-dashboard-year-form {
        justify-content: flex-start;
    }

    .crm-dashboard-settings-page .crm-page-actions,
    .crm-dashboard-settings-page .crm-page-actions .crm-btn-primary,
    .crm-dashboard-settings-page .crm-page-actions .crm-btn-secondary,
    .crm-dashboard-settings-section-head,
    .crm-dashboard-setting-top,
    .crm-dashboard-setting-controls {
        align-items: stretch;
        flex-direction: column;
        grid-template-columns: 1fr;
    }

    .crm-dashboard-settings-page .crm-page-actions .crm-btn-primary,
    .crm-dashboard-settings-page .crm-page-actions .crm-btn-secondary {
        width: 100%;
        justify-content: center;
    }
}

.crm-attention-page,
.crm-attention-settings-page {
    gap: 0.95rem;
    max-width: 100%;
    min-width: 0;
}

.crm-attention-page.crm-registry-page {
    gap: 0.75rem;
}

.crm-attention-hero-layout {
    grid-template-columns: minmax(0, 1fr) max-content;
}

.crm-attention-hero-title {
    display: grid;
    align-content: center;
    gap: 0.28rem;
    min-width: 0;
}

.crm-attention-hero-subtitle {
    max-width: 760px;
    margin: 0;
    color: rgba(226, 232, 240, 0.86);
    font-size: 0.84rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.crm-attention-settings-page .crm-page-header {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    flex-wrap: wrap;
    padding: 1.15rem 1.2rem;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    box-shadow: var(--opora-shadow-soft);
    overflow: hidden;
}

.crm-attention-settings-page .crm-page-header::before {
    display: none;
}

.crm-attention-settings-page .crm-page-title {
    min-width: 0;
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.crm-attention-settings-page .crm-page-title i {
    font-size: 1.18rem;
}

.crm-attention-settings-page .crm-page-subtitle {
    min-width: 0;
    margin-top: 0.32rem;
    font-size: 0.88rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.crm-attention-settings-page .crm-page-title-block,
.crm-attention-settings-page .crm-page-actions {
    min-width: 0;
    max-width: 100%;
}

.crm-attention-page .crm-card-header,
.crm-attention-settings-page .crm-card-header {
    min-width: 0;
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1.1rem;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
    background: #fff;
    border-bottom: 1px solid var(--opora-border);
}

.crm-attention-page .crm-card-header h2,
.crm-attention-page .crm-card-header h3,
.crm-attention-page .crm-card-header > span:first-child,
.crm-attention-settings-page .crm-card-header h2,
.crm-attention-settings-page .crm-card-header h3,
.crm-attention-settings-page .crm-card-header > span:first-child {
    margin: 0;
    font: inherit;
    letter-spacing: 0;
}

.crm-attention-page .crm-card-body,
.crm-attention-settings-page .crm-card-body {
    padding: 1rem;
}

.crm-attention-page .form-control,
.crm-attention-page .form-select,
.crm-attention-settings-page .form-control,
.crm-attention-settings-page .form-select {
    min-height: 38px;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    color: var(--opora-text);
    font-size: 0.88rem;
}

.crm-attention-page .form-control:focus,
.crm-attention-page .form-select:focus,
.crm-attention-settings-page .form-control:focus,
.crm-attention-settings-page .form-select:focus {
    border-color: rgba(22, 99, 232, 0.52);
    box-shadow: 0 0 0 0.2rem rgba(22, 99, 232, 0.12);
}

.crm-attention-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.attention-summary__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    min-height: 92px;
    padding: 0.9rem 1rem;
    border-radius: var(--opora-radius-sm);
}

.attention-summary__content {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.crm-attention-summary .crm-stat-value,
.crm-attention-summary .crm-stat-label {
    margin: 0;
}

.crm-attention-summary .crm-stat-value {
    font-size: 1.35rem;
    font-weight: 700;
}

.crm-attention-summary .crm-stat-label {
    font-size: 0.8rem;
    font-weight: 560;
}

.attention-summary__item--active .attention-summary__value {
    color: var(--opora-success);
}

.attention-summary__item--overdue .attention-summary__value {
    color: var(--opora-danger);
}

.attention-summary__item--today .attention-summary__value {
    color: var(--opora-blue-700);
}

.attention-summary__item--incoming .attention-summary__value {
    color: var(--opora-warning);
}

.crm-attention-filter-card:not([open]) .crm-card-header {
    border-bottom: 0;
}

.attention-filters {
    display: grid;
    grid-template-columns:
        minmax(150px, 0.8fr)
        minmax(170px, 1fr)
        minmax(140px, 0.72fr)
        minmax(170px, 0.9fr)
        minmax(230px, 1.15fr)
        max-content;
    gap: 0.75rem;
    align-items: end;
}

.attention-filter-check {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 38px;
    margin: 0;
    color: #334155;
    font-size: 0.76rem;
    font-weight: 560;
    line-height: 1.25;
}

.attention-filter-check .form-check-input {
    flex: 0 0 auto;
    margin: 0;
}

.attention-bulk {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 0.85rem;
    box-shadow: var(--opora-shadow-soft);
}

.attention-bulk-counter {
    color: var(--opora-muted);
    font-size: 0.78rem;
    font-weight: 560;
}

.attention-bulk-divider {
    width: 1px;
    min-height: 28px;
    margin: 0 0.1rem;
    background: var(--opora-border);
}

.attention-bulk .crm-btn-secondary:disabled {
    opacity: 0.52;
    cursor: not-allowed;
}

.attention-board {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
}

.attention-section {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    box-shadow: var(--opora-shadow-soft);
}

.attention-section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 54px;
    padding: 0.85rem 1.1rem;
    list-style: none;
    cursor: pointer;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
    background: #fff;
}

.attention-section__header::-webkit-details-marker {
    display: none;
}

.attention-section__title {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    margin: 0;
    font: inherit;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.attention-section__arrow {
    flex: 0 0 auto;
    color: var(--opora-muted);
    font-size: 0.86rem;
    transition: transform 0.16s ease;
}

.attention-section[open] .attention-section__header {
    border-bottom: 1px solid var(--opora-border);
}

.attention-section[open] .attention-section__arrow {
    transform: rotate(90deg);
}

.attention-section__body {
    display: grid;
    gap: 0.6rem;
    padding: 0.8rem;
    background: #F8FAFC;
}

.attention-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.7rem;
    min-width: 0;
    padding: 0.8rem;
    border: 1px solid rgba(226, 232, 240, 0.92);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.attention-item__select {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 0.16rem;
}

.attention-item__select .form-check-input,
.attention-select-placeholder {
    width: 1rem;
    height: 1rem;
    margin: 0;
}

.attention-select-placeholder {
    display: inline-block;
    border: 1px solid var(--opora-border);
    border-radius: 0.25rem;
    background: #F8FAFC;
}

.attention-item__content,
.attention-item__text {
    min-width: 0;
}

.attention-item__content {
    display: grid;
    gap: 0.6rem;
}

.attention-item__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.7rem;
    align-items: start;
}

.attention-item__title,
.attention-item__description {
    overflow-wrap: anywhere;
}

.attention-item__description {
    margin-top: 0.14rem;
}

.attention-item__status {
    justify-self: end;
    max-width: 180px;
}

.attention-item__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.36rem 0.78rem;
    color: var(--opora-muted);
    font-size: 0.8rem;
    line-height: 1.35;
}

.attention-item__meta-token {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.attention-item__meta-token i {
    color: var(--opora-teal-700);
}

.attention-item__actions {
    display: flex;
    align-items: center;
    gap: 0.42rem;
    flex-wrap: wrap;
    min-width: 0;
}

.attention-item__actions form,
.attention-postpone-form {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    flex-wrap: wrap;
    min-width: 0;
    margin: 0;
}

.attention-postpone-input {
    width: 12.8rem;
    max-width: 100%;
    min-height: 32px;
    font-size: 0.86rem;
}

.crm-attention-page [data-auto-submit-results].is-submitting {
    opacity: 0.62;
    pointer-events: none;
}

.attention-source-form {
    display: grid;
    margin: 0;
}

.attention-source-heading {
    display: grid;
    gap: 0.22rem;
    min-width: 0;
}

.attention-source-heading .crm-muted-text {
    font-weight: 400;
}

.crm-attention-settings-page .crm-table-card-body {
    padding: 0.85rem;
}

.crm-attention-settings-page .crm-table-card-body > .table-responsive {
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    overflow-x: auto;
    overflow-y: visible;
}

.crm-attention-settings-page .crm-table th,
.crm-attention-settings-page .crm-table td {
    text-align: center;
    vertical-align: middle;
}

.crm-attention-settings-page .crm-table .crm-table-left-col {
    text-align: left;
}

.attention-source-table .crm-table-left-col {
    min-width: 260px;
}

.attention-source-description {
    margin-top: 0.14rem;
    max-width: 680px;
}

.attention-source-check {
    margin: 0;
}

.attention-source-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.attention-role-selector-body {
    display: grid;
    grid-template-columns: minmax(240px, 360px) max-content;
    gap: 0.75rem;
    align-items: end;
}

@media (max-width: 1180px) {
    .crm-attention-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .attention-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr)) max-content;
    }
}

@media (max-width: 767.98px) {
    .crm-attention-hero-layout {
        grid-template-columns: minmax(0, 1fr);
        align-content: center;
    }

    .crm-attention-hero-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .crm-attention-hero-actions .crm-btn-primary,
    .crm-attention-hero-actions .crm-btn-secondary {
        width: 100%;
    }

    .crm-attention-settings-page .crm-page-header {
        padding: 1rem;
    }

    .crm-attention-settings-page .crm-page-actions,
    .crm-attention-settings-page .crm-page-actions .crm-btn-primary,
    .crm-attention-settings-page .crm-page-actions .crm-btn-secondary {
        width: 100%;
    }

    .crm-attention-summary,
    .attention-filters {
        grid-template-columns: minmax(0, 1fr);
    }

    .attention-bulk {
        align-items: stretch;
    }

    .attention-bulk .crm-btn-primary,
    .attention-bulk .crm-btn-secondary {
        width: 100%;
    }

    .attention-bulk-counter {
        width: 100%;
    }

    .attention-bulk-divider {
        display: none;
    }

    .attention-section__header {
        padding: 0.8rem 0.9rem;
    }

    .attention-section__body {
        padding: 0.7rem;
    }

    .attention-item,
    .attention-item__head {
        grid-template-columns: minmax(0, 1fr);
    }

    .attention-item__select {
        justify-content: flex-start;
        padding-top: 0;
    }

    .attention-item__status {
        justify-self: start;
    }

    .attention-item__actions,
    .attention-item__actions form,
    .attention-postpone-form,
    .attention-postpone-input,
    .attention-item__actions .crm-btn-primary,
    .attention-item__actions .crm-btn-secondary {
        width: 100%;
    }

    .attention-role-selector-body {
        grid-template-columns: minmax(0, 1fr);
    }

    .attention-source-actions .crm-btn-primary,
    .attention-source-actions .crm-btn-secondary {
        width: 100%;
    }
}

.crm-work-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.crm-work-card,
.work-center-card {
    display: grid;
    gap: 0.85rem;
    min-height: 180px;
    padding: 1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    box-shadow: var(--opora-shadow-soft);
}

.crm-work-card.is-muted,
.work-center-card.is-muted {
    background: #F8FAFC;
}

.work-center-card-head,
.crm-work-card-head {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.work-center-card-icon,
.crm-work-card-icon,
.backlog-page-title-icon,
.backlog-detail-title-icon {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: #eef5ff;
    color: var(--opora-blue-700);
}

.work-center-card h3,
.crm-work-card h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}

.work-center-card p,
.crm-work-card p {
    margin: 0.25rem 0 0;
    color: var(--opora-muted);
    font-size: 0.86rem;
    line-height: 1.45;
}

.work-center-actions,
.backlog-toolbar,
.backlog-detail-actions,
.note-form-header-actions,
.crm-work-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.work-center-actions {
    margin-top: auto;
}

.backlog-page-head,
.backlog-kanban-header,
.backlog-detail-title-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
}

.backlog-page-title,
.backlog-detail-title {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    min-width: 0;
}

.backlog-page-title {
    margin: 0;
    font-size: 1.45rem;
    font-weight: 600;
}

.backlog-detail-title h2 {
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 1.28rem;
    font-weight: 600;
    line-height: 1.18;
}

.backlog-detail-head {
    display: grid;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    box-shadow: var(--opora-shadow-soft);
}

.backlog-detail-kicker,
.backlog-task-meta,
.crm-work-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.65rem;
    color: var(--opora-muted);
    font-size: 0.8rem;
    line-height: 1.35;
}

.backlog-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.backlog-filter-grid,
.backlog-kanban-filter-grid,
.crm-work-filter-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) repeat(5, minmax(130px, 1fr)) max-content;
    gap: 0.65rem;
    align-items: end;
}

.backlog-filter-grid + .backlog-filter-grid {
    margin-top: 0.55rem;
    grid-template-columns: repeat(2, minmax(180px, 1fr)) max-content;
    justify-content: start;
}

.backlog-kanban-control-form {
    display: grid;
    gap: 1rem;
}

.backlog-kanban-filter-grid {
    grid-template-columns: minmax(220px, 1.4fr) repeat(4, minmax(130px, 1fr)) max-content;
}

.backlog-kanban-settings-panel[hidden] {
    display: none !important;
}

.backlog-kanban-settings-panel .backlog-column-settings-body {
    border-top: 0;
    padding: 0;
}

.crm-page-actions [data-kanban-settings-toggle].is-active {
    border-color: rgba(22, 99, 232, 0.38);
    background: #EFF6FF;
    color: var(--opora-blue-700);
}

.backlog-filter-assignment-row {
    display: grid;
    grid-template-columns: minmax(150px, 0.72fr) minmax(165px, 0.78fr) minmax(360px, 1.5fr);
    gap: 0.65rem;
    align-items: end;
    margin-top: 0.55rem;
}

.backlog-filter-options {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem 1rem;
    margin-top: 0.65rem;
}

.backlog-filter-options .form-check {
    margin-bottom: 0;
    white-space: nowrap;
}

.backlog-filter-options--inline {
    min-height: 38px;
    margin-top: 0;
    gap: 0.45rem 0.72rem;
}

.backlog-filter-options--inline .form-check-label {
    color: #334155;
    font-size: 0.76rem;
    font-weight: 560;
    line-height: 1.25;
}

.backlog-title-link,
.backlog-card-title,
.note-card-title {
    color: inherit;
    text-decoration: none;
}

.backlog-title-link:hover,
.backlog-title-link:focus,
.backlog-card-title:hover,
.backlog-card-title:focus,
.note-card-title:hover,
.note-card-title:focus {
    color: var(--opora-blue-700);
    text-decoration: underline;
}

.backlog-task-cell {
    min-width: 260px;
}

.backlog-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.65rem;
}

.backlog-summary-item {
    padding: 0.75rem 0.85rem;
    border: 1px solid #e6edf6;
    border-radius: 8px;
    background: #f8fafc;
}

.backlog-summary-item.is-danger {
    border-color: #f3c2c2;
    background: #fff7f7;
}

.backlog-summary-label,
.backlog-field-label,
.backlog-meta-label,
.note-meta-label {
    color: var(--opora-muted);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.25;
    text-transform: uppercase;
}

.backlog-summary-value {
    display: block;
    margin-top: 0.28rem;
    color: var(--opora-text);
    font-size: 0.94rem;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.backlog-detail-grid,
.note-detail-grid,
.crm-work-two-column {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    gap: 0.85rem;
    align-items: start;
}

.backlog-detail-card,
.note-detail-card,
.note-form-card {
    height: 100%;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    box-shadow: var(--opora-shadow-soft);
    overflow: hidden;
}

.backlog-card-title,
.note-card-heading {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
}

.backlog-card-title i,
.note-card-heading i,
.backlog-section-title i {
    color: var(--opora-teal-700);
}

.backlog-readable-block,
.backlog-content-item,
.note-meta-item,
.relation-box,
.backlog-form-panel,
.backlog-relation-builder {
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.backlog-readable-block,
.backlog-content-item,
.note-meta-item,
.relation-box,
.backlog-form-panel {
    padding: 0.85rem;
}

.backlog-content-grid,
.note-meta-grid,
.backlog-field-grid,
.relation-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.backlog-content-item.is-wide,
.backlog-field.is-wide {
    grid-column: 1 / -1;
}

.backlog-meta-grid,
.note-attachment-list,
.backlog-relation-selected,
.backlog-delete-list {
    display: grid;
    gap: 0.55rem;
}

.backlog-delete-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.backlog-delete-file-name {
    overflow-wrap: anywhere;
}

.backlog-meta-row {
    display: grid;
    grid-template-columns: minmax(110px, 0.75fr) minmax(0, 1.25fr);
    gap: 0.75rem;
    align-items: start;
    padding-bottom: 0.55rem;
    border-bottom: 1px solid #eef2f7;
}

.backlog-meta-row:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.backlog-meta-value,
.note-meta-value {
    color: var(--opora-text);
    font-size: 0.9rem;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.backlog-text-block,
.note-body-content {
    color: var(--opora-text);
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.note-body-content {
    white-space: pre-wrap;
}

.note-comment-list {
    display: grid;
    gap: 0.55rem;
}

.note-comment-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid #eef2f7;
}

.note-comment-row:first-child {
    padding-top: 0;
}

.note-comment-row:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.note-comment-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    color: var(--opora-teal-700);
    background: #eefcff;
}

.note-comment-body {
    min-width: 0;
}

.note-comment-meta {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.35rem;
    flex-wrap: wrap;
}

.note-comment-text {
    color: var(--opora-text);
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.backlog-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
    gap: 0.85rem;
    align-items: start;
}

.backlog-form-layout,
.backlog-form-stack {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
}

.backlog-form-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr);
    gap: 0.85rem;
    align-items: start;
    min-width: 0;
}

.backlog-parameters-panel {
    padding-bottom: 0.8rem;
}

.backlog-parameter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.7rem;
    align-items: end;
}

.backlog-parameter-grid .backlog-field.is-wide {
    grid-column: span 2;
}

.backlog-form-card {
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    box-shadow: var(--opora-shadow-soft);
    overflow: hidden;
}

.backlog-form-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.backlog-form-section,
.note-form-shell {
    display: grid;
    gap: 0.85rem;
}

.notes-filter-grid {
    display: grid;
    gap: 0.7rem;
}

.notes-filter-row-fields {
    display: grid;
    grid-template-columns: minmax(220px, 1.35fr) repeat(5, minmax(130px, 1fr)) max-content;
    gap: 0.65rem;
    align-items: end;
}

.notes-filter-row-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.notes-filter-checks {
    display: flex;
    align-items: center;
    gap: 0.65rem 1rem;
    flex-wrap: wrap;
}

.notes-filter-checks .form-check {
    margin-bottom: 0;
}

.notes-filter-checks--inline {
    min-height: 34px;
    gap: 0.45rem 0.75rem;
}

.notes-filter-checks--inline .form-check-label {
    color: #334155;
    font-size: 0.76rem;
    font-weight: 560;
    line-height: 1.25;
}

.notes-filter-actions {
    margin-left: auto;
}

.note-list-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr));
    gap: 0.85rem;
    align-items: stretch;
}

.note-list-grid > .crm-empty-state {
    grid-column: 1 / -1;
}

.backlog-section-title,
.relation-box-title {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.75rem;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
}

.relation-box-header {
    display: grid;
    gap: 0.25rem;
    margin-bottom: 0.65rem;
}

.backlog-field,
.note-field {
    display: grid;
    gap: 0.35rem;
}

.backlog-field .form-label,
.note-field .form-label {
    margin: 0;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 600;
}

.backlog-relation-badge {
    max-width: 170px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.backlog-relation-item,
.note-attachment-item,
.crm-work-list-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.65rem;
    align-items: center;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.backlog-comment-row,
.backlog-history-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid #eef2f7;
}

.backlog-comment-row:first-child,
.backlog-history-row:first-child {
    padding-top: 0;
}

.backlog-comment-row:last-child,
.backlog-history-row:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.backlog-timeline-icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--opora-teal-700);
    background: #eefcff;
}

.backlog-comment-body,
.backlog-history-body {
    min-width: 0;
}

.backlog-attachment-list {
    display: grid;
    gap: 0.55rem;
}

.backlog-attachment-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.65rem;
    align-items: center;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.backlog-attachment-name,
.note-attachment-name {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 100%;
    color: var(--opora-blue-700);
    text-decoration: none;
    overflow-wrap: anywhere;
}

.backlog-attachment-name:hover,
.backlog-attachment-name:focus,
.note-attachment-name:hover,
.note-attachment-name:focus {
    text-decoration: underline;
}

.backlog-attachment-meta,
.note-attachment-meta {
    color: var(--opora-muted);
    font-size: 0.78rem;
    line-height: 1.25;
}

.backlog-attachment-actions,
.backlog-inline-attachment-form {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.backlog-inline-attachment-form {
    width: 100%;
}

.backlog-inline-attachment-form .form-control {
    min-width: 0;
}

.backlog-link-row {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.8rem;
    color: var(--opora-blue-700);
    font-size: 0.86rem;
    font-weight: 540;
    text-decoration: none;
}

.backlog-link-row:hover,
.backlog-link-row:focus {
    text-decoration: underline;
}

.backlog-relation-item {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.backlog-relation-item.is-section-only {
    grid-template-columns: minmax(0, 1fr) auto;
}

.backlog-relation-select-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.7rem;
    align-items: end;
}

.backlog-relation-builder {
    display: grid;
    gap: 0.65rem;
    margin-top: 0.75rem;
    padding: 0.75rem;
    min-width: 0;
}

.backlog-relation-builder__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.backlog-relation-builder__title {
    color: var(--opora-text);
    font-size: 0.88rem;
    font-weight: 600;
}

.backlog-relation-add-section {
    min-height: 34px;
}

.backlog-relation-selected {
    min-width: 0;
}

.backlog-relation-remove {
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 8px;
    color: var(--opora-muted);
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.backlog-relation-remove:hover,
.backlog-relation-remove:focus {
    background: #fee2e2;
    color: var(--opora-danger);
    outline: none;
}

.backlog-relation-empty {
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    color: var(--opora-muted);
    padding: 0.7rem;
    text-align: center;
    background: #fff;
}

.backlog-kanban-shell {
    position: relative;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.backlog-kanban-board {
    display: flex;
    align-items: stretch;
    gap: 0.85rem;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: visible;
    padding: 0.15rem 0 0.85rem;
    scroll-behavior: smooth;
    scroll-snap-type: none;
    scrollbar-width: none;
}

.backlog-kanban-board::-webkit-scrollbar {
    display: none;
}

.backlog-kanban-scroll-control {
    position: absolute;
    top: 50%;
    z-index: 10;
    width: 40px;
    height: 76px;
    border: 1px solid rgba(22, 99, 232, 0.2);
    border-radius: var(--opora-radius-sm);
    background: rgba(255, 255, 255, 0.94);
    color: var(--opora-blue-700);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.13);
    display: none;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    cursor: pointer;
    pointer-events: auto;
}

.backlog-kanban-scroll-control:hover,
.backlog-kanban-scroll-control:focus {
    border-color: rgba(22, 99, 232, 0.38);
    background: #EFF6FF;
    outline: none;
}

.backlog-kanban-scroll-control.is-left {
    left: 0.35rem;
}

.backlog-kanban-scroll-control.is-right {
    right: 0.35rem;
}

.backlog-kanban-shell.is-scrollable.can-scroll-left .backlog-kanban-scroll-control.is-left,
.backlog-kanban-shell.is-scrollable.can-scroll-right .backlog-kanban-scroll-control.is-right {
    display: inline-flex;
}

.backlog-kanban-scroll-control[hidden] {
    display: none !important;
}

.backlog-column-settings,
.backlog-kanban-column,
.backlog-kanban-card {
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.backlog-column-settings summary {
    min-height: 38px;
    padding: 0.45rem 0.75rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    cursor: pointer;
    font-size: 0.86rem;
    font-weight: 560;
    list-style: none;
}

.backlog-column-settings summary::-webkit-details-marker {
    display: none;
}

.backlog-column-settings-body {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 360px));
    gap: 0.55rem 1.1rem;
    justify-content: start;
    padding: 0.6rem 0.75rem 0.75rem;
    border-top: 1px solid #eef2f7;
}

.backlog-column-setting-row {
    display: grid;
    grid-template-columns: minmax(0, max-content) minmax(145px, 170px);
    gap: 0.55rem;
    justify-content: start;
    align-items: center;
    min-width: 0;
}

.backlog-column-setting-row .form-check {
    display: flex;
    align-items: center;
    gap: 0.38rem;
    min-width: 0;
    margin: 0;
}

.backlog-column-setting-row .form-check-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.backlog-column-color-field {
    display: grid;
    width: min(170px, 100%);
    min-width: 0;
}

.backlog-column-color-field .form-select {
    min-height: 34px;
    padding-top: 0.32rem;
    padding-bottom: 0.32rem;
    font-size: 0.82rem;
}

.backlog-kanban-column {
    width: 308px;
    min-width: 308px;
    min-height: 420px;
    max-width: 308px;
    flex: 0 0 308px;
    display: flex;
    flex-direction: column;
    background: #f8fafc;
}

.backlog-kanban-column-header {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    align-items: center;
    padding: 0.75rem;
    border-bottom: 1px solid var(--backlog-kanban-border, var(--opora-border));
    background: var(--backlog-kanban-header-bg, #F8FBFF);
    color: var(--backlog-kanban-header-text, var(--opora-text));
}

.backlog-kanban-column--slate {
    --backlog-kanban-header-bg: #F1F5F9;
    --backlog-kanban-border: #CBD5E1;
}

.backlog-kanban-column--blue {
    --backlog-kanban-header-bg: #EAF2FF;
    --backlog-kanban-border: #BFDBFE;
}

.backlog-kanban-column--cyan {
    --backlog-kanban-header-bg: #E8F9FC;
    --backlog-kanban-border: #A5F3FC;
}

.backlog-kanban-column--green {
    --backlog-kanban-header-bg: #ECFDF3;
    --backlog-kanban-border: #BBF7D0;
}

.backlog-kanban-column--yellow {
    --backlog-kanban-header-bg: #FEF9C3;
    --backlog-kanban-border: #FDE68A;
}

.backlog-kanban-column--orange {
    --backlog-kanban-header-bg: #FFF3E8;
    --backlog-kanban-border: #FED7AA;
}

.backlog-kanban-column--red {
    --backlog-kanban-header-bg: #FEECEC;
    --backlog-kanban-border: #FECACA;
}

.backlog-kanban-column--violet {
    --backlog-kanban-header-bg: #F4F0FF;
    --backlog-kanban-border: #DDD6FE;
}

.backlog-kanban-column-header .crm-strong {
    font-size: 0.95rem;
    font-weight: 600;
}

.backlog-kanban-dropzone {
    display: grid;
    gap: 0.65rem;
    align-content: start;
    min-height: 340px;
    padding: 0.75rem;
    flex: 1;
}

.backlog-kanban-dropzone.is-over {
    background: rgba(22, 99, 232, 0.06);
    outline: 2px dashed rgba(22, 99, 232, 0.32);
    outline-offset: -0.4rem;
}

.backlog-kanban-card {
    padding: 0.75rem;
    cursor: grab;
    box-shadow: var(--opora-shadow-soft);
    display: grid;
    gap: 0.55rem;
    min-width: 0;
}

.backlog-kanban-card:hover {
    border-color: rgba(22, 99, 232, 0.25);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.1);
    transform: translateY(-2px);
}

.backlog-kanban-card.is-dragging {
    display: none;
}

.backlog-kanban-drag-preview {
    position: fixed;
    top: -1200px;
    left: -1200px;
    z-index: 3000;
    pointer-events: none;
    opacity: 0.96;
    transform: rotate(-4deg) scale(1.04);
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.24);
    border-color: rgba(22, 99, 232, 0.55);
}

.note-list-card {
    height: 100%;
    min-width: 0;
    border-radius: var(--opora-radius-sm);
    box-shadow: var(--opora-shadow-soft);
    overflow: hidden;
}

.note-card-content {
    display: grid;
    grid-template-rows: auto auto minmax(7.8rem, 1fr) auto auto;
    gap: 0.72rem;
    height: 100%;
    min-height: 300px;
    min-width: 0;
    padding: 0.92rem;
}

.note-card-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: flex-start;
    gap: 0.75rem;
    min-width: 0;
}

.note-card-action {
    align-self: start;
    white-space: nowrap;
}

.note-card-flags,
.note-card-chip-row {
    min-width: 0;
    gap: 0.35rem;
}

.note-card-flags {
    min-height: 24px;
    margin-bottom: 0.35rem;
}

.note-card-title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.32;
    overflow-wrap: anywhere;
}

.note-card-body {
    color: var(--opora-text);
    font-size: 0.9rem;
    line-height: 1.48;
    overflow: hidden;
    overflow-wrap: anywhere;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
}

.note-card-body-empty {
    color: var(--opora-muted);
    font-size: 0.84rem;
    font-style: italic;
    display: block;
}

.note-card-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    padding-top: 0.68rem;
    border-top: 1px solid #eef2f7;
}

.note-card-meta-grid > div {
    min-width: 0;
}

.note-card-footer {
    display: block;
    gap: 0.65rem;
    min-width: 0;
    padding-top: 0.65rem;
    border-top: 1px solid #eef2f7;
    font-size: 0.78rem;
    line-height: 1.25;
}

.note-meta-small {
    color: var(--opora-muted);
    font-size: 0.78rem;
    line-height: 1.25;
}

.note-attachment-actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.note-status-form {
    margin-top: 0.8rem;
}

.note-status-form .form-label {
    margin-bottom: 0.25rem;
    color: #334155;
    font-size: 0.85rem;
    font-weight: 600;
}

.crm-notes-page .crm-detail-header {
    flex-wrap: wrap;
}

.crm-export-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(300px, 0.8fr);
    gap: 0.85rem;
    align-items: start;
}

.export-form-section {
    padding: 1rem 0;
    border-top: 1px solid var(--opora-border);
}

.export-form-section:first-of-type {
    border-top: 0;
    padding-top: 0;
}

.export-section-title {
    margin-bottom: 0.75rem;
    font-size: 0.94rem;
    font-weight: 600;
    line-height: 1.3;
}

.export-column-presets,
.export-form-actions,
.export-template-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.export-column-groups,
.export-selected-columns,
.export-template-list {
    display: grid;
    gap: 0.7rem;
}

.export-column-group,
.export-order-panel,
.export-preview-panel,
.export-column-item {
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.export-column-group,
.export-order-panel,
.export-preview-panel {
    padding: 0.85rem;
}

.export-column-group {
    background: #f8fbff;
}

.export-column-group-header,
.export-order-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.export-button-group,
.export-row-controls {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: nowrap;
}

.export-column-list {
    display: grid;
    gap: 0.5rem;
}

.export-column-item {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.65rem;
}

.export-order-row {
    padding: 0.45rem 0.55rem;
    font-size: 0.88rem;
    font-weight: 500;
}

.export-order-row + .export-order-row {
    margin-top: 0.45rem;
}

.export-preview-panel {
    margin-top: 1rem;
}

.export-template-item {
    display: grid;
    gap: 0.65rem;
    padding: 0.75rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.crm-export-page .crm-builder-title-block {
    display: grid;
    gap: 0.35rem;
}

.crm-export-page .crm-builder-card,
.crm-export-page .crm-builder-order-panel,
.crm-export-page .crm-builder-template-item {
    border-radius: var(--opora-radius-sm);
    box-shadow: var(--opora-shadow-soft);
}

.crm-export-page .crm-builder-card-header,
.crm-export-page .crm-builder-preview-header {
    align-items: center;
    padding: 0.85rem 1.1rem;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
}

.crm-export-page .crm-builder-section-title,
.crm-export-page .crm-builder-template-title {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
}

.crm-export-page .crm-builder-template-item {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
}

.crm-export-page .crm-builder-template-actions {
    justify-content: flex-start;
}

.crm-export-page .crm-builder-order-panel .crm-strong,
.crm-export-page .crm-builder-option-group-header .crm-strong {
    font-size: 0.9rem;
    font-weight: 600;
}

@media (max-width: 1199px) {
    .crm-work-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .backlog-filter-grid,
    .backlog-kanban-filter-grid,
    .crm-work-filter-grid,
    .backlog-parameter-grid,
    .notes-filter-row-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .backlog-filter-assignment-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .backlog-filter-options--inline {
        grid-column: 1 / -1;
    }

    .backlog-column-settings-body {
        grid-template-columns: 1fr;
    }

    .backlog-column-setting-row {
        grid-template-columns: 1fr;
        justify-content: stretch;
    }

    .backlog-column-color-field {
        width: 100%;
    }

    .backlog-form-main-grid {
        grid-template-columns: 1fr;
    }

    .crm-export-layout {
        grid-template-columns: 1fr;
    }

    .outreach-template-action-grid,
    .outreach-template-save-grid,
    .outreach-assignment-toolbar {
        grid-template-columns: 1fr;
    }

    .outreach-assignment-toolbar-controls {
        grid-template-columns: minmax(180px, 1fr) minmax(170px, max-content);
        justify-content: stretch;
    }

    .outreach-assignment-toolbar-controls .outreach-action-row {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 767px) {
    .crm-work-grid {
        grid-template-columns: 1fr;
    }

    .backlog-filter-grid,
    .backlog-kanban-filter-grid,
    .crm-work-filter-grid,
    .notes-filter-row-fields,
    .backlog-filter-grid + .backlog-filter-grid,
    .backlog-filter-assignment-row,
    .backlog-form-grid,
    .backlog-form-main-grid,
    .backlog-parameter-grid,
    .backlog-detail-grid,
    .note-detail-grid,
    .crm-work-two-column,
    .backlog-content-grid,
    .note-meta-grid,
    .backlog-field-grid,
    .relation-panel,
    .backlog-relation-select-grid {
        grid-template-columns: 1fr;
    }

    .backlog-parameter-grid .backlog-field.is-wide {
        grid-column: auto;
    }

    .backlog-filter-options--inline {
        grid-column: auto;
    }

    .backlog-toolbar,
    .backlog-detail-actions,
    .note-form-header-actions,
    .crm-page-actions {
        justify-content: flex-start;
    }

    .backlog-column-settings-body {
        grid-template-columns: 1fr;
    }

    .backlog-kanban-board {
        padding-right: 0;
        padding-left: 0;
    }

    .backlog-kanban-column {
        width: min(82vw, 310px);
        min-width: min(82vw, 310px);
        max-width: min(82vw, 310px);
        flex-basis: min(82vw, 310px);
    }

    .backlog-kanban-scroll-control {
        display: none !important;
    }

    .note-card-meta-grid {
        grid-template-columns: 1fr;
    }

    .note-card-content {
        min-height: 260px;
    }

    .note-card-head {
        grid-template-columns: 1fr;
    }

    .note-card-footer {
        display: block;
    }

    .notes-filter-row-options {
        align-items: flex-start;
    }

    .backlog-attachment-item {
        grid-template-columns: 1fr;
    }

    .outreach-assignment-toolbar-controls {
        grid-template-columns: 1fr;
    }

    .outreach-assignment-toolbar-controls .outreach-action-row {
        grid-column: auto;
    }

    .outreach-template-action-footer,
    .outreach-assignment-toolbar .outreach-action-row {
        align-items: stretch;
        flex-direction: column;
    }

    .outreach-template-action-footer .btn,
    .outreach-assignment-toolbar .outreach-action-row .btn {
        width: 100%;
    }
}

.crm-field-card {
    display: grid;
    align-content: start;
    gap: 0.45rem;
    height: 100%;
    min-height: 112px;
    padding: 0.9rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: var(--opora-form-field-card-bg);
}

.crm-field-card-soft {
    background: var(--opora-form-field-card-bg);
}

.crm-field-card .form-label {
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.76rem;
    font-weight: 600;
    line-height: 1.25;
}

.crm-field-card .form-control,
.crm-field-card .form-select {
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background-color: var(--opora-form-field-control-bg);
    font-size: 0.88rem;
}

.crm-field-card .form-control:disabled,
.crm-field-card .form-select:disabled,
.crm-field-card .form-control[readonly],
.crm-field-card .form-select[readonly] {
    background-color: var(--opora-form-field-control-bg);
    color: var(--opora-text);
    opacity: 1;
}

.crm-field-card .form-control:focus,
.crm-field-card .form-select:focus {
    border-color: rgba(22, 99, 232, 0.52);
    box-shadow: 0 0 0 0.2rem rgba(22, 99, 232, 0.12);
}

.crm-field-hint {
    color: var(--opora-muted);
    font-size: 0.8rem;
}

.crm-field-error {
    color: var(--opora-danger);
    font-size: 0.8rem;
    font-weight: 700;
}

.crm-field-readonly {
    min-height: 38px;
    display: flex;
    align-items: center;
    padding: 0.45rem 0.7rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: var(--opora-form-field-control-bg);
    color: var(--opora-text);
    font-size: 0.84rem;
    font-weight: 500;
    line-height: 1.35;
}

.crm-wizard-shell {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.crm-stepper {
    padding: 0.9rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.crm-stepper-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.crm-stepper-item {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.6rem;
    min-width: 0;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #F8FAFC;
}

.crm-stepper-marker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid #CBD5E1;
    border-radius: 999px;
    background: #fff;
    color: var(--opora-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.crm-stepper-body {
    display: grid;
    gap: 0.08rem;
    min-width: 0;
}

.crm-stepper-kicker {
    color: var(--opora-muted);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
}

.crm-stepper-title {
    color: var(--opora-text);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.25;
}

.crm-stepper-item.is-active {
    border-color: rgba(22, 99, 232, 0.34);
    background: var(--opora-form-section-header-bg);
}

.crm-stepper-item.is-active .crm-stepper-marker {
    border-color: #174EA6;
    background: #174EA6;
    color: #fff;
}

.crm-stepper-item.is-complete .crm-stepper-marker {
    border-color: rgba(22, 163, 74, 0.28);
    background: #ECFDF3;
    color: #166534;
}

.crm-review-summary {
    display: grid;
    gap: 0.9rem;
    padding: 1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.crm-review-summary-header,
.crm-readiness-summary-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.crm-review-summary-title,
.crm-readiness-summary-title {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    color: var(--opora-text);
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.25;
}

.crm-review-summary-subtitle,
.crm-readiness-summary-line {
    margin: 0.2rem 0 0;
    color: var(--opora-muted);
    font-size: 0.84rem;
    line-height: 1.35;
}

.crm-review-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    min-width: 0;
}

.crm-review-summary-item {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
    padding: 0.72rem 0.8rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #F8FAFC;
}

.crm-review-summary-item.is-highlight {
    border-color: rgba(22, 99, 232, 0.2);
    background: #EFF6FF;
}

.crm-review-summary-label {
    color: var(--opora-muted);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
}

.crm-review-summary-item strong {
    color: var(--opora-text);
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.3;
}

.crm-review-summary-details,
.crm-setup-task-details {
    color: var(--opora-muted);
    font-size: 0.82rem;
    line-height: 1.35;
}

.crm-review-summary-details summary,
.crm-setup-task-details summary {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    color: var(--opora-blue-700);
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
}

.crm-review-summary-details p,
.crm-setup-task-details p {
    margin: 0.35rem 0 0;
}

.crm-readiness-summary {
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.crm-readiness-next-action {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.55rem;
    align-items: flex-start;
    padding: 0.72rem 0.8rem;
    border: 1px solid rgba(217, 119, 6, 0.22);
    border-radius: var(--opora-radius-sm);
    background: #FFFBEB;
}

.crm-readiness-next-action strong {
    display: block;
    color: var(--opora-text);
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.25;
}

.crm-readiness-next-action p {
    margin: 0.12rem 0 0;
    color: #78350F;
    font-size: 0.82rem;
    line-height: 1.35;
}

.crm-setup-task-list {
    display: grid;
    gap: 0.55rem;
    min-width: 0;
}

.crm-setup-task-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.6rem;
    min-width: 0;
    padding: 0.72rem 0.8rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.crm-setup-task-card.compact {
    padding: 0.58rem 0.65rem;
}

.crm-setup-task-card.is-blocker {
    border-color: rgba(185, 28, 28, 0.22);
    background: #FEF2F2;
}

.crm-setup-task-card.is-next {
    border-color: rgba(217, 119, 6, 0.22);
    background: #FFFBEB;
}

.crm-choice-card-grid {
    display: grid;
    gap: 0.75rem;
    min-width: 0;
}

.crm-ui-preview-choice-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.crm-choice-card.crm-setup-task-card {
    position: relative;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: start;
    min-height: 112px;
    padding: 0.9rem 0.95rem;
    cursor: pointer;
    background: var(--opora-form-field-card-bg);
}

.crm-choice-card.crm-setup-task-card.is-selected {
    border-color: rgba(22, 99, 232, 0.44);
    background: var(--opora-form-section-header-bg);
    box-shadow: inset 0 0 0 1px rgba(22, 99, 232, 0.08);
}

.crm-choice-card-input {
    position: absolute;
    top: 0.78rem;
    right: 0.78rem;
    margin: 0;
}

.crm-choice-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: #EAF2FF;
    color: #174EA6;
    font-size: 1rem;
}

.crm-choice-card-icon.is-success {
    background: #EAFBF2;
    color: #15803D;
}

.crm-choice-card-icon.is-warning {
    background: #FFF7E6;
    color: #B45309;
}

.crm-choice-card.crm-setup-task-card .crm-setup-task-card-body {
    gap: 0.25rem;
    padding-right: 1.8rem;
}

.crm-choice-card.crm-setup-task-card .crm-setup-task-card-title {
    font-size: 0.92rem;
}

.crm-choice-card.crm-setup-task-card .crm-setup-task-card-meta {
    font-size: 0.8rem;
    line-height: 1.35;
}

.crm-setup-task-card-body {
    display: grid;
    gap: 0.08rem;
    min-width: 0;
}

.crm-setup-task-card-title {
    color: var(--opora-text);
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.25;
}

.crm-setup-task-card-meta {
    color: var(--opora-muted);
    font-size: 0.78rem;
    line-height: 1.25;
}

.crm-setup-task-details {
    grid-column: 2 / -1;
}

.crm-status-dot {
    display: inline-flex;
    width: 0.62rem;
    height: 0.62rem;
    flex: 0 0 0.62rem;
    border-radius: 999px;
    background: #94A3B8;
    box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.14);
}

.crm-status-dot.is-success {
    background: #16A34A;
    box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.14);
}

.crm-status-dot.is-warning {
    background: #D97706;
    box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.14);
}

.crm-status-dot.is-danger {
    background: #DC2626;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.14);
}

.crm-status-dot.is-info {
    background: #174EA6;
    box-shadow: 0 0 0 3px rgba(23, 78, 166, 0.14);
}

.crm-info-tooltip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    padding: 0;
    border: 1px solid #CBD5E1;
    border-radius: 999px;
    background: #fff;
    color: var(--opora-muted);
    font-size: 0.86rem;
}

.crm-info-tooltip:hover,
.crm-info-tooltip:focus {
    border-color: rgba(22, 99, 232, 0.38);
    color: var(--opora-blue-700);
}

.crm-chip-multiselect {
    display: grid;
    gap: 0.75rem;
}

.crm-chip-multiselect-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.crm-chip-multiselect-count {
    color: var(--opora-text);
    font-size: 0.84rem;
    font-weight: 600;
}

.crm-chip-multiselect-actions {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.crm-chip-option-list {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.crm-chip-option {
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    min-height: 28px;
    padding: 0.24rem 0.58rem;
    border: 1px solid var(--opora-border);
    border-radius: 999px;
    background: #fff;
    color: var(--opora-text);
    font-size: 0.78rem;
    font-weight: 600;
}

.crm-chip-option.is-selected {
    border-color: rgba(22, 99, 232, 0.22);
    background: #EFF6FF;
    color: var(--opora-blue-700);
}

.crm-chip-option.is-disabled {
    background: #F1F5F9;
    color: var(--opora-muted);
    opacity: 0.72;
}

.crm-chip-native-select {
    width: 100%;
    min-height: 72px;
}

.crm-searchable-multiselect {
    display: grid;
    gap: 0.45rem;
    min-width: 0;
    position: relative;
}

.crm-searchable-multiselect-compact-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    min-width: 0;
}

.crm-searchable-multiselect-compact-grid > * {
    min-width: 0;
}

.crm-searchable-multiselect-input {
    width: 100%;
}

.crm-searchable-multiselect-list {
    --crm-searchable-multiselect-visible-options: 4;
    display: grid;
    max-height: calc((34px * var(--crm-searchable-multiselect-visible-options)) + 3px);
    overflow-y: auto;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.crm-searchable-multiselect-option {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    min-height: 34px;
    padding: 0.35rem 0.62rem;
    border: 0;
    border-bottom: 1px solid #E2E8F0;
    background: #fff;
    color: var(--opora-text);
    font-size: 0.84rem;
    font-weight: 500;
    line-height: 1.25;
    text-align: left;
}

.crm-searchable-multiselect-option:last-child {
    border-bottom: 0;
}

.crm-searchable-multiselect-option:disabled {
    opacity: 1;
}

.crm-searchable-multiselect-option.is-selected {
    background: #EFF6FF;
    color: var(--opora-blue-700);
}

.crm-searchable-multiselect-option.is-disabled {
    background: #F8FAFC;
    color: var(--opora-muted);
}

.crm-searchable-multiselect-check {
    display: none;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    border: 1px solid #CBD5E1;
    border-radius: 5px;
    background: #fff;
    color: transparent;
    font-size: 0.78rem;
}

.crm-searchable-multiselect-option.is-selected .crm-searchable-multiselect-check {
    border-color: #174EA6;
    background: #174EA6;
    color: #fff;
}

.crm-searchable-multiselect-option.is-disabled .crm-searchable-multiselect-check {
    border-color: #CBD5E1;
    background: #F1F5F9;
    color: #94A3B8;
}

.crm-searchable-multiselect-option-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.crm-searchable-multiselect.is-compact .crm-searchable-multiselect-option-text {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    white-space: normal;
}

.crm-searchable-multiselect-note {
    color: var(--opora-muted);
    font-size: 0.78rem;
}

.crm-searchable-multiselect.is-compact {
    gap: 0.42rem;
}

.crm-searchable-multiselect.is-compact .crm-searchable-multiselect-list {
    --crm-searchable-multiselect-visible-options: 4;
}

.crm-searchable-multiselect-selected {
    min-height: 28px;
}

.crm-searchable-multiselect-selected .crm-chip-option {
    max-width: 100%;
}

.crm-searchable-multiselect-selected .crm-chip-option-text {
    min-width: 0;
    max-width: 12rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.crm-searchable-multiselect-native,
.crm-chip-native-select.crm-searchable-multiselect-native,
.autocomplete-select-native {
    display: none !important;
    position: absolute !important;
    width: 1px;
    min-width: 1px;
    height: 1px;
    min-height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
    opacity: 0 !important;
    pointer-events: none !important;
}

.crm-form-validation-summary {
    display: grid;
    gap: 0.35rem;
}

.crm-form-section-warning {
    margin-bottom: 0.85rem;
}

@media (max-width: 1199.98px) {
    .crm-searchable-multiselect-compact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .crm-stepper-list,
    .crm-review-summary-grid,
    .crm-searchable-multiselect-compact-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-setup-task-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-review-summary-header,
    .crm-readiness-summary-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .crm-setup-task-details {
        grid-column: auto;
    }

    .crm-ui-preview-choice-card-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.crm-detail-page {
    display: grid;
    gap: 0.85rem;
    align-content: start;
}

.crm-detail-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-soft);
}

.crm-detail-identity {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    min-width: 0;
}

.crm-detail-avatar,
.crm-detail-avatar-icon {
    width: 54px;
    min-width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #EFF6FF;
    color: var(--opora-blue-700);
    font-weight: 800;
    letter-spacing: 0;
    font-size: 1.25rem;
}

.crm-detail-avatar-icon {
    background: #ECFEFF;
    color: var(--opora-teal-700);
    font-size: 1.25rem;
}

.crm-detail-avatar-candidate {
    background: #FFF7ED;
    color: var(--opora-warning);
}

.crm-detail-avatar-member {
    background: #EFF6FF;
    color: var(--opora-blue-700);
}

.crm-detail-avatar-exclusion,
.crm-detail-avatar-archive {
    background: #FFF7ED;
    color: var(--opora-warning);
}

.crm-detail-title-block {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}

.crm-detail-title-block h3,
.crm-detail-title-block .crm-detail-title {
    margin: 0;
    color: var(--opora-text);
    font-size: 1.35rem;
    font-weight: 500;
    line-height: 1.08;
}

.crm-detail-meta {
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.9rem;
}

.crm-detail-status-row,
.crm-status-chip-row {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.crm-detail-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.crm-detail-summary-grid {
    display: grid;
    gap: 0.85rem;
}

.crm-detail-summary-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.crm-detail-summary-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.crm-detail-summary-grid-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.crm-ui-preview-lab .crm-detail-summary-grid .crm-stat-value {
    color: var(--opora-text);
    font-size: 1.35rem;
    font-weight: var(--opora-font-weight-kpi);
    letter-spacing: 0;
    line-height: 1.08;
}

.crm-ui-preview-lab .crm-detail-summary-grid .crm-stat-label {
    font-weight: 600;
}

.crm-detail-tabs {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: #F8FBFF;
    flex-wrap: wrap;
}

.crm-detail-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.48rem;
    min-height: 34px;
    padding: 0.35rem 0.75rem;
    border: 1px solid transparent;
    border-radius: var(--opora-radius-sm);
    color: var(--opora-muted);
    font-size: 0.86rem;
    font-weight: 500;
    text-decoration: none;
}

.crm-detail-tab:hover,
.crm-detail-tab:focus {
    color: var(--opora-blue-700);
    background: #fff;
}

.crm-detail-tab.is-active {
    border-color: rgba(22, 99, 232, 0.16);
    background: #fff;
    color: var(--opora-blue-700);
    font-weight: 600;
    box-shadow: var(--opora-shadow-soft);
}

.crm-detail-tab.active {
    border-color: rgba(22, 99, 232, 0.16);
    background: #fff;
    color: var(--opora-blue-700);
    font-weight: 600;
    box-shadow: var(--opora-shadow-soft);
}

.crm-detail-tab.is-disabled {
    color: var(--opora-muted);
    opacity: 0.62;
    cursor: not-allowed;
}

.crm-detail-content {
    display: grid;
    gap: 1rem;
}

.crm-detail-panel,
.crm-related-block,
.crm-audit-card,
.crm-detail-danger-zone {
    min-width: 0;
}

.crm-detail-panel {
    display: grid;
    grid-template-rows: auto 1fr;
    align-content: start;
    align-items: start;
    gap: 0.9rem;
    padding: 1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-card);
}

.crm-detail-panel-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    color: var(--opora-text);
    font-size: 1rem;
    font-weight: 600;
    min-height: 1.5rem;
}

.crm-detail-panel-title i {
    color: var(--opora-teal-700);
}

.crm-detail-list {
    display: grid;
    gap: 0;
    margin: 0;
}

.crm-detail-row {
    display: grid;
    grid-template-columns: minmax(130px, 0.38fr) minmax(0, 1fr);
    gap: 0.85rem;
    padding: 0.72rem 0;
    border-top: 1px solid var(--opora-border);
}

.crm-detail-row:first-child {
    border-top: 0;
    padding-top: 0;
}

.crm-detail-row:last-child {
    padding-bottom: 0;
}

.crm-detail-label {
    color: var(--opora-muted);
    font-size: 0.74rem;
    font-weight: 600;
    text-transform: uppercase;
}

.crm-detail-value {
    min-width: 0;
    margin: 0;
    color: var(--opora-text);
    font-size: 0.92rem;
    overflow-wrap: anywhere;
}

.crm-detail-value-muted {
    color: var(--opora-muted);
}

.crm-detail-panel-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.crm-detail-readonly {
    border-color: rgba(100, 116, 139, 0.2);
    background: #F8FAFC;
}

.crm-detail-danger-zone {
    display: grid;
    gap: 0.85rem;
}

.person-detail-summary-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.person-detail-stat-head {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.person-detail-page .crm-stat-card {
    min-height: 104px;
}

.person-detail-page .crm-stat-label {
    margin-top: 0;
}

.person-detail-page .crm-stat-value {
    font-size: 1.35rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.08;
}

.person-detail-page .crm-stat-delta {
    font-size: 0.76rem;
}

.person-detail-top-stack {
    display: grid;
    gap: 0.85rem;
}

.person-detail-page .crm-badge {
    min-height: 24px;
    padding: 0.2rem 0.5rem;
    border-radius: 7px;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.1;
}

.person-detail-inline-alert {
    margin-top: 0;
}

.person-detail-page .crm-table-card {
    box-shadow: none;
}

.person-detail-page .crm-table th,
.person-detail-page .crm-table td {
    font-size: 0.86rem;
}

.regional-transfer-detail-page .crm-stat-card {
    min-height: 104px;
}

.regional-transfer-detail-page .crm-stat-label {
    margin-top: 0;
}

.regional-transfer-detail-page .crm-stat-value {
    color: var(--opora-text);
    font-size: 1.35rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.08;
}

.regional-transfer-detail-page .crm-stat-delta {
    font-size: 0.76rem;
}

.regional-transfer-list-page .crm-form-header {
    padding: 1rem 1.15rem;
}

.regional-transfer-list-page .crm-form-header .crm-page-title,
.regional-transfer-create-page .crm-form-header .crm-page-title {
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.12;
}

.regional-transfer-list-page .crm-form-header .crm-page-title i,
.regional-transfer-create-page .crm-form-header .crm-page-title i {
    font-size: 1.22rem;
}

.regional-transfer-list-page .crm-page-subtitle,
.regional-transfer-create-page .crm-page-subtitle {
    font-size: 0.9rem;
}

.regional-transfer-create-page .form-label {
    margin-bottom: 0.28rem;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 600;
}

.regional-transfer-create-page .form-control,
.regional-transfer-create-page .form-select,
.regional-transfer-create-page .autocomplete-select__control {
    min-height: 38px;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    font-size: 0.9rem;
}

.regional-transfer-create-page textarea.form-control {
    min-height: 84px;
}

.regional-transfer-create-page .crm-form-section-title {
    font-size: 0.98rem;
    font-weight: 600;
}

.regional-transfer-create-page .crm-form-section-subtitle {
    font-size: 0.86rem;
}

.regional-transfer-list-page .crm-stat-card {
    min-height: 104px;
}

.regional-transfer-list-page .crm-stat-label {
    margin-top: 0.35rem;
    font-weight: 600;
}

.regional-transfer-list-page .crm-stat-value {
    color: var(--opora-text);
    font-size: 1.35rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.08;
}

.regional-transfer-list-page .crm-stat-delta {
    font-size: 0.76rem;
}

.regional-transfer-list-page .crm-card-header,
.regional-transfer-list-page .crm-table-card > .crm-card-header,
.regional-transfer-list-page .crm-filter-card > .crm-card-header {
    padding: 0.9rem 1rem;
    font-weight: 600;
}

.regional-transfer-list-page .crm-card-header > span:first-child,
.regional-transfer-list-page .crm-table-card > .crm-card-header > span:first-child,
.regional-transfer-list-page .crm-filter-card > .crm-card-header > span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.25;
}

.person-finance-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.85rem;
}

.person-finance-count,
.person-finance-muted,
.person-finance-detail-label {
    color: var(--opora-muted);
    font-size: 0.82rem;
    font-weight: 500;
}

.person-finance-count {
    margin: 0;
}

.person-finance-table .crm-table-center-col,
.person-finance-table .crm-table-status-col,
.person-finance-table .crm-table-actions-col {
    text-align: center;
}

.person-detail-page .person-finance-table thead th {
    padding: 0.72rem 0.85rem;
    color: #475569;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
    text-align: center;
}

.person-detail-page .person-finance-table thead th.crm-table-money-col,
.person-detail-page .person-finance-table tbody td.crm-table-money-col {
    text-align: right;
}

.person-finance-table .crm-table-money-col {
    text-align: right;
    white-space: nowrap;
}

.person-finance-type {
    font-weight: 500;
}

.person-finance-detail-row > td {
    background: #F8FBFF;
}

.person-finance-detail-stack {
    display: grid;
    gap: 0.75rem;
    padding: 0.35rem 0;
}

.person-finance-detail-panel {
    padding: 0.85rem 0.9rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: var(--opora-surface);
}

.person-finance-detail-title {
    margin-bottom: 0.55rem;
    color: var(--opora-text);
    font-size: 0.9rem;
    font-weight: 600;
}

.person-finance-payment-form,
.person-finance-metric-grid,
.person-finance-mini-grid {
    display: grid;
    gap: 0.75rem;
}

.person-finance-payment-form {
    grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) auto;
    align-items: end;
}

.person-finance-payment-form .form-label {
    margin-bottom: 0.35rem;
    color: var(--opora-muted);
    font-size: 0.76rem;
    font-weight: 600;
}

.person-finance-payment-form .form-select,
.person-finance-payment-form .form-control {
    min-height: 38px;
    font-size: 0.88rem;
}

.person-finance-payment-action {
    display: flex;
    align-items: flex-end;
}

.person-finance-metric-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.person-finance-mini-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.person-finance-detail-value {
    color: var(--opora-text);
    font-size: 0.92rem;
    font-weight: 500;
}

.person-detail-page .person-audit-history-card {
    margin-top: 0.85rem;
}

.object-notes-card {
    box-shadow: var(--opora-shadow-card);
}

.object-notes-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.object-notes-title {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--opora-text);
    font-size: 0.96rem;
    font-weight: 600;
}

.object-notes-subtitle,
.object-note-meta {
    color: var(--opora-muted);
    font-size: 0.82rem;
    font-weight: 500;
}

.object-notes-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.object-notes-body {
    padding: 1rem 1.25rem;
}

.object-note-card {
    height: 100%;
    padding: 0.9rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #F8FBFF;
}

.object-note-title {
    font-size: 0.94rem;
    font-weight: 600;
    line-height: 1.3;
}

.object-notes-empty {
    min-height: 110px;
    padding: 1.4rem;
}

.crm-directory-page {
    align-content: start;
}

.crm-directory-header,
.crm-directory-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.95rem 1.25rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 251, 255, 0.98) 58%, rgba(226, 250, 252, 0.9) 100%);
    box-shadow: var(--opora-shadow-soft);
    flex-wrap: wrap;
}

.crm-directory-header h3 {
    margin: 0;
    color: var(--opora-text);
    font-size: 1.2rem;
    font-weight: 600;
}

.crm-directory-header.crm-directory-hero {
    align-items: center;
    padding: 1.15rem 1.25rem;
    border-color: rgba(7, 36, 75, 0.1);
    background: linear-gradient(135deg, #08234a 0%, #0d3164 58%, #007d8c 100%);
    box-shadow: var(--opora-shadow-card);
    color: #fff;
}

.crm-directory-header.crm-directory-hero h3 {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: #fff;
    font-size: 1.28rem;
    font-weight: 600;
    letter-spacing: 0;
}

.crm-directory-header.crm-directory-hero h3 i {
    color: #38E8F2;
}

.crm-directory-header.crm-directory-hero .crm-directory-hint {
    color: rgba(255, 255, 255, 0.78);
}

.crm-directory-registry-hero .crm-directory-hero-layout {
    grid-template-columns: minmax(220px, 1fr) max-content;
}

.crm-directory-hero-subtitle {
    margin: 0.45rem 0 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.88rem;
    line-height: 1.35;
}

.crm-directory-kpi-grid {
    display: grid;
    gap: 0.85rem;
}

.crm-directory-kpi-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.crm-directory-kpi-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.crm-directory-kpi-card.crm-stat-card,
.crm-directory-page .crm-directory-kpi-card {
    position: relative;
    isolation: isolate;
    height: 82px;
    min-height: 82px;
    max-height: 82px;
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    grid-template-rows: 32px 1fr;
    column-gap: 0.7rem;
    align-items: center;
    padding: 10px 12px;
    overflow: hidden;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}

.crm-directory-kpi-card.crm-stat-card::after,
.crm-directory-page .crm-directory-kpi-card::after {
    content: "";
    position: absolute;
    top: 12px;
    right: 22px;
    width: 76px;
    height: 52px;
    border-radius: 999px;
    background: radial-gradient(ellipse at 50% 50%, var(--directory-stat-wash, rgba(47, 123, 255, 0.16)) 0%, rgba(255, 255, 255, 0) 76%);
    filter: blur(4px);
    opacity: 0.2;
    z-index: 0;
    pointer-events: none;
}

.crm-directory-kpi-card.crm-stat-card > *,
.crm-directory-page .crm-directory-kpi-card > * {
    position: relative;
    z-index: 1;
}

.crm-directory-kpi-card .crm-stat-icon,
.crm-directory-page .crm-directory-kpi-card .crm-stat-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: var(--directory-stat-icon-bg, rgba(22, 99, 232, 0.1));
    color: var(--directory-stat-icon-color, var(--opora-blue-700));
    grid-column: 1;
    grid-row: 1;
}

.crm-directory-kpi-card .crm-stat-label,
.crm-directory-page .crm-directory-kpi-card .crm-stat-label {
    margin-top: 0;
    padding-right: 3.5rem;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 600;
    grid-column: 2;
    grid-row: 1;
    line-height: 1.1;
}

.crm-directory-kpi-card .crm-stat-value,
.crm-directory-page .crm-directory-kpi-card .crm-stat-value {
    align-self: end;
    justify-self: start;
    margin-top: 0;
    color: var(--opora-text);
    font-size: 1.42rem;
    font-weight: 500;
    grid-column: 1 / -1;
    grid-row: 2;
    line-height: 1;
    white-space: nowrap;
}

.crm-directory-kpi-card .crm-stat-delta,
.crm-directory-page .crm-directory-kpi-card .crm-stat-delta {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    align-self: end;
    justify-self: end;
    margin-top: 0;
    color: var(--opora-muted);
    font-size: 0.68rem;
    font-weight: 500;
    grid-column: 2 / -1;
    grid-row: 2;
    line-height: 1.1;
    text-align: right;
    white-space: nowrap;
}

.crm-directory-kpi-card.crm-stat-card-blue,
.crm-directory-page .crm-directory-kpi-card.crm-stat-card-blue {
    border-color: rgba(11, 87, 208, 0.22);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(232, 241, 255, 0.98) 52%, rgba(214, 229, 255, 0.92) 100%);
    --directory-stat-icon-bg: #D7E8FF;
    --directory-stat-icon-color: var(--opora-blue-700);
    --directory-stat-wash: rgba(47, 123, 255, 0.2);
}

.crm-directory-kpi-card.crm-stat-card-success,
.crm-directory-page .crm-directory-kpi-card.crm-stat-card-success {
    border-color: rgba(21, 128, 61, 0.22);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(229, 250, 239, 0.98) 52%, rgba(207, 242, 224, 0.92) 100%);
    --directory-stat-icon-bg: #CFF2DF;
    --directory-stat-icon-color: var(--opora-success);
    --directory-stat-wash: rgba(21, 128, 61, 0.18);
}

.crm-directory-kpi-card.crm-stat-card-warning,
.crm-directory-page .crm-directory-kpi-card.crm-stat-card-warning {
    border-color: rgba(180, 83, 9, 0.22);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 247, 237, 0.98) 52%, rgba(253, 230, 188, 0.92) 100%);
    --directory-stat-icon-bg: #FFEDD5;
    --directory-stat-icon-color: var(--opora-warning);
    --directory-stat-wash: rgba(180, 83, 9, 0.18);
}

.crm-directory-kpi-card.crm-stat-card-danger,
.crm-directory-page .crm-directory-kpi-card.crm-stat-card-danger {
    border-color: rgba(185, 28, 28, 0.22);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 241, 242, 0.98) 52%, rgba(254, 218, 218, 0.92) 100%);
    --directory-stat-icon-bg: #FEE2E2;
    --directory-stat-icon-color: var(--opora-danger);
    --directory-stat-wash: rgba(185, 28, 28, 0.18);
}

.crm-directory-filter-card {
    overflow: visible;
}

.crm-directory-filter-grid {
    display: grid;
    grid-template-columns: minmax(240px, 1.4fr) minmax(180px, 0.9fr) minmax(170px, 0.8fr) minmax(150px, 0.72fr) max-content;
    gap: 0.8rem;
    align-items: end;
}

.crm-directory-page .crm-registry-filter-card .crm-directory-filter-grid {
    grid-template-columns: minmax(260px, 1.35fr) minmax(180px, 0.9fr) minmax(170px, 0.8fr) max-content;
}

.crm-directory-filter-actions,
.crm-directory-card-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.crm-directory-view-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 30px;
    padding: 0.3rem 0.72rem;
    border: 1px solid rgba(100, 116, 139, 0.16);
    border-radius: 999px;
    background: #F8FAFC;
    color: var(--opora-muted);
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
}

.crm-directory-view-badge.is-active {
    border-color: rgba(22, 99, 232, 0.18);
    background: #EFF6FF;
    color: var(--opora-blue-700);
}

.crm-directory-result-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.crm-directory-hint {
    margin: 0.35rem 0 0;
    color: var(--opora-muted);
    font-size: 0.88rem;
}

.crm-directory-table-card {
    min-width: 0;
}

.crm-directory-card-view-shell > .crm-card-header,
.crm-directory-page .crm-directory-working-table > .crm-card-header {
    min-height: 54px;
    padding: 0.85rem 1.1rem;
    font-size: 0.95rem;
    font-weight: 600;
    background: #fff;
}

.crm-directory-card-view-shell > .crm-card-header > span:first-child,
.crm-directory-page .crm-directory-working-table > .crm-card-header > span:first-child {
    font-weight: 600;
}

.crm-directory-page .crm-directory-working-table.crm-table-sticky {
    --crm-table-sticky-top: 0;
}

.crm-directory-page .crm-directory-working-table.crm-table-sticky > .table-responsive {
    overflow: visible !important;
}

.crm-directory-page .crm-directory-working-table .crm-table {
    border-collapse: separate;
    border-spacing: 0;
}

.crm-directory-page .crm-directory-working-table.crm-table-sticky .crm-table thead,
.crm-directory-page .crm-directory-working-table.crm-table-sticky .crm-table thead th {
    position: static !important;
    top: auto !important;
    z-index: auto;
}

.crm-directory-table tbody td {
    padding: 0.68rem 0.85rem;
    font-size: 0.88rem;
}

.crm-directory-table thead th {
    padding: 0.72rem 0.85rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
    text-align: center;
}

.crm-directory-table thead th.crm-table-text-col,
.table-floating-head-overlay--directory .crm-directory-table thead th.crm-table-text-col {
    text-align: left;
}

.crm-directory-table thead th.crm-table-center-col,
.crm-directory-table thead th.crm-table-numeric,
.crm-directory-table thead th.crm-table-actions-col,
.table-floating-head-overlay--directory .crm-directory-table thead th.crm-table-center-col,
.table-floating-head-overlay--directory .crm-directory-table thead th.crm-table-numeric,
.table-floating-head-overlay--directory .crm-directory-table thead th.crm-table-actions-col {
    text-align: center;
}

.crm-directory-table tbody td.crm-table-text-col {
    text-align: left;
}

.crm-directory-table tbody td.crm-table-center-col,
.crm-directory-table tbody td.crm-table-numeric,
.crm-directory-table tbody td.crm-table-actions-col {
    text-align: center;
}

.crm-directory-table .crm-table-badge {
    min-height: 24px;
    padding: 0.2rem 0.5rem;
    border-radius: 7px;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.1;
}

.crm-directory-card .crm-table-badge {
    min-height: 24px;
    padding: 0.2rem 0.5rem;
    border-radius: 7px;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.1;
}

.table-floating-head-overlay--directory {
    border-radius: 0;
    background: #F8FBFF;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}

.table-floating-head-overlay--directory .crm-directory-table {
    border-collapse: separate;
    border-spacing: 0;
}

.table-floating-head-overlay--directory .crm-directory-table thead th {
    padding: 0.72rem 0.85rem;
    border-bottom: 1px solid var(--opora-border);
    background: #F8FBFF;
    color: #475569;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
    vertical-align: middle;
}

.crm-directory-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
}

.crm-directory-card {
    display: grid;
    gap: 0.9rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-card);
}

.crm-directory-card.is-inactive {
    background: #F8FAFC;
}

.crm-directory-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.crm-directory-card-title {
    margin: 0;
    color: var(--opora-text);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.25;
}

.crm-directory-card-subtitle {
    margin: 0.25rem 0 0;
    color: var(--opora-muted);
    font-size: 0.86rem;
}

.crm-directory-meta {
    display: grid;
    gap: 0;
}

.crm-directory-meta-row {
    display: grid;
    grid-template-columns: minmax(112px, 0.48fr) minmax(0, 1fr);
    gap: 0.65rem;
    padding: 0.55rem 0;
    border-top: 1px solid var(--opora-border);
}

.crm-directory-meta-row:first-child {
    border-top: 0;
    padding-top: 0;
}

.crm-directory-meta-row:last-child {
    padding-bottom: 0;
}

.crm-directory-meta-label {
    color: var(--opora-muted);
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
}

.crm-directory-meta-value {
    min-width: 0;
    color: var(--opora-text);
    font-size: 0.88rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.crm-directory-meta-muted {
    color: var(--opora-muted);
}

.crm-directory-link {
    color: var(--opora-blue-700);
    font-weight: 600;
    text-decoration: none;
}

.crm-directory-link:hover,
.crm-directory-link:focus {
    color: var(--opora-navy-800);
    text-decoration: underline;
}

.crm-directory-empty-grid {
    border: 1px dashed var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: #F8FAFC;
}

.crm-directory-detail-page,
.crm-directory-form-page {
    min-width: 0;
}

.crm-directory-detail-page .crm-detail-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.crm-directory-detail-page .crm-stat-card {
    min-height: 92px;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 0.75rem;
    align-items: center;
}

.crm-directory-detail-page .crm-stat-card .crm-stat-icon {
    grid-row: 1 / span 2;
    margin: 0;
}

.crm-directory-detail-page .crm-stat-card .crm-stat-value {
    margin: 0;
    color: var(--opora-text);
    font-size: 1.35rem;
    font-weight: 500;
    line-height: 1.08;
}

.crm-directory-detail-page .crm-stat-card .crm-stat-label {
    margin: 0.2rem 0 0;
    color: var(--opora-muted);
    font-size: 0.8rem;
    font-weight: 600;
}

.crm-directory-detail-grid {
    grid-template-columns: minmax(0, 1.5fr) minmax(300px, 0.8fr);
}

.crm-directory-person-stack {
    display: grid;
    gap: 0.65rem;
}

.crm-directory-person-card {
    display: grid;
    gap: 0.4rem;
    padding: 0.75rem 0.8rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #F8FBFF;
}

.crm-directory-person-role {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--opora-muted);
    font-size: 0.74rem;
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase;
}

.crm-directory-person-name {
    color: var(--opora-text);
    font-size: 0.94rem;
    font-weight: 500;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.crm-directory-person-name.is-muted {
    color: var(--opora-muted);
}

.crm-directory-person-meta {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.crm-directory-member-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.crm-directory-member-add-form {
    display: flex;
    align-items: end;
    justify-content: flex-end;
    gap: 0.5rem;
    min-width: min(100%, 420px);
}

.crm-directory-member-add-form .form-select {
    min-width: 260px;
}

.crm-directory-member-link {
    color: var(--opora-blue-700);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
}

.crm-directory-member-link:hover,
.crm-directory-member-link:focus {
    color: #143F86;
    text-decoration: underline;
}

.crm-directory-member-contacts {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.crm-directory-form-page .crm-form-section-body {
    background: #fff;
}

.crm-directory-form-main-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.crm-directory-form-role-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.crm-directory-documents .crm-card-header {
    min-height: 54px;
    padding: 0.85rem 1.1rem;
    background: #fff;
    font-size: 0.95rem;
    font-weight: 600;
}

.crm-directory-documents .crm-table-card-body {
    display: grid;
    gap: 0.85rem;
    padding: 0.85rem;
}

.crm-directory-documents-upload {
    display: grid;
    grid-template-columns: minmax(180px, 0.8fr) minmax(240px, 1.2fr) max-content;
    gap: 0.75rem;
    align-items: end;
}

.crm-directory-support-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    align-items: stretch;
}

.crm-directory-support-column {
    display: grid;
    min-width: 0;
}

.crm-directory-support-grid .object-notes-card,
.crm-directory-support-grid .crm-directory-documents {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    height: 100%;
    margin-bottom: 0 !important;
}

.crm-directory-support-grid .object-notes-body,
.crm-directory-support-grid .crm-directory-documents .crm-table-card-body {
    min-height: 0;
}

.crm-directory-support-grid .object-notes-body .row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
    margin: 0;
}

.crm-directory-support-grid .object-notes-body .row > [class*="col-"] {
    width: 100%;
    max-width: none;
    padding: 0;
}

.crm-directory-detail-page .crm-directory-members-table.crm-table-sticky {
    --crm-table-sticky-top: 0;
}

.crm-directory-detail-page .crm-directory-members-table.crm-table-sticky > .crm-table-card-body > .table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

.crm-directory-detail-page .crm-directory-members-table.floating-head-card .crm-table {
    border-collapse: separate;
    border-spacing: 0;
}

.crm-directory-detail-page .crm-directory-members-table.floating-head-card .crm-table thead,
.crm-directory-detail-page .crm-directory-members-table.floating-head-card .crm-table thead th {
    position: static !important;
    top: auto !important;
    z-index: auto;
}

@media (max-width: 991.98px) {
    .crm-directory-detail-page .crm-detail-summary-grid,
    .crm-directory-detail-grid,
    .crm-directory-form-main-grid,
    .crm-directory-form-role-grid,
    .crm-directory-documents-upload,
    .crm-directory-support-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-directory-detail-page .crm-directory-members-table.crm-table-sticky > .crm-table-card-body > .table-responsive {
        overflow-x: auto;
        overflow-y: visible;
    }

    .crm-directory-member-add-form {
        justify-content: flex-start;
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .crm-directory-member-add-form,
    .crm-directory-member-add-form .form-select,
    .crm-directory-member-add-form .crm-btn-primary,
    .crm-directory-documents-upload .crm-btn-primary {
        width: 100%;
    }
}

.crm-report-page {
    align-content: start;
    gap: 1rem;
    max-width: 100%;
    min-width: 0;
}

.crm-report-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-soft);
    flex-wrap: wrap;
    min-width: 0;
}

.crm-report-title-block {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    min-width: 0;
}

.crm-report-title-block h3 {
    margin: 0;
    color: var(--opora-text);
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.16;
}

.crm-report-context {
    margin: 0.25rem 0 0.6rem;
    color: var(--opora-muted);
    font-size: 0.9rem;
}

.crm-report-actions,
.crm-report-toolbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.crm-report-content {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.crm-report-toolbar {
    overflow: visible;
}

.crm-report-page .crm-card-header,
.crm-report-page .crm-table-card > .crm-card-header {
    min-height: 52px;
    padding: 0.85rem 1.1rem;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
    background: #fff;
}

.crm-report-page .crm-card-header > span:first-child,
.crm-report-page .crm-table-card > .crm-card-header > span:first-child {
    margin: 0;
    font: inherit;
}

.crm-report-page .crm-card-body {
    padding: 1rem;
}

.crm-report-action-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.crm-report-filter-row {
    display: grid;
    grid-template-columns: minmax(180px, 0.8fr) minmax(210px, 1fr) minmax(180px, 0.8fr) max-content;
    gap: 0.8rem;
    align-items: end;
}

.crm-report-filter-row-small {
    grid-template-columns: minmax(150px, 220px) max-content;
    justify-content: start;
}

.debts-filter-row {
    grid-template-columns: minmax(260px, 0.85fr) minmax(260px, 0.85fr) max-content;
}

.crm-report-page .form-control,
.crm-report-page .form-select,
.crm-report-page .autocomplete-select__control {
    min-height: 42px;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    color: var(--opora-text);
    font-size: 0.88rem;
}

.crm-report-page .form-control:focus,
.crm-report-page .form-select:focus {
    border-color: rgba(22, 99, 232, 0.52);
    box-shadow: 0 0 0 0.2rem rgba(22, 99, 232, 0.12);
}

.crm-report-toolbar-note {
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.88rem;
}

.crm-report-summary-grid {
    display: grid;
    gap: 0.85rem;
}

.crm-report-summary-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.crm-report-summary-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.crm-report-table-card {
    min-width: 0;
    max-width: 100%;
}

.crm-report-table-card > .table-responsive {
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
}

.crm-report-table-card.crm-table-wide-scroll > .table-responsive {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
    overscroll-behavior-x: contain;
}

.crm-report-table {
    --crm-report-grid-border: #CBD5E1;
    border-collapse: separate;
    border-spacing: 0;
}

.crm-report-table thead th,
.crm-report-table tbody td {
    border-right: 1px solid var(--crm-report-grid-border);
    border-bottom: 1px solid var(--crm-report-grid-border);
}

.crm-report-table thead th:first-child,
.crm-report-table tbody td:first-child {
    border-left: 1px solid var(--crm-report-grid-border);
}

.crm-report-table thead tr:first-child th {
    border-top: 1px solid var(--crm-report-grid-border);
}

.crm-report-table tbody td {
    font-size: 0.86rem;
}

.crm-report-table-dense thead th,
.crm-report-table-dense tbody td {
    padding: 0.5rem 0.65rem;
}

.table-floating-head-overlay--report {
    border-radius: 0;
    background: #F8FBFF;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}

.table-floating-head-overlay--report .crm-report-table {
    border-collapse: separate;
    border-spacing: 0;
}

.table-floating-head-overlay--report .crm-report-table thead th {
    padding: 0.5rem 0.65rem;
    border-color: var(--crm-report-grid-border);
    background: #F8FBFF;
    color: #475569;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
    vertical-align: middle;
}

.table-floating-head-overlay--report .crm-report-table thead th.crm-table-text-col {
    text-align: center;
}

.table-floating-head-overlay--report .crm-report-table thead th.crm-report-cell-number,
.table-floating-head-overlay--report .crm-report-table thead th.crm-report-cell-money {
    text-align: center;
}

.table-floating-head-overlay--report .crm-report-table thead th.crm-report-cell-date,
.table-floating-head-overlay--report .crm-report-table thead th.crm-report-cell-status,
.table-floating-head-overlay--report .crm-report-table thead th.crm-table-center-col {
    text-align: center;
}

.crm-report-table thead th.crm-table-text-col,
.crm-report-table thead th.crm-table-left-col,
.crm-report-table thead th.crm-table-description,
.crm-report-table thead th.crm-table-description-col,
.crm-table thead th.crm-report-cell-number,
.crm-table thead th.crm-report-cell-money {
    text-align: center;
    white-space: nowrap;
}

.crm-table tbody td.crm-report-cell-number,
.crm-table tbody td.crm-report-cell-money {
    text-align: right;
    white-space: nowrap;
}

.crm-table thead th.crm-report-cell-date,
.crm-table tbody td.crm-report-cell-date,
.crm-table thead th.crm-report-cell-status,
.crm-table tbody td.crm-report-cell-status {
    text-align: center;
    white-space: nowrap;
}

.crm-report-group-row td {
    background: #EFF6FF;
    color: var(--opora-blue-700);
    font-weight: 700;
}

.crm-report-group-title {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.crm-report-group-layout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.crm-report-total-row td {
    background: #F8FAFC;
    color: var(--opora-text);
    font-weight: 700;
}

.crm-report-source-card details {
    color: var(--opora-muted);
    font-size: 0.84rem;
}

.crm-report-source-card summary {
    color: var(--opora-blue-700);
    cursor: default;
    font-weight: 600;
}

.crm-report-empty {
    border: 1px dashed var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: #F8FAFC;
}

.daily-report-table {
    min-width: 1180px;
}

.leader-report-table {
    min-width: 1260px;
}

.leader-report-table .leader-name {
    min-width: 220px;
    max-width: 280px;
    line-height: 1.25;
}

.leader-report-table .leader-status {
    min-width: 170px;
    max-width: 220px;
    line-height: 1.25;
}

.leader-report-table .leader-total-cell,
.debts-report-table .debts-amount-total {
    font-weight: 700;
}

.leader-report-table .info-cell {
    min-width: 190px;
    max-width: 260px;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.3;
}

.branch-report-table {
    min-width: 1120px;
}

.branch-report-table .branch-name {
    min-width: 240px;
}

.recommender-report-table {
    min-width: 1320px;
}

.recommender-report-table .recommender-name {
    min-width: 260px;
}

.debts-report-table {
    min-width: 1500px;
    table-layout: fixed;
}

.debts-report-table col.debts-col-no {
    width: 44px;
}

.debts-report-table col.debts-col-fio {
    width: 300px;
}

.debts-report-table col.debts-col-phone {
    width: 150px;
}

.debts-report-table col.debts-col-entry {
    width: 116px;
}

.debts-report-table col.debts-col-month {
    width: 98px;
}

.debts-report-table col.debts-col-year {
    width: 88px;
}

.debts-report-table col.debts-col-total {
    width: 106px;
}

.debts-report-table col.debts-col-info {
    width: 320px;
}

.debts-report-table thead .debts-meta-row th {
    background: #EFF6FF;
    color: var(--opora-blue-700);
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: none;
}

.debts-report-table thead th {
    line-height: 1.12;
}

.debts-report-table thead .crm-report-th-lines {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.05rem;
    white-space: normal;
}

.debts-report-table thead th.debts-column-fio,
.debts-report-table thead th.debts-column-info,
.table-floating-head-overlay--report .debts-report-table thead th.debts-column-fio,
.table-floating-head-overlay--report .debts-report-table thead th.debts-column-info {
    text-align: center;
}

.debts-report-table thead .debts-summary-row th {
    background: #F8FAFC;
    font-size: 0.64rem;
    font-weight: 700;
    line-height: 1.1;
    padding-top: 0.42rem;
    padding-bottom: 0.42rem;
}

.debts-report-table thead .debts-summary-label {
    text-align: right;
}

.debts-report-table .debts-info-cell {
    white-space: normal;
    overflow-wrap: anywhere;
}

.debts-report-table .debts-person-cell {
    overflow-wrap: anywhere;
}

.crm-builder-page {
    align-content: start;
}

.crm-builder-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-soft);
    flex-wrap: wrap;
}

.crm-builder-title-block {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    min-width: 0;
}

.crm-builder-title-block h3 {
    margin: 0;
    color: var(--opora-text);
    font-size: 1.2rem;
    font-weight: 800;
}

.crm-builder-title-block p,
.crm-builder-section-note,
.crm-builder-preview-meta,
.crm-builder-template-meta {
    margin: 0.28rem 0 0;
    color: var(--opora-muted);
    font-size: 0.88rem;
}

.crm-builder-actions,
.crm-builder-template-actions,
.crm-builder-preview-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.crm-builder-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.85fr);
    gap: 1rem;
    align-items: start;
}

.crm-builder-main,
.crm-builder-side {
    min-width: 0;
}

.crm-builder-card,
.crm-builder-order-panel,
.crm-builder-template-item {
    display: grid;
    gap: 0;
    min-width: 0;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-card);
}

.crm-builder-card-header,
.crm-builder-option-group-header,
.crm-builder-preview-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid var(--opora-border);
    flex-wrap: wrap;
}

.crm-builder-card-body {
    padding: 1rem 1.1rem;
}

.crm-builder-form {
    display: grid;
    gap: 1rem;
}

.crm-builder-section {
    display: grid;
    gap: 0.75rem;
    padding: 1rem 0;
    border-top: 1px solid var(--opora-border);
}

.crm-builder-section:first-child {
    padding-top: 0;
    border-top: 0;
}

.crm-builder-section:last-child {
    padding-bottom: 0;
}

.crm-builder-section-title {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    color: var(--opora-text);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
}

.crm-builder-option-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.crm-builder-option-group {
    display: grid;
    min-width: 0;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-card);
}

.crm-builder-option-list {
    display: grid;
    gap: 0;
    padding: 0.25rem 1.1rem 1rem;
}

.crm-builder-option-item {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    min-width: 0;
    padding: 0.7rem 0;
    border-top: 1px solid var(--opora-border);
    color: var(--opora-text);
    font-size: 0.9rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.crm-builder-option-item:first-child {
    border-top: 0;
}

.crm-builder-option-item.is-disabled {
    color: var(--opora-muted);
}

.crm-builder-order-panel .crm-builder-card-body {
    display: grid;
    gap: 0.7rem;
}

.crm-builder-order-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.7rem 0.8rem;
    border: 1px solid var(--opora-border);
    border-radius: 8px;
    background: #F8FAFC;
    color: var(--opora-text);
    font-size: 0.9rem;
    font-weight: 800;
}

.crm-builder-preview {
    display: grid;
    gap: 1rem;
}

.crm-builder-preview-table-card {
    min-width: 0;
}

.crm-builder-template-list {
    display: grid;
    gap: 0.85rem;
}

.crm-builder-template-item {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem;
}

.crm-builder-template-title {
    margin: 0;
    color: var(--opora-text);
    font-size: 1rem;
    font-weight: 800;
}

.crm-workspace-page {
    align-content: start;
}

.crm-workspace-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-soft);
    flex-wrap: wrap;
}

.crm-workspace-title-block {
    min-width: 0;
}

.crm-workspace-title-block h3,
.crm-workspace-sidebar h3,
.crm-workspace-main h3,
.crm-workspace-preview h3,
.crm-split-sidebar h3,
.crm-split-preview-panel h3 {
    margin: 0;
    color: var(--opora-text);
    font-size: 1.08rem;
    font-weight: 800;
}

.crm-workspace-title-block p,
.crm-workspace-sidebar p,
.crm-workspace-main p,
.crm-workspace-preview p,
.crm-task-card p {
    margin: 0.3rem 0 0;
    color: var(--opora-muted);
    font-size: 0.88rem;
}

.crm-workspace-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.crm-workspace-toolbar {
    display: grid;
    gap: 0.75rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-card);
}

.crm-workspace-filter-bar,
.crm-workboard-filter-bar {
    display: flex;
    align-items: end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.crm-workspace-search {
    min-width: min(100%, 260px);
    flex: 1 1 260px;
}

.crm-workspace-mode-switch {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: nowrap;
}

.crm-workspace-layout {
    display: grid;
    grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.25fr) minmax(260px, 0.95fr);
    gap: 1rem;
    align-items: start;
}

.crm-workspace-sidebar,
.crm-workspace-main,
.crm-workspace-preview,
.crm-split-sidebar,
.crm-split-list-panel,
.crm-split-preview-panel {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-card);
}

.crm-workboard-page,
.crm-workboard {
    display: grid;
    gap: 1rem;
}

.crm-workboard-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.crm-workboard-summary-card {
    min-height: 0;
}

.crm-workboard-section {
    display: grid;
    gap: 0;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-card);
}

.crm-workboard-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.95rem 1rem;
    border-bottom: 1px solid var(--opora-border);
    flex-wrap: wrap;
}

.crm-workboard-section-header h3 {
    margin: 0;
    color: var(--opora-text);
    font-size: 1rem;
    font-weight: 800;
}

.crm-workboard-section-body {
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
}

.crm-task-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
    min-width: 0;
    padding: 0.9rem;
    border: 1px solid var(--opora-border);
    border-radius: 8px;
    background: #F8FAFC;
}

.crm-task-card.is-active {
    border-color: rgba(22, 99, 232, 0.2);
    background: #EFF6FF;
}

.crm-task-actions {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.crm-split-workspace {
    display: grid;
    gap: 1rem;
}

.crm-split-layout {
    display: grid;
    grid-template-columns: minmax(180px, 0.55fr) minmax(260px, 1fr) minmax(280px, 1fr);
    gap: 1rem;
    align-items: stretch;
}

.crm-split-preview-bottom {
    grid-template-columns: minmax(0, 1fr);
}

.crm-workspace-empty {
    width: 100%;
}

.crm-workspace-loading,
.crm-workspace-job-status {
    display: grid;
    gap: 0.85rem;
}

.crm-workspace-job-status {
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: center;
    padding: 0.85rem 1rem;
    border: 1px solid var(--opora-border);
    border-radius: 8px;
    background: #F8FAFC;
    color: var(--opora-text);
    font-size: 0.9rem;
    font-weight: 700;
}

.crm-finance-workspace-demo,
.crm-messenger-workspace-demo,
.crm-navigator-workspace-demo {
    display: grid;
    gap: 1rem;
}

.crm-public-events-preview {
    align-content: start;
}

.public-event-registration-page {
    min-height: 100vh;
    margin: 0;
    background: #EEF4FB;
    color: var(--opora-text);
}

.public-event-registration-shell {
    display: grid;
    gap: 1rem;
    width: min(100%, 1120px);
    margin: 0 auto;
    padding: 1.5rem 0.875rem 3rem;
}

.public-event-registration-back {
    display: flex;
    justify-content: flex-start;
}

.public-event-registration-layout {
    display: grid;
    grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
    gap: 1rem;
    align-items: start;
    min-width: 0;
}

.public-event-registration-summary,
.public-event-registration-form-card {
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

.public-event-registration-title {
    margin: 0;
    color: var(--opora-text);
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.18;
    overflow-wrap: anywhere;
}

.public-event-registration-facts {
    display: grid;
    gap: 0.85rem;
    margin: 0;
}

.public-event-registration-facts div {
    display: grid;
    gap: 0.16rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid var(--opora-border);
}

.public-event-registration-facts div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.public-event-registration-facts dt {
    color: var(--opora-text);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.25;
}

.public-event-registration-facts dd {
    margin: 0;
    color: var(--opora-text);
    font-size: 0.94rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.public-event-registration-facts dd span,
.public-event-registration-page .crm-form-section-subtitle,
.public-event-registration-page .crm-field-hint {
    color: var(--opora-muted);
}

.public-event-registration-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.public-event-registration-field-wide {
    grid-column: 1 / -1;
}

.public-event-registration-page .crm-field-card {
    min-width: 0;
}

.public-event-registration-page .crm-field-card-soft {
    background: linear-gradient(180deg, #FBFCFF 0%, #F5F8FF 100%);
}

.public-event-registration-page .crm-field-card .form-control,
.public-event-registration-page .crm-field-card .form-select {
    min-height: 38px;
    background: #fff;
}

.public-event-registration-page textarea.form-control {
    min-height: 92px;
}

.public-event-registration-consent {
    margin-top: 1rem;
    padding: 0.85rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.public-event-registration-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.65rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

.public-event-registration-page.embed-mode .public-event-registration-shell {
    width: min(100%, 430px);
    padding: 0.5rem 0.5rem calc(1.5rem + env(safe-area-inset-bottom));
}

.public-event-registration-page.embed-mode .public-event-registration-layout {
    grid-template-columns: minmax(0, 1fr);
}

.public-event-registration-page.embed-mode .public-event-registration-summary,
.public-event-registration-page.embed-mode .public-event-registration-form-card {
    box-shadow: none;
}

.public-event-registration-page.embed-mode .public-event-registration-grid {
    grid-template-columns: minmax(0, 1fr);
}

.public-shell-preview {
    display: grid;
    gap: 1rem;
    width: min(100%, 1220px);
    padding: 1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: #EEF4FB;
}

.public-brand-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.25rem;
    align-items: center;
    min-width: 0;
    padding: 1.25rem 1.35rem;
    border: 1px solid #DBE7F5;
    border-radius: 10px;
    background:
        linear-gradient(135deg, #FFFFFF 0%, #FFFFFF 58%, #F5FAFF 100%);
    box-shadow: 0 10px 28px rgba(23, 54, 96, 0.08);
}

.public-brand-header-rostov {
    grid-template-columns: minmax(0, 1fr) auto;
}

.public-brand-header-compact {
    padding: 1rem 1.15rem;
    box-shadow: none;
}

.public-brand-header-compact .public-brand-main {
    grid-template-columns: minmax(0, 1fr);
}

.public-brand-main {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.95rem;
    min-width: 0;
}

.public-brand-copy {
    width: 100%;
    min-width: 0;
    text-align: center;
}

.public-brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 42px;
    margin-top: 0.1rem;
    flex: 0 0 auto;
    border: 0;
    background: transparent;
}

.public-brand-flag {
    display: block;
    width: 48px;
    height: 31px;
    flex: 0 0 auto;
    border: 1px solid #B9CDEA;
    border-radius: 5px;
    background:
        linear-gradient(180deg, #FFFFFF 0 33%, #1677FF 33% 66%, #B91C1C 66% 100%);
    box-shadow: 0 8px 18px rgba(11, 87, 208, 0.14);
}

.public-brand-title {
    margin: 0;
    color: #101935;
    font-size: 1.35rem;
    line-height: 1.18;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.public-brand-kicker {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    flex-wrap: wrap;
    margin-top: 0.35rem;
    color: #536581;
    font-size: 0.78rem;
    line-height: 1.25;
}

.public-brand-name {
    color: #0B57D0;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.public-brand-separator {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #A8B7CC;
}

.public-brand-subtitle {
    max-width: 620px;
    margin: 0.35rem 0 0;
    color: #536581;
    font-size: 0.88rem;
    line-height: 1.35;
}

.public-brand-stats {
    display: flex;
    align-items: stretch;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.public-stat-pill {
    display: grid;
    place-items: center;
    align-content: center;
    gap: 0.1rem;
    min-width: 120px;
    padding: 0.65rem 0.75rem;
    border: 1px solid #DBE7F5;
    border-radius: 8px;
    background: rgba(248, 251, 255, 0.9);
    color: #101935;
    text-align: center;
}

.public-stat-pill strong {
    font-size: 1.05rem;
    line-height: 1.1;
    font-weight: 600;
}

.public-stat-pill span {
    color: #64748B;
    font-size: 0.78rem;
}

.public-events-toolbar {
    padding: 1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: #FFFFFF;
    box-shadow: var(--opora-shadow-card);
}

.public-filter-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.9rem;
    align-items: center;
}

.public-filter-controls,
.public-filter-pills {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
    min-width: 0;
}

.public-filter-controls .form-select {
    width: auto;
    min-width: 210px;
}

.public-filter-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 30px;
    padding: 0.25rem 0.65rem;
    border: 1px solid #B9CDEA;
    border-radius: 999px;
    background: #F8FBFF;
    color: #101935;
    font-size: 0.82rem;
    font-weight: 400;
    line-height: 1.2;
}

.public-event-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.public-event-cover-mode-note {
    margin: 1rem 0 0;
}

.public-event-grid-square {
    margin-top: 1rem;
}

.public-event-grid-single,
.public-event-grid-many {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.public-event-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 100%;
    border: 1px solid #DBE7F5;
    border-radius: 8px;
    background: #FFFFFF;
    box-shadow: 0 8px 22px rgba(19, 43, 78, 0.09);
    overflow: hidden;
}

.public-event-card-muted {
    background: #F8FAFC;
}

.public-event-card-mini {
    gap: 0.7rem;
    min-height: 112px;
    padding: 1rem;
}

.public-event-card-wide {
    display: grid;
    grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1fr);
}

.public-event-cover {
    display: grid;
    min-height: 150px;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #DFEAF7;
    color: inherit;
    text-decoration: none;
}

.public-event-cover:hover,
.public-event-cover:focus {
    text-decoration: none;
}

.public-event-cover:focus-visible {
    outline: 3px solid rgba(11, 87, 208, 0.42);
    outline-offset: -3px;
}

.public-event-card-square-cover .public-event-cover {
    min-height: 0;
    aspect-ratio: 1 / 1;
}

.public-event-cover-pattern,
.public-event-cover-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    padding: 1rem;
    background:
        linear-gradient(135deg, rgba(22, 119, 255, 0.14), rgba(0, 151, 167, 0.12)),
        #F8FBFF;
    color: #0A3D78;
    font-weight: 900;
    text-align: center;
}

.public-event-cover-fallback {
    border-bottom: 1px solid #DBE7F5;
    background: #F8FBFF;
}

.public-event-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.95rem 1rem 1rem;
}

.public-event-tags {
    display: flex;
    gap: 0.45rem;
    flex-wrap: wrap;
    align-items: center;
}

.public-event-title {
    margin: 0;
    color: #101935;
    font-size: 1.05rem;
    line-height: 1.34;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.public-event-summary {
    margin: 0;
    color: #526173;
    font-size: 0.88rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.public-event-meta {
    display: grid;
    gap: 0.42rem;
    margin-top: auto;
    color: #64748B;
    font-size: 0.88rem;
}

.public-event-meta span {
    display: inline-flex;
    gap: 0.45rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.public-event-meta i {
    flex: 0 0 16px;
    color: #0B57D0;
}

.public-event-price {
    color: #15803D;
    font-weight: 600;
}

.public-event-actions {
    display: flex;
    align-items: stretch;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding-top: 0.25rem;
}

.public-event-actions .btn {
    flex: 1 1 calc(50% - 0.25rem);
    min-height: 34px;
    min-width: 0;
    justify-content: center;
}

.public-event-actions-touch .btn {
    min-height: 44px;
}

.public-event-actions .public-event-registration-action {
    flex: 0 0 100%;
    justify-content: center;
}

.public-shell-preview-embed,
.public-embed-demo {
    width: min(100%, 430px);
}

.public-shell-preview-embed {
    padding: 0.5rem;
    background: #F4F8FD;
}

.public-event-card-embed {
    box-shadow: none;
}

.public-event-card-embed .public-event-summary {
    display: none;
}

.public-event-detail-preview {
    align-content: start;
}

.public-event-detail-shell,
.public-event-detail-layout,
.public-event-detail-state-grid,
.public-event-detail-mobile-demo {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.public-event-detail-layout {
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
}

.public-event-detail-state-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.public-event-detail-hero {
    display: grid;
    grid-template-columns: minmax(520px, 1.35fr) minmax(340px, 0.85fr);
    overflow: hidden;
    border: 1px solid #DBE7F5;
    border-radius: 10px;
    background: #FFFFFF;
    box-shadow: 0 12px 30px rgba(19, 43, 78, 0.09);
}

.public-event-detail-cover {
    display: grid;
    width: 100%;
    max-width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 100%;
    overflow: hidden;
    background: #DFEAF7;
    border-right: 1px solid #DBE7F5;
}

.public-event-detail-cover .public-event-cover-pattern {
    min-height: 100%;
}

.public-event-detail-hero-body {
    position: relative;
    z-index: 1;
    display: grid;
    align-content: center;
    gap: 0.85rem;
    min-width: 0;
    padding: 1.35rem;
    background: #FFFFFF;
}

.public-event-detail-brand,
.public-event-detail-meta-compact {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
    color: #536581;
    font-size: 0.82rem;
}

.public-event-detail-brand .public-brand-flag {
    width: 30px;
    height: 20px;
    box-shadow: none;
}

.public-event-detail-title {
    margin: 0;
    color: #101935;
    font-size: 1.375rem;
    line-height: 1.18;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.public-event-detail-lead,
.public-event-detail-prose p {
    color: #526173;
    font-size: 0.93rem;
    line-height: 1.48;
}

.public-event-detail-lead {
    margin: 0;
}

.public-event-detail-prose p {
    margin: 0 0 0.75rem;
}

.public-event-detail-prose p:last-child {
    margin-bottom: 0;
}

.public-event-detail-prose h2,
.public-event-detail-prose h3 {
    color: #101935;
    font-weight: 600;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.public-event-detail-prose h2 {
    margin: 1.05rem 0 0.45rem;
    font-size: 1.18rem;
    line-height: 1.28;
}

.public-event-detail-prose .event-description-heading-primary {
    font-size: 1.28rem;
}

.public-event-detail-prose h3 {
    margin: 0.9rem 0 0.35rem;
    font-size: 1.04rem;
    line-height: 1.32;
}

.public-event-detail-actions {
    display: flex;
    gap: 0.55rem;
    flex-wrap: wrap;
    align-items: center;
}

.public-event-detail-meta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.8rem;
}

.public-event-detail-meta-item {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 0.65rem;
    align-items: start;
    padding: 0.85rem;
    border: 1px solid #DBE7F5;
    border-radius: 8px;
    background: #F8FBFF;
}

.public-event-detail-meta-item i {
    color: #0B57D0;
    font-size: 1rem;
}

.public-event-detail-meta-item span {
    display: block;
    color: #64748B;
    font-size: 0.78rem;
    line-height: 1.2;
}

.public-event-detail-meta-item strong {
    display: block;
    margin-top: 0.18rem;
    color: #101935;
    font-size: 0.92rem;
    font-weight: 500;
    line-height: 1.3;
}

.public-event-schedule-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.public-event-schedule-item {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 0.9rem;
    padding: 1rem 0;
    border-bottom: 1px solid #E2E8F0;
}

.public-event-schedule-item:first-child {
    padding-top: 0;
}

.public-event-schedule-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.public-event-schedule-item time {
    color: #0B57D0;
    font-size: 0.95rem;
    font-weight: 600;
}

.public-event-schedule-item h3 {
    margin: 0;
    color: #101935;
    font-size: 0.98rem;
    font-weight: 600;
}

.public-event-schedule-item p {
    margin: 0.25rem 0 0;
    color: #526173;
    font-size: 0.9rem;
    line-height: 1.42;
}

.public-event-program-list {
    display: grid;
    gap: 0.65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.public-event-program-list li {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 0.55rem;
    color: #334155;
    font-size: 0.9rem;
    line-height: 1.4;
}

.public-event-program-list i {
    color: #15803D;
}

.public-event-registration-form {
    display: grid;
    gap: 1rem;
}

.public-event-payment-summary {
    display: grid;
    gap: 0.25rem;
    padding: 1rem;
    border: 1px solid #DBE7F5;
    border-radius: 8px;
    background: #F8FBFF;
}

.public-event-payment-summary span,
.public-event-payment-summary small {
    color: #64748B;
    font-size: 0.82rem;
}

.public-event-payment-summary strong {
    color: #101935;
    font-size: 1.35rem;
    font-weight: 500;
}

.public-event-detail-mobile-card {
    display: grid;
    gap: 0.75rem;
    width: min(100%, 430px);
    padding: 1rem;
    border: 1px solid #DBE7F5;
    border-radius: 10px;
    background: #FFFFFF;
    box-shadow: 0 10px 24px rgba(19, 43, 78, 0.08);
}

.public-event-detail-actions-stack .btn {
    min-height: 42px;
}

.public-empty-state-grid,
.public-registration-demo,
.public-payment-state {
    display: grid;
    gap: 1rem;
}

.public-empty-state-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.public-empty-state {
    background: #FFFFFF;
}

.public-registration-form {
    margin: 0;
}

.crm-shell-preview-page {
    align-content: start;
}

.crm-shell-preview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
}

.crm-shell-preview-frame {
    position: relative;
    display: grid;
    grid-template-columns: minmax(150px, 0.38fr) minmax(0, 1fr);
    min-height: 260px;
    overflow: hidden;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: #F5F7FB;
    box-shadow: var(--opora-shadow-card);
}

.crm-shell-preview-sidebar {
    position: relative;
    z-index: 3;
    display: grid;
    align-content: start;
    gap: 0.8rem;
    min-width: 0;
    max-height: 320px;
    overflow: hidden;
    padding: 1rem;
    background: linear-gradient(180deg, var(--opora-navy-950) 0%, var(--opora-navy-900) 58%, var(--opora-navy-800) 100%);
    color: #FFFFFF;
}

.crm-shell-preview-sidebar-collapsed {
    width: 76px;
    grid-template-columns: 76px minmax(0, 1fr);
}

.crm-shell-preview-sidebar-collapsed .crm-shell-preview-sidebar {
    padding: 0.8rem 0.55rem;
}

.crm-shell-preview-sidebar-mobile {
    grid-template-columns: minmax(0, 1fr);
}

.crm-shell-preview-sidebar-mobile .crm-shell-preview-sidebar {
    width: min(76%, 240px);
}

.crm-shell-preview-backdrop {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: rgba(15, 23, 42, 0.38);
}

.crm-shell-preview-main {
    position: relative;
    z-index: 1;
    display: grid;
    align-content: start;
    gap: 0.9rem;
    min-width: 0;
    padding: 1rem;
}

.crm-shell-preview-main-full {
    min-height: 320px;
}

.crm-shell-preview-nav {
    display: grid;
    gap: 0.35rem;
}

.crm-shell-preview-menu-frame {
    position: relative;
    min-width: 0;
}

.crm-shell-preview-menu-frame-scrollable {
    max-height: 228px;
    overflow: hidden;
    padding: 1.55rem 0;
}

.crm-shell-preview-menu-frame-scrollable::before,
.crm-shell-preview-menu-frame-scrollable::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    z-index: 2;
    height: 28px;
    pointer-events: none;
}

.crm-shell-preview-menu-frame-scrollable::before {
    top: 0;
    background: linear-gradient(180deg, rgba(6, 25, 54, 0.98), rgba(6, 25, 54, 0));
}

.crm-shell-preview-menu-frame-scrollable::after {
    bottom: 0;
    background: linear-gradient(0deg, rgba(8, 35, 74, 0.98), rgba(8, 35, 74, 0));
}

.crm-shell-preview-scroll-arrow {
    position: absolute;
    left: 50%;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 24px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.32);
    color: #FFFFFF;
    transform: translateX(-50%);
}

.crm-shell-preview-scroll-arrow-up {
    top: 0.15rem;
}

.crm-shell-preview-scroll-arrow-down {
    bottom: 0.15rem;
}

.crm-shell-preview-nav-item {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 36px;
    min-width: 0;
    padding: 0.45rem 0.55rem;
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.86rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.crm-shell-preview-nav-item-active {
    background: rgba(0, 175, 193, 0.16);
    box-shadow: inset 3px 0 0 rgba(0, 175, 193, 0.95);
    color: #FFFFFF;
}

.crm-shell-preview-brand {
    color: #FFFFFF;
    font-weight: 700;
    letter-spacing: 0;
}

.crm-shell-preview-user {
    min-width: 0;
}

.crm-shell-preview-user p {
    margin: 0.25rem 0 0;
    color: var(--opora-muted);
}

.crm-shell-preview-compact-marker {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.crm-shell-preview-compact-marker p {
    margin: 0;
    overflow-wrap: anywhere;
}

.crm-shell-preview-message-stack {
    display: grid;
    gap: 0.85rem;
}

.crm-shell-preview-notification {
    position: relative;
    display: grid;
    gap: 0.8rem;
    align-content: start;
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-card);
}

.crm-shell-preview-notification-menu {
    position: relative;
    z-index: 45;
    display: grid;
    gap: 0.55rem;
    min-width: 0;
    padding: 0.85rem;
    border: 1px solid var(--opora-border);
    border-radius: 8px;
    background: #FFFFFF;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.16);
    color: var(--opora-text);
    font-size: 0.88rem;
}

.crm-shell-preview-z-index {
    display: grid;
    gap: 1rem;
}

.crm-shell-preview-legacy-note {
    display: grid;
    gap: 0.85rem;
}

.crm-shell-preview-layout-card {
    display: grid;
    gap: 0.45rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-card);
    color: var(--opora-text);
}

.crm-shell-preview-layout-card h3 {
    margin: 0;
    color: var(--opora-text);
    font-size: 1rem;
    font-weight: 600;
}

.crm-shell-preview-layout-card p {
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.88rem;
}

.crm-shell-preview-layout-card.is-registry {
    border-color: rgba(22, 99, 232, 0.22);
    background: #EFF6FF;
}

.crm-shell-preview-layout-card.is-workspace {
    border-color: rgba(0, 125, 140, 0.24);
    background: #ECFEFF;
}

.crm-shell-preview-layout-card.is-report {
    border-color: rgba(180, 83, 9, 0.24);
    background: #FFFBEB;
}

.crm-ui-preview-page {
    align-content: start;
}

.crm-ui-preview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
}

.crm-ui-preview-card {
    display: grid;
    gap: 0.65rem;
    min-height: 178px;
    padding: 1.1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-card);
    color: var(--opora-text);
    text-decoration: none;
}

.crm-ui-preview-card:hover,
.crm-ui-preview-card:focus {
    border-color: rgba(22, 99, 232, 0.28);
    color: var(--opora-text);
    transform: translateY(-1px);
}

.crm-ui-preview-card.is-planned {
    background: #F8FAFC;
    color: var(--opora-muted);
    opacity: 0.72;
}

.crm-ui-preview-icon {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #EFF6FF;
    color: var(--opora-blue-700);
    font-size: 1.1rem;
}

.crm-ui-preview-card-title {
    color: var(--opora-text);
    font-size: 1rem;
    font-weight: 800;
}

.crm-ui-preview-card-text {
    color: var(--opora-muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

.crm-ui-preview-flow-group {
    display: grid;
    gap: 0.85rem;
}

.crm-ui-preview-flow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.crm-ui-preview-flow-final {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.crm-ui-preview-step {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 0.85rem;
    min-height: 92px;
    padding: 1rem;
    border-radius: var(--opora-radius-md);
    text-align: left;
    white-space: normal;
    box-shadow: var(--opora-shadow-card);
}

.crm-ui-preview-step:hover,
.crm-ui-preview-step:focus {
    transform: translateY(-1px);
}

.crm-ui-preview-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: #EFF6FF;
    color: var(--opora-blue-700);
    font-size: 1rem;
    font-weight: 900;
}

.crm-ui-preview-step-required .crm-ui-preview-step-number {
    background: #DBEAFE;
    color: #0B57D0;
}

.crm-ui-preview-step-final .crm-ui-preview-step-number {
    background: #E8F5E9;
    color: var(--opora-success);
}

.crm-ui-preview-step-body {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.crm-ui-preview-step-arrow {
    color: var(--opora-muted);
    justify-self: end;
}

.crm-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 0.2rem 0.5rem;
    border: 1px solid transparent;
    border-radius: 7px;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.1;
    white-space: normal;
}

.crm-badge-success {
    background: #E8F5E9;
    color: var(--opora-success);
    border-color: rgba(21, 128, 61, 0.14);
}

.crm-badge-warning {
    background: #FFF7ED;
    color: var(--opora-warning);
    border-color: rgba(180, 83, 9, 0.16);
}

.crm-badge-danger {
    background: #FEE2E2;
    color: var(--opora-danger);
    border-color: rgba(185, 28, 28, 0.15);
}

.crm-badge-info {
    background: #E0F7FA;
    color: var(--opora-teal-700);
    border-color: rgba(0, 125, 140, 0.14);
}

.crm-badge-muted {
    background: #F1F5F9;
    color: var(--opora-muted);
    border-color: rgba(100, 116, 139, 0.14);
}

.crm-empty-state {
    display: grid;
    justify-items: center;
    gap: 0.8rem;
    padding: 3rem 1rem;
    color: var(--opora-muted);
    text-align: center;
}

.crm-empty-state-compact {
    gap: 0.45rem;
    padding: 1.6rem 1rem;
}

.crm-empty-state i {
    color: #94A3B8;
    font-size: 2.6rem;
}

.crm-empty-state-compact i {
    font-size: 2.1rem;
}

.crm-empty-state p {
    margin: 0;
}

.crm-empty-state-title {
    margin: 0;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.25;
}

.crm-empty-state-text {
    max-width: 560px;
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.9rem;
}

.crm-empty-state-actions {
    display: flex;
    justify-content: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.crm-table-token-row {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.crm-chip-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.crm-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 30px;
    max-width: 100%;
    padding: 0.28rem 0.7rem;
    border: 1px solid rgba(100, 116, 139, 0.16);
    border-radius: 999px;
    background: #F8FAFC;
    color: var(--opora-text);
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.crm-chip-success {
    border-color: rgba(21, 128, 61, 0.16);
    background: #E8F5E9;
    color: var(--opora-success);
}

.crm-chip-warning {
    border-color: rgba(180, 83, 9, 0.18);
    background: #FFF7ED;
    color: var(--opora-warning);
}

.crm-chip-danger {
    border-color: rgba(185, 28, 28, 0.16);
    background: #FEE2E2;
    color: var(--opora-danger);
}

.crm-chip-info {
    border-color: rgba(0, 125, 140, 0.16);
    background: #E0F7FA;
    color: var(--opora-teal-700);
}

.crm-chip-muted {
    border-color: rgba(100, 116, 139, 0.16);
    background: #F1F5F9;
    color: var(--opora-muted);
}

.crm-filter-pill {
    background: #EFF6FF;
    color: var(--opora-blue-700);
    border-color: rgba(22, 99, 232, 0.18);
}

.crm-contact-pill {
    background: #ECFEFF;
    color: var(--opora-teal-700);
    border-color: rgba(0, 125, 140, 0.16);
}

.crm-relation-chip {
    background: #F8FBFF;
    color: var(--opora-text);
    border-color: var(--opora-border);
}

.crm-problem-chip {
    background: #FEF2F2;
    color: var(--opora-danger);
    border-color: rgba(185, 28, 28, 0.18);
}

.crm-filter-pill,
.crm-contact-pill,
.crm-relation-chip,
.crm-problem-chip,
.crm-selectable-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 28px;
    max-width: 100%;
    padding: 0.24rem 0.58rem;
    border-width: 1px;
    border-style: solid;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.crm-selectable-chip {
    cursor: pointer;
    box-shadow: inset 0 0 0 1px rgba(22, 99, 232, 0.08);
}

.crm-chip.is-disabled,
.crm-chip[aria-disabled="true"] {
    opacity: 0.62;
    cursor: not-allowed;
}

.crm-ui-preview-lab .crm-badge,
.crm-ui-preview-lab .crm-table-badge,
.crm-ui-preview-lab .crm-directory-view-badge {
    min-height: 24px;
    padding: 0.2rem 0.5rem;
    border-radius: 7px;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.1;
    white-space: normal;
}

.crm-ui-preview-lab .crm-chip,
.crm-ui-preview-lab .crm-filter-pill,
.crm-ui-preview-lab .crm-contact-pill,
.crm-ui-preview-lab .crm-relation-chip,
.crm-ui-preview-lab .crm-problem-chip,
.crm-ui-preview-lab .crm-selectable-chip,
.crm-ui-preview-lab .public-filter-pill {
    min-height: 28px;
    padding: 0.24rem 0.58rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.15;
}

.crm-alert {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.9rem 1rem;
    border: 1px solid transparent;
    border-radius: var(--opora-radius-sm);
    background: #F8FAFC;
    color: var(--opora-text);
    min-width: 0;
}

.crm-alert i {
    margin-top: 0.1rem;
}

.crm-alert strong {
    display: block;
    margin-bottom: 0.2rem;
}

.crm-alert p {
    margin: 0;
    color: inherit;
}

.crm-alert-title {
    margin-bottom: 0.18rem;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.2;
}

.crm-alert-text {
    margin: 0;
    color: inherit;
    font-size: 0.86rem;
    line-height: 1.4;
}

.crm-alert-success {
    border-color: rgba(21, 128, 61, 0.18);
    background: #F0FDF4;
    color: var(--opora-success);
}

.crm-alert-info {
    border-color: rgba(0, 125, 140, 0.18);
    background: #ECFEFF;
    color: var(--opora-teal-700);
}

.crm-alert-warning {
    border-color: rgba(180, 83, 9, 0.2);
    background: #FFFBEB;
    color: var(--opora-warning);
}

.crm-alert-danger {
    border-color: rgba(185, 28, 28, 0.18);
    background: #FEF2F2;
    color: var(--opora-danger);
}

.crm-alert-readonly {
    border-color: rgba(100, 116, 139, 0.2);
    background: #F8FAFC;
    color: var(--opora-muted);
}

.crm-alert-diagnostic {
    border-color: rgba(22, 99, 232, 0.2);
    background: #EFF6FF;
    color: var(--opora-blue-700);
}

.crm-global-message-stack {
    position: fixed;
    top: 20px;
    left: 50%;
    z-index: 1035;
    display: grid;
    gap: 0.65rem;
    width: clamp(320px, 28vw, 520px);
    max-width: calc(100vw - 32px);
    transform: translateX(-50%);
    pointer-events: none;
}

.crm-global-message {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: 0.65rem;
    width: 100%;
    min-width: 0;
    padding: 0.72rem 0.85rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    background-clip: padding-box;
    color: var(--opora-text);
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.18);
    font-size: 0.86rem;
    line-height: 1.35;
    opacity: 1;
    pointer-events: auto;
    overflow-wrap: anywhere;
}

.crm-global-message i {
    margin-top: 0.1rem;
}

.crm-global-message strong {
    display: block;
    margin-bottom: 0.18rem;
    font-weight: 600;
}

.crm-global-message p {
    margin: 0;
    color: inherit;
}

.crm-global-message .btn-close {
    align-self: start;
    padding: 0.2rem;
}

.crm-global-message-success {
    border-color: rgba(21, 128, 61, 0.24);
    background: #F0FDF4;
    color: var(--opora-success);
}

.crm-global-message-info {
    border-color: rgba(0, 125, 140, 0.24);
    background: #ECFEFF;
    color: var(--opora-teal-700);
}

.crm-global-message-warning {
    border-color: rgba(180, 83, 9, 0.28);
    background: #FFFBEB;
    color: var(--opora-warning);
}

.crm-global-message-danger {
    border-color: rgba(185, 28, 28, 0.24);
    background: #FEF2F2;
    color: var(--opora-danger);
}

.crm-global-message-preview {
    position: relative;
    min-height: 280px;
    overflow: hidden;
    border: 1px dashed #cbd5e1;
    border-radius: var(--opora-radius-md);
    background: #F8FAFC;
}

.crm-global-message-preview-sidebar {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 76px;
    background: #0F2546;
}

.crm-global-message-preview-actions {
    position: absolute;
    top: 1rem;
    right: 1rem;
    display: flex;
    justify-content: flex-end;
    gap: 0.45rem;
}

.crm-global-message-preview-actions span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0.25rem 0.55rem;
    border: 1px solid var(--opora-border);
    border-radius: 7px;
    background: #fff;
    color: var(--opora-muted);
    font-size: 0.76rem;
}

.crm-global-message-preview .crm-global-message-stack {
    position: absolute;
    top: 1rem;
    width: clamp(320px, 28%, 520px);
}

.crm-global-message-preview-caption {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    left: 92px;
    color: var(--opora-muted);
    font-size: 0.82rem;
    line-height: 1.4;
}

@media (max-width: 575.98px) {
    .crm-global-message-stack {
        top: 12px;
        width: calc(100vw - 24px);
        max-width: calc(100vw - 24px);
    }

    .crm-global-message-preview {
        min-height: 320px;
    }

    .crm-global-message-preview-sidebar {
        width: 48px;
    }

    .crm-global-message-preview-actions {
        right: 0.75rem;
    }

    .crm-global-message-preview .crm-global-message-stack {
        top: 3.5rem;
        width: calc(100% - 32px);
    }

    .crm-global-message-preview-caption {
        left: 64px;
    }
}

.crm-diagnostic-card {
    display: grid;
    gap: 0.8rem;
    padding: 1rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-md);
    background: var(--opora-surface);
    box-shadow: var(--opora-shadow-soft);
}

.crm-diagnostic-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 0;
    flex-wrap: wrap;
}

.crm-diagnostic-status strong {
    min-width: 0;
}

.crm-diagnostic-list {
    display: grid;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.crm-diagnostic-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--opora-muted);
    font-size: 0.88rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.crm-diagnostic-action {
    justify-self: start;
}

.crm-btn-primary,
.crm-btn-secondary,
.crm-btn-danger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 40px;
    padding: 0.5rem 0.9rem;
    border: 1px solid transparent;
    border-radius: var(--opora-radius-sm);
    font-weight: 600;
    line-height: 1.15;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    transition: background-color 0.14s ease, border-color 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
}

.crm-btn-primary {
    border-color: #174EA6;
    background: #174EA6;
    color: #fff;
    box-shadow: none;
}

.crm-btn-primary:hover,
.crm-btn-primary:focus {
    border-color: #143F86;
    background: #143F86;
    color: #fff;
    box-shadow: none;
}

.crm-btn-primary:disabled,
.crm-btn-primary.disabled,
fieldset:disabled .crm-btn-primary {
    border-color: #174EA6;
    background: #174EA6;
    color: #fff;
    opacity: 1;
}

.crm-btn-primary:disabled i,
.crm-btn-primary:disabled span,
.crm-btn-primary.disabled i,
.crm-btn-primary.disabled span,
fieldset:disabled .crm-btn-primary i,
fieldset:disabled .crm-btn-primary span {
    color: currentColor;
    opacity: 1;
}

.crm-btn-secondary {
    border-color: var(--opora-border);
    background: #fff;
    color: var(--opora-navy-800);
}

.crm-btn-secondary:hover,
.crm-btn-secondary:focus {
    border-color: rgba(22, 99, 232, 0.36);
    background: #EFF6FF;
    color: var(--opora-blue-700);
}

.crm-btn-danger {
    border-color: rgba(185, 28, 28, 0.24);
    background: #fff;
    color: var(--opora-danger);
}

.crm-btn-danger:hover,
.crm-btn-danger:focus {
    border-color: var(--opora-danger);
    background: #FEF2F2;
    color: var(--opora-danger);
}

.crm-btn-sm {
    min-height: 32px;
    padding: 0.35rem 0.62rem;
    font-size: 0.86rem;
}

.crm-registry-page {
    min-height: 0;
    display: grid;
    grid-template-rows: auto auto;
    align-content: start;
    gap: 0.75rem;
    margin: 0;
    background:
        linear-gradient(180deg, rgba(6, 25, 54, 0.02), rgba(245, 247, 251, 0) 230px),
        var(--opora-bg);
}

.main-content > .crm-registry-page-flush {
    margin: -20px 0 0;
    padding-bottom: 0;
}

.crm-registry-page-flush .crm-registry-content,
.crm-registry-page-flush > [data-auto-submit-results] {
    padding-right: 0;
    padding-left: 0;
}

.registry-component-lab {
    min-height: 0;
}

.registry-lab-intro {
    display: grid;
    gap: 0.4rem;
    padding: 1rem 0 0;
}

.registry-lab-intro h1 {
    margin: 0;
    color: var(--opora-text);
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.2;
}

.registry-lab-intro p {
    max-width: 860px;
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.92rem;
}

.registry-lab-section,
.registry-lab-stack,
.registry-lab-frame {
    display: grid;
    gap: 0.75rem;
}

.registry-lab-section-title {
    margin: 0;
    color: var(--opora-text);
    font-size: 1rem;
    font-weight: 700;
}

.registry-lab-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.registry-lab-note {
    color: var(--opora-muted);
    font-size: 0.82rem;
}

.crm-registry-filter-form {
    display: grid;
    gap: 0.75rem;
    margin: 0;
}

.crm-registry-hero {
    box-sizing: border-box;
    display: grid;
    align-content: center;
    align-items: center;
    height: 88px;
    min-height: 88px;
    max-height: 88px;
    padding: 0 18px;
    border: 0;
    border-radius: 0 0 var(--opora-radius-md) var(--opora-radius-md);
    background:
        radial-gradient(ellipse at 91% 12%, rgba(0, 151, 167, 0.3), rgba(0, 151, 167, 0.09) 32%, transparent 58%),
        radial-gradient(ellipse at 70% 112%, rgba(47, 123, 255, 0.15), transparent 46%),
        linear-gradient(94deg, #061936 0%, #071D3F 48%, #08234A 76%, #0B355A 100%);
    box-shadow: 0 12px 26px rgba(6, 25, 54, 0.16);
}

.crm-registry-hero-layout {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(360px, 520px) max-content;
    height: 100%;
    gap: 0.8rem;
    align-items: center;
}

.crm-registry-hero .crm-page-title {
    color: #fff;
    font-size: clamp(1.35rem, 1.55vw, 1.6rem);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    white-space: nowrap;
}

.crm-registry-hero .crm-page-title i {
    color: #6FEAF2;
}

.crm-registry-hero-search {
    width: min(520px, 100%);
    justify-self: end;
}

.crm-registry-search-shell {
    display: flex;
    align-items: center;
    width: 100%;
    height: 38px;
    min-height: 38px;
    gap: 0.7rem;
    padding: 0.3rem 0.85rem;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 10px;
    background: rgba(6, 25, 54, 0.34);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.crm-registry-search-shell i,
.crm-registry-search-shell .form-control,
.crm-registry-search-shell .form-control::placeholder {
    color: rgba(226, 232, 240, 0.9);
}

.crm-registry-search-shell .form-control {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.crm-registry-search-shell .form-control[type="search"]::-webkit-search-cancel-button {
    width: 16px;
    height: 16px;
    margin-left: 0.45rem;
    background-color: #FFFFFF;
    cursor: pointer;
    opacity: 0.94;
    -webkit-appearance: none;
    appearance: none;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M4.22 3.28a.75.75 0 0 0-1.06 1.06L6.82 8l-3.66 3.66a.75.75 0 1 0 1.06 1.06L7.88 9.06l3.66 3.66a.75.75 0 0 0 1.06-1.06L8.94 8l3.66-3.66a.75.75 0 1 0-1.06-1.06L7.88 6.94 4.22 3.28Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M4.22 3.28a.75.75 0 0 0-1.06 1.06L6.82 8l-3.66 3.66a.75.75 0 1 0 1.06 1.06L7.88 9.06l3.66 3.66a.75.75 0 0 0 1.06-1.06L8.94 8l3.66-3.66a.75.75 0 1 0-1.06-1.06L7.88 6.94 4.22 3.28Z'/%3E%3C/svg%3E");
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 12px 12px;
    mask-size: 12px 12px;
}

.crm-registry-search-shell .form-control[type="search"]::-webkit-search-cancel-button:hover {
    opacity: 1;
}

.crm-registry-actions,
.crm-registry-hero-actions {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.crm-registry-actions .btn,
.crm-registry-hero-actions .btn {
    height: 38px;
    min-height: 38px;
    border-radius: 10px;
    font-weight: 600;
    opacity: 1;
    box-shadow: none;
}

.crm-registry-actions .btn:disabled,
.crm-registry-hero-actions .btn:disabled {
    opacity: 1;
}

@media (max-width: 1366px) and (min-width: 992px) {
    .crm-registry-page:not(.crm-finance-page) .crm-registry-hero {
        height: auto;
        min-height: 106px;
        max-height: none;
        padding: 12px 16px;
    }

    .crm-registry-page:not(.crm-finance-page) .crm-registry-hero-layout {
        grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
        grid-template-areas:
            "title search"
            "actions actions";
        gap: 0.62rem 0.75rem;
        align-items: center;
    }

    .crm-registry-page:not(.crm-finance-page) .crm-registry-hero-title {
        grid-area: title;
        min-width: 0;
    }

    .crm-registry-page:not(.crm-finance-page) .crm-registry-hero-search {
        grid-area: search;
        width: 100%;
        min-width: 0;
        justify-self: stretch;
    }

    .crm-registry-page:not(.crm-finance-page) .crm-registry-hero-actions {
        grid-area: actions;
        justify-self: end;
        flex-wrap: wrap;
    }

    .crm-registry-page:not(.crm-finance-page) .crm-registry-hero .crm-page-title {
        white-space: normal;
        line-height: 1.08;
    }
}

@media (max-width: 1180px) and (min-width: 992px) {
    .crm-registry-page:not(.crm-finance-page) .crm-registry-hero {
        min-height: 136px;
    }

    .crm-registry-page:not(.crm-finance-page) .crm-registry-hero-layout {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "title"
            "search"
            "actions";
        align-items: stretch;
    }

    .crm-registry-page:not(.crm-finance-page) .crm-registry-hero-actions {
        justify-self: stretch;
        justify-content: flex-start;
    }
}

.crm-registry-actions .crm-btn-secondary,
.crm-registry-hero-actions .crm-btn-secondary {
    border-color: rgba(226, 232, 240, 0.55);
    background: rgba(248, 250, 252, 0.88);
    color: #08234A;
    box-shadow: none;
}

.crm-registry-actions .crm-btn-primary,
.crm-registry-hero-actions .crm-btn-primary {
    border-color: #174EA6;
    background: #174EA6;
    color: #fff;
    box-shadow: none;
}

.crm-registry-actions .crm-btn-primary:disabled,
.crm-registry-hero-actions .crm-btn-primary:disabled {
    border-color: #174EA6;
    background: #174EA6;
    color: #fff;
}

.crm-registry-actions .crm-btn-primary:hover,
.crm-registry-actions .crm-btn-primary:focus,
.crm-registry-hero-actions .crm-btn-primary:hover,
.crm-registry-hero-actions .crm-btn-primary:focus {
    border-color: #143F86;
    background: #143F86;
    color: #fff;
    box-shadow: none;
}

.crm-registry-content {
    display: grid;
    align-content: start;
    align-self: start;
    gap: 1rem;
    padding: 0;
}

.crm-registry-page .crm-stat-grid,
.crm-registry-page .crm-registry-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.8rem;
    margin-top: 0;
}

.crm-registry-page .crm-stat-grid.crm-stat-grid-3,
.crm-registry-page .crm-registry-kpi-grid.crm-stat-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.crm-registry-page .crm-stat-card {
    position: relative;
    isolation: isolate;
    height: 82px;
    min-height: 82px;
    max-height: 82px;
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    grid-template-rows: 32px 1fr;
    column-gap: 0.7rem;
    align-items: center;
    padding: 10px 12px;
    overflow: hidden;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}

.crm-registry-page .crm-stat-card::after {
    content: "";
    position: absolute;
    top: var(--registry-stat-blob-top, 12px);
    right: var(--registry-stat-blob-right, 22px);
    left: auto;
    width: var(--registry-stat-blob-width, 76px);
    height: var(--registry-stat-blob-height, 52px);
    border-radius: 999px;
    background: var(--registry-stat-blob, radial-gradient(ellipse at center, var(--registry-stat-wash, rgba(47, 123, 255, 0.14)) 0%, rgba(255, 255, 255, 0) 72%));
    filter: blur(4px);
    opacity: var(--registry-stat-blob-opacity, 0.2);
    z-index: 0;
    pointer-events: none;
}

.crm-registry-page .crm-stat-card::before {
    content: none;
    display: none;
}

.crm-registry-page .crm-stat-card > * {
    position: relative;
    z-index: 1;
}

.crm-registry-page .crm-stat-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: var(--registry-stat-icon-bg, rgba(22, 99, 232, 0.1));
    color: var(--registry-stat-icon-color, var(--opora-blue-700));
    grid-column: 1;
    grid-row: 1;
}

.crm-registry-page .crm-stat-value {
    align-self: end;
    justify-self: start;
    margin-top: 0;
    color: var(--opora-text);
    font-size: 1.42rem;
    font-weight: 500;
    grid-column: 1 / -1;
    grid-row: 2;
    letter-spacing: 0;
    line-height: 1;
    white-space: nowrap;
}

.crm-registry-page .crm-stat-label {
    margin-top: 0;
    padding-right: 3.5rem;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 600;
    grid-column: 2;
    grid-row: 1;
    line-height: 1.1;
}

.crm-registry-page .crm-stat-delta {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    align-self: end;
    justify-self: end;
    margin-top: 0;
    color: var(--opora-muted);
    font-size: 0.68rem;
    font-weight: 500;
    grid-column: 2 / -1;
    grid-row: 2;
    line-height: 1.1;
    text-align: right;
    white-space: nowrap;
}

.crm-stat-delta-up,
.crm-registry-page .crm-stat-delta-up {
    color: var(--opora-success);
}

.crm-stat-delta-down,
.crm-registry-page .crm-stat-delta-down {
    color: var(--opora-danger);
}

.crm-stat-delta-flat,
.crm-registry-page .crm-stat-delta-flat {
    color: var(--opora-muted);
}

.crm-registry-page .crm-stat-card-blue {
    border-color: rgba(11, 87, 208, 0.22);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(232, 241, 255, 0.98) 52%, rgba(214, 229, 255, 0.92) 100%);
    --registry-stat-icon-bg: #D7E8FF;
    --registry-stat-icon-color: var(--opora-blue-700);
    --registry-stat-wash: rgba(47, 123, 255, 0.16);
    --registry-stat-blob: radial-gradient(ellipse at 50% 50%, rgba(47, 123, 255, 0.2) 0%, rgba(47, 123, 255, 0.08) 48%, rgba(47, 123, 255, 0) 76%);
}

.crm-registry-page .crm-stat-card-success {
    border-color: rgba(21, 128, 61, 0.22);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(229, 250, 239, 0.98) 52%, rgba(207, 242, 224, 0.92) 100%);
    --registry-stat-icon-bg: #CFF2DF;
    --registry-stat-icon-color: var(--opora-success);
    --registry-stat-wash: rgba(21, 128, 61, 0.15);
    --registry-stat-blob: radial-gradient(ellipse at 50% 50%, rgba(21, 128, 61, 0.18) 0%, rgba(21, 128, 61, 0.08) 50%, rgba(21, 128, 61, 0) 78%);
}

.crm-registry-page .crm-stat-card-warning {
    border-color: rgba(180, 83, 9, 0.22);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 247, 237, 0.98) 52%, rgba(253, 230, 188, 0.92) 100%);
    --registry-stat-icon-bg: #FFEDD5;
    --registry-stat-icon-color: var(--opora-warning);
    --registry-stat-wash: rgba(180, 83, 9, 0.15);
    --registry-stat-blob: radial-gradient(ellipse at 50% 50%, rgba(180, 83, 9, 0.18) 0%, rgba(180, 83, 9, 0.08) 50%, rgba(180, 83, 9, 0) 78%);
}

.crm-registry-page .crm-stat-card-danger {
    border-color: rgba(185, 28, 28, 0.22);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 241, 242, 0.98) 52%, rgba(254, 218, 218, 0.92) 100%);
    --registry-stat-icon-bg: #FEE2E2;
    --registry-stat-icon-color: var(--opora-danger);
    --registry-stat-wash: rgba(185, 28, 28, 0.15);
    --registry-stat-blob: radial-gradient(ellipse at 50% 50%, rgba(185, 28, 28, 0.18) 0%, rgba(185, 28, 28, 0.08) 48%, rgba(185, 28, 28, 0) 76%);
}

.crm-registry-page .crm-stat-card-violet {
    border-color: rgba(109, 40, 217, 0.22);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(244, 239, 255, 0.98) 52%, rgba(229, 220, 255, 0.92) 100%);
    --registry-stat-icon-bg: #E5DCFF;
    --registry-stat-icon-color: #6D28D9;
    --registry-stat-wash: rgba(109, 40, 217, 0.15);
    --registry-stat-blob: radial-gradient(ellipse at 50% 50%, rgba(109, 40, 217, 0.18) 0%, rgba(109, 40, 217, 0.08) 48%, rgba(109, 40, 217, 0) 76%);
}

.crm-registry-page .crm-stat-card-teal {
    border-color: rgba(0, 125, 140, 0.22);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(226, 250, 252, 0.98) 52%, rgba(201, 240, 244, 0.92) 100%);
    --registry-stat-icon-bg: #C9F0F4;
    --registry-stat-icon-color: var(--opora-teal-700);
    --registry-stat-wash: rgba(0, 151, 167, 0.15);
    --registry-stat-blob: radial-gradient(ellipse at 50% 50%, rgba(0, 151, 167, 0.18) 0%, rgba(0, 151, 167, 0.08) 50%, rgba(0, 151, 167, 0) 78%);
}

.crm-registry-filter-card .crm-card-header {
    min-height: 0;
    padding: 10px 14px;
}

.crm-registry-filter-card .crm-card-body {
    padding: 12px 14px;
}

.crm-registry-filter-card .crm-registry-filter-title {
    margin: 0;
    color: var(--opora-text);
    font-size: 0.88rem;
    font-weight: 600;
}

.crm-registry-filter-grid {
    gap: 0.65rem;
    align-items: end;
}

.crm-filter-grid-registry-advanced {
    grid-template-columns: minmax(320px, 1.1fr) minmax(250px, 0.9fr) minmax(260px, 0.9fr) minmax(220px, 0.8fr) max-content;
}

.registry-lab-split .crm-filter-grid-registry {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
}

.registry-lab-split .crm-registry-filter-field {
    flex: 1 1 140px;
    min-width: 0;
}

.registry-lab-split .crm-filter-grid-registry .crm-registry-filter-actions {
    flex: 0 0 auto;
    margin-left: auto;
}

.crm-registry-filter-field label {
    margin-bottom: 0.25rem;
    color: #475569;
    font-size: 0.7rem;
    font-weight: 500;
}

.crm-registry-filter-field .form-control,
.crm-registry-filter-field .form-select,
.crm-registry-filter-grid .btn,
.crm-registry-filter-field .autocomplete-select__control {
    height: 38px;
    min-height: 38px;
    font-size: 0.88rem;
}

.crm-registry-date-range {
    display: grid;
    grid-template-columns: repeat(2, minmax(8.5rem, 1fr));
    gap: 0.45rem;
}

.crm-registry-filter-field-date-range {
    min-width: 0;
}

.crm-registry-filter-field .crm-registry-multi-region-select {
    height: auto;
    min-height: 76px;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}

.crm-registry-filter-field .crm-registry-multi-region-select.crm-searchable-multiselect-native {
    height: 1px;
    min-height: 1px;
    padding: 0;
}

.crm-registry-filter-checks {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 38px;
    flex-wrap: wrap;
}

.crm-registry-filter-checks .form-check {
    margin: 0;
}

.crm-registry-filter-actions {
    justify-content: flex-end;
    flex-wrap: nowrap;
}

.crm-registry-filter-extra {
    border-top: 1px solid var(--opora-border);
    margin-top: 0.9rem;
    padding-top: 0.9rem;
}

.crm-registry-page .advanced-filter-toggle .bi {
    transition: transform 0.15s ease;
}

.crm-registry-page .advanced-filter-toggle[aria-expanded="true"] .bi {
    transform: rotate(180deg);
}

.crm-registry-page .advanced-filter-row {
    border-top: 1px solid var(--opora-border);
    margin-top: 0.9rem;
    padding-top: 0.9rem;
}

.crm-registry-page .advanced-filter-line {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
    align-items: end;
    gap: 0.6rem 0.7rem;
}

.crm-registry-page .advanced-filter-item {
    min-width: 0;
}

.crm-registry-page .advanced-filter-item .form-label {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.15;
    margin-bottom: 0.35rem;
    color: #475569;
}

.crm-registry-page .advanced-filter-item .form-label.fw-semibold {
    font-weight: 500 !important;
}

.crm-registry-page .advanced-filter-item .form-check {
    min-height: 38px;
    display: flex;
    align-items: center;
    margin: 0;
}

.crm-registry-page .advanced-filter-item .form-check-label {
    font-size: 0.86rem;
    line-height: 1.2;
}

.crm-registry-page .advanced-filter-row .form-control,
.crm-registry-page .advanced-filter-row .form-select {
    min-height: 38px;
    font-size: 0.875rem;
    padding-top: 0.42rem;
    padding-bottom: 0.42rem;
}

.crm-registry-icon-btn {
    width: 38px;
    min-width: 38px;
    padding-right: 0;
    padding-left: 0;
}

.crm-registry-page .crm-table-card > .crm-card-header {
    min-height: 54px;
    padding: 0.85rem 1.1rem;
    font-size: 0.95rem;
    font-weight: 600;
}

.crm-registry-page .crm-table-card > .crm-card-header > span:first-child {
    font-weight: 600;
}

.crm-table-card-badges {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.crm-table-card-selected-count {
    border-radius: 7px;
    font-weight: 600;
}

.crm-registry-page .crm-table-card.crm-table-sticky {
    --crm-table-sticky-top: 0;
}

.crm-registry-page .crm-registry-working-table > .crm-card-header {
    position: relative;
    z-index: 1;
    background: #fff;
}

.crm-registry-page .crm-registry-working-table.crm-table-sticky {
    --crm-table-sticky-top: 0;
}

.crm-registry-page .crm-registry-working-table.crm-table-sticky > .table-responsive {
    overflow: visible !important;
}

.crm-registry-page .crm-registry-working-table .crm-table {
    border-collapse: separate;
    border-spacing: 0;
}

.crm-registry-page .crm-table-sticky .crm-table thead,
.crm-registry-page .crm-table-sticky .crm-table thead th {
    top: var(--crm-table-sticky-top, 0);
}

.crm-registry-page .crm-registry-working-table.crm-table-sticky .crm-table thead,
.crm-registry-page .crm-registry-working-table.crm-table-sticky .crm-table thead th {
    position: static !important;
    top: auto !important;
    z-index: auto;
}

.crm-registry-table tbody td {
    padding: 0.68rem 0.85rem;
    font-size: 0.86rem;
    text-align: center;
}

.crm-registry-table thead th {
    padding: 0.72rem 0.85rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
}

.crm-registry-table thead th.col-fio,
.crm-registry-table thead th.col-contacts,
.crm-registry-table thead th.col-reason {
    text-align: left;
}

.table-floating-head-overlay--registry {
    border-radius: 0;
    background: #F8FBFF;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}

.table-floating-head-overlay--registry .crm-registry-table {
    border-collapse: separate;
    border-spacing: 0;
}

.table-floating-head-overlay--registry .crm-registry-table thead th {
    padding: 0.72rem 0.85rem;
    border-bottom: 1px solid var(--opora-border);
    background: #F8FBFF;
    color: #475569;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
    vertical-align: middle;
}

.table-floating-head-overlay--registry .crm-registry-table thead th.col-fio,
.table-floating-head-overlay--registry .crm-registry-table thead th.col-contacts,
.table-floating-head-overlay--registry .crm-registry-table thead th.col-reason {
    text-align: left;
}

.table-floating-head-overlay--registry .crm-registry-table thead th.crm-table-money-col {
    text-align: right;
}

.crm-registry-table tbody td.col-fio,
.crm-registry-table tbody td.col-contacts,
.crm-registry-table tbody td.col-reason {
    text-align: left;
}

.crm-registry-table .inline-contact-list {
    justify-content: flex-start;
}

.crm-registry-table tbody td.col-actions {
    text-align: center;
}

.crm-registry-table .sortable-heading {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    white-space: nowrap;
}

.crm-registry-table .person-link {
    color: var(--opora-text);
    font-weight: 600;
}

.crm-registry-table .crm-table-badge {
    min-height: 24px;
    padding: 0.2rem 0.5rem;
    border-radius: 7px;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.1;
}

.crm-finance-page .crm-search-box-muted {
    justify-content: flex-start;
    color: rgba(255, 255, 255, 0.86);
}

.crm-finance-page .crm-registry-hero-layout {
    grid-template-columns: minmax(170px, 0.55fr) minmax(360px, 1fr) minmax(520px, auto);
}

.crm-finance-page .crm-registry-hero-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.crm-finance-page .crm-registry-hero-search {
    min-width: min(100%, 360px);
}

.crm-finance-page .crm-finance-subpage-hero-layout {
    grid-template-columns: minmax(220px, 0.75fr) minmax(360px, 1fr) max-content;
}

.crm-finance-summary-grid {
    grid-template-columns: repeat(4, minmax(180px, 1fr));
}

.crm-finance-page .crm-registry-filter-card .crm-card-header {
    font-size: 0.9rem;
    font-weight: 600;
}

.crm-finance-page .crm-registry-filter-card .crm-card-header > span:first-child {
    font-weight: 600;
}

.crm-finance-page .crm-registry-filter-actions {
    margin-left: auto;
}

.crm-finance-page .finance-list-table .crm-table-money-col {
    font-variant-numeric: tabular-nums;
}

.crm-finance-page .crm-registry-row-actions-compact {
    justify-content: center;
    flex-wrap: nowrap;
}

.finance-row-detail > td {
    padding: 0 !important;
    background: #F8FBFF;
    text-align: left !important;
}

.finance-row-detail-stack {
    display: grid;
    gap: 0.8rem;
    padding: 1rem;
}

.finance-row-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.finance-row-detail-panel {
    display: grid;
    gap: 0.75rem;
    padding: 0.9rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.finance-row-detail-title {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
}

.finance-row-detail-title i {
    color: var(--opora-teal-700);
}

.finance-row-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    align-items: end;
}

.finance-row-form-wide {
    grid-column: 1 / -1;
}

.finance-row-form-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
}

.finance-row-note {
    margin: 0;
}

.crm-finance-form-page,
.crm-finance-detail-page {
    display: grid;
    gap: 0.85rem;
    align-content: start;
}

.crm-finance-form-page .crm-form-header,
.crm-finance-detail-page .crm-detail-header {
    margin: 0;
}

.crm-finance-form-page .crm-sticky-actions {
    position: sticky;
    bottom: 0.75rem;
}

.crm-finance-detail-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 0.85rem;
}

.crm-finance-detail-page .crm-stat-card {
    position: relative;
    isolation: isolate;
    height: 82px;
    min-height: 82px;
    max-height: 82px;
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    grid-template-rows: 32px 1fr;
    column-gap: 0.7rem;
    align-items: center;
    padding: 10px 12px;
    overflow: hidden;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}

.crm-finance-detail-page .crm-stat-top {
    display: grid;
    grid-column: 1 / -1;
    grid-row: 1;
    grid-template-columns: 32px minmax(0, 1fr);
    column-gap: 0.7rem;
    align-items: center;
    min-width: 0;
}

.crm-finance-detail-page .crm-stat-card::before {
    content: none;
    display: none;
}

.crm-finance-detail-page .crm-stat-card > * {
    position: relative;
    z-index: 1;
}

.crm-finance-detail-page .crm-stat-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: var(--registry-stat-icon-bg, rgba(22, 99, 232, 0.1));
    color: var(--registry-stat-icon-color, var(--opora-blue-700));
    grid-column: 1;
}

.crm-finance-detail-page .crm-stat-value {
    align-self: end;
    justify-self: start;
    margin-top: 0;
    color: var(--opora-text);
    font-size: 1.42rem;
    font-weight: 500;
    grid-column: 1 / -1;
    grid-row: 2;
    letter-spacing: 0;
    line-height: 1;
    white-space: nowrap;
}

.crm-finance-detail-page .crm-stat-label {
    margin-top: 0;
    padding-right: 3.5rem;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 600;
    grid-column: 2;
    line-height: 1.1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.crm-finance-detail-page .crm-stat-delta {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    align-self: end;
    justify-self: end;
    margin-top: 0;
    color: var(--opora-muted);
    font-size: 0.68rem;
    font-weight: 500;
    grid-column: 2 / -1;
    grid-row: 2;
    line-height: 1.1;
    text-align: right;
    white-space: nowrap;
}

.crm-finance-detail-page .crm-stat-card-blue {
    border-color: rgba(11, 87, 208, 0.22);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(232, 241, 255, 0.98) 52%, rgba(214, 229, 255, 0.92) 100%);
    --registry-stat-icon-bg: #D7E8FF;
    --registry-stat-icon-color: var(--opora-blue-700);
}

.crm-finance-detail-page .crm-stat-card-success {
    border-color: rgba(21, 128, 61, 0.22);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(229, 250, 239, 0.98) 52%, rgba(207, 242, 224, 0.92) 100%);
    --registry-stat-icon-bg: #CFF2DF;
    --registry-stat-icon-color: var(--opora-success);
}

.crm-finance-detail-page .crm-stat-card-warning {
    border-color: rgba(217, 119, 6, 0.24);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 247, 237, 0.98) 54%, rgba(255, 232, 191, 0.88) 100%);
    --registry-stat-icon-bg: #FFE8BF;
    --registry-stat-icon-color: var(--opora-warning);
}

.crm-finance-detail-page .crm-stat-card-teal {
    border-color: rgba(0, 125, 140, 0.22);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(224, 248, 251, 0.98) 54%, rgba(199, 241, 245, 0.9) 100%);
    --registry-stat-icon-bg: #C7F1F5;
    --registry-stat-icon-color: var(--opora-teal-700);
}

.crm-finance-settings-page .crm-stat-grid {
    grid-template-columns: repeat(5, minmax(150px, 1fr));
}

.crm-finance-settings-page .crm-stat-card {
    position: relative;
    isolation: isolate;
    height: 82px;
    min-height: 82px;
    max-height: 82px;
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    grid-template-rows: 32px 1fr;
    column-gap: 0.65rem;
    align-items: center;
    padding: 10px 12px;
    overflow: hidden;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}

.crm-finance-settings-page .crm-stat-top {
    display: grid;
    grid-column: 1 / -1;
    grid-row: 1;
    grid-template-columns: 32px minmax(0, 1fr);
    column-gap: 0.65rem;
    align-items: center;
    min-width: 0;
}

.crm-finance-settings-page .crm-stat-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: var(--registry-stat-icon-bg, rgba(22, 99, 232, 0.1));
    color: var(--registry-stat-icon-color, var(--opora-blue-700));
    grid-column: 1;
}

.crm-finance-settings-page .crm-stat-label {
    margin-top: 0;
    padding-right: 1rem;
    color: #334155;
    font-size: 0.8rem;
    font-weight: 600;
    grid-column: 2;
    line-height: 1.1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.crm-finance-settings-page .crm-stat-value {
    align-self: end;
    justify-self: start;
    margin-top: 0;
    color: var(--opora-text);
    font-size: 1.38rem;
    font-weight: 500;
    grid-column: 1 / -1;
    grid-row: 2;
    letter-spacing: 0;
    line-height: 1;
    white-space: nowrap;
}

.crm-finance-settings-page .crm-stat-delta {
    align-self: end;
    justify-self: end;
    margin-top: 0;
    color: var(--opora-muted);
    font-size: 0.68rem;
    font-weight: 500;
    grid-column: 2 / -1;
    grid-row: 2;
    line-height: 1.1;
    text-align: right;
    white-space: nowrap;
}

.crm-finance-settings-page .crm-stat-card-blue {
    border-color: rgba(11, 87, 208, 0.22);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(232, 241, 255, 0.98) 52%, rgba(214, 229, 255, 0.92) 100%);
    --registry-stat-icon-bg: #D7E8FF;
    --registry-stat-icon-color: var(--opora-blue-700);
}

.crm-finance-settings-page .crm-stat-card-success {
    border-color: rgba(21, 128, 61, 0.22);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(229, 250, 239, 0.98) 52%, rgba(207, 242, 224, 0.92) 100%);
    --registry-stat-icon-bg: #CFF2DF;
    --registry-stat-icon-color: var(--opora-success);
}

.crm-finance-settings-page .crm-stat-card-warning {
    border-color: rgba(217, 119, 6, 0.24);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 247, 237, 0.98) 54%, rgba(255, 232, 191, 0.88) 100%);
    --registry-stat-icon-bg: #FFE8BF;
    --registry-stat-icon-color: var(--opora-warning);
}

.crm-finance-settings-page .crm-stat-card-teal {
    border-color: rgba(0, 125, 140, 0.22);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(224, 248, 251, 0.98) 54%, rgba(199, 241, 245, 0.9) 100%);
    --registry-stat-icon-bg: #C7F1F5;
    --registry-stat-icon-color: var(--opora-teal-700);
}

.crm-finance-settings-page .crm-stat-card-muted {
    border-color: rgba(100, 116, 139, 0.2);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 250, 252, 0.98) 54%, rgba(226, 232, 240, 0.82) 100%);
    --registry-stat-icon-bg: #E2E8F0;
    --registry-stat-icon-color: #475569;
}

.crm-finance-detail-page .crm-table-card > .crm-card-header {
    min-height: 54px;
    padding: 0.95rem 1rem;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 500;
}

.crm-finance-detail-page .crm-table-card > .crm-card-header > span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 500;
}

.crm-finance-detail-page .crm-table-card > .crm-card-header i {
    color: var(--opora-teal-700);
}

.crm-finance-detail-page .crm-detail-panel-title {
    font-size: 0.98rem;
    font-weight: 500;
}

.crm-finance-detail-page .crm-detail-panel-title i {
    color: var(--opora-teal-700);
}

.crm-finance-detail-page .crm-empty-state-title {
    font-size: 0.95rem;
    font-weight: 500;
}

.crm-finance-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: 0.85rem;
}

.crm-finance-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: 0.75rem;
    align-items: end;
}

.crm-finance-form-grid .crm-field-card-wide {
    grid-column: span 2;
}

.crm-finance-form-grid-wide {
    grid-column: 1 / -1;
}

.crm-finance-form-page .crm-form-header .crm-page-title {
    margin: 0;
    color: var(--opora-text);
    font-size: 1.35rem;
    font-weight: 500;
    line-height: 1.08;
}

.crm-finance-form-page .crm-form-header .crm-page-title i {
    color: var(--opora-teal-700);
}

.crm-finance-form-page .crm-form-header .crm-page-subtitle {
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.9rem;
}

.crm-finance-form-page .crm-form-section-title {
    font-size: 0.98rem;
    font-weight: 600;
}

.crm-finance-campaign-form-grid {
    grid-template-columns: repeat(3, minmax(220px, 1fr));
}

.crm-finance-form-page .crm-field-card {
    align-content: start;
    min-height: 0;
}

.crm-finance-form-page .crm-field-card-check {
    padding: 0.78rem 0.9rem;
}

.crm-finance-form-page .crm-field-card-check .form-check {
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
}

.crm-finance-form-page .crm-field-card-check .form-check-input {
    margin: 0;
}

.crm-finance-campaign-form-grid textarea.form-control {
    min-height: 38px;
    height: 38px;
    resize: vertical;
}

.crm-payment-profile-main-grid {
    grid-template-columns: repeat(6, minmax(140px, 1fr));
    gap: 0.7rem;
    align-items: stretch;
}

.crm-payment-profile-sbp-grid {
    grid-template-columns: repeat(6, minmax(145px, 1fr));
    gap: 0.7rem;
    align-items: stretch;
}

.crm-payment-profile-main-grid .crm-field-card,
.crm-payment-profile-sbp-grid .crm-field-card {
    padding: 0.78rem 0.85rem;
}

.crm-payment-profile-flags {
    grid-column: span 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.4rem;
}

.crm-payment-profile-flags .form-check {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    gap: 0.45rem;
    align-items: start;
    margin: 0;
    min-height: 0;
}

.crm-payment-profile-flags .form-check-input {
    margin: 0.12rem 0 0;
}

.crm-payment-profile-comment {
    grid-column: span 4;
}

.crm-payment-profile-comment textarea.form-control {
    min-height: 62px;
    height: 62px;
    resize: vertical;
}

.crm-payment-profile-sbp-grid textarea.form-control {
    min-height: 38px;
    height: 38px;
    resize: vertical;
}

.crm-finance-settings-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(260px, 1fr));
    gap: 0.85rem;
    align-items: start;
}

.crm-finance-settings-form {
    display: grid;
    gap: 0.75rem;
}

.crm-finance-settings-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.crm-finance-settings-form-grid .crm-field-card-wide {
    grid-column: 1 / -1;
}

.crm-finance-settings-page .crm-field-card {
    align-content: start;
    min-height: 0;
    padding: 0.78rem 0.85rem;
}

.crm-finance-settings-page .crm-field-card textarea.form-control {
    min-height: 58px;
    height: 58px;
    resize: vertical;
}

.crm-finance-settings-checks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
}

.crm-finance-settings-checks .form-check,
.crm-finance-settings-page .crm-field-card-soft .form-check {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    gap: 0.45rem;
    align-items: start;
    margin: 0;
}

.crm-finance-settings-checks .form-check-input,
.crm-finance-settings-page .crm-field-card-soft .form-check-input {
    margin: 0.12rem 0 0;
}

.crm-finance-settings-actions {
    justify-content: flex-start;
    padding-top: 0.1rem;
}

.crm-finance-settings-list {
    display: grid;
    gap: 0.5rem;
    margin-top: 0.85rem;
}

.crm-finance-settings-list-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.65rem;
    align-items: start;
    padding: 0.65rem 0;
    border-top: 1px solid var(--opora-border);
}

.crm-finance-settings-list-title {
    color: var(--opora-text);
    font-size: 0.92rem;
    font-weight: 500;
    line-height: 1.25;
}

.crm-finance-settings-list-meta {
    margin-top: 0.15rem;
    color: var(--opora-muted);
    font-size: 0.78rem;
    line-height: 1.3;
}

.crm-finance-settings-item-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.crm-finance-settings-empty {
    min-height: 120px;
    padding: 1.25rem;
}

.crm-finance-settings-generation-grid {
    display: grid;
    grid-template-columns: minmax(160px, 0.3fr) minmax(320px, 1fr) auto;
    gap: 0.75rem;
    align-items: end;
}

.crm-finance-settings-generation-note {
    margin: 0;
    min-height: 38px;
    align-items: center;
}

.crm-finance-form-page .form-label,
.crm-finance-detail-page .form-label {
    margin-bottom: 0.28rem;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 600;
}

.crm-finance-form-page .form-control,
.crm-finance-form-page .form-select,
.crm-finance-detail-page .form-control,
.crm-finance-detail-page .form-select {
    min-height: 38px;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    font-size: 0.9rem;
}

.crm-finance-form-page textarea.form-control,
.crm-finance-detail-page textarea.form-control {
    min-height: 84px;
}

.crm-finance-section-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.crm-finance-qr-image {
    max-width: 260px;
    width: 100%;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    padding: 0.75rem;
}

.crm-finance-qr-placeholder {
    min-height: 220px;
    display: grid;
    place-items: center;
    border: 1px dashed #CBD5E1;
    border-radius: var(--opora-radius-sm);
    color: var(--opora-muted);
    background: #F8FAFC;
}

.crm-finance-inline-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.crm-finance-muted-box {
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #F8FAFC;
    padding: 0.85rem;
}

.finance-main-layout,
.finance-history-layout,
.finance-support-layout {
    display: grid;
    gap: 0.85rem;
    align-items: stretch;
}

.finance-main-layout {
    grid-template-columns: minmax(360px, 1.18fr) repeat(2, minmax(280px, 0.91fr));
}

.finance-main-card {
    grid-row: auto;
}

.finance-panel-card,
.finance-history-card,
.finance-federal-card,
.finance-support-layout > * {
    min-width: 0;
    height: 100%;
}

.finance-panel-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    align-items: end;
}

.finance-panel-form-wide,
.crm-finance-modal-wide {
    grid-column: 1 / -1;
}

.finance-panel-form-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
}

.finance-main-layout .crm-detail-panel {
    padding: 0.95rem 1rem;
}

.finance-main-layout .crm-detail-list {
    gap: 0.15rem;
}

.finance-main-layout .crm-detail-row {
    grid-template-columns: minmax(150px, 0.62fr) minmax(0, 1fr);
    padding: 0.5rem 0;
}

.finance-main-layout .crm-detail-panel-title {
    margin-bottom: 0.55rem;
}

.finance-main-layout .form-label {
    margin-bottom: 0.24rem;
    font-size: 0.74rem;
}

.finance-main-layout textarea.form-control {
    min-height: 64px;
}

.finance-history-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.finance-support-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.finance-support-layout > .finance-attachments-card,
.finance-support-layout > .crm-finance-notes-section {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.finance-support-layout > .crm-finance-notes-section > .object-notes-card {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    margin-bottom: 0 !important;
}

.finance-support-layout .finance-attachments-body,
.finance-support-layout .object-notes-body {
    flex: 1 1 auto;
}

.crm-finance-modal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.crm-finance-warning-list {
    margin: 0.35rem 0;
    padding-left: 1.05rem;
    font-size: 0.86rem;
}

.finance-federal-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
    margin-bottom: 0.75rem;
}

.finance-federal-summary-item {
    min-width: 0;
    padding: 0.7rem 0.75rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #F8FAFC;
}

.finance-federal-summary-item span {
    display: block;
    color: var(--opora-muted);
    font-size: 0.74rem;
    line-height: 1.15;
    text-transform: uppercase;
}

.finance-federal-summary-item strong {
    display: block;
    margin-top: 0.2rem;
    color: var(--opora-text);
    font-size: 0.94rem;
    font-weight: 500;
}

.finance-inline-empty {
    min-height: 120px;
    padding: 1.2rem;
}

.finance-payment-documents-list {
    display: grid;
    gap: 0.5rem;
}

.finance-payment-document-card {
    padding: 0.65rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #F8FAFC;
}

.finance-payment-document-head,
.finance-payment-actions {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: nowrap;
}

.finance-payment-document-head {
    justify-content: space-between;
}

.finance-payment-actions {
    justify-content: center;
}

.finance-payment-action-button {
    flex: 0 0 32px;
}

.finance-payment-document-upload,
.finance-payment-document-upload-form {
    display: grid;
    gap: 0.45rem;
}

.crm-finance-notes-section {
    min-width: 0;
}

.federal-transfer-card {
    overflow: visible;
}

.federal-transfer-card .crm-card-body {
    padding: 0.85rem 1rem 1rem;
}

.federal-transfer-card .crm-badge {
    flex: 0 0 auto;
}

.federal-transfer-card .form-check {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 30px;
}

.federal-transfer-card .form-check-input {
    margin-top: 0;
}

.federal-transfer-grid {
    display: grid;
    grid-template-columns: minmax(150px, 0.55fr) minmax(180px, 0.65fr) minmax(260px, 1fr) max-content;
    gap: 0.65rem;
    align-items: end;
}

.federal-transfer-field label {
    margin-bottom: 0.25rem;
    color: #475569;
    font-size: 0.7rem;
    font-weight: 500;
}

.federal-transfer-field .form-control {
    height: 38px;
    min-height: 38px;
    font-size: 0.88rem;
}

.federal-transfer-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: nowrap;
}

.federal-transfer-actions .btn {
    height: 38px;
    min-height: 38px;
    white-space: nowrap;
}

.crm-inline-action-form {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    max-width: 360px;
}

.crm-inline-action-form .form-control,
.crm-inline-action-form .form-select,
.crm-inline-action-form select {
    height: 34px;
    min-height: 34px;
    max-width: 220px;
    font-size: 0.84rem;
}

.crm-inline-action-form .btn {
    flex: 0 0 auto;
    white-space: nowrap;
}

@media (max-width: 1199.98px) {
    .finance-main-layout {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-finance-settings-page .crm-stat-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .crm-finance-settings-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .crm-finance-page .crm-registry-hero-layout,
    .crm-finance-page .crm-finance-subpage-hero-layout {
        grid-template-columns: 1fr;
    }

    .crm-filter-grid-finance-federal,
    .crm-filter-grid-finance-federal.with-region,
    .crm-filter-grid-finance-campaigns,
    .crm-filter-grid-finance-profiles,
    .crm-filter-grid-finance-invoices,
    .crm-finance-summary-grid {
        grid-template-columns: 1fr;
    }

    .finance-row-detail-grid,
    .finance-row-form,
    .finance-main-layout,
    .finance-history-layout,
    .finance-support-layout,
    .finance-panel-form,
    .finance-federal-summary,
    .crm-finance-modal-grid,
    .crm-finance-detail-summary-grid,
    .crm-finance-info-grid,
    .crm-finance-campaign-form-grid,
    .crm-finance-form-grid,
    .crm-payment-profile-main-grid,
    .crm-payment-profile-sbp-grid,
    .crm-finance-settings-page .crm-stat-grid,
    .crm-finance-settings-form-grid,
    .crm-finance-settings-generation-grid,
    .crm-finance-settings-checks,
    .federal-transfer-grid {
        grid-template-columns: 1fr;
    }

    .finance-main-card,
    .finance-panel-form-wide,
    .crm-finance-modal-wide,
    .crm-payment-profile-comment,
    .crm-payment-profile-flags {
        grid-column: auto;
        grid-row: auto;
    }

    .crm-finance-form-grid .crm-field-card-wide {
        grid-column: auto;
    }

    .crm-finance-settings-form-grid .crm-field-card-wide {
        grid-column: auto;
    }

    .federal-transfer-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

.crm-registry-pagination {
    padding: 0;
    border-top: 1px solid var(--opora-border);
}

.crm-registry-pagination-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 1rem;
}

.crm-registry-page-links {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    flex-wrap: wrap;
}

.crm-registry-page-link {
    width: 30px;
    min-width: 30px;
    height: 30px;
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 7px;
    background: transparent;
    color: #475569;
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
}

.crm-registry-page-link:hover,
.crm-registry-page-link:focus {
    border-color: rgba(22, 99, 232, 0.3);
    background: #EFF6FF;
    color: var(--opora-blue-700);
}

.crm-registry-page-link.is-active {
    border-color: rgba(22, 99, 232, 0.3);
    background: #EFF6FF;
    color: var(--opora-blue-700);
}

.crm-registry-page-link.is-disabled,
.crm-registry-page-ellipsis {
    color: var(--opora-muted);
    pointer-events: none;
}

.crm-registry-pagination-meta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--opora-muted);
    font-size: 0.8rem;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.crm-registry-page-size,
.crm-registry-page-size-form {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
}

.crm-registry-page-size {
    padding: 0 0.65rem;
    border: 1px solid var(--opora-border);
    border-radius: 7px;
    background: #F8FBFF;
    color: #475569;
}

.crm-registry-page-size-form {
    gap: 0.4rem;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.crm-registry-page-size-select {
    width: auto;
    min-width: 136px;
    flex: 0 0 auto;
    height: 30px;
    min-height: 30px;
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
    border-radius: 7px;
    color: #475569;
    font-size: 0.8rem;
}

.crm-registry-page-size-submit {
    min-height: 30px;
    flex: 0 0 auto;
    padding: 0.25rem 0.55rem;
    border-radius: 7px;
    font-size: 0.8rem;
    white-space: nowrap;
}

.crm-registry-bulk-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 0.85rem;
    border-bottom: 1px solid var(--opora-border);
    background: #fff;
    flex-wrap: wrap;
}

.crm-registry-bulk-count {
    color: var(--opora-text);
    font-size: 0.86rem;
    font-weight: 600;
}

.crm-registry-long-text {
    min-width: 280px;
    max-width: 420px;
    line-height: 1.35;
}

.crm-registry-badge-stack {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.32rem;
    min-width: 180px;
    flex-wrap: wrap;
}

.crm-registry-check-col {
    width: 42px;
}

.crm-registry-actions-col {
    width: 156px;
    min-width: 156px;
}

.crm-registry-row-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.crm-registry-row-actions form {
    margin: 0;
}

.crm-registry-row-actions-compact {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    flex-wrap: nowrap;
}

.crm-registry-row-actions-compact form {
    display: inline-flex;
    margin: 0;
}

.crm-registry-row-action-compact {
    width: 30px;
    min-width: 30px;
    height: 30px;
    min-height: 30px;
    flex: 0 0 30px;
    padding: 0;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
}

.crm-registry-row-action-placeholder {
    width: 30px;
    min-width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: inline-flex;
    pointer-events: none;
}

.crm-registry-row-action-dropdown {
    position: relative;
    display: inline-flex;
}

.crm-registry-row-action-menu {
    left: auto !important;
    right: 0 !important;
    z-index: 40;
    min-width: 10rem;
    max-width: min(13rem, calc(100vw - 2rem));
    white-space: normal;
}

.crm-registry-row-action-menu .dropdown-item {
    white-space: normal;
}

.crm-registry-row-actions-compact .btn-outline-warning {
    border-color: rgba(180, 83, 9, 0.28);
    background: #FFFBEB;
    color: var(--opora-warning);
}

.crm-registry-row-actions-compact .btn-outline-info {
    border-color: rgba(0, 125, 140, 0.24);
    background: #ECFEFF;
    color: var(--opora-teal-700);
}

.crm-registry-row-actions-compact .btn-outline-success {
    border-color: rgba(21, 128, 61, 0.24);
    background: #F0FDF4;
    color: var(--opora-success);
}

.sidebar {
    background: linear-gradient(180deg, var(--opora-navy-950) 0%, var(--opora-navy-900) 56%, var(--opora-navy-800) 100%);
}

.sidebar .nav-link.active,
.sidebar-attention-menu-item.active {
    background: rgba(0, 175, 193, 0.16);
    box-shadow: inset 3px 0 0 rgba(0, 175, 193, 0.95);
}

.sidebar .nav-link:hover,
.sidebar-attention-menu-item:hover {
    background: rgba(255, 255, 255, 0.12);
}

@media (max-width: 991.98px) {
    .crm-page {
        gap: 1rem;
    }

    .crm-page-header {
        padding: 1.2rem;
    }

    .crm-page-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .crm-filter-grid-registry,
    .crm-filter-grid-registry-advanced,
    .crm-filter-grid-registry-2-action,
    .crm-filter-grid-registry-3,
    .crm-filter-grid-registry-4,
    .crm-filter-grid-finance,
    .crm-filter-grid-registry-narrow-wide-action {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-stat-grid {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }

    .crm-detail-header {
        flex-wrap: wrap;
    }

    .crm-detail-summary-grid-4,
    .crm-detail-summary-grid-5 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-detail-panel-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-events-field-grid-3,
    .crm-events-option-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-directory-kpi-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-directory-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-directory-filter-actions {
        justify-content: flex-start;
    }

    .crm-report-summary-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-report-filter-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-report-toolbar-actions {
        justify-content: flex-start;
    }

    .crm-builder-layout,
    .crm-builder-option-groups {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-builder-template-item {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-builder-template-actions,
    .crm-builder-preview-actions {
        justify-content: flex-start;
    }

    .crm-workspace-layout,
    .crm-split-layout,
    .crm-workboard {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-workboard-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-workspace-actions {
        justify-content: flex-start;
    }

    .public-filter-form,
    .public-event-card-wide,
    .public-event-detail-hero,
    .public-event-detail-layout,
    .public-event-detail-state-grid,
    .public-empty-state-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .public-event-grid,
    .public-event-grid-single,
    .public-event-grid-many {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-shell-preview-frame,
    .crm-shell-preview-sidebar-collapsed {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-ui-preview-flow,
    .crm-ui-preview-flow-final {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-shell-preview-sidebar-collapsed {
        width: auto;
    }

    .crm-registry-hero {
        height: auto;
        min-height: 132px;
        max-height: none;
        padding: 14px;
    }

    .crm-registry-hero-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.75rem;
        align-items: stretch;
    }

    .crm-registry-hero-search {
        width: 100%;
        justify-self: stretch;
    }

    .crm-registry-actions,
    .crm-registry-hero-actions {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
        justify-content: stretch;
    }

    .crm-registry-actions .btn,
    .crm-registry-hero-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .crm-registry-page .crm-stat-grid,
    .crm-registry-page .crm-registry-kpi-grid,
    .crm-registry-page .crm-stat-grid.crm-stat-grid-3,
    .crm-registry-page .crm-registry-kpi-grid.crm-stat-grid-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .crm-registry-filter-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .registry-lab-split {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-registry-filter-actions {
        justify-content: flex-start;
    }

    .crm-registry-pagination-nav {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 575.98px) {
    .crm-finance-settings-list-item {
        grid-template-columns: 1fr;
    }

    .crm-finance-settings-item-actions,
    .crm-finance-settings-generation-grid .crm-finance-section-actions {
        justify-content: flex-start;
    }

    .crm-page-title {
        font-size: 1.45rem;
    }

    .crm-page-header,
    .crm-card,
    .crm-filter-card,
    .crm-table-card {
        border-radius: 12px;
    }

    .crm-card-body {
        padding: 1rem;
    }

    .crm-filter-grid-registry,
    .crm-filter-grid-registry-advanced,
    .crm-filter-grid-registry-2-action,
    .crm-filter-grid-registry-3,
    .crm-filter-grid-registry-4,
    .crm-filter-grid-finance,
    .crm-filter-grid-registry-narrow-wide-action {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-registry-hero {
        height: auto;
        min-height: 0;
        max-height: none;
        padding: 14px 12px;
    }

    .crm-registry-actions,
    .crm-registry-hero-actions {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-registry-page .crm-stat-grid,
    .crm-registry-page .crm-registry-kpi-grid,
    .crm-registry-page .crm-stat-grid.crm-stat-grid-3,
    .crm-registry-page .crm-registry-kpi-grid.crm-stat-grid-3 {
        grid-template-columns: minmax(0, 1fr);
        margin-top: 0;
    }

    .crm-registry-page .crm-stat-card {
        height: auto;
        min-height: 82px;
        max-height: none;
        padding: 10px 12px;
    }

    .crm-registry-filter-actions {
        justify-content: flex-start;
    }

    .crm-registry-date-range {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-registry-pagination-meta {
        width: 100%;
        justify-content: space-between;
        align-items: flex-start;
        flex-direction: column;
    }

    .crm-detail-header,
    .crm-detail-identity,
    .crm-detail-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .crm-detail-actions,
    .crm-detail-actions .dropdown {
        width: 100%;
    }

    .crm-detail-summary-grid-2,
    .crm-detail-summary-grid-4,
    .crm-detail-summary-grid-5 {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-detail-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.35rem;
    }

    .crm-directory-header,
    .crm-directory-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .crm-directory-card-actions,
    .crm-directory-filter-actions {
        justify-content: stretch;
        width: 100%;
    }

    .crm-directory-card-actions .btn,
    .crm-directory-filter-actions .btn {
        width: 100%;
    }

    .crm-directory-kpi-grid-3,
    .crm-directory-kpi-grid-4,
    .crm-directory-filter-grid,
    .crm-directory-card-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-directory-card-header {
        flex-direction: column;
    }

    .crm-directory-meta-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.25rem;
    }

    .crm-report-header,
    .crm-report-title-block,
    .crm-report-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .crm-report-actions,
    .crm-report-actions form,
    .crm-report-toolbar-actions,
    .crm-report-toolbar-actions form {
        width: 100%;
    }

    .crm-report-actions .btn,
    .crm-report-toolbar-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .crm-report-summary-grid-3,
    .crm-report-summary-grid-4,
    .crm-report-filter-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-builder-header,
    .crm-builder-title-block,
    .crm-builder-actions,
    .crm-builder-card-header,
    .crm-builder-option-group-header,
    .crm-builder-preview-header,
    .crm-builder-template-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .crm-builder-actions,
    .crm-builder-actions form,
    .crm-builder-template-actions,
    .crm-builder-template-actions form,
    .crm-builder-preview-actions,
    .crm-builder-preview-actions form {
        width: 100%;
    }

    .crm-builder-actions .btn,
    .crm-builder-template-actions .btn,
    .crm-builder-preview-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .crm-builder-order-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .crm-workspace-header,
    .crm-workspace-actions,
    .crm-workboard-section-header {
        align-items: stretch;
        flex-direction: column;
    }

    .crm-workspace-actions,
    .crm-workspace-actions form,
    .crm-workboard-filter-bar form {
        width: 100%;
    }

    .crm-workspace-actions .btn,
    .crm-workboard-filter-bar .btn,
    .crm-workspace-filter-bar .btn {
        width: 100%;
        justify-content: center;
    }

    .crm-workboard-summary {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-workspace-mode-switch {
        width: 100%;
    }

    .public-shell-preview {
        padding: 0.75rem;
    }

    .public-brand-header,
    .public-brand-header-rostov,
    .public-filter-controls,
    .public-filter-pills {
        align-items: stretch;
        flex-direction: column;
    }

    .public-brand-header,
    .public-brand-header-rostov,
    .public-event-grid,
    .public-event-grid-single,
    .public-event-grid-many,
    .public-event-detail-hero,
    .public-event-detail-layout,
    .public-event-detail-state-grid,
    .public-event-detail-meta-grid,
    .public-event-registration-layout,
    .public-event-registration-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .public-brand-main {
        grid-template-columns: minmax(0, 1fr);
        justify-items: center;
    }

    .public-brand-logo {
        object-position: center;
    }

    .public-brand-stats,
    .public-filter-controls,
    .public-filter-pills,
    .public-filter-controls .form-select,
    .public-filter-controls .btn,
    .public-event-detail-actions,
    .public-event-detail-actions .btn,
    .public-event-registration-actions .btn {
        width: 100%;
    }

    .public-event-registration-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .public-event-schedule-item {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.35rem;
    }

    .crm-shell-preview-grid,
    .crm-shell-preview-frame {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-shell-preview-sidebar,
    .crm-shell-preview-sidebar-mobile .crm-shell-preview-sidebar {
        width: 100%;
        max-height: 240px;
    }

    .crm-shell-preview-main {
        padding: 0.85rem;
    }

    .crm-ui-preview-step {
        grid-template-columns: 36px minmax(0, 1fr);
        min-height: 0;
    }

    .crm-ui-preview-step-number {
        width: 36px;
        height: 36px;
    }

    .crm-ui-preview-step-arrow {
        display: none;
    }

    .crm-btn-primary,
    .crm-btn-secondary,
    .crm-btn-danger {
        width: 100%;
    }

    .crm-registry-filter-actions .crm-registry-icon-btn,
    .crm-table-row-actions .crm-table-icon-btn,
    .crm-row-actions .crm-row-action,
    .crm-row-actions .crm-row-action-compact {
        width: 38px;
        min-width: 38px;
        flex: 0 0 38px;
    }

    .crm-registry-row-actions-compact {
        display: inline-flex;
        justify-content: center;
        flex-wrap: nowrap;
    }

    .crm-registry-row-actions-compact .crm-registry-row-action-compact {
        width: 30px;
        min-width: 30px;
        flex: 0 0 30px;
    }

    .crm-toolbar-action.crm-btn-primary,
    .crm-toolbar-action.crm-btn-secondary,
    .crm-toolbar-action.crm-btn-danger {
        width: 38px;
        min-width: 38px;
        flex: 0 0 38px;
        padding-right: 0;
        padding-left: 0;
    }

    .crm-form-header,
    .crm-form-section-header,
    .crm-sticky-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .crm-form-header .btn,
    .crm-sticky-actions .btn {
        width: 100%;
    }

    .crm-field-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-event-filter-grid,
    .crm-event-registration-filter-grid,
    .crm-event-domain-filter-grid,
    .crm-event-publication-filter-grid,
    .crm-event-summary-grid,
    .crm-event-readiness-grid,
    .crm-event-card-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-event-action-row,
    .crm-event-action-row form,
    .crm-event-action-row .crm-btn-primary,
    .crm-event-action-row .crm-btn-secondary,
    .crm-event-action-row .crm-btn-danger {
        width: 100%;
    }

    .event-readiness-item,
    .related-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .event-readiness-actions,
    .event-section-head,
    .schedule-row-title,
    .event-form-actions,
    .schedule-form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .event-readiness-actions .crm-btn-primary,
    .event-readiness-actions .crm-btn-secondary,
    .event-readiness-actions .crm-btn-danger,
    .event-readiness-actions form,
    .event-form-actions .crm-btn-primary,
    .event-form-actions .crm-btn-secondary,
    .schedule-form-actions .crm-btn-primary,
    .schedule-form-actions .crm-btn-secondary,
    .schedule-actions .crm-btn-secondary,
    .schedule-actions .crm-btn-danger {
        width: 100%;
    }
}

@media (max-width: 991.98px) {
    .crm-table-card.crm-table-sticky > .table-responsive,
    .crm-table-card.crm-table-sticky > .crm-table-card-body > .table-responsive,
    .crm-table-sticky .table-responsive {
        overflow-x: auto;
        overflow-y: visible;
    }

    .person-finance-payment-form,
    .person-finance-metric-grid,
    .person-finance-mini-grid {
        grid-template-columns: 1fr;
    }

    .person-finance-payment-action,
    .person-finance-payment-action .crm-btn-primary {
        width: 100%;
    }
}

.crm-public-remainder-page .crm-card-header,
.crm-public-remainder-page .crm-table-card > .crm-card-header,
.public-shell .crm-card-header {
    font-weight: 600;
}

.crm-public-remainder-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.crm-public-remainder-field-wide {
    grid-column: 1 / -1;
}

.crm-form-stack {
    display: grid;
    gap: 0.85rem;
}

.crm-public-remainder-alert {
    margin-top: 1rem;
}

.crm-public-remainder-panel-actions {
    justify-content: flex-start;
    margin-top: 0.25rem;
}

.crm-public-remainder-actions-start {
    justify-content: flex-start;
}

.crm-public-remainder-danger-icon {
    background: #FEF2F2;
    color: var(--opora-danger);
}

.crm-public-remainder-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.crm-filter-grid-federal-transfer-list {
    grid-template-columns: minmax(140px, 0.45fr) minmax(220px, 0.8fr) auto;
}

.crm-filter-grid-federal-transfer-list.with-region {
    grid-template-columns: minmax(140px, 0.45fr) minmax(260px, 1fr) minmax(220px, 0.8fr) auto;
}

.crm-person-form-page .crm-form-section-header {
    padding: 0.85rem 1rem;
}

.crm-person-form-page .crm-form-section-body {
    padding: 1rem;
}

.crm-person-form-page .crm-field-card {
    min-height: 0;
}

.crm-person-form-note {
    justify-self: start;
    margin-top: 0.75rem;
}

.crm-person-form-actions {
    margin-top: 0.25rem;
    justify-content: flex-end;
}

.crm-person-form-danger-action {
    margin-right: auto;
}

.crm-chip-multiselect-actions button,
button.crm-chip-option {
    font-family: inherit;
    cursor: pointer;
}

.crm-chip-multiselect-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0.28rem 0.65rem;
    border: 1px solid var(--opora-border);
    border-radius: 999px;
    background: #fff;
    color: var(--opora-blue-700);
    font-size: 0.78rem;
    font-weight: 600;
}

.crm-chip-multiselect-actions button:hover,
.crm-chip-multiselect-actions button:focus {
    border-color: rgba(22, 99, 232, 0.36);
    background: #EFF6FF;
}

.crm-chip-option-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.crm-chip-option.chip-success.is-selected {
    border-color: rgba(21, 128, 61, 0.18);
    background: #E8F5E9;
    color: var(--opora-success);
}

.crm-chip-option.chip-primary.is-selected {
    border-color: rgba(11, 87, 208, 0.18);
    background: #EFF6FF;
    color: var(--opora-blue-700);
}

.crm-chip-option.chip-warning.is-selected {
    border-color: rgba(180, 83, 9, 0.18);
    background: #FFF7ED;
    color: var(--opora-warning);
}

.crm-chip-option.chip-secondary.is-selected {
    border-color: rgba(100, 116, 139, 0.18);
    background: #F1F5F9;
    color: var(--opora-muted);
}

.crm-chip-option.chip-danger.is-selected {
    border-color: rgba(185, 28, 28, 0.18);
    background: #FEF2F2;
    color: var(--opora-danger);
}

.public-event-list-page,
.public-event-detail-page,
.public-event-state-page,
.public-invoice-page {
    min-height: 100vh;
    margin: 0;
    background: #EEF4FB;
    color: var(--opora-text);
    font-family: var(--opora-font-family);
}

.public-shell {
    display: grid;
    gap: 1rem;
    width: min(100%, 1220px);
    margin: 0 auto;
    padding: 1.5rem 1rem calc(3rem + env(safe-area-inset-bottom));
}

.public-event-registration-page .public-shell.public-event-registration-shell {
    width: min(100%, 1120px);
    padding: 1.5rem 0.875rem 3rem;
}

.public-event-registration-page.embed-mode .public-shell.public-event-registration-shell {
    width: min(100%, 430px);
    padding: 0.5rem 0.5rem calc(1.5rem + env(safe-area-inset-bottom));
}

.public-event-detail-page .public-shell {
    width: min(100%, 1080px);
}

.public-brand-logo {
    display: block;
    width: min(360px, 42vw);
    max-height: 72px;
    object-fit: contain;
    object-position: left center;
}

.public-brand-logo-sm {
    width: min(220px, 32vw);
    max-height: 46px;
}

.public-brand-mark:has(.public-brand-logo:not([hidden])) {
    width: auto;
    height: auto;
}

.public-event-cover img,
.public-event-detail-cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.public-event-detail-cover img {
    object-fit: contain;
    background: #F8FBFF;
}

.public-event-cover-logo {
    width: 86px;
    height: 58px;
    object-fit: contain;
    opacity: 0.92;
}

.public-event-title a {
    color: inherit;
    text-decoration: none;
}

.public-event-title a:hover,
.public-event-title a:focus {
    color: var(--opora-blue-700);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.public-event-detail-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.public-event-detail-main,
.public-event-detail-side,
.public-event-price-list {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.public-event-detail-side {
    align-content: start;
}

.public-event-price-more summary {
    color: var(--opora-blue-700);
    cursor: pointer;
    font-weight: 600;
}

.program-day {
    list-style: none;
    margin: 0;
}

.program-day-heading {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0.28rem 0.55rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #F8FBFF;
    color: var(--opora-muted);
    font-size: 0.76rem;
    font-weight: 600;
}

.program-day-date {
    white-space: nowrap;
}

.public-state-shell {
    width: min(100%, 760px);
}

.public-state-card {
    min-width: 0;
}

.public-state-back {
    display: flex;
    justify-content: flex-start;
}

.public-state-intro {
    display: grid;
    gap: 0.35rem;
    margin-bottom: 1rem;
}

.public-state-intro h1 {
    margin: 0;
    color: var(--opora-text);
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.public-state-intro p {
    margin: 0;
    color: var(--opora-muted);
    font-size: 0.9rem;
    line-height: 1.4;
}

.public-state-facts {
    display: grid;
    gap: 0;
    margin: 0 0 1rem;
}

.public-state-facts div {
    display: grid;
    grid-template-columns: minmax(130px, 0.38fr) minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.65rem 0;
    border-top: 1px solid var(--opora-border);
}

.public-state-facts div:first-child {
    border-top: 0;
    padding-top: 0;
}

.public-state-facts dt {
    color: var(--opora-muted);
    font-size: 0.76rem;
    font-weight: 600;
    text-transform: uppercase;
}

.public-state-facts dd {
    margin: 0;
    color: var(--opora-text);
    font-size: 0.9rem;
    overflow-wrap: anywhere;
}

.public-state-actions {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.public-payment-qr {
    display: grid;
    justify-items: start;
    gap: 0.75rem;
    margin-top: 1rem;
}

.public-qr-img {
    width: min(100%, 300px);
    height: auto;
    padding: 0.5rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
}

.public-invoice-shell {
    width: min(100%, 960px);
}

.public-invoice-actions {
    display: flex;
    justify-content: flex-end;
}

.public-invoice-card {
    min-width: 0;
}

.public-invoice-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.public-invoice-title {
    margin: 0;
    color: var(--opora-text);
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.2;
}

.public-invoice-status {
    display: grid;
    gap: 0.18rem;
    text-align: right;
}

.public-invoice-section {
    display: grid;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.public-invoice-section h2 {
    margin: 0;
    color: var(--opora-text);
    font-size: 0.98rem;
    font-weight: 600;
}

.public-invoice-requisites {
    width: 100%;
    border-collapse: collapse;
}

.public-invoice-requisites td,
.public-invoice-line-head > div,
.public-invoice-line-row > div {
    padding: 0.5rem 0.6rem;
    border: 1px solid var(--opora-border);
    vertical-align: top;
    overflow-wrap: anywhere;
}

.public-invoice-requisites td:first-child {
    width: 30%;
    color: var(--opora-muted);
    font-size: 0.82rem;
}

.public-invoice-lines {
    display: grid;
    width: 100%;
}

.public-invoice-line-head,
.public-invoice-line-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(160px, 0.22fr);
}

.public-invoice-line-head > div {
    background: #F8FBFF;
    color: #475569;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
}

.public-invoice-line-head > div:last-child,
.public-invoice-line-row > div:last-child {
    text-align: right;
    white-space: nowrap;
}

.public-invoice-line-row > div:last-child,
.public-invoice-total strong {
    font-weight: 600;
}

.public-invoice-total {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.public-invoice-total > div:last-child {
    text-align: right;
}

@media print {
    @page {
        size: A4;
        margin: 14mm;
    }

    .public-invoice-page {
        background: #fff;
    }

    .public-invoice-page,
    .public-invoice-page .table {
        font-size: 12px;
    }

    .public-invoice-shell {
        width: 100%;
        max-width: none;
        padding: 0;
    }

    .public-invoice-card {
        border: 0;
        box-shadow: none;
    }

    .public-invoice-actions {
        display: none;
    }

    .public-invoice-page a {
        color: inherit;
        text-decoration: none;
    }

    .public-invoice-title {
        font-size: 1.35rem;
    }
}

@media (max-width: 991.98px) {
    .crm-public-remainder-card-grid,
    .crm-filter-grid-federal-transfer-list,
    .crm-filter-grid-federal-transfer-list.with-region,
    .public-event-detail-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .crm-person-form-danger-action,
    .crm-public-remainder-field-wide {
        margin-right: 0;
        grid-column: auto;
    }

    .public-filter-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .public-filter-controls {
        justify-content: stretch;
    }

    .public-filter-controls .form-select {
        width: 100%;
    }

    .public-event-detail-hero {
        grid-template-columns: minmax(0, 1fr);
    }

    .public-event-detail-cover {
        min-height: 0;
        height: auto;
        aspect-ratio: 16 / 9;
        border-right: 0;
        border-bottom: 1px solid #DBE7F5;
    }
}

@media (max-width: 575.98px) {
    .crm-public-remainder-form-grid,
    .public-empty-state-grid,
    .public-invoice-total,
    .public-invoice-line-head,
    .public-invoice-line-row,
    .public-state-facts div {
        grid-template-columns: minmax(0, 1fr);
    }

    .public-shell {
        padding: 0.75rem 0.5rem calc(1.5rem + env(safe-area-inset-bottom));
    }

    .public-event-list-page.embed-mode .public-brand-subtitle,
    .public-event-list-page.embed-mode .public-event-cover,
    .public-event-list-page.embed-mode .public-event-summary,
    .public-event-detail-page.embed-mode .public-event-detail-cover {
        display: none;
    }

    .public-event-list-page.embed-mode .public-shell,
    .public-event-detail-page.embed-mode .public-shell,
    .public-event-registration-page.embed-mode .public-shell,
    .public-event-state-page.embed-mode .public-shell {
        width: min(100%, 430px);
    }

    .public-state-actions .btn,
    .public-event-detail-actions .btn,
    .public-event-registration-actions .btn {
        width: 100%;
    }

    .public-invoice-status,
    .public-invoice-total > div:last-child {
        text-align: left;
    }
}

/* Federal contour */
body.federal-contour-page .main-content {
    overflow-x: hidden;
}

.federal-contour-page .crm-page,
.federal-contour-page .crm-registry-page,
.federal-contour-page .container-fluid {
    max-width: 100%;
    min-width: 0;
}

.federal-contour-page .container-fluid {
    display: grid;
    gap: 1rem;
    padding: 0;
}

.federal-contour-page .container-fluid.py-4 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.federal-contour-page .crm-page-header,
.federal-contour-page .federal-assignment-head,
.federal-contour-page .federal-assignment-detail-head,
.federal-contour-page .federal-assignment-form-head,
.federal-contour-page .required-dashboard-head,
.federal-contour-page .required-documents-head,
.federal-contour-page .required-document-detail-head,
.federal-contour-page .required-document-form-head,
.federal-contour-page .required-period-form-head,
.federal-contour-page .required-matrix-head,
.federal-contour-page .required-generation-head,
.federal-contour-page .my-required-documents-head,
.federal-contour-page .indicator-review-head,
.federal-contour-page .indicator-periods-head,
.federal-contour-page .indicator-period-form-head,
.federal-contour-page .indicator-values-head,
.federal-contour-page .indicator-value-form-head,
.federal-contour-page .rating-head,
.federal-contour-page .rating-detail-head,
.federal-contour-page .federal-regions-head,
.federal-contour-page .federal-region-detail-head,
.federal-contour-page .d-flex.justify-content-between.align-items-start.mb-4.flex-wrap.gap-3,
.federal-contour-page .d-flex.justify-content-between.align-items-start.mb-4,
.federal-contour-page .d-flex.justify-content-between.align-items-center.mb-4,
.federal-contour-page .d-flex.flex-column.flex-lg-row.justify-content-between.gap-3.mb-4 {
    min-width: 0;
    margin-bottom: 1rem !important;
    padding: 1.15rem 1.2rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    box-shadow: var(--opora-shadow-soft);
}

.federal-contour-page .crm-page-header::before {
    display: none;
}

.federal-contour-page .crm-page-title,
.federal-contour-page h1.crm-page-title,
.federal-contour-page .crm-page-header h2,
.federal-contour-page [class$="-head"] h2,
.federal-contour-page .d-flex.justify-content-between.align-items-start.mb-4.flex-wrap.gap-3 > div > h2,
.federal-contour-page .d-flex.justify-content-between.align-items-start.mb-4 > div > h2,
.federal-contour-page .d-flex.justify-content-between.align-items-center.mb-4 > div > h2,
.federal-contour-page .d-flex.flex-column.flex-lg-row.justify-content-between.gap-3.mb-4 > div > h2 {
    margin: 0;
    min-width: 0;
    color: var(--opora-text);
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.federal-contour-page .crm-page-title i,
.federal-contour-page .crm-page-header h2 i,
.federal-contour-page [class$="-head"] h2 i,
.federal-contour-page .d-flex.justify-content-between.align-items-start.mb-4.flex-wrap.gap-3 > div > h2 i,
.federal-contour-page .d-flex.justify-content-between.align-items-start.mb-4 > div > h2 i,
.federal-contour-page .d-flex.justify-content-between.align-items-center.mb-4 > div > h2 i,
.federal-contour-page .d-flex.flex-column.flex-lg-row.justify-content-between.gap-3.mb-4 > div > h2 i {
    color: var(--opora-teal-700);
    font-size: 1.18rem;
}

.federal-contour-page .crm-registry-hero .crm-page-title,
.federal-contour-page .crm-registry-hero h1.crm-page-title {
    color: #fff;
}

.federal-contour-page .crm-registry-hero .crm-page-title i {
    color: #6FEAF2;
}

.federal-contour-page .crm-registry-hero .crm-directory-hero-subtitle,
.federal-contour-page .crm-registry-hero .crm-registry-hero-subtitle {
    color: rgba(255, 255, 255, 0.78);
}

.federal-contour-page .crm-page-subtitle,
.federal-contour-page .crm-page-header .text-muted,
.federal-contour-page .federal-assignment-head .text-muted,
.federal-contour-page .federal-assignment-detail-head .text-muted,
.federal-contour-page .federal-assignment-form-head .text-muted,
.federal-contour-page .required-dashboard-head .text-muted,
.federal-contour-page .required-documents-head .text-muted,
.federal-contour-page .required-document-detail-head .text-muted,
.federal-contour-page .required-document-form-head .text-muted,
.federal-contour-page .required-period-form-head .text-muted,
.federal-contour-page .required-matrix-head .text-muted,
.federal-contour-page .required-generation-head .text-muted,
.federal-contour-page .my-required-documents-head .text-muted,
.federal-contour-page .indicator-review-head .text-muted,
.federal-contour-page .indicator-periods-head .text-muted,
.federal-contour-page .indicator-period-form-head .text-muted,
.federal-contour-page .indicator-values-head .text-muted,
.federal-contour-page .indicator-value-form-head .text-muted,
.federal-contour-page .rating-head .text-muted,
.federal-contour-page .rating-detail-head .text-muted,
.federal-contour-page .federal-regions-head .text-muted,
.federal-contour-page .federal-region-detail-head .text-muted {
    max-width: 760px;
    margin-top: 0.32rem;
    color: var(--opora-muted) !important;
    font-size: 0.88rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.federal-contour-page .crm-card,
.federal-contour-page .crm-table-card,
.federal-contour-page .crm-filter-card {
    min-width: 0;
    border-radius: var(--opora-radius-sm);
}

.federal-contour-page .crm-table-card {
    overflow-x: auto;
    overflow-y: visible;
}

.federal-contour-page .crm-card-header,
.federal-contour-page .crm-table-card > .crm-card-header {
    min-width: 0;
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.75rem;
    padding: 0.82rem 1rem;
    color: var(--opora-text);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0;
    background: #fff;
    border-bottom: 1px solid var(--opora-border);
}

.federal-contour-page .crm-card-header > i:first-child,
.federal-contour-page .crm-table-card > .crm-card-header > i:first-child {
    flex: 0 0 auto;
}

.federal-contour-page .crm-card-header > .btn:last-child,
.federal-contour-page .crm-card-header > .crm-btn-primary:last-child,
.federal-contour-page .crm-card-header > .crm-btn-secondary:last-child,
.federal-contour-page .crm-card-header > span:last-child:not(:first-child),
.federal-contour-page .crm-card-header > .crm-badge:last-child,
.federal-contour-page .crm-card-header > .crm-page-actions:last-child,
.federal-contour-page .crm-card-header > .crm-registry-actions:last-child,
.federal-contour-page .crm-card-header > .dropdown:last-child,
.federal-contour-page .crm-card-header > form:last-child,
.federal-contour-page .crm-table-card > .crm-card-header > .btn:last-child,
.federal-contour-page .crm-table-card > .crm-card-header > .crm-btn-primary:last-child,
.federal-contour-page .crm-table-card > .crm-card-header > .crm-btn-secondary:last-child,
.federal-contour-page .crm-table-card > .crm-card-header > span:last-child:not(:first-child),
.federal-contour-page .crm-table-card > .crm-card-header > .crm-badge:last-child,
.federal-contour-page .crm-table-card > .crm-card-header > .crm-page-actions:last-child,
.federal-contour-page .crm-table-card > .crm-card-header > .crm-registry-actions:last-child,
.federal-contour-page .crm-table-card > .crm-card-header > .dropdown:last-child,
.federal-contour-page .crm-table-card > .crm-card-header > form:last-child {
    margin-left: auto;
}

.federal-contour-page .crm-card-header h2,
.federal-contour-page .crm-card-header h3,
.federal-contour-page .crm-card-header h4,
.federal-contour-page .crm-card-header h5,
.federal-contour-page .crm-card-header > span:first-child,
.federal-contour-page .crm-section-title {
    margin: 0;
    color: var(--opora-text);
    font: inherit;
    letter-spacing: 0;
}

.federal-contour-page .crm-card-body {
    padding: 1rem;
}

.federal-contour-page .crm-card-footer {
    padding: 0.85rem 1rem;
    border-top: 1px solid var(--opora-border);
    background: #fff;
}

.federal-contour-page .crm-filter-label,
.federal-contour-page label:not(.form-check-label) {
    display: block;
    margin-bottom: 0.3rem;
    color: #334155;
    font-size: 0.76rem;
    font-weight: 560;
    line-height: 1.25;
}

.federal-contour-page .form-check-label {
    margin-bottom: 0;
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.3;
}

.federal-contour-page .form-control,
.federal-contour-page .form-select,
.federal-contour-page textarea,
.federal-contour-page input[type="file"] {
    min-height: 38px;
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    color: var(--opora-text);
    font-size: 0.88rem;
}

.federal-contour-page textarea.form-control {
    min-height: auto;
    line-height: 1.45;
}

.federal-contour-page .form-control:focus,
.federal-contour-page .form-select:focus,
.federal-contour-page textarea:focus {
    border-color: rgba(22, 99, 232, 0.52);
    box-shadow: 0 0 0 0.2rem rgba(22, 99, 232, 0.12);
}

.federal-contour-page .crm-btn-primary,
.federal-contour-page .crm-btn-secondary,
.federal-contour-page .crm-btn-danger,
.federal-contour-page .crm-btn-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
    border-radius: var(--opora-radius-sm);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0;
    text-decoration: none;
    white-space: nowrap;
}

.federal-contour-page .crm-btn-primary {
    min-height: 40px;
    padding: 0.56rem 0.9rem;
    border: 1px solid var(--opora-blue-700);
    background: var(--opora-blue-700);
    color: #fff;
}

.federal-contour-page .crm-btn-primary i,
.federal-contour-page .crm-btn-primary svg,
.federal-contour-page .crm-btn-primary span {
    color: #fff;
}

.federal-contour-page .crm-btn-secondary {
    min-height: 40px;
    padding: 0.56rem 0.86rem;
    border: 1px solid var(--opora-border);
    background: #fff;
    color: var(--opora-navy-900);
}

.federal-contour-page .crm-btn-danger {
    min-height: 40px;
    padding: 0.56rem 0.86rem;
    border: 1px solid rgba(185, 28, 28, 0.32);
    background: #fff;
    color: var(--opora-danger);
}

.federal-contour-page .crm-btn-link {
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--opora-blue-700);
    box-shadow: none;
}

.federal-contour-page .crm-btn-sm {
    min-height: 32px;
    padding: 0.36rem 0.62rem;
    font-size: 0.78rem;
}

.federal-contour-page .crm-btn-link.crm-btn-sm,
.federal-contour-page .btn.crm-btn-link.crm-btn-sm.p-0 {
    min-height: 0;
    padding: 0 !important;
    font-size: 0.78rem;
}

.federal-contour-page .crm-btn-primary:hover,
.federal-contour-page .crm-btn-primary:focus {
    border-color: var(--opora-blue-600);
    background: var(--opora-blue-600);
    color: #fff;
}

.federal-contour-page .crm-btn-secondary:hover,
.federal-contour-page .crm-btn-secondary:focus,
.federal-contour-page .crm-btn-link:hover,
.federal-contour-page .crm-btn-link:focus {
    color: var(--opora-blue-700);
    border-color: rgba(22, 99, 232, 0.28);
    background: #f8fbff;
}

.federal-contour-page .crm-table-card.crm-table-sticky {
    --crm-table-sticky-top: 0;
}

.federal-contour-page .crm-table-card.crm-table-sticky > .table-responsive,
.federal-contour-page .crm-table-card.crm-table-sticky > .crm-card-body > .table-responsive,
.federal-contour-page .crm-table-sticky .table-responsive {
    overflow: visible;
}

.federal-contour-page .crm-table {
    min-width: 100%;
}

.federal-contour-page .crm-table th,
.federal-contour-page .crm-table thead th {
    text-align: center;
    font-size: 0.74rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: normal;
}

.federal-contour-page .crm-table td {
    color: var(--opora-text);
    font-size: 0.86rem;
    line-height: 1.35;
    text-align: center;
    vertical-align: middle;
    overflow-wrap: anywhere;
}

.federal-contour-page .crm-table td:first-child,
.federal-contour-page .crm-table td.crm-table-left-col,
.federal-contour-page .crm-table td.text-break {
    text-align: left;
}

.federal-contour-page .crm-table td.text-end,
.federal-contour-page .crm-table th.text-end {
    text-align: center !important;
}

.federal-contour-page .crm-table td .btn,
.federal-contour-page .crm-table-row-actions,
.federal-contour-page .deadline-actions-row,
.federal-contour-page .indicator-review-row-actions,
.federal-contour-page .rating-actions,
.federal-contour-page .region-connection-actions {
    white-space: nowrap;
}

.federal-contour-page .crm-badge,
.federal-contour-page .crm-table-badge {
    border-radius: 6px;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: normal;
}

.federal-contour-page .text-muted.small,
.federal-contour-page .small.text-muted,
.federal-contour-page .crm-muted-text {
    color: var(--opora-muted) !important;
    font-size: 0.78rem;
    line-height: 1.35;
}

.federal-contour-page .crm-strong,
.federal-contour-page strong {
    font-weight: 600;
}

.federal-contour-page .crm-empty-state {
    padding: 2rem 1rem;
    color: var(--opora-muted);
    text-align: center;
}

.federal-contour-page .crm-empty-state-title {
    font-size: 0.95rem;
    font-weight: 600;
}

.federal-contour-page .crm-alert {
    padding: 0.75rem 0.85rem;
    border-radius: var(--opora-radius-sm);
    font-size: 0.86rem;
    line-height: 1.4;
}

.federal-contour-page .crm-stat-grid,
.federal-contour-page .required-dashboard-kpis,
.federal-contour-page .deadline-summary-grid,
.federal-contour-page .rating-readiness-grid,
.federal-contour-page .rating-summary,
.federal-contour-page .federal-region-summary,
.federal-contour-page .required-generation-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.75rem;
    min-width: 0;
}

.federal-contour-page .crm-stat-card,
.federal-contour-page .required-dashboard-kpi,
.federal-contour-page .deadline-summary-card,
.federal-contour-page .rating-readiness-item,
.federal-contour-page .rating-summary-card,
.federal-contour-page .federal-region-summary-card,
.federal-contour-page .required-generation-summary-item,
.federal-contour-page .required-document-meta-item,
.federal-contour-page .federal-assignment-meta-item {
    min-width: 0;
    min-height: 0;
    padding: 0.92rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #fff;
    box-shadow: var(--opora-shadow-soft);
}

.federal-contour-page .crm-stat-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
}

.federal-contour-page .crm-stat-icon {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--opora-radius-sm);
    background: #eaf2ff;
    color: var(--opora-blue-700);
    font-size: 1rem;
}

.federal-contour-page .crm-stat-value,
.federal-contour-page .required-dashboard-kpi-value,
.federal-contour-page .deadline-summary-value,
.federal-contour-page .rating-readiness-value,
.federal-contour-page .rating-summary-value,
.federal-contour-page .federal-region-summary-value {
    color: var(--opora-text);
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.1;
}

.federal-contour-page .crm-stat-label,
.federal-contour-page .required-dashboard-kpi-label,
.federal-contour-page .deadline-summary-label,
.federal-contour-page .rating-readiness-label,
.federal-contour-page .rating-summary-label,
.federal-contour-page .federal-region-summary-label,
.federal-contour-page .required-document-meta-label,
.federal-contour-page .federal-assignment-meta-label,
.federal-contour-page .required-generation-summary-label,
.federal-contour-page .required-submission-history-label {
    color: var(--opora-muted);
    font-size: 0.76rem;
    font-weight: 600;
    line-height: 1.25;
    text-transform: none;
}

.federal-contour-page .crm-stat-delta {
    margin-top: 0.2rem;
    color: var(--opora-muted);
    font-size: 0.76rem;
    line-height: 1.25;
}

.federal-contour-page .federal-assignment-filter,
.federal-contour-page .required-dashboard-filter,
.federal-contour-page .required-documents-filter,
.federal-contour-page .required-matrix-filter,
.federal-contour-page .rating-filter,
.federal-contour-page .indicator-review-filter,
.federal-contour-page .indicator-values-filter,
.federal-contour-page .deadline-filters,
.federal-contour-page .region-connection-filter,
.federal-contour-page .federal-regions-search {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.72rem;
    align-items: end;
    min-width: 0;
}

.federal-contour-page .federal-assignment-filter.with-region {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.federal-contour-page .federal-assignment-reset,
.federal-contour-page .required-dashboard-reset,
.federal-contour-page .required-documents-reset,
.federal-contour-page .required-matrix-reset,
.federal-contour-page .rating-reset {
    min-width: 40px;
    width: 40px;
    padding-inline: 0;
    justify-self: end;
}

.federal-contour-page .indicator-review-switches,
.federal-contour-page .indicator-values-switches,
.federal-contour-page .deadline-filter-checks {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.federal-contour-page .crm-page-actions,
.federal-contour-page .federal-assignment-head-actions,
.federal-contour-page .federal-assignment-detail-actions,
.federal-contour-page .required-dashboard-actions,
.federal-contour-page .required-documents-head-actions,
.federal-contour-page .required-document-detail-actions,
.federal-contour-page .required-matrix-actions,
.federal-contour-page .indicator-review-actions,
.federal-contour-page .indicator-periods-actions,
.federal-contour-page .indicator-values-actions,
.federal-contour-page .rating-status-actions,
.federal-contour-page .federal-region-actions,
.federal-contour-page .rating-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
    min-width: 0;
}

.federal-contour-page .federal-assignment-form-grid,
.federal-contour-page .required-document-form-grid,
.federal-contour-page .required-period-form-grid,
.federal-contour-page .indicator-period-form-grid,
.federal-contour-page .indicator-value-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
    min-width: 0;
}

.federal-contour-page .indicator-value-form-wide {
    grid-column: 1 / -1;
}

.federal-contour-page .required-document-region-choices,
.federal-contour-page .federal-assignment-region-list,
.federal-contour-page .required-generation-regions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 0.45rem 0.85rem;
    max-height: 320px;
    overflow: auto;
    padding: 0.75rem;
    border: 1px solid var(--opora-border);
    border-radius: var(--opora-radius-sm);
    background: #f8fafc;
}

.federal-contour-page .federal-assignment-meta,
.federal-contour-page .required-document-meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.75rem;
    min-width: 0;
}

.federal-contour-page .federal-assignment-comment,
.federal-contour-page .region-connection-comment {
    color: var(--opora-text);
    font-size: 0.88rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.federal-contour-page .federal-document-upload,
.federal-contour-page .federal-target-submit,
.federal-contour-page .federal-document-row,
.federal-contour-page .federal-target-review,
.federal-contour-page .required-document-checklist-item,
.federal-contour-page .required-document-template-item,
.federal-contour-page .required-submission-history-item {
    border-color: var(--opora-border) !important;
    border-radius: var(--opora-radius-sm) !important;
    box-shadow: none;
}

.federal-contour-page .federal-document-row,
.federal-contour-page .required-submission-history-item {
    padding: 0.85rem;
    background: #fff;
}

.federal-contour-page .federal-document-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.federal-contour-page .federal-assignment-target-summary,
.federal-contour-page .required-document-summary,
.federal-contour-page .required-document-period-summary {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.federal-contour-page .required-submission-history-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem;
}

.federal-contour-page .required-document-region-list,
.federal-contour-page .required-document-checklist-list,
.federal-contour-page .required-document-template-list,
.federal-contour-page .federal-region-list {
    display: grid;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.federal-contour-page .required-document-region-list,
.federal-contour-page .required-document-checklist-list,
.federal-contour-page .required-document-template-list {
    max-height: 340px;
    overflow: auto;
}

.federal-contour-page .federal-region-section-link {
    margin-top: 0.85rem;
}

.federal-contour-page .federal-region-metric {
    display: grid;
    gap: 0.15rem;
}

.federal-contour-page .federal-region-empty {
    color: var(--opora-muted);
    font-size: 0.82rem;
}

.federal-contour-page .crm-federal-nav {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
    min-width: 0;
    margin-bottom: 1rem;
}

.federal-contour-page .crm-federal-nav .crm-btn-secondary {
    min-height: 32px;
    padding: 0.35rem 0.62rem;
    font-size: 0.8rem;
}

.federal-contour-page .pagination {
    gap: 0.35rem;
    flex-wrap: wrap;
}

.federal-contour-page .page-link {
    border-color: var(--opora-border);
    border-radius: var(--opora-radius-sm);
    color: var(--opora-navy-900);
    font-size: 0.82rem;
    font-weight: 600;
}

.federal-contour-page .page-item.active .page-link {
    border-color: var(--opora-blue-700);
    background: var(--opora-blue-700);
    color: #fff;
}

@media (max-width: 1440px) {
    .federal-contour-page .crm-page-header,
    .federal-contour-page .federal-assignment-head,
    .federal-contour-page .federal-assignment-detail-head,
    .federal-contour-page .federal-assignment-form-head,
    .federal-contour-page .required-dashboard-head,
    .federal-contour-page .required-documents-head,
    .federal-contour-page .required-document-detail-head,
    .federal-contour-page .required-document-form-head,
    .federal-contour-page .required-period-form-head,
    .federal-contour-page .required-matrix-head,
    .federal-contour-page .required-generation-head,
    .federal-contour-page .my-required-documents-head,
    .federal-contour-page .indicator-review-head,
    .federal-contour-page .indicator-periods-head,
    .federal-contour-page .indicator-period-form-head,
    .federal-contour-page .indicator-values-head,
    .federal-contour-page .indicator-value-form-head,
    .federal-contour-page .rating-head,
    .federal-contour-page .rating-detail-head,
    .federal-contour-page .federal-regions-head,
    .federal-contour-page .federal-region-detail-head,
    .federal-contour-page .d-flex.justify-content-between.align-items-start.mb-4.flex-wrap.gap-3,
    .federal-contour-page .d-flex.justify-content-between.align-items-start.mb-4,
    .federal-contour-page .d-flex.justify-content-between.align-items-center.mb-4,
    .federal-contour-page .d-flex.flex-column.flex-lg-row.justify-content-between.gap-3.mb-4 {
        padding: 1rem;
    }

    .federal-contour-page .crm-page-title,
    .federal-contour-page h1.crm-page-title,
    .federal-contour-page .crm-page-header h2,
    .federal-contour-page [class$="-head"] h2,
    .federal-contour-page .d-flex.justify-content-between.align-items-start.mb-4.flex-wrap.gap-3 > div > h2,
    .federal-contour-page .d-flex.justify-content-between.align-items-start.mb-4 > div > h2,
    .federal-contour-page .d-flex.justify-content-between.align-items-center.mb-4 > div > h2,
    .federal-contour-page .d-flex.flex-column.flex-lg-row.justify-content-between.gap-3.mb-4 > div > h2 {
        font-size: 1.25rem;
    }

    .federal-contour-page .crm-stat-grid,
    .federal-contour-page .required-dashboard-kpis,
    .federal-contour-page .deadline-summary-grid,
    .federal-contour-page .rating-readiness-grid,
    .federal-contour-page .rating-summary,
    .federal-contour-page .federal-region-summary,
    .federal-contour-page .required-generation-summary {
        gap: 0.65rem;
    }
}

@media (max-width: 1366px) {
    .federal-contour-page .crm-card-body {
        padding: 0.85rem;
    }

    .federal-contour-page .crm-card-header,
    .federal-contour-page .crm-table-card > .crm-card-header {
        min-height: 48px;
        padding: 0.72rem 0.85rem;
    }

    .federal-contour-page .crm-stat-card,
    .federal-contour-page .required-dashboard-kpi,
    .federal-contour-page .deadline-summary-card,
    .federal-contour-page .rating-readiness-item,
    .federal-contour-page .rating-summary-card,
    .federal-contour-page .federal-region-summary-card,
    .federal-contour-page .required-generation-summary-item,
    .federal-contour-page .required-document-meta-item,
    .federal-contour-page .federal-assignment-meta-item {
        padding: 0.78rem;
    }

    .federal-contour-page .crm-stat-value,
    .federal-contour-page .required-dashboard-kpi-value,
    .federal-contour-page .deadline-summary-value,
    .federal-contour-page .rating-readiness-value,
    .federal-contour-page .rating-summary-value,
    .federal-contour-page .federal-region-summary-value {
        font-size: 1.22rem;
    }

    .federal-contour-page .crm-table th,
    .federal-contour-page .crm-table thead th {
        font-size: 0.7rem;
    }

    .federal-contour-page .crm-table td {
        font-size: 0.82rem;
    }
}

@media (max-width: 1280px) {
    .federal-contour-page .federal-assignment-form-grid,
    .federal-contour-page .required-document-form-grid,
    .federal-contour-page .required-period-form-grid,
    .federal-contour-page .indicator-period-form-grid,
    .federal-contour-page .indicator-value-form-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .federal-contour-page .crm-federal-nav .crm-btn-secondary,
    .federal-contour-page .crm-btn-secondary,
    .federal-contour-page .crm-btn-primary,
    .federal-contour-page .crm-btn-danger {
        padding-inline: 0.58rem;
    }
}

@media (max-width: 991.98px) {
    .federal-contour-page .crm-page-header,
    .federal-contour-page .federal-assignment-head,
    .federal-contour-page .federal-assignment-detail-head,
    .federal-contour-page .federal-assignment-form-head,
    .federal-contour-page .required-dashboard-head,
    .federal-contour-page .required-documents-head,
    .federal-contour-page .required-document-detail-head,
    .federal-contour-page .required-document-form-head,
    .federal-contour-page .required-period-form-head,
    .federal-contour-page .required-matrix-head,
    .federal-contour-page .required-generation-head,
    .federal-contour-page .my-required-documents-head,
    .federal-contour-page .indicator-review-head,
    .federal-contour-page .indicator-periods-head,
    .federal-contour-page .indicator-period-form-head,
    .federal-contour-page .indicator-values-head,
    .federal-contour-page .indicator-value-form-head,
    .federal-contour-page .rating-head,
    .federal-contour-page .rating-detail-head,
    .federal-contour-page .federal-regions-head,
    .federal-contour-page .federal-region-detail-head,
    .federal-contour-page .d-flex.justify-content-between.align-items-start.mb-4.flex-wrap.gap-3,
    .federal-contour-page .d-flex.justify-content-between.align-items-start.mb-4,
    .federal-contour-page .d-flex.justify-content-between.align-items-center.mb-4,
    .federal-contour-page .d-flex.flex-column.flex-lg-row.justify-content-between.gap-3.mb-4 {
        flex-direction: column;
        align-items: stretch !important;
    }

    .federal-contour-page .crm-page-actions,
    .federal-contour-page .federal-assignment-head-actions,
    .federal-contour-page .federal-assignment-detail-actions,
    .federal-contour-page .required-dashboard-actions,
    .federal-contour-page .required-documents-head-actions,
    .federal-contour-page .required-document-detail-actions,
    .federal-contour-page .required-matrix-actions,
    .federal-contour-page .indicator-review-actions,
    .federal-contour-page .indicator-periods-actions,
    .federal-contour-page .indicator-values-actions,
    .federal-contour-page .rating-status-actions,
    .federal-contour-page .federal-region-actions,
    .federal-contour-page .rating-actions {
        justify-content: stretch;
    }

    .federal-contour-page .crm-page-actions .btn,
    .federal-contour-page .federal-assignment-head-actions .btn,
    .federal-contour-page .federal-assignment-detail-actions .btn,
    .federal-contour-page .required-dashboard-actions .btn,
    .federal-contour-page .required-documents-head-actions .btn,
    .federal-contour-page .required-document-detail-actions .btn,
    .federal-contour-page .required-matrix-actions .btn,
    .federal-contour-page .indicator-review-actions .btn,
    .federal-contour-page .indicator-periods-actions .btn,
    .federal-contour-page .indicator-values-actions .btn,
    .federal-contour-page .rating-status-actions .btn,
    .federal-contour-page .federal-region-actions .btn {
        flex: 1 1 160px;
    }

    .federal-contour-page .crm-table-card.crm-table-sticky > .table-responsive,
    .federal-contour-page .crm-table-card.crm-table-sticky > .crm-card-body > .table-responsive,
    .federal-contour-page .crm-table-sticky .table-responsive {
        overflow-x: auto;
        overflow-y: visible;
    }
}
