/* Shared list filters. Apartment processing lives in its unchanged iframe. */
.screen .crm-filter-trigger,.screen .tenant-filter-trigger,.screen .tenant-filters>summary{height:32px;min-height:32px;border:1px solid var(--line);border-radius:var(--r-m);padding:0 10px;background:var(--bg);color:var(--text);font-size:12px;line-height:30px;box-sizing:border-box}
.screen .crm-filter-trigger{width:180px;max-width:100%;flex:none}
.screen .flt .crm-filter-trigger,.screen .work-task-filters .crm-filter-trigger{width:100%}
.screen .tenant-filters>summary{border:0}
.screen .tenant-filters{height:32px;min-height:32px}
.screen .monitor-tools .crm-filter-trigger{width:150px}
.screen .dialogs-tools .crm-filter-trigger{flex:1;min-width:0;width:0}
.screen .report-period .crm-filter-trigger{width:144px}
.screen .revenue-source .crm-filter-trigger{width:100%}
/* ⚠️ Все срезы — одной строкой, прямыми детьми панели: «Статус задач»
   и «Интервал актуализации» стояли отдельной полосой снизу. Выравниваем
   по центру, а не по низу: подписи над полями больше нет, и прежнее
   `align-items:end` ставило соседей на разную высоту. */
.screen .aq-filter-toolbar{display:flex;align-items:center;flex-wrap:wrap;
  gap:8px;margin-bottom:12px}
.aq-filter-toolbar .filter-field{display:grid;gap:4px;font-size:12px}
/* Срез без подписи: само поле и есть срез, название — в `aria-label`. */
.aq-filter-toolbar .filter-field--bare{gap:0}
.aq-filter-toolbar>select,.aq-filter-toolbar .aset{flex:0 0 auto}
/* ⚠️ Замерено 27.10.2026: при исходных ширинах срезы занимали 1237 px
   в панели шириной 1138 — «Интервал актуализации» срывался на вторую
   строку. Поджимаем ровно те три, где был запас пустого места. */
.aq-filter-toolbar .aq-preset-control .hq-select-trigger,
.aq-filter-toolbar .aq-preset-control>select{width:152px}
.aq-filter-toolbar .filter-field--bare>select,
.aq-filter-toolbar .filter-field--bare .hq-select-trigger{width:146px}
.aq-filter-toolbar>.hq-select-trigger,
.aq-filter-toolbar>select[data-ot-bucket]{width:126px}
/* На узком экране переносятся по одному и не налезают друг на друга. */
@media(max-width:700px){
  .screen .aq-filter-toolbar{gap:6px}
  .aq-filter-toolbar>select,.aq-filter-toolbar .aset,
  .aq-filter-toolbar .filter-field{max-width:100%;min-width:0}
  .aq-filter-toolbar .aset input{width:64px}
}
.aq-filter-toolbar .aq-save-filter{margin:0;padding:0;border:0}
.screen .aq-tools{align-items:center}.screen .aq-tools .filter-field{margin:0}
.crm-filter-pop{position:fixed;inset:auto;margin:0;padding:0;border-radius:var(--r-m);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.crm-filter-pop:not([open]){display:none}
.crm-filter-pop::backdrop{background:transparent;backdrop-filter:none}
.crm-filter-pop header{padding:8px 10px;flex:none}
.crm-filter-pop header .btn{width:28px;height:28px;min-height:28px;padding:0}
/* ⚠️ Прокрутка внутри списка НЕ уходит на страницу под ним (п. 370):
   без `overscroll-behavior` колесо, докрутив список до края, начинало
   двигать страницу — поле уезжало, и слежение `holdCrmFilter` закрывало
   список прямо под курсором. */
/* ⚠️ Высоту прикреплённого списка считает `positionCrmFilter` (по месту
   под полем или над ним) и ставит её САМОМУ окну — значит и прокрутка
   у него. Второго ограничения высоты здесь быть не должно: два правила
   на одну высоту однажды разойдутся. */
.crm-filter-pop{overscroll-behavior:contain}
.crm-filter-pop .hq-select-options{min-height:0;max-height:none;overflow:auto;
  overscroll-behavior:contain}
.hq-select-options{overscroll-behavior:contain}
.crm-filter-pop .hq-select-option{min-height:32px;padding:6px 10px;font-size:12px}
.crm-filter-pop footer{display:flex;justify-content:flex-end;gap:8px;padding:8px 10px;border-top:1px solid var(--line);flex:none}
.crm-filter-pop [aria-multiselectable=true] .hq-select-option::after{content:'';width:16px;height:16px;border:1px solid var(--line);border-radius:4px;flex:none;text-align:center;line-height:14px}
.crm-filter-pop [aria-multiselectable=true] .hq-select-option[aria-selected=true]::after{content:'✓';color:var(--bg);background:var(--text)}
.personal-trend-tabs.seg{width:max-content;max-width:100%;flex-wrap:nowrap;gap:0}
.personal-trend-tabs.seg .btn{flex:0 0 auto;height:30px;min-height:30px;padding:0 12px;font-size:12px;border:0;border-right:1px solid var(--line);border-radius:0}
.personal-trend-tabs.seg .btn:last-child{border-right:0}
@media(max-width:600px){.screen .monitor-tools .crm-filter-trigger{width:calc(50% - 4px)}}

.tenant-filter-panel .flt{min-width:0}
.tenant-filter-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;grid-column:1/-1}
.listing-toolbar .tenant-filters>summary .tenant-filter-title{font-size:inherit;font-weight:600;flex:none}
.listing-toolbar .tenant-filters>summary .tenant-filter-total{flex:none;overflow:visible;font-variant-numeric:tabular-nums}
@media(max-width:600px){
  .listing-toolbar{flex-wrap:wrap}
  .screen .listing-toolbar>.tenant-filters{flex:1 1 120px;min-width:120px}
  .listing-toolbar .tenant-filters>summary{gap:6px;padding:0 8px}
  .listing-toolbar .tenant-filter-found{display:none}
  .listing-toolbar .tenant-filter-panel{width:100%;max-width:100%;max-height:min(65dvh,calc(100dvh - 150px))}
  .tenant-filter-panel .filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .tenant-filter-panel .flt :is(input,.tenant-filter-trigger){height:44px;min-height:44px}
  .tenant-filter-actions{position:sticky;bottom:-12px;background:var(--bg);padding:12px 0;margin-top:0}
  .tenant-filter-actions .btn{min-height:44px}
}
