:root {
    --mes-blue: #517dba;
    --mes-accent: #6b4f9e;
    --mes-accent-rgb: 107, 79, 158;
    --mes-error: #d63939;
    --mes-error-rgb: 214, 57, 57;
    --tblr-primary: var(--mes-blue);
    --tblr-primary-rgb: 81, 125, 186;
    --tblr-danger: var(--mes-accent);
    --tblr-danger-rgb: var(--mes-accent-rgb);
    --tblr-form-invalid-color: var(--mes-error);
    --tblr-form-invalid-border-color: var(--mes-error);
}

body { letter-spacing: .005em; }
.brand-logo { width: 180px; max-width: 100%; height: auto; }
.navbar-brand { color: var(--mes-blue); }
.official-brand-logo { display: block; width: 188px; max-width: 100%; height: auto; }
.brand-caption { margin-top: .35rem; font-size: .875rem; font-weight: 600; }
.sidebar-toggle { width: 2.75rem; min-width: 2.75rem; height: 2.75rem; min-height: 2.75rem; align-self: start; padding: 0; border: 0; background: transparent; box-shadow: none; }
.nav-link,
.navbar-toggler,
.account-trigger,
.dropdown-item,
.btn,
.form-control,
.form-select,
.list-group-item-action { min-height: 44px; }
.navbar-vertical .nav-link { min-height: 44px !important; }
.navbar-toggler { min-width: 44px; }
.navbar-vertical.navbar-transparent { background: transparent; }
.nav-link.active { color: var(--mes-blue) !important; font-weight: 600; }
.nav-link.active .nav-link-icon { color: var(--mes-blue) !important; }
.profile-initials { background: #e7edf4; color: var(--mes-blue); }
.text-mes-accent { color: var(--mes-accent) !important; }
.page-wrapper,
.page-body,
.card,
.table-responsive { min-width: 0; }
.page-wrapper { overflow-x: clip; }
.table-responsive { width: 100%; max-width: 100%; overflow-x: auto; contain: inline-size; }
.users-table {
    max-height: 70vh;
    min-height: 11rem;
    overflow: auto;
    overscroll-behavior-inline: contain;
    scrollbar-color: rgba(var(--tblr-primary-rgb), .55) var(--tblr-border-color-translucent);
    scrollbar-gutter: stable;
}
.users-table:focus-visible { outline-offset: -3px; }
.users-table .table { min-width: 100%; width: max-content; font-size: .75rem; }
.users-table tbody td:not(.users-table-actions) { white-space: nowrap; overflow-wrap: normal; }
.users-cell-tags { display: inline-flex; align-items: center; gap: .25rem; white-space: nowrap; }
.users-cell-tags .badge { margin: 0; }
.users-cell-more { cursor: help; }
.users-cell-more:focus-visible { outline: 2px solid var(--mes-blue); outline-offset: 2px; }
.users-new-control .dropdown-item:disabled { color: var(--tblr-secondary-color) !important; opacity: .65; cursor: default; }
.users-table .table > :not(caption) > * > * { padding: .4rem .5rem; }
.users-table thead { position: sticky; top: 0; z-index: 4; background: var(--tblr-card-bg, #fff); }
.users-table thead th { white-space: nowrap; }
.users-table-groups th { color: var(--tblr-secondary-color); font-size: .6875rem; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.users-table-groups .users-group-label { position: static; }
.users-table-groups .users-group-personal { background: rgba(var(--tblr-primary-rgb), .08); color: var(--mes-blue); }
.users-table-groups .users-group-club { background: var(--tblr-bg-surface-secondary, #f6f8fb); }
.users-table-groups .users-group-account { background: var(--tblr-bg-surface-secondary, #f6f8fb); }
.users-table-groups .users-group-conference { background: rgba(var(--mes-accent-rgb), .1); color: var(--mes-accent); }
.users-group-club-start { border-left: 2px solid var(--tblr-border-color) !important; }
.users-group-account-start { border-left: 2px solid var(--tblr-border-color) !important; }
.users-group-conference-start { border-left: 2px solid rgba(var(--mes-accent-rgb), .45) !important; }
.users-table-id,
.users-table thead th[data-column="id"] { position: sticky; left: 0; z-index: 2; width: var(--users-id-width, 3rem); min-width: var(--users-id-width, 3rem); max-width: var(--users-id-width, 3rem); background-color: var(--tblr-card-bg, #fff) !important; white-space: nowrap; }
.users-table-selectable .users-table-select { position: sticky; left: 0; z-index: 3; width: 3rem; min-width: 3rem; max-width: 3rem; background-color: var(--tblr-card-bg, #fff) !important; }
.users-table-selectable .users-table-id,
.users-table-selectable thead th[data-column="id"] { left: 3rem; }
.users-table .users-table-selectable .users-table-name,
.users-table .users-table-selectable thead th[data-column="last_name"] { left: calc(3rem + var(--users-id-width, 3rem)); }
.users-table-selectable thead .users-table-select { z-index: 6; }
/* ponytail: keep the 44px selection target inside its 48px sticky column. */
.users-table .table .users-table-select { padding-inline: .125rem; }
.person-select-label { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: 2.75rem; cursor: pointer; }
.person-select-label .form-check-input { margin: 0; cursor: pointer; }
.mailing-select-column { width: 3rem; min-width: 3rem; }
.users-table-name,
.users-table thead th[data-column="last_name"] { position: sticky; left: var(--users-id-width, 3rem); z-index: 2; width: auto; min-width: 10rem; max-width: none; background-color: var(--tblr-card-bg, #fff) !important; box-shadow: 7px 0 10px -5px rgba(0, 0, 0, .3); white-space: normal; overflow-wrap: anywhere; }
.users-table .users-table-without-id .users-table-name,
.users-table .users-table-without-id thead th[data-column="last_name"] { left: 0; }
.users-table .users-table-selectable.users-table-without-id .users-table-name,
.users-table .users-table-selectable.users-table-without-id thead th[data-column="last_name"] { left: 3rem; }
.users-table thead th[data-column="id"],
.users-table thead th[data-column="last_name"] { z-index: 5; }
.users-table tbody td[data-column="first_name"],
.users-table tbody td[data-column="patronymic"],
.users-table thead th[data-column="first_name"],
.users-table thead th[data-column="patronymic"] { width: auto; min-width: 0; max-width: none; white-space: nowrap; }
.users-table-organization { max-width: 15rem; }
.users-table-position { max-width: 13rem; }
.users-table-interests { max-width: 16rem; }
.users-table-actions { min-width: 10rem; text-align: left; white-space: normal; overflow-wrap: anywhere; }
.users-table .btn-sm { min-height: 2rem; padding: .25rem .5rem; }
.users-table-summary .badge,
.users-table-footer .badge { font-variant-numeric: tabular-nums; }
.users-directory-card .card-header { min-height: 5.25rem; }
.users-card-details { display: grid; grid-template-columns: minmax(7rem, 38%) minmax(0, 1fr); gap: .45rem 1rem; }
.users-card-details dt { color: var(--tblr-secondary-color); font-weight: 500; }
.users-card-details dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.users-card-conference { padding: 1rem; border-left: 3px solid rgba(var(--mes-accent-rgb), .55); border-radius: var(--tblr-border-radius); background: rgba(var(--mes-accent-rgb), .07); }
.users-card-conference .subheader { color: var(--mes-accent); }
.users-directory-card .card-footer .btn { min-width: 7rem; }
.users-columns-menu { width: min(64rem, calc(100vw - 2rem)); }
.users-columns-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: .5rem; }
.users-columns-list .dropdown-divider,
.users-columns-list .dropdown-header { grid-column: 1 / -1; }
.users-table-summary [data-users-columns-control] { flex: 0 0 auto; }
.users-table-summary [data-users-columns-control] .btn-icon { width: 2.75rem; min-width: 2.75rem; padding: 0; }
.users-columns-menu .dropdown-item { display: flex; min-height: 2.75rem; align-items: center; white-space: normal; }
.users-columns-menu .form-check-input { flex: 0 0 auto; }
.users-filter-toolbar { display: grid; grid-template-columns: minmax(14rem, 26rem) minmax(0, 1fr); align-items: end; gap: .5rem; }
.users-search-control,
.users-filter-item { min-width: 0; }
.users-filter-item { container-type: inline-size; }
.users-search-clear { border: 0; background: transparent; color: var(--tblr-secondary-color); cursor: pointer; pointer-events: auto; }
.users-search-control input::-webkit-search-cancel-button { display: none; }
.users-search-control input:placeholder-shown + .users-search-clear { visibility: hidden; pointer-events: none; }
.users-filter-condition { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); min-width: 0; min-height: 2.75rem; align-items: stretch; border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius); background: var(--tblr-bg-forms, #fff); }
.users-filter-condition:focus-within { border-color: #90b5e2; box-shadow: 0 0 0 .25rem rgba(var(--tblr-primary-rgb), .25); }
.users-filter-handle { display: grid; place-items: center; flex: 0 0 2rem; min-height: 2.75rem; padding: .25rem; border: 0; border-radius: var(--tblr-border-radius) 0 0 var(--tblr-border-radius); background: transparent; color: var(--tblr-secondary-color); cursor: grab; touch-action: none; }
.users-filter-handle:hover { color: var(--tblr-primary); background: var(--tblr-bg-surface-secondary); }
.users-filter-handle:focus-visible { outline: 2px solid var(--tblr-primary); outline-offset: -2px; }
.users-filter-name { display: flex; flex: 1 1 45%; grid-column: 2; grid-row: 1; align-items: center; min-width: 0; padding: .5rem .375rem; font-size: .875rem; line-height: 1.25; overflow-wrap: normal; word-break: normal; hyphens: none; }
.users-filter-operator { display: flex; flex: 0 0 2.5rem; align-items: stretch; }
.users-filter-operator > .btn { width: 2.5rem; min-width: 2.5rem; height: auto; padding: 0; border: 0; border-radius: 0; background: var(--tblr-bg-surface-secondary, #f6f8fb); color: var(--tblr-primary); }
.users-filter-operator .dropdown-item { display: flex; min-width: 10rem; align-items: center; gap: .75rem; }
.users-filter-operator-sign { width: 1.25rem; text-align: center; }
.users-filter-value { flex: 1 1 50%; width: 50%; min-width: 0; padding-left: .5rem; border: 0; border-left: 1px solid var(--tblr-border-color); border-radius: 0 var(--tblr-border-radius) var(--tblr-border-radius) 0; background-color: transparent; font-size: .875rem; }
.users-filter-value:focus { box-shadow: none; }
.users-filter-handle { grid-column: 1; grid-row: 1; }
.users-filter-operator { grid-column: 1; grid-row: 2; }
.users-filter-operator > .btn { width: 100%; }
.users-filter-value { grid-column: 2; grid-row: 2; width: 100%; min-height: 2.75rem; border-top: 1px solid var(--tblr-border-color); }
.users-filter-condition:not(:has(.users-filter-operator)) .users-filter-value { grid-column: 1 / -1; border-left: 0; }
@container (min-width: 20rem) {
    .users-filter-condition { display: flex; }
    .users-filter-name { min-width: min-content; }
    .users-filter-value { width: 50%; border-top: 0; }
}

.users-quick-filters { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(8.5rem, 1fr)); gap: .5rem; }
.users-filter-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: end; gap: .25rem; }
.users-filter-actions .btn { flex: 0 0 auto; }
.users-quick-filters { min-height: 3rem; margin-top: .5rem; }
.users-quick-filters:empty::before { content: 'Перетащи сюда быстрые фильтры'; grid-column: 1 / -1; padding: .75rem; border: 1px dashed var(--tblr-border-color); border-radius: var(--tblr-border-radius); color: var(--tblr-secondary-color); }
.users-filter-group-grid { min-height: 3rem; }
.users-filter-group-grid:empty::before { content: 'Все фильтры этой категории в быстрых'; color: var(--tblr-secondary-color); font-size: .875rem; grid-column: 1 / -1; }
.users-filter-ghost { opacity: .3; }
.users-filter-chosen .users-filter-handle { cursor: grabbing; }
.users-filter-floating { z-index: 1100 !important; pointer-events: none; box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .15); }
.users-filters-dragging { cursor: grabbing; }
.users-filter-return { position: fixed; right: .75rem; top: 50%; transform: translateY(-50%); z-index: 1110; display: flex; width: 8rem; min-height: 7rem; padding: .75rem; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; border: 2px dashed var(--tblr-danger); border-radius: var(--tblr-border-radius); background: var(--tblr-bg-surface, #fff); color: var(--tblr-danger); font-size: .875rem; text-align: center; }
.users-filter-return[hidden] { display: none; }
.users-filter-return-active { background: var(--tblr-danger); color: #fff; border-style: solid; }
.users-filter-return .users-filter-item { display: none; }
.users-filter-promote { min-width: 7.5rem; border-color: var(--tblr-primary); color: var(--tblr-primary); }
.users-filter-promote.users-filter-return-active { background: var(--tblr-primary); color: #fff; }
@media (pointer: coarse) { .users-filter-handle { flex-basis: 2.75rem; } }
@media (max-width: 767.98px) { .users-filter-return { width: 6.5rem; } }
.users-advanced-filter-groups { display: grid; gap: .75rem; }
.users-filter-group { padding: .75rem; border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius); }
.users-filter-group-title { margin-bottom: .5rem; font-size: .75rem; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }
.users-filter-group-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; }
.users-filter-group-conference { border-color: rgba(var(--mes-accent-rgb), .3); background: rgba(var(--mes-accent-rgb), .04); }
.users-filter-group-organization { background: rgba(var(--tblr-primary-rgb), .04); }
.users-filter-group-education { background: rgba(47, 179, 68, .04); }
.users-filter-group-location { background: rgba(245, 159, 0, .04); }
.users-filter-group-account { background: var(--tblr-bg-surface-secondary, #f6f8fb); }
.filter-value-active { font-weight: 700; }
.filter-active .users-filter-name { font-weight: 700; }
.user-audit-card,
.user-audit-hour,
.user-audit-event,
.user-audit-event > * { min-width: 0; }
.user-audit-card > .card-body { padding: 0; }
.user-audit-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; }
.user-audit-hour { border-bottom: 1px solid var(--tblr-border-color); }
.user-audit-hour:last-child { border-bottom: 0; }
.user-audit-hour > summary { display: flex; min-height: 3.5rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1rem; cursor: pointer; font-weight: 600; }
.user-audit-hour > summary:hover { background: var(--tblr-bg-surface-secondary, #f6f8fb); }
.user-audit-event { padding: 1rem 1.25rem; }
.user-audit-event * { overflow-wrap: anywhere; }
.user-audit-changes { display: grid; gap: .5rem; }
.user-audit-changes > div { display: grid; grid-template-columns: minmax(8rem, 14rem) minmax(0, 1fr); gap: .75rem; }
.user-audit-changes dt { color: var(--tblr-secondary-color); font-weight: 500; }
.user-audit-changes dd { display: flex; min-width: 0; align-items: baseline; gap: .5rem; margin: 0; overflow-wrap: anywhere; }
.user-audit-changes dd > span:first-child { text-decoration: line-through; text-decoration-color: var(--tblr-secondary-color); }
.user-audit-arrow { flex: 0 0 auto; color: var(--tblr-secondary-color); }
.user-audit-bulk > summary { min-height: 44px; padding-block: .65rem; cursor: pointer; color: var(--mes-blue); font-weight: 600; }
.user-audit-selector { min-height: 44px; align-items: center; margin: 0; }
.user-audit-state { max-width: 18rem; white-space: normal; text-align: left; }
[data-user-delete-reason] { min-width: 0; max-width: 32rem; white-space: normal; overflow-wrap: anywhere; }
.user-audit-rollback-list { display: grid; gap: .75rem; }
.user-audit-rollback-item { min-width: 0; padding: 1rem; border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius); overflow-wrap: anywhere; }
.user-audit-rollback-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.users-load-layout { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; }
.users-selection-layout { display: flex; flex-wrap: wrap; justify-content: space-between; }
.users-selection-layout [data-user-selection-error] { margin-left: auto; max-width: min(100%, 34rem); overflow-wrap: anywhere; }
.users-load-layout [data-users-count-bottom] { justify-self: start; }
.users-table .table-hover tbody tr:hover > td { background-color: var(--tblr-table-hover-bg, rgba(var(--tblr-primary-rgb), .06)); }
.footer { min-height: auto; }
.form-message:empty { display: none; }
.code-inputs { width: 100%; max-width: none; }
.pin-code-inputs { max-width: 18rem; margin-inline: auto; }
.code-inputs > .col { min-width: 0; }
.code-inputs [data-code-input] {
    min-width: 44px;
    min-height: 44px;
    height: clamp(3.75rem, 14vw, 4.75rem);
    padding: 0;
    font-size: clamp(1.5rem, 6vw, 2rem);
    font-weight: 600;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}
.code-inputs .form-control.is-invalid {
    background-position: center;
}
.code-inputs .form-control.is-invalid:focus {
    box-shadow: var(--tblr-shadow-input), 0 0 0 .25rem rgba(var(--mes-error-rgb), .25);
}
.loading-row td { height: 7rem; text-align: center; color: var(--tblr-secondary-color); }
:focus-visible { outline: 3px solid rgba(var(--tblr-primary-rgb), .35); outline-offset: 2px; }
#materials > article > .card-header > .badge { align-self: center; }
.profile-tunnel-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; }
.profile-tunnel-step { display: flex; min-height: 44px; align-items: center; justify-content: center; padding: .55rem .75rem; border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius); background: #fff; color: var(--tblr-secondary-color); font-weight: 600; text-align: center; }
.profile-tunnel-step.is-current { border-color: var(--mes-blue); background: var(--mes-blue); color: #fff; }
.profile-tunnel-step.is-complete { border-color: rgba(var(--tblr-primary-rgb), .45); background: rgba(var(--tblr-primary-rgb), .12); color: var(--mes-blue); }
.profile-tunnel-panel[hidden] { display: none !important; }
.profile-tunnel-panel fieldset > legend { float: none; }
.profile-tunnel-progress { height: .5rem; }
.dadata-field { position: relative; }
.dadata-suggestions { position: absolute; z-index: 1060; top: calc(100% + .25rem); right: 0; left: 0; max-height: 15rem; overflow-y: auto; border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius); background: #fff; box-shadow: var(--tblr-shadow-dropdown); }
.dadata-suggestions > * { background-color: #fff; }
.dadata-suggestions[hidden] { display: none !important; }
.profile-review-list { display: grid; margin: 0; gap: 0; }
.profile-review-list > div { display: grid; grid-template-columns: minmax(10rem, 1fr) minmax(0, 2fr); gap: 1rem; padding: .75rem 0; border-bottom: 1px solid var(--tblr-border-color); }
.profile-review-list > div:last-child { border-bottom: 0; }
.profile-review-list dt { color: var(--tblr-secondary-color); font-weight: 600; }
.profile-review-list dd { margin: 0; overflow-wrap: anywhere; }
.sidebar-brand-favicon,
.cabinet-logout-icon { display: none; }
.cabinet-sidebar .sidebar-toggle { align-self: center; }
.admin-sidebar .sidebar-account-copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; }
.cabinet-logout { min-height: 44px; border: 0; color: var(--mes-blue); text-decoration: underline; text-underline-offset: 2px; }
.cabinet-logout .nav-link-icon { display: none; }
.cabinet-logout:hover,
.cabinet-logout:focus-visible { background: var(--tblr-bg-surface-secondary, #f1f3f5); color: var(--mes-blue); }
.cabinet-sidebar .nav-link:hover,
.cabinet-sidebar .nav-link:focus-visible { background: var(--tblr-bg-surface-secondary, #f1f3f5); }

@media (min-width: 992px) {
    .navbar-vertical.navbar-expand-lg { width: 15rem; transition: width .2s ease; }
    .admin-sidebar > .container-fluid { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto minmax(0, 1fr); align-content: start; column-gap: .5rem; }
    .admin-sidebar .navbar-brand { grid-column: 1; width: auto; }
    .admin-sidebar .sidebar-toggle { grid-column: 2; position: static; justify-self: end; }
    .admin-sidebar .navbar-collapse { grid-column: 1 / -1; }
    .admin-sidebar:not(.cabinet-sidebar) .official-brand-logo { width: 8.25rem; }
    .admin-sidebar.admin-sidebar-collapsed { width: 3.5rem !important; }
    .admin-sidebar.admin-sidebar-collapsed + .page-wrapper { margin-left: 3.5rem; }
    .admin-sidebar.admin-sidebar-collapsed > .container-fluid { grid-template-columns: 1fr; }
    .admin-sidebar.admin-sidebar-collapsed > .container-fluid { padding-inline: .375rem; }
    .admin-sidebar.admin-sidebar-collapsed .sidebar-toggle { grid-column: 1; justify-self: center; }
    .admin-sidebar-collapsed .navbar-brand,
    .admin-sidebar-collapsed .nav-link-title,
    .admin-sidebar-collapsed .sidebar-account-copy { display: none !important; }
    .admin-sidebar-collapsed #sidebar-menu { padding-top: 3.75rem; }
    .admin-sidebar-collapsed .nav-link,
    .admin-sidebar-collapsed .account-trigger { justify-content: center; padding-inline: .375rem; }
    .admin-sidebar-collapsed .nav-link-icon,
    .admin-sidebar-collapsed .profile-initials { margin-right: 0 !important; }
    .cabinet-sidebar.admin-sidebar-collapsed { width: 6rem !important; }
    .cabinet-sidebar.admin-sidebar-collapsed + .page-wrapper { margin-left: 6rem; }
    .cabinet-sidebar.admin-sidebar-collapsed > .container-fluid { grid-template-columns: 1fr; justify-items: stretch; }
    .cabinet-sidebar.admin-sidebar-collapsed .navbar-brand { display: flex !important; grid-column: 1; justify-self: center; width: 44px; min-height: 44px; }
    .cabinet-sidebar.admin-sidebar-collapsed .official-brand-logo,
    .cabinet-sidebar.admin-sidebar-collapsed .brand-caption { display: none !important; }
    .cabinet-sidebar.admin-sidebar-collapsed .sidebar-brand-favicon { display: block; }
    .cabinet-sidebar.admin-sidebar-collapsed .sidebar-toggle { grid-column: 1; justify-self: center; }
    .cabinet-sidebar.admin-sidebar-collapsed #cabinet-sidebar-menu { width: 100%; padding-top: 1rem; }
    .cabinet-sidebar.admin-sidebar-collapsed .navbar-nav .nav-link { justify-content: center !important; }
    .cabinet-sidebar.admin-sidebar-collapsed .cabinet-menu-hint { display: none; }
    .cabinet-sidebar.admin-sidebar-collapsed .sidebar-account-copy { display: flex !important; width: 100%; align-items: center; }
    .cabinet-sidebar.admin-sidebar-collapsed .sidebar-account-name { width: 100%; font-size: .6875rem; text-align: center; }
    .cabinet-sidebar.admin-sidebar-collapsed .cabinet-account { justify-content: center; padding-inline: 0 !important; }
    .cabinet-sidebar.admin-sidebar-collapsed .cabinet-logout-label { display: none; }
    .cabinet-sidebar.admin-sidebar-collapsed .cabinet-logout-icon { display: block; }
    .cabinet-sidebar.admin-sidebar-collapsed .cabinet-logout .nav-link-icon { display: inline-flex; margin-right: 0 !important; }
    .cabinet-sidebar.admin-sidebar-collapsed .cabinet-logout { display: flex; width: 100%; min-width: 44px; height: 44px; align-items: center; justify-content: center; padding-inline: .375rem; text-decoration: none; }
    .cabinet-sidebar.admin-sidebar-collapsed .cabinet-logout:hover,
    .cabinet-sidebar.admin-sidebar-collapsed .cabinet-logout:focus-visible { background: #f1f3f5 !important; }
    .cabinet-sidebar.admin-sidebar-collapsed .navbar-nav,
    .cabinet-sidebar.admin-sidebar-collapsed .nav-item { width: 100%; }
}

@media (min-width: 992px) and (max-width: 1599.98px) {
    .users-filter-toolbar { grid-template-columns: minmax(14rem, 1fr) minmax(0, 2fr); }
    .users-quick-filters,
    .users-filter-group-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .users-filter-actions { justify-content: flex-start; }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .users-filter-group-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 991.98px) {
    .official-brand-logo { width: 156px; }
    .navbar-collapse { max-height: calc(100vh - 72px); overflow-y: auto; }
    .page-header .btn-list { width: 100%; }
    .page-header .btn-list .btn { flex: 1 1 auto; }
    .users-filter-toolbar { grid-template-columns: minmax(12rem, 1fr) auto; }
    .users-quick-filters { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .users-filter-actions { grid-column: 1 / -1; }
    .users-filter-group-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .user-audit-toolbar > * { width: 100%; }
    .user-audit-toolbar > .d-flex { justify-content: space-between; }
    .user-audit-hour > summary { align-items: flex-start; }
    .user-audit-event { padding-inline: 1rem; }
    .user-audit-changes > div { grid-template-columns: 1fr; gap: .2rem; }
    .user-audit-changes dd { flex-wrap: wrap; }
    .user-audit-rollback-values { grid-template-columns: 1fr; }
    .user-audit-rollback-footer { flex-direction: column-reverse; }
    .user-audit-rollback-footer .btn { width: 100%; }
    .profile-tunnel-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .profile-review-list > div { grid-template-columns: 1fr; gap: .2rem; }
    .users-columns-menu { max-height: calc(100vh - 2rem); overflow-y: auto; }
    .users-columns-list { grid-template-columns: 1fr; }
    .users-table-summary .btn-group { width: 100%; }
    .users-table-summary .btn-group .btn { flex: 1; }
    .users-card-details { grid-template-columns: 1fr; gap: .1rem; }
    .users-card-details dd { margin-bottom: .55rem; }
    .users-card-details dd:last-child { margin-bottom: 0; }
    .users-load-layout { grid-template-columns: 1fr; justify-items: center; }
    .users-selection-layout { justify-content: center; }
    .users-selection-layout [data-user-selection-error] { margin-left: 0; width: 100%; }
    .users-load-layout > :first-child { justify-content: center; }
    .users-load-layout > :last-child { display: none; }
    .users-table .btn-sm { min-height: 44px; }
    .users-filter-toolbar { grid-template-columns: minmax(0, 1fr) auto; }
    .users-quick-filters,
    .users-filter-group-grid { grid-template-columns: 1fr; }
    .users-search-control { padding-right: 0; }
    .users-quick-filters,
    .users-filter-actions { grid-column: 1 / -1; }
    .users-filter-actions { flex-wrap: wrap; }
}

@media (min-width: 1200px) {
    .users-columns-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.dictionary-picker { position: relative; }
.dictionary-picker > .form-control { cursor: pointer; padding-right: 2.25rem; background-image: linear-gradient(45deg, transparent 50%, #667382 50%), linear-gradient(135deg, #667382 50%, transparent 50%); background-position: calc(100% - 15px) 50%, calc(100% - 10px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
.dictionary-picker-menu { position: absolute; z-index: 1050; top: calc(100% + .25rem); left: 0; right: 0; min-width: 0; overflow: hidden; border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius); background: #fff; box-shadow: var(--tblr-box-shadow-dropdown); }
.dictionary-picker-menu > *,
.dictionary-picker-options { background-color: #fff; }
.dictionary-picker-options { max-height: 16rem; overflow-y: auto; border-block: 1px solid var(--tblr-border-color); }
.dictionary-picker-option,
.dictionary-picker-other { display: block; width: 100%; padding: .625rem .75rem; border: 0; background: transparent; color: inherit; text-align: left; }
.dictionary-picker-option:hover,
.dictionary-picker-option:focus,
.dictionary-picker-other:hover,
.dictionary-picker-other:focus { background: var(--tblr-bg-surface-secondary); outline: 0; }
.dictionary-picker-other { position: sticky; bottom: 0; font-weight: 600; color: var(--tblr-primary); }
.dictionary-picker-option.is-selected { background: rgba(var(--tblr-primary-rgb), .12); color: var(--mes-blue); font-weight: 600; }
.dictionary-picker-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .5rem; }
.dictionary-picker-chip { display: inline-flex; max-width: 100%; align-items: center; gap: .35rem; padding: .45rem .55rem; white-space: normal; text-align: left; }
.dictionary-picker-chip-remove { display: inline-flex; width: 1.5rem; min-width: 1.5rem; height: 1.5rem; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 50%; background: transparent; color: currentColor; font-size: 1.15rem; line-height: 1; }
.dictionary-picker-chip-remove:hover,
.dictionary-picker-chip-remove:focus-visible { background: rgba(var(--tblr-primary-rgb), .18); }
.dictionary-proposal-dialog { width: min(32rem, calc(100% - 2rem)); border: 0; border-radius: var(--tblr-border-radius-lg); padding: 1.5rem; box-shadow: var(--tblr-box-shadow-card); }
.dictionary-proposal-dialog::backdrop { background: rgba(0, 0, 0, .45); }
[data-position-custom][readonly] { cursor: pointer; background-color: var(--tblr-bg-surface); }
[data-position-custom][readonly]:focus { border-color: var(--tblr-primary); box-shadow: 0 0 0 .25rem rgba(var(--tblr-primary-rgb), .25); }

.dictionary-edit-form { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: start; gap: .5rem; }
.dictionary-edit-form [name="value"] { grid-column: 1; min-width: 20rem; resize: vertical; }
.dictionary-edit-form [name="status"],
.dictionary-edit-form .dictionary-status-label,
.dictionary-edit-form .dictionary-name-save { align-self: start; }
.dictionary-edit-form .dictionary-status-label { min-height: 2.25rem; padding: .45rem .25rem; color: var(--tblr-secondary-color); white-space: nowrap; }
.dictionary-edit-form .btn, .dictionary-merge-form .btn { flex-shrink: 0; }
.dictionary-values-table td { white-space: normal; }
.dictionary-values-table td:first-child { min-width: 24rem; }
.dictionary-merge-form { display: flex; flex-wrap: wrap; gap: .5rem; min-width: 14rem; }
.dictionary-merge-form select { min-width: 0; }

.dictionary-management-table .dictionary-form-error { grid-column: 1 / -1; }
.dictionary-management-table .dictionary-actions { min-width: 2.5rem; text-align: right; }
.dictionary-management-table .dictionary-actions .dropdown-menu { text-align: left; }
.dictionary-management-table .dictionary-edit-form { grid-template-columns: minmax(9rem, 1fr) auto auto; }
.dictionary-management-table .dictionary-edit-form [name="value"] { min-width: 18rem; }
.dictionary-management-table td:first-child { min-width: 22rem; }
.mailing-editor { min-height: 220px; line-height: 1.55; }
#mailing-template-modal #template-body { overflow-y: hidden; resize: none; }
.mailing-editor:focus { outline: 2px solid #517dba; outline-offset: 1px; }
.mailing-editor h3 { font-size: 1.15rem; }

@media (min-width: 992px) {
    /* ponytail: CSS reveals the folded rail; no extra sidebar script. */
    .admin-sidebar.admin-sidebar-collapsed:not(:hover):not(:has(:focus-visible)) .sidebar-account-menu { display: none !important; }
    .cabinet-sidebar.admin-sidebar-collapsed { width: 3.5rem !important; }
    .cabinet-sidebar.admin-sidebar-collapsed + .page-wrapper { margin-left: 3.5rem; }
    .cabinet-sidebar.admin-sidebar-collapsed .sidebar-account-copy { display: none !important; }
    .admin-sidebar.admin-sidebar-collapsed .navbar-brand { display: flex !important; justify-self: center; width: 44px; min-height: 44px; }
    .admin-sidebar.admin-sidebar-collapsed .official-brand-logo,
    .admin-sidebar.admin-sidebar-collapsed .brand-caption { display: none !important; }
    .admin-sidebar.admin-sidebar-collapsed .sidebar-brand-favicon { display: block; }
    .admin-sidebar.admin-sidebar-collapsed #sidebar-menu { padding-top: 1rem; }
    .admin-sidebar.admin-sidebar-collapsed:is(:hover, :has(:focus-visible)) { width: 15rem !important; z-index: 1030; background: var(--tblr-bg-surface, #fff) !important; box-shadow: var(--tblr-shadow-dropdown); }
    .admin-sidebar.admin-sidebar-collapsed:is(:hover, :has(:focus-visible)) > .container-fluid { grid-template-columns: minmax(0, 1fr) auto; padding-inline: .75rem; }
    .admin-sidebar.admin-sidebar-collapsed:is(:hover, :has(:focus-visible)) .navbar-brand { grid-column: 1; justify-self: stretch; width: auto; }
    .admin-sidebar.admin-sidebar-collapsed:is(:hover, :has(:focus-visible)) .sidebar-toggle { grid-column: 2; }
    .admin-sidebar.admin-sidebar-collapsed:is(:hover, :has(:focus-visible)) .official-brand-logo { display: block !important; }
    .admin-sidebar.admin-sidebar-collapsed:is(:hover, :has(:focus-visible)) .brand-caption,
    .admin-sidebar.admin-sidebar-collapsed:is(:hover, :has(:focus-visible)) .nav-link-title,
    .admin-sidebar.admin-sidebar-collapsed:is(:hover, :has(:focus-visible)) .cabinet-logout-label { display: inline !important; }
    .admin-sidebar.admin-sidebar-collapsed:is(:hover, :has(:focus-visible)) .sidebar-brand-favicon,
    .admin-sidebar.admin-sidebar-collapsed:is(:hover, :has(:focus-visible)) .cabinet-logout-icon { display: none; }
    .admin-sidebar.admin-sidebar-collapsed:is(:hover, :has(:focus-visible)) .sidebar-account-copy { display: flex !important; }
    .admin-sidebar.admin-sidebar-collapsed:is(:hover, :has(:focus-visible)) .cabinet-menu-hint { display: block; }
    .admin-sidebar.admin-sidebar-collapsed:is(:hover, :has(:focus-visible)) .nav-link,
    .admin-sidebar.admin-sidebar-collapsed:is(:hover, :has(:focus-visible)) .account-trigger { justify-content: flex-start !important; padding-inline: .75rem; }
    .admin-sidebar.admin-sidebar-collapsed:is(:hover, :has(:focus-visible)) .nav-link-icon,
    .admin-sidebar.admin-sidebar-collapsed:is(:hover, :has(:focus-visible)) .profile-initials { margin-right: .5rem !important; }
    .cabinet-sidebar.admin-sidebar-collapsed:is(:hover, :has(:focus-visible)) .cabinet-account { justify-content: flex-start; }
    .cabinet-sidebar.admin-sidebar-collapsed:is(:hover, :has(:focus-visible)) .cabinet-logout { justify-content: flex-start; width: auto; height: auto; padding-inline: 0; text-decoration: underline; }
    .cabinet-sidebar.admin-sidebar-collapsed:is(:hover, :has(:focus-visible)) .cabinet-logout .nav-link-icon { display: none; }
}

#birth_date { font-size: 16px; }

.users-table-expanded { overflow: hidden !important; }
.users-table-expanded .navbar-vertical, .users-table-expanded .page-header, .users-table-expanded .footer { display: none !important; }
.users-table-expanded [data-users-directory] { position: fixed; inset: 0; z-index: 1040; display: flex; flex-direction: column; margin: 0; border-radius: 0; }
.users-table-expanded .users-table { flex: 1; min-height: 0; max-height: none; }
.users-table-expanded [data-users-card-view] { overflow: auto; min-height: 0; }
.person-editor { --tblr-offcanvas-width: min(960px, 100vw); width: min(960px, 100vw) !important; box-shadow: -8px 0 24px rgba(0,0,0,.16); }
.person-editor .offcanvas-body { padding: 0 1rem 1rem; }
.person-editor .card-footer { position: sticky; bottom: -1rem; z-index: 3; background: var(--tblr-card-bg, #fff); }
#person-birth-control .form-control { padding-right: 3rem; font-size: 16px; }
#person-birth-control .birth-date-trigger { position: absolute; inset: 0 0 auto auto; width: 44px; height: 44px; border: 0; color: var(--mes-blue); z-index: 2; }
.person-unsaved-open .users-directory-card, .person-unsaved-open .person-editor, .person-unsaved-open .page-header, .person-unsaved-open .navbar-vertical, .person-unsaved-open .footer { filter: brightness(.65); }
#person-unsaved-modal { z-index: 1080; }
body.person-unsaved-open .modal-backdrop { z-index: 1070; }

[data-expand-icon][hidden], [data-collapse-icon][hidden] { display: none; }

.person-editor .users-workspace-tools { position: static; flex-shrink: 0; }

/* ponytail: a hidden calendar must not stretch the page after a viewport change. */
body[data-admin-page="users"] [data-vc=calendar][data-vc-input][data-vc-calendar-hidden] { display: none; }

/* ponytail: only the table grows; the counter must stay at its content height. */
.users-table-expanded .users-table-summary { flex: 0 0 auto; }
.users-table-expanded .users-filter-toolbar { position: sticky; top: 0; z-index: 5; background: var(--tblr-card-bg, #fff); }
@media (max-width: 767.98px) { .users-table-expanded .users-filter-actions [data-users-clear-quick] { flex: 1 1 9rem; white-space: normal; } }
.users-table-expanded [data-users-directory] > .card-header { flex: 0 0 auto; min-height: 0; max-height: 55dvh; overflow: auto; align-items: flex-start; overscroll-behavior-y: contain; }
.users-filters-hidden [data-users-directory] > .card-header { display: none; }
[data-filters-hide-icon][hidden], [data-filters-show-icon][hidden] { display: none; }

.users-filters-toggle { width: 64px; gap: 4px; }
.users-filters-toggle svg { flex-shrink: 0; margin: 0 !important; }

.users-workspace-tools > .btn, .users-workspace-tools [data-users-columns-control] > .btn { min-width: 44px; height: 44px; }

.users-id-sort { display: inline-flex; align-items: center; gap: 4px; padding: 0; min-height: 44px; color: inherit; font: inherit; text-decoration: none; }
[data-id-sort-asc][hidden], [data-id-sort-desc][hidden] { display: none; }

@media (max-width: 359px) { body[data-admin-page=users] [data-vc=calendar] { --tblr-calendar-day-size: 2.5rem; } }

[data-cabinet-activity] { min-width: 0; }
#activity-range { max-width: 100%; white-space: normal; }

.users-workspace-tools { flex: 0 0 auto; }
.users-workspace-tools [data-users-columns-control] { flex: 0 0 44px; }
.users-workspace-tools .users-filters-toggle { min-width: 64px; flex: 0 0 64px; }

.users-filter-condition { border-width: 2px; }
.users-filter-condition.users-filter-group-conference { border-color: rgba(var(--mes-accent-rgb), .65); }
.users-filter-condition.users-filter-group-organization { border-color: rgba(var(--tblr-primary-rgb), .65); }
.users-filter-condition.users-filter-group-education { border-color: rgba(47, 179, 68, .65); }
.users-filter-condition.users-filter-group-location { border-color: rgba(245, 159, 0, .7); }
.users-filter-condition.users-filter-group-account { border-color: rgba(98, 105, 118, .6); }
.users-filter-condition.users-filter-group-club { border-color: rgba(var(--tblr-primary-rgb), .65); }
#person-unsaved-modal .modal-footer > .btn { width: 100%; margin: 0; min-height: 44px; }

#person-unsaved-modal .modal-dialog { max-width: 380px; }
.users-new-control > .btn { min-height: 44px; }
[data-users-new-range][hidden], [data-person-accredit][hidden] { display: none !important; }

#person-unsaved-modal .modal-footer { grid-template-columns: minmax(0, 1fr); justify-content: stretch; }

/* Template groups follow the installed Tabler tasks-list card/table pattern. */
.mailing-template-group .card-title { overflow-wrap: anywhere; }
.mailing-template-group td, .mailing-template-group th { white-space: normal; }
.mailing-template-group thead th { background-color: #fdfefe; }
.mailing-template-group .template-version-date { white-space: nowrap; }
.dictionary-management-table .dictionary-edit-form { display: block; }
.dictionary-management-table .dictionary-status-column { width: 10rem; min-width: 10rem; }
.dictionary-management-table .dictionary-status-column .form-select { width: 100%; }
.dictionary-management-table .dictionary-actions { min-width: 0; }
.dictionary-management-table td:first-child { width: auto; min-width: 22rem; }
.dictionary-management-table .dictionary-edit-form [name="value"] { min-width: 18rem; }
[data-mailing-template-search] { margin-bottom: .5rem; }
.mailing-actions .dropdown-toggle::after { display: none; }
.mailing-actions { min-width: 3rem; }
.mailing-template-group .btn, .mailing-actions .btn-icon { min-height: 2.75rem; }

@media (max-width: 575.98px) {
  .mailing-template-group .table-responsive { overflow: visible; }
  .mailing-template-group table, .mailing-template-group tbody { display: block; width: 100%; }
  .mailing-template-group thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .mailing-template-group tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; padding: 1rem; border-top: 1px solid var(--tblr-border-color); }
  .mailing-template-group tbody td { display: block; padding: 0; border: 0; min-width: 0; }
  .mailing-template-group tbody td:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
  .mailing-template-group tbody td:nth-child(3) { grid-column: 1 / -1; grid-row: 3; }
  .mailing-template-group tbody td:nth-child(4) { grid-column: 2; grid-row: 1; }
  .mailing-template-group .template-version-date::before { content: 'Создана (МСК): '; color: var(--tblr-secondary); }
}

@media (min-width: 576px) {
 .mailing-template-group table { table-layout: fixed; }
 .mailing-template-group th:first-child { width: 7rem; }
 .mailing-template-group th:nth-child(3) { width: 13rem; }
 .mailing-template-group th:last-child { width: 7rem; }
}

.template-aux-dialog { border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius-lg, .5rem); padding: 0; width: min(55rem, calc(100% - 1rem)); max-height: calc(100dvh - 2rem); color: var(--tblr-body-color); background: var(--tblr-bg-surface, #fff); }
.template-aux-dialog[open] { display: flex; flex-direction: column; }
.template-aux-dialog::backdrop { background: rgb(15 23 42 / .4); }
.template-aux-dialog .modal-header, .template-aux-dialog .modal-footer { flex-shrink: 0; }
.template-aux-dialog .modal-body { overflow: auto; min-height: 0; }
.mailing-variable-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem .75rem; padding: 1rem 0; border-bottom: 1px solid var(--tblr-border-color); }
.mailing-variable-row p { grid-column: 1 / -1; }
.mailing-variable-row code { white-space: normal; overflow-wrap: anywhere; }
.mailing-variable-row .btn { min-width: 2.75rem; min-height: 2.75rem; }
.mailing-preview-values { display: grid; grid-template-columns: minmax(0, 1fr); gap: .25rem; }
.mailing-preview-values dd { overflow-wrap: anywhere; margin-bottom: .75rem; }
.template-preview-dialog { width: min(65rem, calc(100% - 1rem)); }
.template-preview-dialog iframe { width: 100%; height: 65dvh; border: 1px solid var(--tblr-border-color); border-radius: .25rem; background: #fff; }
@media (min-width: 576px) { .mailing-preview-values { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: .5rem 1rem; } }

.mailing-variable-row[hidden] { display: none; }

[data-user-mailing-history] td { vertical-align: top; }
.mailing-history-body { min-width: 18rem; max-width: 44rem; white-space: normal; line-height: 1.6; overflow-wrap: break-word; }
.mailing-history-body p, .mailing-history-body ul, .mailing-history-body ol { margin-bottom: .75rem; }
.mailing-history-body > :last-child { margin-bottom: 0; }

.participant-toast-container { bottom: 0; z-index: 1090; max-width: 100%; }
.participant-toast-container .toast { max-width: calc(100vw - 2rem); }
.participant-toast-container .toast-body { white-space: pre-line; }
.participant-inbox .list-group-item { overflow-wrap: break-word; }
.participant-notification-content { border-bottom: 1px solid var(--tblr-border-color); }
@media (min-width: 992px) { .participant-notification-content { border-bottom: 0; border-left: 1px solid var(--tblr-border-color); } }

@media (max-width: 767.98px) {
    .dictionary-proposal-dialog { max-height: calc(100dvh - 2rem); padding: 1rem; overflow-y: auto; }
    .dictionary-management-table .dictionary-edit-form { grid-template-columns: minmax(12rem, 1fr) auto; }
    .dictionary-management-table .dictionary-edit-form [name="value"] { min-width: 0; }
    .dictionary-management-table .dictionary-edit-form [name="status"],
    .dictionary-management-table .dictionary-edit-form .dictionary-status-label { grid-column: 1; }
    .dictionary-management-table .dictionary-edit-form .dictionary-name-save { grid-column: 2; grid-row: 1; }
}

/* Keep name editing compact while the status remains a separate table column. */
.dictionary-management-table .dictionary-edit-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .5rem; }
.dictionary-management-table .dictionary-edit-form [name="value"] { grid-column: 1; min-width: 0; }
.dictionary-management-table .dictionary-edit-form .dictionary-name-save { grid-column: 2; grid-row: 1; min-height: 44px; }
.dictionary-management-table .dictionary-form-error { grid-column: 1 / -1; }

.users-filter-activity-action { grid-column: 2; grid-row: 1; flex: 1 1 50%; min-width: 0; border: 0; border-radius: 0; background-color: transparent; font-size: .875rem; }
.users-filter-activity-period { display: flex; align-items: stretch; padding: 0; }
.users-filter-activity-period > select { min-width: 0; min-height: 2.75rem; border: 0; border-radius: 0; background-color: transparent; font-size: .875rem; }
.users-filter-activity-period > select:focus { box-shadow: none; }
[aria-controls="users-advanced-filters"][aria-expanded="false"] .users-advanced-arrow { display: none; }
