:root {
    --crm-surface: #ffffff;
    --crm-surface-soft: #fbfbfd;
    --crm-surface-muted: #f8f8fb;
    --crm-border: #ebe9f1;
    --crm-border-strong: #d8d6de;
    --crm-text: #4b465c;
    --crm-text-muted: #6e6b7b;
    --crm-text-soft: #a8a4b7;
    --crm-primary: #7367f0;
    --crm-primary-soft: rgba(115, 103, 240, 0.12);
    --crm-primary-border: rgba(115, 103, 240, 0.32);
    --crm-info: #00cfe8;
    --crm-info-soft: rgba(0, 207, 232, 0.12);
    --crm-success: #28c76f;
    --crm-success-soft: rgba(40, 199, 111, 0.12);
    --crm-warning: #ff9f43;
    --crm-warning-soft: rgba(255, 159, 67, 0.14);
    --crm-danger: #ea5455;
    --crm-danger-soft: rgba(234, 84, 85, 0.12);
    --crm-shadow-sm: 0 4px 12px rgba(34, 41, 47, 0.06);
    --crm-shadow-md: 0 8px 24px rgba(34, 41, 47, 0.08);
    --crm-radius-sm: 0.42rem;
    --crm-radius: 0.5rem;
    --crm-radius-lg: 0.65rem;
    --crm-gap-xs: 0.35rem;
    --crm-gap-sm: 0.5rem;
    --crm-gap: 0.75rem;
    --crm-gap-lg: 1rem;
}

.crm-page {
    color: var(--crm-text-muted);
}

.crm-surface,
.crm-panel,
.crm-card {
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-radius);
    background: var(--crm-surface);
}

.crm-card {
    box-shadow: var(--crm-shadow-md);
    overflow: hidden;
}

.crm-panel {
    padding: 1rem;
}

.crm-panel-sm {
    padding: 0.75rem;
}

.crm-panel-lg {
    padding: 1.25rem;
}

.crm-panel-soft {
    background: var(--crm-surface-soft);
}

.crm-panel-danger {
    border-color: rgba(234, 84, 85, 0.18);
    background: #fff6f7;
}

.crm-section {
    margin-bottom: 1rem;
}

.crm-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--crm-gap);
    margin-bottom: 0.75rem;
}

.crm-section-header-compact {
    margin-bottom: 0.65rem;
}

.crm-section-header-compact .crm-note {
    margin-bottom: 0;
}

.crm-section-title,
.crm-title {
    margin: 0;
    color: var(--crm-text);
    font-weight: 700;
    line-height: 1.25;
}

.crm-section-title {
    font-size: 1.1rem;
}

.crm-title {
    font-size: 1.35rem;
}

.crm-subtitle,
.crm-note {
    color: var(--crm-text-muted);
}

.crm-eyebrow,
.crm-label,
.crm-kpi-label,
.crm-panel-title {
    color: var(--crm-text-muted);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0;
}

.crm-eyebrow,
.crm-panel-title {
    text-transform: uppercase;
}

.crm-value {
    color: var(--crm-text);
    font-weight: 700;
}

.crm-action-bar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.crm-action-bar-left {
    justify-content: flex-start;
}

.crm-action-bar-between {
    justify-content: space-between;
}

.crm-action-group {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.crm-action-bar .btn,
.crm-action-group .btn {
    min-height: 36px;
    border-radius: var(--crm-radius-sm);
    font-weight: 600;
    box-shadow: none;
}

.crm-tabs,
.crm-segmented {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.35rem;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-radius);
    background: var(--crm-surface-soft);
}

.crm-tabs .nav-item,
.crm-segmented .nav-item {
    margin-bottom: 0;
}

.crm-tabs .nav-link,
.crm-segmented .nav-link,
.crm-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 36px;
    padding: 0.55rem 0.85rem;
    border: 1px solid transparent !important;
    border-radius: 0.45rem;
    color: #5e5873;
    font-weight: 500;
    line-height: 1.2;
    background: transparent;
    text-decoration: none !important;
    text-decoration-line: none !important;
    transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.crm-tabs .nav-link:hover,
.crm-tabs .nav-link:focus,
.crm-segmented .nav-link:hover,
.crm-segmented .nav-link:focus,
.crm-tab:hover,
.crm-tab:focus {
    color: var(--crm-primary);
    background: var(--crm-surface);
    border-color: var(--crm-border) !important;
    box-shadow: var(--crm-shadow-sm);
    text-decoration: none !important;
    text-decoration-line: none !important;
}

.crm-tabs .nav-link.active,
.crm-tabs .nav-item.show .nav-link,
.crm-segmented .nav-link.active,
.crm-segmented .nav-item.show .nav-link,
.crm-tab.active,
.crm-tab[aria-selected="true"] {
    color: var(--crm-primary);
    background: var(--crm-surface);
    border-color: var(--crm-primary-border) !important;
    box-shadow: 0 6px 16px rgba(115, 103, 240, 0.14);
    text-decoration: none !important;
    text-decoration-line: none !important;
}

.crm-tabs .nav-link:after,
.crm-segmented .nav-link:after,
.crm-tab:after {
    display: none !important;
}

.crm-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
    gap: 1rem;
    align-items: stretch;
}

.crm-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

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

.crm-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.crm-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.crm-kpi {
    padding: 0.9rem;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-radius);
    background: var(--crm-surface);
}

.crm-kpi-value {
    margin-top: 0.35rem;
    color: var(--crm-text);
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1.25;
}

.crm-kpi-value-lg {
    font-size: 1.75rem;
    line-height: 1.15;
}

.crm-kpi-note {
    margin-top: 0.2rem;
    color: var(--crm-text-muted);
    font-size: 0.82rem;
}

.crm-field-list {
    display: flex;
    flex-direction: column;
}

.crm-field-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.45rem 0;
    border-top: 1px solid #f3f2f7;
}

.crm-field-row:first-child,
.crm-panel-title + .crm-field-row {
    border-top: 0;
    padding-top: 0;
}

.crm-field-label {
    color: var(--crm-text-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.crm-field-value {
    color: var(--crm-text);
    font-weight: 600;
    text-align: right;
}

.crm-field-value-muted {
    color: var(--crm-text-muted);
    font-weight: 500;
}

.crm-status-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.crm-pill,
.crm-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 28px;
    padding: 0.32rem 0.6rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.crm-pill-primary,
.crm-status-primary {
    color: var(--crm-primary);
    border-color: var(--crm-primary-border);
    background: var(--crm-primary-soft);
}

.crm-pill-success,
.crm-status-success {
    color: var(--crm-success);
    border-color: rgba(40, 199, 111, 0.24);
    background: var(--crm-success-soft);
}

.crm-pill-info,
.crm-status-info {
    color: #00a7bc;
    border-color: rgba(0, 207, 232, 0.24);
    background: var(--crm-info-soft);
}

.crm-pill-warning,
.crm-status-warning {
    color: #b96500;
    border-color: rgba(255, 159, 67, 0.26);
    background: var(--crm-warning-soft);
}

.crm-pill-danger,
.crm-status-danger {
    color: var(--crm-danger);
    border-color: rgba(234, 84, 85, 0.24);
    background: var(--crm-danger-soft);
}

.crm-pill-muted,
.crm-status-muted {
    color: var(--crm-text-muted);
    border-color: var(--crm-border);
    background: var(--crm-surface-muted);
}

.crm-soft-alert {
    padding: 0.8rem 0.95rem;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-radius);
    background: var(--crm-surface-soft);
    color: var(--crm-text);
}

.crm-soft-alert-primary {
    border-color: var(--crm-primary-border);
    background: var(--crm-primary-soft);
}

.crm-soft-alert-info {
    border-color: rgba(0, 207, 232, 0.2);
    background: var(--crm-info-soft);
}

.crm-soft-alert-success {
    border-color: rgba(40, 199, 111, 0.22);
    background: var(--crm-success-soft);
}

.crm-soft-alert-warning {
    border-color: rgba(255, 159, 67, 0.24);
    background: var(--crm-warning-soft);
}

.crm-soft-alert-danger {
    border-color: rgba(234, 84, 85, 0.22);
    background: var(--crm-danger-soft);
}

.crm-toolbar,
.crm-filter-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0.75rem;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-radius);
    background: var(--crm-surface);
}

.crm-filter-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.crm-input,
.crm-select,
.crm-textarea {
    border-color: var(--crm-border-strong);
    border-radius: var(--crm-radius-sm);
    color: var(--crm-text);
}

.crm-input:focus,
.crm-select:focus,
.crm-textarea:focus {
    border-color: var(--crm-primary-border);
    box-shadow: 0 0 0 0.2rem rgba(115, 103, 240, 0.12);
}

.crm-search {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 38px;
    padding: 0 0.75rem;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-radius);
    background: var(--crm-surface);
}

.crm-search input {
    min-width: 180px;
    border: 0;
    outline: 0;
    color: var(--crm-text);
    background: transparent;
}

.crm-table-wrap {
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-radius);
    background: var(--crm-surface);
    overflow: hidden;
}

.crm-table-wrap .table {
    margin-bottom: 0;
}

.crm-table-wrap .table thead th {
    border-bottom: 1px solid var(--crm-border);
    color: var(--crm-text-muted);
    font-size: 0.82rem;
    font-weight: 700;
    background: var(--crm-surface-soft);
}

.crm-table-wrap .table tbody td {
    vertical-align: middle;
}

.crm-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 160px;
    padding: 1.25rem;
    border: 1px dashed var(--crm-border-strong);
    border-radius: var(--crm-radius);
    background: var(--crm-surface-soft);
    color: var(--crm-text-muted);
    text-align: center;
}

.crm-empty-state-title {
    margin: 0;
    color: var(--crm-text);
    font-weight: 700;
}

.crm-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-radius-sm);
    color: var(--crm-text-muted);
    background: var(--crm-surface);
    box-shadow: none;
    transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.crm-icon-button:hover,
.crm-icon-button:focus {
    color: var(--crm-primary);
    border-color: var(--crm-primary-border);
    background: var(--crm-surface);
    box-shadow: var(--crm-shadow-sm);
}

.crm-toggle-control {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    min-height: 36px;
    padding: 0 0.65rem;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-radius);
    background: var(--crm-surface);
    color: #5e5873;
    font-weight: 600;
    white-space: nowrap;
}

.crm-timeline {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.crm-timeline-item {
    position: relative;
    padding-left: 1.35rem;
}

.crm-timeline-item:before {
    position: absolute;
    top: 0.35rem;
    left: 0;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    background: var(--crm-primary);
    content: "";
}

.crm-timeline-item:after {
    position: absolute;
    top: 1rem;
    bottom: -0.9rem;
    left: 0.25rem;
    width: 1px;
    background: var(--crm-border);
    content: "";
}

.crm-timeline-item:last-child:after {
    display: none;
}

.crm-stepper {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.crm-step {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.65rem;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-radius-sm);
    background: var(--crm-surface);
    color: var(--crm-text-muted);
    font-weight: 600;
}

.crm-step-active {
    color: var(--crm-primary);
    border-color: var(--crm-primary-border);
    background: var(--crm-primary-soft);
}

.crm-step-done {
    color: var(--crm-success);
    border-color: rgba(40, 199, 111, 0.24);
    background: var(--crm-success-soft);
}

.crm-accordion {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.crm-accordion-item {
    position: relative;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-radius);
    background: var(--crm-surface);
    box-shadow: 0 1px 0 rgba(34, 41, 47, 0.02);
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.crm-accordion-item:hover {
    border-color: rgba(115, 103, 240, 0.18);
    box-shadow: var(--crm-shadow-sm);
}

.crm-accordion-item.is-active {
    border-color: var(--crm-primary-border);
    box-shadow: 0 10px 24px rgba(115, 103, 240, 0.1);
}

.crm-accordion-item.is-active:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    background: var(--crm-primary);
    content: "";
}

.crm-accordion-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    min-height: 64px;
    padding: 0.9rem 1rem 0.9rem 1.15rem;
    border: 0;
    color: var(--crm-text);
    background: var(--crm-surface);
    text-align: left;
    cursor: pointer;
}

.crm-accordion-toggle:hover,
.crm-accordion-toggle:focus {
    background: var(--crm-surface-soft);
    outline: 0;
}

.crm-accordion-item.is-active .crm-accordion-toggle {
    background: var(--crm-surface);
}

.crm-accordion-toggle[aria-expanded="true"] {
    background: var(--crm-surface-soft);
}

.crm-accordion-item.is-active .crm-accordion-toggle[aria-expanded="true"] {
    background: var(--crm-surface);
}

.crm-accordion-heading {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    min-width: 0;
}

.crm-accordion-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: var(--crm-radius-sm);
    color: var(--crm-primary);
    background: var(--crm-primary-soft);
}

.crm-accordion-item.is-active .crm-accordion-icon {
    color: #fff;
    background: var(--crm-primary);
}

.crm-accordion-title {
    display: block;
    color: var(--crm-text);
    font-weight: 800;
    line-height: 1.2;
}

.crm-accordion-description {
    display: block;
    margin-top: 0.2rem;
    color: var(--crm-text-muted);
    font-size: 0.86rem;
    line-height: 1.35;
}

.crm-accordion-meta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex: 0 0 auto;
}

.crm-accordion-chevron {
    color: var(--crm-text-muted);
    transition: transform 0.15s ease;
}

.crm-accordion-toggle[aria-expanded="true"] .crm-accordion-chevron {
    transform: rotate(180deg);
}

.crm-accordion-body {
    padding: 0.85rem 1rem 1rem 1.15rem;
    border-top: 1px solid #f3f2f7;
    background: var(--crm-surface);
}

.crm-menu-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 0.65rem;
}

.crm-menu-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 48px;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-radius-sm);
    color: var(--crm-text);
    background: var(--crm-surface);
    font-weight: 700;
    text-decoration: none !important;
    transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.crm-menu-link:hover,
.crm-menu-link:focus {
    color: var(--crm-primary);
    border-color: var(--crm-primary-border);
    background: var(--crm-surface-soft);
    box-shadow: var(--crm-shadow-sm);
    text-decoration: none !important;
    transform: translateY(-1px);
}

.crm-menu-link.active,
.crm-menu-link[aria-current="page"] {
    color: var(--crm-primary);
    border-color: var(--crm-primary-border);
    background: var(--crm-primary-soft);
    box-shadow: inset 3px 0 0 var(--crm-primary);
}

.crm-menu-link-label {
    min-width: 0;
    overflow-wrap: anywhere;
}

.crm-menu-link-icon {
    flex: 0 0 auto;
    color: var(--crm-text-soft);
}

.crm-menu-link.active .crm-menu-link-icon,
.crm-menu-link[aria-current="page"] .crm-menu-link-icon {
    color: var(--crm-primary);
}

.crm-admin-side-menu {
    --crm-admin-side-width: 292px;
    position: sticky;
    top: 5.5rem;
    z-index: 4;
    flex: 0 0 var(--crm-admin-side-width);
    width: var(--crm-admin-side-width);
}

.crm-admin-layout {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.crm-admin-layout .crm-admin-side-menu {
    flex: 0 0 292px;
    width: 292px;
    margin: 0;
}

.crm-admin-main {
    flex: 1 1 auto;
    min-width: 0;
}

.crm-side-nav {
    border: 1px solid var(--crm-border);
    border-radius: var(--crm-radius-lg);
    background: var(--crm-surface);
    box-shadow: var(--crm-shadow-md);
    overflow: hidden;
}

.crm-side-nav-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem;
    border-bottom: 1px solid var(--crm-border);
    background: var(--crm-surface-soft);
}

.crm-side-nav-title {
    margin-top: 0.1rem;
    color: var(--crm-text);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.2;
}

.crm-side-nav-groups {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.55rem;
}

.crm-side-nav-group {
    position: relative;
    border-radius: var(--crm-radius);
}

.crm-side-nav-group.is-active {
    background: var(--crm-primary-soft);
}

.crm-side-nav-group.is-active:before {
    position: absolute;
    top: 0.45rem;
    bottom: 0.45rem;
    left: 0;
    width: 3px;
    border-radius: 999px;
    background: var(--crm-primary);
    content: "";
}

.crm-side-nav-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    width: 100%;
    min-height: 42px;
    padding: 0.55rem 0.55rem 0.55rem 0.7rem;
    border: 0;
    border-radius: var(--crm-radius);
    color: var(--crm-text);
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.crm-side-nav-toggle:hover,
.crm-side-nav-toggle:focus {
    background: var(--crm-surface-soft);
    outline: 0;
}

.crm-side-nav-group.is-active .crm-side-nav-toggle:hover,
.crm-side-nav-group.is-active .crm-side-nav-toggle:focus {
    background: rgba(255, 255, 255, 0.52);
}

.crm-side-nav-toggle-main,
.crm-side-nav-toggle-meta {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}

.crm-side-nav-toggle-main {
    gap: 0.55rem;
}

.crm-side-nav-toggle-meta {
    gap: 0.35rem;
    flex: 0 0 auto;
}

.crm-side-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: var(--crm-radius-sm);
    color: var(--crm-primary);
    background: var(--crm-primary-soft);
}

.crm-side-nav-group.is-active .crm-side-nav-icon {
    color: #fff;
    background: var(--crm-primary);
}

.crm-side-nav-group-title {
    color: var(--crm-text);
    font-weight: 800;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.crm-side-nav-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 0.4rem;
    border: 1px solid var(--crm-border);
    border-radius: 999px;
    color: var(--crm-text-muted);
    background: var(--crm-surface);
    font-size: 0.78rem;
    font-weight: 800;
}

.crm-side-nav-chevron {
    color: var(--crm-text-muted);
    transition: transform 0.15s ease;
}

.crm-side-nav-toggle[aria-expanded="true"] .crm-side-nav-chevron {
    transform: rotate(180deg);
}

.crm-side-nav-links {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.1rem 0.55rem 0.65rem 3rem;
}

.crm-side-nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    min-height: 34px;
    padding: 0.45rem 0.55rem;
    border-radius: var(--crm-radius-sm);
    color: var(--crm-text-muted);
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none !important;
    transition: color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.crm-side-nav-link:hover,
.crm-side-nav-link:focus {
    color: var(--crm-primary);
    background: var(--crm-surface);
    box-shadow: var(--crm-shadow-sm);
    text-decoration: none !important;
}

.crm-side-nav-link.active,
.crm-side-nav-link[aria-current="page"] {
    color: var(--crm-primary);
    background: var(--crm-surface);
    box-shadow: inset 3px 0 0 var(--crm-primary);
}

.crm-side-nav-current {
    flex: 0 0 auto;
    padding: 0.2rem 0.4rem;
    border-radius: 999px;
    color: var(--crm-primary);
    background: var(--crm-primary-soft);
    font-size: 0.7rem;
    font-weight: 800;
}

.crm-divider {
    height: 1px;
    margin: 0.75rem 0;
    background: var(--crm-border);
}

.crm-nowrap {
    white-space: nowrap;
}

.crm-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 1199.98px) {
    .crm-admin-layout {
        display: block;
    }

    .crm-admin-side-menu {
        position: static;
        width: 100%;
        margin: 0 0 1rem;
    }

    .crm-admin-layout .crm-admin-side-menu {
        width: 100%;
        margin-bottom: 1rem;
    }

    .crm-hero-grid,
    .crm-grid {
        grid-template-columns: 1fr;
    }

    .crm-grid-4,
    .crm-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .crm-section-header,
    .crm-toolbar,
    .crm-filter-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .crm-action-bar {
        justify-content: flex-start;
    }

    .crm-grid-2,
    .crm-grid-4,
    .crm-kpi-grid {
        grid-template-columns: 1fr;
    }

    .crm-field-row {
        flex-direction: column;
        gap: 0.15rem;
    }

    .crm-field-value {
        text-align: left;
    }

    .crm-search input {
        min-width: 0;
        width: 100%;
    }
}
