/* M21: Home and herd search only. No global restyling or JS dependency. */
.search-input-wrap { position: relative; min-width: 0; }
.search-input-wrap > .ui-icon { position: absolute; top: 50%; left: 14px; transform: translateY(-50%); width: 19px; height: 19px; color: var(--muted); pointer-events: none; }
.dashboard-search .search-input-wrap input[type="search"],
.animal-list-ux .search-input-wrap input[type="search"] { width: 100%; min-width: 0; padding-left: 42px; }
.dashboard-search-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px; }
.dashboard-search input { min-height: 48px; }
.dashboard-search-controls .secondary-action { min-height: 44px; }
.dashboard-search .search-help { margin: 2px 0 0; font-size: 13px; color: var(--muted); line-height: 1.6; }
.dashboard-search button .ui-icon, .dashboard-overview .primary-button .ui-icon { width: 18px; height: 18px; flex: 0 0 auto; }
.dashboard-shortcuts-list a { display: flex; align-items: center; gap: 10px; }
.dashboard-shortcuts-list .shortcut-icon { width: 20px; height: 20px; color: var(--green); flex: 0 0 auto; }
.dashboard-shortcuts-list .shortcut-arrow { width: 17px; height: 17px; margin-left: auto; color: var(--muted); flex: 0 0 auto; }
.animal-list-ux .herd-views { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; }
.herd-views a[aria-current="page"] { background: var(--green-soft); color: var(--green-dark); border-color: var(--green); }
.animal-list-ux .ui-icon { width: 18px; height: 18px; flex: 0 0 auto; }
.animal-list-ux .animal-filter-panel { grid-template-columns: minmax(0, 1fr) minmax(160px, 200px) auto; gap: 16px; align-items: end; }
.animal-list-ux .animal-filter-panel > .herd-search-text { grid-column: auto; }
.animal-list-ux .animal-filter-actions { grid-column: auto; display: flex; gap: 8px; margin: 0; }
.animal-list-ux .animal-filter-actions > * { flex: 0 0 auto; }
.animal-list-ux .herd-search-help { line-height: 1.6; font-size: 13px; }
.animal-list-ux .animal-more-filters > summary { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; min-height: 48px; list-style: none; }
.animal-list-ux .animal-more-filters > summary::-webkit-details-marker { display: none; }
.animal-list-ux .animal-more-filters > summary::after { content: "+"; margin-left: auto; font-size: 20px; font-weight: 450; }
.animal-list-ux .animal-more-filters[open] > summary::after { content: "−"; }
.animal-list-ux .animal-more-filters > summary small { color: var(--muted); font-size: 12px; font-weight: 450; }
.filter-group-heading { grid-column: 1 / -1; margin: 16px 0 0; padding-top: 16px; border-top: 1px solid var(--border); font-size: 15px; color: var(--navy); }
.filter-group-heading:first-child { margin-top: 0; padding-top: 0; border: 0; }
.filter-group-help { grid-column: 1 / -1; margin: 0; font-size: 12px; line-height: 1.6; }
.animal-list-ux .animal-more-filter-grid > .herd-search-period { grid-column: 1 / -1; max-width: 550px; }
.active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 18px 0 16px; }
.animal-list-ux .animal-filter-panel > .active-filters { grid-column: 1 / -1; margin: 0; }
.active-filters-label { font-size: 12px; font-weight: 650; color: var(--muted); margin-right: 4px; }
.filter-chip { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; min-height: 36px; padding: 7px 11px; border: 1px solid var(--border); border-radius: 8px; color: var(--navy); background: var(--surface); font-size: 12px; line-height: 1.5; text-decoration: none; }
.filter-chip > span { overflow-wrap: anywhere; }
.filter-chip .ui-icon { width: 14px; height: 14px; color: var(--muted); }
.filter-chip.pinned { color: var(--green-dark); background: var(--green-soft); border-color: transparent; }
.filter-chip:hover { border-color: var(--green); background: var(--green-soft); }
.filter-chip:focus-visible, .herd-views a:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }
.herd-primary-filters { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(140px, 180px) minmax(0, 2fr); gap: 16px; align-items: start; }
.animal-list-ux .herd-primary-filters > .herd-birth-period { min-width: 0; margin: 0; grid-column: auto; }
.herd-period-help { grid-column: 1 / -1; margin: 0; font-size: 12px; line-height: 1.6; }
.mating-consultation-entry { margin-bottom: 20px; }
.mating-consultation-entry .form-actions { margin-top: 16px; }
@media (max-width: 1100px) {
  .animal-list-ux .animal-filter-panel { grid-template-columns: minmax(0, 1fr) minmax(140px, 200px); }
  .animal-list-ux .animal-filter-actions { grid-column: 1 / -1; }
  .herd-primary-filters { grid-template-columns: minmax(0, 1fr) minmax(140px, 180px); }
  .animal-list-ux .herd-primary-filters > .herd-birth-period { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .dashboard-search-controls { grid-template-columns: minmax(0, 1fr) auto; }
  .dashboard-search-controls .search-input-wrap { grid-column: 1 / -1; }
  .animal-list-ux .animal-filter-panel { grid-template-columns: minmax(0, 1fr); }
  .animal-list-ux .animal-filter-actions { grid-column: 1; }
  .animal-list-ux .animal-filter-actions .primary-button { flex: 1 1 auto; }
  .animal-list-ux .animal-more-filters > summary { gap: 8px; }
  .animal-list-ux .animal-more-filters > summary small { flex-basis: 100%; order: 2; padding-left: 26px; }
  .active-filters-label { width: 100%; }
  .filter-chip { min-height: 44px; }
  .herd-primary-filters { grid-template-columns: minmax(0, 1fr); }
}
/* Historical IA is an optional, separate date kind; native details works without JS. */
.herd-ia-search { grid-column: 1 / -1; border: 1px solid var(--border-color, #d8e2e8); border-radius: .75rem; background: #f4f8fa; }
.herd-ia-search > summary { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; cursor: pointer; padding: .9rem 1rem; color: #10233f; font-weight: 600; }
.herd-ia-search > summary small { order: 1; width: 100%; font-weight: 400; color: #526575; }
.herd-ia-search > summary::after { content: '+'; margin-left: auto; }
.herd-ia-search[open] > summary::after { content: '−'; }
.herd-ia-fields { padding: 0 1rem 1rem; display: grid; gap: .75rem; min-width: 0; }
.herd-ia-fields .herd-search-period { margin: 0; }
.herd-ia-fields p { margin: 0; font-size: .875rem; line-height: 1.5; }
.herd-ia-warning { color: #264d3f; padding: .65rem .75rem; border-left: 3px solid #278459; background: #e9f3ed; border-radius: .25rem; }
.herd-ia-fields > button { justify-self: start; white-space: normal; }
.herd-ia-evidence ul { margin: .25rem 0 0; padding: 0; list-style: none; }
.herd-ia-evidence li { display: flex; flex-wrap: wrap; gap: .25rem .5rem; align-items: baseline; }
.herd-ia-evidence small { display: block; font-size: .75rem; }
@media (min-width: 768px) { .herd-ia-search > summary small { order: 0; width: auto; margin-left: auto; } }
