html { overflow-x: clip; }
body.mobile-page { min-width: 0; overflow-x: clip; }
.mobile-page .container, .mobile-page main { min-width: 0; }
.mobile-page main { padding-bottom: 2rem; }
.navbar-brand { display: inline-flex; align-items: center; gap: .5rem; }
.offerdock-brand-mark { width: 30px; height: 30px; flex: 0 0 auto; border-radius: .35rem; object-fit: cover; }
.mobile-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1rem; }
.mobile-heading h1, .mobile-heading h2 { margin-bottom: 0; }
.mobile-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.app-form { max-width: 48rem; }
.app-form p { margin-bottom: 1rem; }
.app-form label { display: block; margin-bottom: .35rem; font-weight: 500; }
.app-form :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { display: block; width: 100%; min-height: 44px; padding: .5rem .75rem; border: 1px solid #ced4da; border-radius: .375rem; background: #fff; }
.app-form input[type="file"] { padding: .4rem; }
.app-form textarea { min-height: 8rem; }
.app-form :is(input, select, textarea):focus { outline: 0; border-color: #86b7fe; box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25); }
.app-form .helptext { display: block; margin-top: .25rem; color: #6c757d; font-size: .875rem; }
.table-responsive { max-width: 100%; -webkit-overflow-scrolling: touch; border: 1px solid rgba(0, 0, 0, .08); border-radius: .375rem; }
.table-responsive > .table { margin-bottom: 0; }
.table :is(th, td) { vertical-align: middle; overflow-wrap: anywhere; }
.markup-bands-table { table-layout: fixed; }
.markup-bands-table .markup-band-range { width: 44%; }
.markup-bands-table .markup-band-rate { width: 28%; }
.markup-bands-table tbody td { vertical-align: bottom; }
.markup-bands-table tbody td:first-child label { display: block; margin-bottom: .25rem; }
.dashboard-import-table { width: 100%; table-layout: fixed; }
.dashboard-import-table th,
.dashboard-import-table td { overflow: hidden; }
.dashboard-import-table th:first-child,
.dashboard-import-table td:first-child { width: 10.25rem; white-space: nowrap; }
.dashboard-import-table th:last-child,
.dashboard-import-table td:last-child { white-space: nowrap; }
.dashboard-import-table td:nth-child(2) > a { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-import-table--automatic th:last-child,
.dashboard-import-table--automatic td:last-child { width: 7.5rem; }
.dashboard-import-table--manual th:nth-child(3),
.dashboard-import-table--manual td:nth-child(3) { width: 7.5rem; white-space: nowrap; }
.dashboard-import-table--manual th:last-child,
.dashboard-import-table--manual td:last-child { width: 8.5rem; overflow: hidden; text-overflow: ellipsis; }
.catalogue-header { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
.catalogue-intro h1 { margin: .1rem 0 .2rem; font-size: clamp(1.4rem, 2vw, 1.85rem); font-weight: 720; letter-spacing: -.025em; }
.catalogue-intro p { margin: 0; color: #607085; font-size: .88rem; }
.catalogue-intro p strong { color: #1b3d6b; }
.catalogue-eyebrow { display: block; font-size: .69rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; color: #50729d; }
.catalogue-actions { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.catalogue-actions form { margin: 0; }
.catalogue-extra-actions { position: relative; }
.catalogue-extra-actions summary { list-style: none; }
.catalogue-extra-actions summary::-webkit-details-marker { display: none; }
.catalogue-extra-panel { position: absolute; right: 0; top: calc(100% + .35rem); z-index: 20; width: 17rem; display: grid; gap: .4rem; padding: .6rem; background: #fff; border: 1px solid #dbe4ee; border-radius: .6rem; box-shadow: 0 .5rem 1.5rem #13253b1f; }
.catalogue-filters { border: 1px solid #dbe5f1; background: #f8fafc; padding: .55rem .75rem; border-radius: .8rem; box-shadow: 0 1px 5px #172d4709; }
.catalogue-filter-main { display: grid; grid-template-columns: minmax(20rem, 2.4fr) repeat(3, minmax(9rem, 1fr)); gap: .45rem; align-items: end; }
.catalogue-search-group { display: flex; align-items: end; gap: .45rem; min-width: 0; }
.catalogue-search { flex: 1; min-width: 0; }
.catalogue-filter-submit { flex: 0 0 6.6rem; }
.catalogue-filters .form-label { font-size: .72rem; font-weight: 650; color: #51627b; margin-bottom: .25rem; }
.catalogue-filter-bottom { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-top: .35rem; }
.catalogue-more-filters { flex: 1; }
.catalogue-more-filters summary, .catalogue-saved-filters summary { cursor: pointer; color: #345d91; font-size: .81rem; font-weight: 600; }
.catalogue-more-filters summary:focus-visible, .catalogue-saved-filters summary:focus-visible { outline: 2px solid #0d6efd; outline-offset: 3px; }
.catalogue-filter-more { display: grid; grid-template-columns: 1.6fr 1.4fr 1fr .75fr .75fr; gap: .65rem; margin: .65rem 0 .15rem; }
.catalogue-reset { font-size: .83rem; white-space: nowrap; }
.catalogue-workspace [hidden] { display: none !important; }
.catalogue-workspace-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem .85rem; padding: .35rem .65rem; background: #f2f6fc; border: 1px solid #dde6f0; border-radius: .65rem; }
.catalogue-workspace-toolbar > strong { color: #274568; font-size: .85rem; }
.catalogue-workspace-toolbar > button { margin-left: auto; }
.catalogue-saved-filters[open] { flex-basis: 100%; order: 3; }
.catalogue-saved-filter-fields { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-top: .6rem; }
.catalogue-saved-filter-fields :is(input, select) { width: min(13rem, 100%); }
.catalogue-scroll-hint { display: none; color: #617187; font-size: .76rem; margin: 0 0 .45rem; }
.catalogue-table { min-width: 98rem; font-size: .83rem; border-collapse: separate; border-spacing: 0; }
.catalogue-table-wrapper { border: 1px solid #dfe7ef; border-radius: .65rem; }
.catalogue-table-wrapper.show-details .catalogue-table { min-width: 98rem; }
.catalogue-table-wrapper.compact:not(.show-details) .catalogue-table { min-width: 68rem; }
.catalogue-table-wrapper.compact:not(.show-details) .catalogue-table :is(th, td):is(:nth-child(1), :nth-child(4), :nth-child(10), :nth-child(11), :nth-child(12), :nth-child(13), :nth-child(14), :nth-child(15)) { display: none; }
.catalogue-table-wrapper.compact:not(.show-details) .catalogue-table td[colspan] { display: table-cell; }
.catalogue-table-wrapper.compact:not(.show-details) :is(.catalogue-site-check, .catalogue-site-link) { display: none; }
.catalogue-table th { white-space: nowrap; font-size: .76rem; color: #435875; font-weight: 700; }
.catalogue-table thead th { position: sticky; top: 0; z-index: 4; background: #eaf1f8; padding: .45rem .45rem; border-bottom: 1px solid #d6e1ed; }
.catalogue-table tbody td { padding: .4rem .45rem; border-bottom-color: #e8edf3; }
.catalogue-table tbody tr:hover { --bs-table-accent-bg: #f0f6ff; }
.catalogue-table .catalogue-brand { min-width: 8rem; }
.catalogue-table .catalogue-category { min-width: 14rem; max-width: 18rem; line-height: 1.25; }
.catalogue-table .catalogue-sku { min-width: 8.5rem; overflow-wrap: anywhere; font-weight: 650; }
.catalogue-table .catalogue-sku a { text-decoration: none; }
.catalogue-table .catalogue-name { min-width: 18rem; max-width: 25rem; line-height: 1.35; }
.catalogue-table .catalogue-name > a { color: #253b56; text-decoration: none; display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.catalogue-table .catalogue-name > a:hover, .catalogue-table .catalogue-sku a:hover { color: #0d6efd; text-decoration: underline; }
.catalogue-table .catalogue-supplier { min-width: 6.5rem; max-width: 10rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.catalogue-table .catalogue-meta, .catalogue-table .catalogue-cost { white-space: nowrap; font-size: .79rem; }
.catalogue-cost strong { font-variant-numeric: tabular-nums; color: #243a53; }
.catalogue-cost small { color: #667b92; }
.catalogue-availability { min-width: 6.7rem; white-space: nowrap; font-size: .77rem; }
.catalogue-quantity { display: block; margin-top: .1rem; color: #38516e; font-size: .74rem; font-variant-numeric: tabular-nums; }
.catalogue-missing-price { color: #925922; font-size: .76rem; white-space: nowrap; }
.catalogue-site-price { min-width: 10rem; }
.catalogue-site-markup { min-width: 12rem; }
.catalogue-price-pair, .catalogue-markup-pair { display: grid; grid-template-columns: 4rem 1fr; gap: .13rem .3rem; font-size: .77rem; white-space: nowrap; }
.catalogue-price-pair > span, .catalogue-markup-pair > span { color: #697d91; }
.catalogue-price-pair strong, .catalogue-markup-pair strong { font-variant-numeric: tabular-nums; font-weight: 650; }
.catalogue-markup-negative { color: #a63836; }
.catalogue-markup-positive { color: #13714c; }
.catalogue-site-check, .catalogue-site-link { display: block; font-size: .68rem; color: #6f8093; margin-top: .15rem; white-space: nowrap; }
.catalogue-site-link { color: #315f98; }
.catalogue-not-site { color: #8895a4; font-size: .77rem; }
@media (min-width: 992px) {
  .catalogue-table-wrapper.compact:not(.show-details) .catalogue-table :is(th, td):nth-child(2) { position: sticky; left: 0; z-index: 5; background: #fff; }
  .catalogue-table-wrapper.compact:not(.show-details) .catalogue-table :is(th, td):nth-child(3) { position: sticky; left: 8.5rem; z-index: 5; background: #fff; }
  .catalogue-table-wrapper.compact:not(.show-details) .catalogue-table thead :is(th:nth-child(2), th:nth-child(3)) { z-index: 6; background: #eaf1f8; }
  .catalogue-table-wrapper.compact:not(.show-details) .catalogue-table tbody tr:hover :is(td:nth-child(2), td:nth-child(3)) { background: #f0f6ff; }
}
@media (max-width: 1100px) {
  .catalogue-filter-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalogue-search-group { grid-column: 1 / -1; }
  .catalogue-filter-more { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .catalogue-scroll-hint { display: block; }
  .catalogue-header { align-items: flex-start; }
  .catalogue-actions { width: 100%; }
  .catalogue-extra-panel { right: auto; left: 0; }
  .catalogue-filters { padding: .6rem; }
  .catalogue-filter-main, .catalogue-filter-more { grid-template-columns: 1fr; }
  .catalogue-search-group { grid-column: auto; }
}
.brand-picker { position: relative; }
.brand-picker[open] { z-index: 20; }
.brand-picker > summary { cursor: pointer; list-style: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.brand-picker > summary::-webkit-details-marker { display: none; }
.brand-picker > summary:focus-visible { outline: 2px solid #0d6efd; outline-offset: 2px; }
.brand-picker-panel { position: absolute; top: calc(100% + .2rem); left: 0; width: min(21rem, calc(100vw - 2rem)); padding: .5rem; background: #fff; border: 1px solid #dee2e6; border-radius: .4rem; box-shadow: 0 .5rem 1rem rgba(0,0,0,.15); }
.brand-picker-options { max-height: 13rem; overflow-y: auto; margin-top: .4rem; }
.brand-picker-option { display: flex; align-items: center; gap: .5rem; cursor: pointer; padding: .25rem .4rem; border-radius: .25rem; overflow-wrap: anywhere; }
.brand-picker-option:hover, .brand-picker-option:focus-within { background: #f1f5f9; }
.brand-picker-option[hidden] { display: none; }
.brand-picker-footer { display: flex; justify-content: space-between; align-items: center; margin-top: .25rem; }
.supplier-sources-table { min-width: 76rem; }
.supplier-sources-table .source-title { min-width: 12rem; }
.supplier-sources-table .source-schedule { min-width: 15rem; }
.supplier-sources-table .source-last-import { min-width: 12rem; white-space: nowrap; }
.supplier-sources-table .source-status { min-width: 8rem; white-space: nowrap; }
.supplier-sources-table .source-trigger { min-width: 12rem; white-space: nowrap; }
.supplier-sources-table .source-actions { min-width: 35rem; }
.supplier-sources-table .source-actions .mobile-actions { flex-wrap: wrap; width: auto; }
.supplier-sources-table .source-actions .btn { width: auto; white-space: nowrap; }
.mobile-pagination .pagination { flex-wrap: wrap; gap: .25rem; }
.modules-page { padding: .35rem 0 2rem; }
.modules-heading { margin-bottom: 1.35rem; color: #142b4d; font-weight: 700; letter-spacing: -.035em; }
.modules-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.modules-filters { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 1.2rem; }
.modules-filters[hidden] { display: none; }
.modules-filter {
  min-height: 44px; padding: .45rem .85rem; border: 1px solid #d5deeb; border-radius: 999px;
  background: #fff; color: #24364f; font-size: .88rem; font-weight: 600; white-space: nowrap;
}
.modules-filter:hover:not(.is-active) { border-color: #a6bbd8; background: #f3f7fc; }
.modules-filter:focus-visible { outline: 3px solid #3276d5; outline-offset: 2px; }
.modules-filter.is-active { border-color: var(--filter-accent, #172d4e); background: var(--filter-accent, #172d4e); color: #fff; }
.modules-filter__count { display: inline-grid; place-items: center; min-width: 1.55rem; height: 1.55rem; margin-left: .22rem; padding: 0 .22rem; border-radius: 999px; background: rgba(23, 45, 78, .09); }
.modules-filter.is-active .modules-filter__count { background: rgba(255, 255, 255, .2); }
.modules-filter--avito { --filter-accent: #985000; }
.modules-filter--images { --filter-accent: #6930a2; }
.modules-filter--yandex { --filter-accent: #ae2828; }
.modules-filter--catalog { --filter-accent: #245a9b; }
.modules-filter--prices { --filter-accent: #27683f; }
.modules-filter--access { --filter-accent: #006b70; }
.module-card[hidden] { display: none; }
.module-card {
  display: flex; flex-direction: column; min-height: 12rem; padding: 1.35rem 1.45rem;
  border: 1px solid var(--module-border, #dfe7f2); border-left: 4px solid var(--module-accent, #3276d5); border-radius: 1.1rem;
  background: radial-gradient(circle at 100% 0, var(--module-glow, #eef4ff) 0, transparent 58%), var(--module-surface, #fff);
  box-shadow: 0 5px 18px rgba(24, 53, 94, .06); color: #172d4e; text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.module-card:hover {
  border-color: var(--module-accent, #3276d5); box-shadow: 0 12px 28px rgba(24, 53, 94, .12);
  color: #172d4e; transform: translateY(-3px);
}
.module-card:focus-visible { outline: 3px solid #3276d5; outline-offset: 3px; }
.module-card__top { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: auto; padding-bottom: 1.15rem; color: var(--module-accent, #3276d5); }
.module-card__tag { padding: .28rem .65rem; border-radius: 100px; background: var(--module-chip, #e8f0ff); font-size: .78rem; font-weight: 700; line-height: 1.3; }
.module-card__arrow { display: grid; place-items: center; width: 2rem; height: 2rem; flex: 0 0 auto; border-radius: 50%; background: var(--module-chip, #e8f0ff); font-size: 1.2rem; line-height: 1; }
.module-card__title { font-size: 1.15rem; font-weight: 700; line-height: 1.3; }
.module-card__description { margin-top: .5rem; color: #596b82; font-size: .94rem; line-height: 1.45; }
.module-card:hover .module-card__description { color: #465f7d; }
.module-card--avito { --module-accent: #985000; --module-border: #f6d6a6; --module-glow: #ffe5bd; --module-surface: #fffaf3; --module-chip: #ffebd1; }
.module-card--images { --module-accent: #6930a2; --module-border: #dcc7f2; --module-glow: #eddcff; --module-surface: #fcf9ff; --module-chip: #f0e3ff; }
.module-card--yandex { --module-accent: #ae2828; --module-border: #f1c6c3; --module-glow: #ffe2dc; --module-surface: #fff9f7; --module-chip: #ffe8e4; }
.module-card--catalog { --module-accent: #245a9b; --module-border: #bfd5f1; --module-glow: #dceaff; --module-surface: #f8fbff; --module-chip: #e0edff; }
.module-card--prices { --module-accent: #27683f; --module-border: #badcc1; --module-glow: #d9f2df; --module-surface: #f8fdf9; --module-chip: #dff3e4; }
.module-card--access { --module-accent: #006b70; --module-border: #b1dad8; --module-glow: #d3f0ef; --module-surface: #f7fcfc; --module-chip: #def2f1; }
@media (max-width: 991.98px) { .modules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .modules-grid { grid-template-columns: 1fr; } .module-card { min-height: 10.5rem; } }
@media (prefers-reduced-motion: reduce) { .module-card { transition: none; } .module-card:hover { transform: none; } }
@media (max-width: 575.98px) {
  .mobile-page .container { --bs-gutter-x: 1rem; }
  .mobile-page h1 { font-size: calc(1.25rem + .9vw); }
  .mobile-page h2 { font-size: 1.2rem; }
  .navbar-nav .nav-link { padding: .65rem 0; }
  .mobile-heading { align-items: stretch; }
  .mobile-actions { width: 100%; }
  .catalogue-header { display: block; }
  .catalogue-actions { justify-content: flex-start; padding-top: .75rem; }
  .mobile-actions > .btn, .mobile-actions > form, .mobile-actions > a { flex: 1 1 auto; }
  .mobile-actions .btn { width: 100%; min-height: 44px; }
  .app-form { max-width: none; }
  .app-form > .btn, .app-form > .mobile-actions { width: 100%; }
  .table-responsive > .table { min-width: 34rem; }
  .table-responsive > .table.table-sm { min-width: 32rem; }
  .dashboard-import-table { min-width: 38rem !important; }
  .mobile-pagination .page-link { padding: .45rem .65rem; }
}
