/* Поисковик торгов (auction-search). Карточки результатов берут стили из auction-viewer. */
.as-root {
    /* фирменный синий из темы (--primary), запасное значение — тот же #006196 */
    --as-accent: var(--primary, #006196);
    --as-accent-soft: #e6f0f5;
    --as-border: #dee2e6;
    --as-muted: #98a6ad;
    --as-ink: #313a46;
    --as-hover: #f2f6f9;
}

/* ── поле ключевых слов и переключатель ───────────────────────────────── */
.as-root .as-keywords { position: relative; }
.as-root .as-keywords .form-control { padding-left: 34px; }
.as-root .as-keywords-icon { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); color: var(--as-muted); font-size: 18px; pointer-events: none; }
.as-root .as-switch { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; user-select: none; font-weight: 600; }
.as-root .as-switch input { width: 16px; height: 16px; accent-color: var(--as-accent); }
.as-root .as-more { border-top: 1px dashed #e3e6ea; padding-top: 10px; margin-top: 2px; }

/* ── общий вид поля-кнопки (списки и период) ─────────────────────────── */
.as-root .as-field { display: flex; align-items: center; gap: 6px; text-align: left; cursor: pointer; background: #fff; }
.as-root .as-field:focus { border-color: var(--as-accent); box-shadow: 0 0 0 .15rem rgba(0, 97, 150, .2); outline: 0; }
.as-root .as-field.is-set { border-color: var(--as-accent); background: var(--as-accent-soft); }
.as-root .as-field-label { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.as-root .as-field-icon { color: var(--as-muted); font-size: 17px; }
.as-root .as-field-caret { color: var(--as-muted); }
.as-root .as-field-clear { font-size: 18px; line-height: 1; padding: 0 2px 0 6px; color: var(--as-muted); cursor: pointer; }
.as-root .as-field-clear:hover { color: var(--as-ink); }
.as-root .as-badge { display: inline-block; min-width: 20px; padding: 0 6px; border-radius: 10px; background: var(--as-accent); color: #fff; font-size: 12px; font-weight: 700; text-align: center; }
.as-root .as-link { border: 0; background: none; padding: 0; color: var(--as-accent); font-weight: 600; cursor: pointer; }
.as-root .as-link:hover { text-decoration: underline; }

/* ── всплывающие окна ────────────────────────────────────────────────── */
.as-root .as-ms, .as-root .as-dr { position: relative; }
.as-root .as-pop { position: absolute; z-index: 40; top: calc(100% + 6px); left: 0; background: #fff; border: 1px solid var(--as-border); border-radius: 10px; box-shadow: 0 12px 32px rgba(49, 58, 70, .16); }

/* ── мультивыбор ─────────────────────────────────────────────────────── */
.as-root .as-ms-pop { right: 0; min-width: 340px; max-width: calc(100vw - 32px); display: flex; flex-direction: column; }
.as-root .as-ms-search { display: flex; align-items: center; gap: 6px; padding: 8px 10px; border-bottom: 1px solid #eef0f3; color: var(--as-muted); }
.as-root .as-ms-search input { flex: 1; border: 0; outline: 0; font-size: 14px; color: var(--as-ink); background: transparent; }
.as-root .as-ms-bar { display: flex; justify-content: space-between; align-items: center; padding: 6px 12px; font-size: 12px; color: #6c757d; background: #fafbfc; border-bottom: 1px solid #eef0f3; }
.as-root .as-ms-list { max-height: 340px; overflow-y: auto; padding: 4px; }
.as-root .as-ms-item { display: flex; align-items: flex-start; gap: 8px; padding: 6px 8px; margin: 0; cursor: pointer; border-radius: 6px; font-weight: 400; line-height: 1.3; }
.as-root .as-ms-item.is-nested { padding-left: 34px; }
.as-root .as-ms-item.is-checked { background: var(--as-accent-soft); }
.as-root .as-ms-item:hover { background: var(--as-hover); }
.as-root .as-ms-item input, .as-root .as-ms-group-head input { margin-top: 2px; width: 15px; height: 15px; flex: none; accent-color: var(--as-accent); cursor: pointer; }
.as-root .as-ms-group + .as-ms-group { border-top: 1px solid #f1f2f4; }
.as-root .as-ms-group-head { display: flex; align-items: center; gap: 8px; padding: 4px 8px; border-radius: 6px; }
.as-root .as-ms-group-head:hover { background: var(--as-hover); }
.as-root .as-ms-group-toggle { flex: 1; display: flex; align-items: center; gap: 8px; border: 0; background: none; padding: 4px 0; text-align: left; cursor: pointer; color: var(--as-ink); }
.as-root .as-ms-group-title { flex: 1; font-weight: 700; }
.as-root .as-ms-count { font-size: 12px; color: var(--as-muted); background: #eef2f5; border-radius: 10px; padding: 0 8px; }
.as-root .as-ms-count.is-set { color: #fff; background: var(--as-accent); }
.as-root .as-ms-group-items { padding-bottom: 4px; }
.as-root .as-ms-foot { display: flex; justify-content: flex-end; padding: 8px 10px; border-top: 1px solid #eef0f3; }

/* ── период ──────────────────────────────────────────────────────────── */
.as-root .as-dr-pop { display: flex; width: max-content; max-width: calc(100vw - 32px); }
.as-root .as-dr-pop.is-right { left: auto; right: 0; }
.as-root .as-dr-presets { display: flex; flex-direction: column; gap: 2px; padding: 10px 8px; border-right: 1px solid #eef0f3; min-width: 170px; }
.as-root .as-dr-preset { border: 0; background: none; text-align: left; padding: 6px 10px; border-radius: 6px; color: var(--as-ink); cursor: pointer; white-space: nowrap; }
.as-root .as-dr-preset:hover { background: var(--as-hover); }
.as-root .as-dr-preset.is-active { background: var(--as-accent-soft); color: var(--as-accent); font-weight: 700; }
.as-root .as-dr-main { padding: 10px 12px; }
.as-root .as-dr-inputs { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; color: var(--as-muted); }
.as-root .as-dr-inputs input { width: 140px; }
.as-root .as-dr-months { display: flex; gap: 18px; }
.as-root .as-dr-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 8px; }
.as-root .as-month { width: 252px; }
.as-root .as-month-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px; }
.as-root .as-month-title { font-weight: 700; text-transform: capitalize; }
.as-root .as-month-spacer { width: 32px; }
.as-root .as-only-narrow { display: none; }
.as-root .as-month-grid { display: grid; grid-template-columns: repeat(7, 36px); row-gap: 2px; }
.as-root .as-wd { text-align: center; font-size: 11px; color: var(--as-muted); text-transform: uppercase; padding: 4px 0; }
.as-root .as-day { height: 34px; border: 0; background: none; border-radius: 8px; cursor: pointer; color: var(--as-ink); font-variant-numeric: tabular-nums; }
.as-root .as-day:hover { background: var(--as-hover); }
.as-root .as-day.is-today { box-shadow: inset 0 0 0 1px var(--as-accent); }
.as-root .as-day.is-range { background: var(--as-accent-soft); border-radius: 0; }
.as-root .as-day.is-edge { background: var(--as-accent); color: #fff; font-weight: 700; }
.as-root .as-day.is-start { border-radius: 8px 0 0 8px; }
.as-root .as-day.is-end { border-radius: 0 8px 8px 0; }
@media (max-width: 767px) {
    .as-root .as-dr-pop, .as-root .as-dr-pop.is-right { flex-direction: column; left: 0; right: auto; }
    .as-root .as-dr-presets { flex-direction: row; flex-wrap: wrap; border-right: 0; border-bottom: 1px solid #eef0f3; min-width: 0; }
    .as-root .as-month-2 { display: none; }
    .as-root .as-only-narrow { display: inline-flex; }
}

/* ── пагинация ───────────────────────────────────────────────────────── */
.as-root .as-pg-btn { display: inline-flex; align-items: center; justify-content: center; gap: 2px; min-width: 36px; height: 36px; padding: 0 10px; border: 1px solid var(--as-border); background: #fff; border-radius: 8px; color: var(--as-ink); font-weight: 600; cursor: pointer; font-variant-numeric: tabular-nums; }
.as-root .as-pg-btn:hover:not(:disabled):not(.is-active) { border-color: var(--as-accent); color: var(--as-accent); }
.as-root .as-pg-btn:disabled { opacity: .45; cursor: default; }
.as-root .as-pg-btn.is-active { background: var(--as-accent); border-color: var(--as-accent); color: #fff; cursor: default; }
.as-root .as-pg-btn .mdi { font-size: 18px; }
.as-root .as-pg-gap { min-width: 24px; text-align: center; color: var(--as-muted); }
.as-root .as-pager-range { color: #6c757d; }
.as-root .as-pager-range b { color: var(--as-ink); }
.as-root .as-pager-compact { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 8px; margin-bottom: 12px; border-bottom: 1px solid #eef0f3; font-size: 13px; }
.as-root .as-pager-mini { display: flex; align-items: center; gap: 4px; }
.as-root .as-pager-mini .as-pg-btn { min-width: 26px; height: 26px; padding: 0 4px; border-radius: 6px; }
.as-root .as-pager-mini .as-pg-btn .mdi { font-size: 15px; }
.as-root .as-pager-pos { padding: 0 4px; text-align: center; font-size: 12px; font-weight: 600; color: #6c757d; font-variant-numeric: tabular-nums; }
.as-root .as-pager-full { margin-top: 24px; padding-top: 16px; border-top: 1px solid #eef0f3; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.as-root .as-pager-nav { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; }
.as-root .as-pager-foot { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 16px; font-size: 13px; }

/* ── загрузка ────────────────────────────────────────────────────────── */
.as-root .as-loading { opacity: .55; pointer-events: none; transition: opacity .15s; }
.as-root .as-skel { background: linear-gradient(90deg, #eceef1 25%, #f5f6f8 50%, #eceef1 75%); background-size: 200% 100%; animation: as-shimmer 1.2s infinite linear; border-radius: 6px; }
@keyframes as-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .as-root .as-skel { animation: none; } .as-root .as-loading { transition: none; } }
