/* Компоновка раздела клиентов. Поля и кнопки оформляются общими классами сайта. */
@media (max-width: 640px) {
    .access-admin__panel-heading.access-admin__panel-heading--mail {
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
    }
}
.access-admin__editor + .access-admin__panel {
    margin-top: 24px;
}
.access-admin .access-admin__editor + .site-notice {
    margin-top: 20px;
}

.access-admin__integration{margin:0 24px 24px;padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.access-admin__integration-heading{display:block}
.access-admin__integration-heading h3{margin:0;font-size:19px;line-height:1.4}
.access-admin__integration-heading p{margin:8px 0 0;max-width:560px;color:var(--muted);font-size:13px;line-height:1.6}
/* Подпись, поле и подсказка остаются одной группой, кнопка выровнена с самим полем. */
.access-admin__portal-link {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 8px 16px;
    margin-top: 20px;
}
.access-admin__portal-link:has(> [data-kzb-action="sync"]:not([hidden])) {
    grid-template-columns: minmax(0, 1fr) auto;
}
.access-admin__portal-link > .access-admin__field {
    display: contents;
}
.access-admin__portal-link > .access-admin__field > label {
    grid-column: 1;
    grid-row: 1;
}
.access-admin__portal-link .select2-container {
    grid-column: 1;
    grid-row: 2;
}
.access-admin__portal-link > .access-admin__field > small {
    grid-column: 1 / -1;
    grid-row: 3;
}
.access-admin__portal-link > [data-kzb-action="sync"] {
    grid-column: 2;
    grid-row: 2;
    white-space: nowrap;
}
.access-admin__sync-reason{margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.55}
.access-admin__sync-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin:18px 0}
.access-admin__sync-meta dt{color:var(--muted);font-size:12px;line-height:1.5}
.access-admin__sync-meta dd{margin:5px 0 0;font-size:14px;line-height:1.5}
.access-admin__sync-message{margin:16px 0 0}
.access-admin__company-conflict{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.access-admin__company-conflict p{margin:0;font-size:13px;line-height:1.6}
.access-admin__company-conflict .btn{flex-shrink:0}
.access-admin__portal-media{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px}
.access-admin__source-change{color:var(--orange);font-size:12px;line-height:1.5}
.access-admin__editor .select2-container.site-select{min-width:0}
.access-admin__editor[aria-busy=true]{cursor:progress}
/* Сравнение фотографий: общий размер кадров и место под подписи. */
.expo-media-confirm.access-admin__media-dialog {
    width: min(920px, calc(100% - 32px));
    max-height: calc(100dvh - 32px);
    padding: 28px;
    overflow: auto;
}
.access-admin__media-dialog h2 {
    margin-bottom: 24px;
}
.access-admin__media-dialog .access-admin__media-hint {
    margin: -10px 0 24px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.6;
}
.access-admin__media-comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}
.access-admin__media-comparison figure {
    display: grid;
    grid-template-rows: 3em 280px auto;
    align-content: start;
    gap: 16px;
    margin: 0;
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--paper);
    font-size: 16px;
    line-height: 1.5;
}
.access-admin__media-comparison figcaption {
    font-weight: 600;
}
.access-admin__media-frame {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}
.access-admin__media-frame img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.access-admin__avatar-guide {
    position: absolute;
    top: 50%;
    left: 50%;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 50%;
    box-shadow: 0 0 0 100vmax rgba(24, 35, 36, .48);
    transform: translate(-50%, -50%);
    pointer-events: none;
}
.access-admin__avatar-guide[hidden] {
    display: none;
}
.access-admin__media-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    width: 100%;
    height: 100%;
    padding: 20px;
    box-sizing: border-box;
    border: 1px dashed var(--line);
    border-radius: 6px;
    color: var(--muted);
    text-align: center;
}
.access-admin__media-empty > .fa {
    font-size: 48px;
}
.access-admin__media-comparison .access-admin__media-metadata {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.6;
}
@media(max-width:1400px){.access-admin__company-conflict{flex-direction:column;align-items:flex-start}}
@media(max-width:760px) {
    .access-admin__portal-link:has(> [data-kzb-action="sync"]:not([hidden])) {
        grid-template-columns: minmax(0, 1fr);
    }
    .access-admin__portal-link > [data-kzb-action="sync"] {
        grid-column: 1;
        grid-row: 4;
        justify-self: start;
        white-space: normal;
    }
}
@media (max-width: 640px) {
    .access-admin__integration { margin: 0 18px 18px; padding: 18px; }
    .access-admin__sync-meta,
    .access-admin__media-comparison { grid-template-columns: minmax(0, 1fr); }
    .expo-media-confirm.access-admin__media-dialog { padding: 20px; }
    .access-admin__media-comparison figure { grid-template-rows: auto 220px auto; padding: 16px; }
    .access-admin__media-dialog .expo-media-confirm__actions > .btn { width: 100%; justify-content: center; }
}
.access-admin__contact-layout{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:start;gap:28px;padding:24px}
.access-admin__contact-layout>.access-admin__fields{padding:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.access-admin__field--wide{grid-column:1/-1}
.access-admin__avatar .account-avatar{max-width:none}
.access-admin__avatar .account-avatar .media-tile__pick{flex-direction:column;align-items:flex-start;gap:16px;order:1}
.access-admin__avatar .account-avatar .media-tile__meta{order:2;gap:8px 12px}
.access-admin__avatar .account-avatar .media-tile__hint{order:3;font-size:12px}
.access-admin__avatar .account-avatar .expo-media-status{order:4}
.access-admin__avatar .account-avatar .media-tile__input{max-width:100%;min-width:0;font-size:0}
.access-admin__avatar .account-avatar .media-tile__input::file-selector-button{width:100%;margin:0;font-size:13px}
.access-admin__avatar .account-avatar .media-tile__box{width:132px;height:132px;margin-inline:auto}

@media(max-width:760px){
 .access-admin__contact-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 .access-admin__avatar{padding-bottom:24px;border-bottom:1px solid var(--line)}
 .access-admin__avatar .account-avatar .media-tile{grid-template-columns:132px minmax(0,1fr);column-gap:20px;align-items:start}
 .access-admin__avatar .account-avatar .media-tile__pick{display:contents}
 .access-admin__avatar .account-avatar .media-tile__box{grid-column:1;grid-row:1/5}
 .access-admin__avatar .account-avatar .media-tile__input,.access-admin__avatar .account-avatar .media-tile__meta,.access-admin__avatar .account-avatar .media-tile__hint,.access-admin__avatar .account-avatar .expo-media-status{grid-column:2}
 .access-admin__avatar .account-avatar .media-tile__input{grid-row:1}
 .access-admin__avatar .account-avatar .media-tile__meta{grid-row:2}
 .access-admin__avatar .account-avatar .media-tile__hint{grid-row:3}
 .access-admin__avatar .account-avatar .expo-media-status{grid-row:4}
}
@media(max-width:640px){.access-admin__contact-layout{padding:18px}.access-admin__contact-layout>.access-admin__fields{grid-template-columns:minmax(0,1fr)}}
@media(max-width:380px){.access-admin__avatar .account-avatar .media-tile{grid-template-columns:96px minmax(0,1fr);column-gap:14px}.access-admin__avatar .account-avatar .media-tile__box{width:96px;height:96px;font-size:11px}.access-admin__avatar .account-avatar .media-tile__box>.fa{font-size:32px}}
.access-admin__assignments{grid-column:1/-1}
.access-admin__lead-origin{margin-bottom:24px}
.access-admin__avatar{min-width:0}.access-admin__avatar>h3{margin:0 0 16px;font-size:18px;line-height:1.4}.access-admin__identity{display:flex;align-items:flex-start;gap:12px;min-width:0}.access-admin__identity>div{min-width:0}.access-admin__portrait{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;overflow:hidden;border-radius:50%;background:var(--sage);color:var(--muted)}.access-admin__portrait img{width:44px;height:44px;object-fit:cover}.access-admin__portrait>.fa{font-size:20px}
.access-admin{min-width:0;padding-top:0;padding-bottom:24px}.access-admin__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:28px}.access-admin__heading .eyebrow{margin-bottom:10px;color:var(--muted)}.access-admin__heading h1{font-size:clamp(32px,3vw,44px);line-height:1.15}.access-admin__intro{margin-top:12px;max-width:710px;font-size:15px;color:var(--muted)}.access-admin__actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px}.access-admin__actions .btn{white-space:nowrap}.access-admin>.site-notice{margin-bottom:24px}.access-admin__filters{display:grid;grid-template-columns:minmax(250px,1.8fr) minmax(160px,.8fr) minmax(180px,.8fr) auto;align-items:end;gap:18px;margin:0 0 24px;padding:22px;border:1px solid var(--line);border-radius:8px;background:#fff}.access-admin__field{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0;font-size:14px}.access-admin__field>label{margin:0;font-size:14px;font-weight:600;line-height:1.5}.access-admin__field>:is(input,select,textarea){width:100%}.access-admin__field>small{font-size:12px;line-height:1.55;color:var(--muted)}.access-admin__filter-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;min-height:44px}.access-admin__text-link{color:var(--blue);font-size:14px;text-decoration:underline;text-underline-offset:4px}.access-admin__panel{min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.access-admin__panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px;padding:20px 24px;border-bottom:1px solid var(--line)}.access-admin__panel-heading h2{font-size:22px;line-height:1.3;letter-spacing:-.035em}.access-admin__muted{color:var(--muted);font-size:12px}.access-admin__line{display:block;margin-top:6px}.access-admin__table-wrap{width:100%;overflow-x:auto}.access-admin__table{width:100%;min-width:960px;border-collapse:collapse;text-align:left}.access-admin__table th {
    white-space: nowrap;
}
.access-admin__table th,.access-admin__table td{padding:18px 20px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.55}.access-admin__table td{font-size:14px}.access-admin__table tbody tr:last-child td{border-bottom:0}.access-admin__table tbody tr:hover{background:#fbfbf8}.access-admin__name{color:var(--ink);font-weight:700}.access-admin__name:hover{color:var(--blue);text-decoration:underline}.access-admin__contacts{display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:270px;overflow-wrap:anywhere}.access-admin__contacts .fa{color:var(--muted);margin-right:3px}.access-admin__contacts a:hover{color:var(--blue);text-decoration:underline}.access-admin__table .btn{white-space:nowrap}.access-admin__state{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap}.access-admin__state.is-active{background:#e8f4e9;color:#28633d}.access-admin__state.is-blocked{background:#f3eae7;color:#9b4628}.access-admin__empty{padding:42px 24px;text-align:center}.access-admin__empty>.fa{font-size:30px;color:var(--muted);margin-bottom:20px}.access-admin__empty h3{font-size:23px}.access-admin__empty p{font-size:14px;color:var(--muted);margin-top:12px}.access-admin__limit{padding:14px 24px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);margin:0}.access-admin__editor{min-width:0}.access-admin__editor-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,1fr);align-items:start;gap:24px}.access-admin__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:24px}.access-admin__description{padding:0 24px 24px}.access-admin__account-fields{display:flex;flex-direction:column;gap:24px;padding:24px}.access-admin__activity{padding-top:20px;border-top:1px solid var(--line)}.access-admin__activity label{display:flex;align-items:center;gap:10px;margin:0;font-size:14px;font-weight:600}.access-admin__activity p{margin-top:10px;font-size:12px;color:var(--muted);line-height:1.6}.access-admin__savebar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}.access-admin__savebar>p{margin:0;color:var(--muted);font-size:13px;max-width:440px}
.access-admin__views {
    margin-bottom: 24px;
}
.access-admin__cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr));
    gap: 24px;
    margin-top: 16px;
}
.access-admin__card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    overflow-wrap: anywhere;
}
.access-admin__card-top {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    align-items: center;
    gap: 20px;
}
.access-admin__card .access-admin__portrait {
    width: 112px;
    height: 112px;
    flex-basis: 112px;
    font-size: 32px;
}
.access-admin__card h2 {
    font-size: 22px;
    line-height: 1.35;
}
.access-admin__card .access-admin__portrait img {
    width: 100%;
    height: 100%;
}
.access-admin__card .access-admin__portrait > .fa {
    font-size: 44px;
}
.access-admin__card p {
    margin: 0;
}
.access-admin__card > .btn {
    margin-top: auto;
    justify-content: center;
}
@media(max-width:1150px){.access-admin__editor-grid{grid-template-columns:minmax(0,1fr)}.access-admin__account-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.access-admin__activity{padding-top:0;border-top:0}}
@media(max-width:1050px){.access-admin__filters{grid-template-columns:repeat(2,minmax(0,1fr))}.access-admin__search{grid-column:1/-1}}
@media(max-width:640px){.access-admin__heading,.access-admin__savebar{flex-direction:column;align-items:stretch;gap:20px}.access-admin__heading{margin-bottom:22px}.access-admin__actions{justify-content:flex-start}.access-admin__filters{padding:18px;grid-template-columns:minmax(0,1fr)}.access-admin__search{grid-column:auto}.access-admin__panel-heading{padding:18px}.access-admin__fields,.access-admin__account-fields{padding:18px;grid-template-columns:minmax(0,1fr)}.access-admin__description{padding:0 18px 18px}.access-admin__activity{padding-top:18px;border-top:1px solid var(--line)}}

/* Крупный аватар и сведения о пользователе образуют единую шапку карточки. */
.access-admin__card-identity {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
}
.access-admin__card-identity h2 {
    margin: 0;
}
.access-admin__card-company {
    padding-top: 16px;
    border-top: 1px solid var(--line);
}
@media (max-width: 420px) {
    .access-admin__card {
        padding: 20px;
    }
    .access-admin__card-top {
        grid-template-columns: 88px minmax(0, 1fr);
        gap: 16px;
    }
    .access-admin__card .access-admin__portrait {
        width: 88px;
        height: 88px;
        flex-basis: 88px;
    }
    .access-admin__card h2 {
        font-size: 20px;
    }
}

/* Справочник переменных письма сохраняет читаемую компоновку на узком экране. */
.mail-template-reference {
    margin-top: 24px;
}
.faq.mail-template-reference > details {
    padding: 0;
}
.faq.mail-template-reference > details:not([open]) > summary {
    border-bottom: 0;
}
.mail-template-variables {
    min-width: 0;
}
.mail-template-variables h3 {
    margin: 0 0 12px;
}
.mail-template-variables > p {
    margin: 0 0 20px;
}
.mail-template-variables__list {
    margin: 0;
}
.mail-template-variables__item {
    display: grid;
    grid-template-columns: minmax(160px, 220px) minmax(0, 1fr);
    gap: 12px 24px;
    padding: 16px 0;
    border-top: 1px solid var(--line);
}
.mail-template-variables__item dt,
.mail-template-variables__item dd {
    min-width: 0;
    margin: 0;
}
.mail-template-variables__item p {
    margin: 6px 0 0;
}
.mail-template-variables__example {
    display: block;
    margin-top: 8px;
}
.mail-template-variables code {
    white-space: normal;
    overflow-wrap: anywhere;
}
@media (max-width: 640px) {
    .mail-template-variables__item {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }
}

