.cm-modal .modal-content {
    border: 1px solid #e1e6f0;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.12);
}
.cm-modal .modal-header {
    padding: 18px 20px;
    display: flex;
    align-items: center;
}
.cm-modal .modal-header .close {
    outline: none;
}
.cm-modal .modal-icon {
    width: 20px;
    height: 20px;
    margin-right: 10px;
}
.cm-modal .modal-title {
    font-weight: 500;
    font-size: 16px;
    line-height: 19px;
    color: #1e232d;
}
.cm-modal .modal-body {
    padding: 20px;
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    color: #1e232d;
}
.cm-modal .modal-footer {
    padding: 14px 15px;
}
.cm-alert {
    padding: 18px 20px;
    display: flex;
    align-items: center;
    border: 1px solid #ffc6c8;
    border-radius: 6px;
    background: #fff2f4;
    font-weight: 400;
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 0.02em;
    color: #1e232d;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1);
}
.cm-alert img {
    margin-right: 12px;
}
.cm-panel {
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}
.cm-panel .cm-panel__header {
    min-height: 57px;
    padding: 8px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 12px;
    border-bottom: 1px solid #ebf0fa;
}
.cm-panel .cm-panel__header .btn {
    line-height: 18px;
}
.cm-panel .cm-panel__header .btn img {
    transition: transform 0.3s;
}
.cm-panel .cm-panel__header .btn.collapsed img {
    transform: rotate(180deg);
}
.cm-panel .cm-panel__title {
    margin: 0 0 0 12px;
    font-weight: 500;
    font-size: 16px;
    line-height: 19px;
    letter-spacing: 0.02em;
    word-break: break-word;
    color: #1e232d;
}
.cm-panel .cm-panel__content {
    padding: 20px;
    overflow-x: auto;
}
.cm-button {
    min-width: 70px;
    padding: 6px 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    outline: none;
    box-shadow: none;
    transition: 0.3s;
}
.cm-button.btn.focus,
.cm-button.btn:focus {
    box-shadow: none;
}
.cm-button .cm-button__icon {
    margin-right: 8px;
}
.cm-button-link {
    color: #3C78F0;
}
.cm-button-link:hover {
    color: #3C78F0;
}
.cm-table tr > th {
    padding: 14px 12px;
    border: none;
    background: #f4f6f8;
    vertical-align: middle;
    font-weight: 500;
    font-size: 14px;
    line-height: 15px;
    letter-spacing: 0.02em;
    color: #1e232d;
}
.cm-table tr > th:first-child {
    padding-left: 20px;
}
.cm-table tr > th:last-child {
    padding-right: 20px;
}
.cm-table tr > th button {
    line-height: 1;
}
.cm-table tr > td {
    padding: 14px 12px;
    border-bottom: 1px solid #eaecee;
    vertical-align: middle;
    font-weight: 400;
    font-size: 14px;
    line-height: 15px;
    letter-spacing: 0.02em;
    color: #1e232d;
}
.cm-table tr > td:first-child {
    padding-left: 20px;
}
.cm-table tr > td:last-child {
    padding-right: 20px;
}
.cm-table tr > td.no-data {
    height: 100px;
    text-align: center;
    font-size: 17px;
    color: #999;
}

.cm-input {
    border: 1px solid #d2dce6;
    border-radius: 6px;
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 0.02em;
    color: #1e232d;
}
.cm-input[readonly] {
    background: #f8f8fa;
}

.cm-input:disabled {
    color: #888;
}

.cm-typo--body-text {
    margin: 0;
    padding: 0;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #1e232d;
}

.cm-divider {
    width: 100%;
    height: 1px;
    background: #eaecee;
}

.m-4px {
    margin: 4px;
}
.m-8px {
    margin: 8px;
}
.m-12px {
    margin: 12px;
}
.m-16px {
    margin: 16px;
}
.m-20px {
    margin: 20px;
}
.m-24px {
    margin: 24px;
}
.m-28px {
    margin: 28px;
}
.m-32px {
    margin: 32px;
}
.m-36px {
    margin: 36px;
}
.m-40px {
    margin: 40px;
}
.m-44px {
    margin: 44px;
}
.m-48px {
    margin: 48px;
}
.m-52px {
    margin: 52px;
}

.mt-4px {
    margin-top: 4px;
}
.mt-8px {
    margin-top: 8px;
}
.mt-12px {
    margin-top: 12px;
}
.mt-16px {
    margin-top: 16px;
}
.mt-20px {
    margin-top: 20px;
}
.mt-24px {
    margin-top: 24px;
}
.mt-28px {
    margin-top: 28px;
}
.mt-32px {
    margin-top: 32px;
}
.mt-36px {
    margin-top: 36px;
}
.mt-40px {
    margin-top: 40px;
}
.mt-44px {
    margin-top: 44px;
}
.mt-48px {
    margin-top: 48px;
}
.mt-52px {
    margin-top: 52px;
}

.mr-4px {
    margin-right: 4px;
}
.mr-8px {
    margin-right: 8px;
}
.mr-12px {
    margin-right: 12px;
}
.mr-16px {
    margin-right: 16px;
}
.mr-20px {
    margin-right: 20px;
}
.mr-24px {
    margin-right: 24px;
}
.mr-28px {
    margin-right: 28px;
}
.mr-32px {
    margin-right: 32px;
}
.mr-36px {
    margin-right: 36px;
}
.mr-40px {
    margin-right: 40px;
}
.mr-44px {
    margin-right: 44px;
}
.mr-48px {
    margin-right: 48px;
}
.mr-52px {
    margin-right: 52px;
}

.mb-4px {
    margin-bottom: 4px;
}
.mb-8px {
    margin-bottom: 8px;
}
.mb-12px {
    margin-bottom: 12px;
}
.mb-16px {
    margin-bottom: 16px;
}
.mb-20px {
    margin-bottom: 20px;
}
.mb-24px {
    margin-bottom: 24px;
}
.mb-28px {
    margin-bottom: 28px;
}
.mb-32px {
    margin-bottom: 32px;
}
.mb-36px {
    margin-bottom: 36px;
}
.mb-40px {
    margin-bottom: 40px;
}
.mb-44px {
    margin-bottom: 44px;
}
.mb-48px {
    margin-bottom: 48px;
}
.mb-52px {
    margin-bottom: 52px;
}

.ml-4px {
    margin-left: 4px;
}
.ml-8px {
    margin-left: 8px;
}
.ml-12px {
    margin-left: 12px;
}
.ml-16px {
    margin-left: 16px;
}
.ml-20px {
    margin-left: 20px;
}
.ml-24px {
    margin-left: 24px;
}
.ml-28px {
    margin-left: 28px;
}
.ml-32px {
    margin-left: 32px;
}
.ml-36px {
    margin-left: 36px;
}
.ml-40px {
    margin-left: 40px;
}
.ml-44px {
    margin-left: 44px;
}
.ml-48px {
    margin-left: 48px;
}
.ml-52px {
    margin-left: 52px;
}

.mx-4px {
    margin-left: 4px;
    margin-right: 4px;
}
.mx-8px {
    margin-left: 8px;
    margin-right: 8px;
}
.mx-12px {
    margin-left: 12px;
    margin-right: 12px;
}
.mx-16px {
    margin-left: 16px;
    margin-right: 16px;
}
.mx-20px {
    margin-left: 20px;
    margin-right: 20px;
}
.mx-24px {
    margin-left: 24px;
    margin-right: 24px;
}
.mx-28px {
    margin-left: 28px;
    margin-right: 28px;
}
.mx-32px {
    margin-left: 32px;
    margin-right: 32px;
}
.mx-36px {
    margin-left: 36px;
    margin-right: 36px;
}
.mx-40px {
    margin-left: 40px;
    margin-right: 40px;
}
.mx-44px {
    margin-left: 44px;
    margin-right: 44px;
}
.mx-48px {
    margin-left: 48px;
    margin-right: 48px;
}
.mx-52px {
    margin-left: 52px;
    margin-right: 52px;
}

.my-4px {
    margin-top: 4px;
    margin-bottom: 4px;
}
.my-8px {
    margin-top: 8px;
    margin-bottom: 8px;
}
.my-12px {
    margin-top: 12px;
    margin-bottom: 12px;
}
.my-16px {
    margin-top: 16px;
    margin-bottom: 16px;
}
.my-20px {
    margin-top: 20px;
    margin-bottom: 20px;
}
.my-24px {
    margin-top: 24px;
    margin-bottom: 24px;
}
.my-28px {
    margin-top: 28px;
    margin-bottom: 28px;
}
.my-32px {
    margin-top: 32px;
    margin-bottom: 32px;
}
.my-36px {
    margin-top: 36px;
    margin-bottom: 36px;
}
.my-40px {
    margin-top: 40px;
    margin-bottom: 40px;
}
.my-44px {
    margin-top: 44px;
    margin-bottom: 44px;
}
.my-48px {
    margin-top: 48px;
    margin-bottom: 48px;
}
.my-52px {
    margin-top: 52px;
    margin-bottom: 52px;
}

.break-word {
    word-break: break-word;
}

.nowrap {
    white-space: nowrap;
}
