.ao-crawler__summary { margin: 0; line-height: var(--line-height-base); }
.ao-crawler__actions { text-align: right; }
.ao-crawler__url { word-break: break-all; }
.ao-crawler__error { color: var(--color-danger); }
.ao-crawler__toolbar { margin-bottom: var(--space-3); padding-bottom: var(--space-3); border-bottom: 1px solid var(--color-line); }
/* 篩選欄位與查詢、清除鈕同一列，窄時整組換行並保留間距 */
.ao-crawler__toolbar [class~='form-inline'] { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); }
.ao-crawler__filter-field { margin-right: var(--space-2); font-weight: var(--font-weight-regular); }
.ao-crawler__bulk { text-align: right; }
.ao-crawler__bulk-button { margin-bottom: var(--space-1); margin-left: var(--space-1); }
.ao-crawler__check-col { width: 48px; }
/* 供應商下拉固定寬度後，短欄位（表頭、評分、擷取時間）不再被擠成直排 */
.ao-crawler__table th,
.ao-crawler__table .ao-crawler__nowrap { white-space: nowrap; }
.ao-crawler__text { white-space: pre-wrap; word-break: break-word; }
.ao-crawler__note { margin-left: var(--space-1); color: var(--color-text-muted); }
.ao-crawler__raw { max-height: 320px; overflow: auto; white-space: pre-wrap; word-break: break-all; }
.ao-crawler__detail-actions { padding-left: var(--space-gutter); }
/* 底部動作鈕同寬，只用顏色區分主次，避免寬度不同讓人誤判哪顆是主要動作 */
.ao-crawler__detail-actions [class~='btn'] { min-width: 112px; }
@media (max-width: 991px) {
  .ao-crawler__bulk { margin-top: var(--space-2); text-align: left; }
}

/* 後台搜尋測試台 */
.ao-search-bench__summary { margin: 0; line-height: var(--line-height-base); }
.ao-search-bench__meta,
.ao-search-bench__note { color: var(--color-text-muted); font-size: var(--font-size-sm); }

/* 通用 */
.ao-hidden { display: none; }
.ao-hint--info { color: var(--color-hint-info); }
.ao-hint--success { color: var(--color-hint-success); }

/* 表單控制項 */
.ao-select {
  min-width: 200px;
  height: 40px;
  padding: 0 var(--space-3);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  background-color: var(--color-surface);
  color: var(--color-ink);
  font-size: var(--font-size-base);
  vertical-align: middle;
}
.ao-choice-group { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); }
.ao-choice-group__empty { margin: 0; }
.ao-choice { display: inline-flex; align-items: center; gap: var(--space-2); margin: 0; font-size: var(--font-size-base); cursor: pointer; }
.ao-choice__input { width: 18px; height: 18px; margin: 0; accent-color: var(--color-ink); cursor: pointer; }
.ao-choice-group--compact { display: inline-flex; align-items: center; gap: var(--space-1) var(--space-2); }
.ao-choice-group--compact .ao-choice { align-items: center; gap: var(--space-1); padding: 0; font-size: var(--font-size-sm); font-weight: normal; }
.ao-choice-group--compact .ao-choice__input { width: 13px; height: 13px; margin: 0; }
/* 篩選列的勾選群組：標籤、勾選框與文字垂直置中，和同列的輸入框、下拉對齊 */
.ao-cms-filter-item.ao-inline-fieldset { display: inline-flex; align-items: center; min-height: 34px; }
.ao-inline-fieldset__legend { margin-right: var(--space-1); }

/* 供應商商品表單 */
.ao-product-form__brand-pick { margin-top: var(--space-1); text-align: center; }
.ao-product-form__tips { margin-top: var(--space-1); word-break: break-all; }
.ao-product-form__file-heading { margin-top: var(--space-5); }

/* 商品列表篩選與結果 */
.ao-list-filter { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); color: var(--color-ink); }
.ao-list-filter--muted { background-color: var(--color-surface-muted); }
.ao-list-filter__group { min-width: 0; margin: 0; padding: 0; border: 0; }
.ao-list-filter__label { width: auto; margin: 0 0 var(--space-1); padding: 0; border: 0; color: var(--color-text-dark); font-size: var(--font-size-base); font-weight: var(--font-weight-bold); }
.ao-list-filter__group--field { width: 260px; max-width: 100%; }
.ao-list-filter__selects { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.ao-list-filter__select { width: 160px; max-width: 100%; }
@media screen and (max-width: 768px) {
  .ao-list-filter .ao-list-filter__group { width: 100%; }
  .ao-list-filter__select { flex: 1 1 140px; }
}
.ao-list-section { margin: 0 var(--space-gutter); }
.ao-list-results { overflow: hidden; }
.ao-list-empty { display: flex; flex-direction: column; align-items: center; gap: var(--space-3); padding: var(--space-4) var(--space-gutter); color: var(--color-ink); text-align: center; }
.ao-list-empty__text { margin: 0; }
.ao-list-empty__clear { margin-left: var(--space-2); padding: 0; border: 0; background-color: transparent; color: var(--color-link); font-size: inherit; text-decoration: underline; cursor: pointer; }
.ao-sort-bar { margin: 0 var(--space-gutter); background-color: var(--color-surface-muted); }
.ao-brand-toggle.is-open { background-color: var(--color-surface-muted); }
.ao-qty-input { width: 150px; min-width: 0; }

/* 後台列表頁 */
.ao-page-intro { margin: 0; line-height: var(--line-height-base); }
.ao-page-actions { text-align: right; }

/* Telegram 綁定（選單燈箱內） */
.ao-telegram { color: var(--color-text-dark); font-size: var(--font-size-base); overflow-wrap: anywhere; }
.ao-telegram__text { margin: 0 0 var(--space-2); }
.ao-telegram__status { margin: 0 0 var(--space-2); }
.ao-telegram__status.is-bound { color: var(--color-hint-success); }
.ao-telegram__notice { margin: 0; color: var(--color-danger); }
.ao-telegram__link { margin-bottom: var(--space-4); }
.ao-telegram__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.ao-telegram__form { margin: 0; }
.ao-telegram__button {
  display: inline-block;
  padding: var(--space-1) var(--space-4);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-sm);
  background-color: var(--color-surface);
  color: var(--color-primary);
  font-size: var(--font-size-base);
  cursor: pointer;
}
.ao-telegram__button--primary { background-color: var(--color-primary); color: var(--color-surface); }
.ao-telegram__button--danger { border-color: var(--color-danger); color: var(--color-danger); }
.ao-page-actions--footer { margin-bottom: var(--space-4); }
.ao-category-tree { margin-left: var(--space-indent); }
.ao-crawler-overview { margin-bottom: var(--space-5); }
.ao-crawler-overview__heading { margin: 0 0 var(--space-3); font-size: var(--font-size-lg); }
