/* Smart Search */

.home-search-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  align-items: start;
}

.advanced-search-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.advanced-search-header h3 {
  margin: 0;
}

.advanced-search-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-left: auto;
}

.home-search-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  padding: 10px;
  border: 1px solid #d5e3ec;
  border-radius: 10px;
  background: #f8fcff;
  max-height: none;
  overflow: visible;
}

.home-search-filters .form-actions {
  grid-column: 1 / -1;
}

.home-search-filters .col-span-2 {
  grid-column: 1 / -1;
}

.home-search-results {
  padding: 10px;
  border: 1px solid #d5e3ec;
  border-radius: 10px;
  background: #fff;
  min-height: 280px;
}

.search-results-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}

.search-results-head h4 {
  margin: 0;
}

.smart-result-explanation {
  margin: 0;
  color: #1f4157;
  font-weight: 600;
}

.smart-result-context {
  margin: 0.5rem 0 0.4rem;
}

.smart-result-context p {
  margin: 0.15rem 0;
  line-height: 1.35;
}

.smart-result-snippet {
  margin: 0.45rem 0 0;
  color: #4d6576;
  line-height: 1.45;
}

.smart-status {
  margin: 0 0 12px;
  padding: 10px;
  border: 1px solid #d5e3ec;
  border-radius: 10px;
  background: #f8fcff;
}

.smart-status p {
  margin: 4px 0;
}

.smart-runtime-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  border: 1px solid #c9d9e5;
  background: #eef5fa;
  color: #34566c;
}

.smart-runtime-badge.is-online {
  border-color: #b8dcc9;
  background: #edf9f1;
  color: #1c6b3c;
}

.smart-runtime-badge.is-offline {
  border-color: #e2c3c3;
  background: #fff1f1;
  color: #9f2d2d;
}

.smart-runtime-message {
  color: #4d6576;
  word-break: break-word;
}

.smart-status-collapsible {
  margin: 0 0 12px;
  border: 1px solid #d5e3ec;
  border-radius: 10px;
  background: #f8fcff;
}

.smart-status-collapsible summary {
  cursor: pointer;
  padding: 10px 12px;
  font-weight: 700;
  color: #1f4157;
}

.smart-status-collapsible[open] summary {
  border-bottom: 1px solid #d5e3ec;
}

.smart-status-collapsible .smart-status {
  margin: 0;
  border: 0;
  border-radius: 0 0 10px 10px;
}

.smart-status-collapsible > .home-search-filters {
  margin: 0;
  border: 0;
  border-radius: 0 0 10px 10px;
  background: transparent;
  box-shadow: none;
}

.cube-pivot-card {
  margin-top: 14px;
  padding: 10px;
  border: 1px solid #d5e3ec;
  border-radius: 10px;
  background: #f8fcff;
}

.cube-pivot-card h5 {
  margin: 0 0 8px;
  color: #1f4157;
}

.cube-pivot-table {
  overflow: auto;
}

.pvtFilterBox {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%);
  z-index: 2000 !important;
  max-height: 85vh;
  overflow: auto;
}

.pvtFilterBox label {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #18384d;
  font-weight: 400;
}

.pvtFilterBox input[type="checkbox"] {
  width: auto;
  min-width: 0;
  height: auto;
  padding: 0;
  margin: 0;
}

.pvtFilterBox input[type="text"] {
  margin-bottom: 12px;
}

.pvtFilterBox .pvtCheckContainer p {
  margin: 5px 0;
}

.pvtFilterBox .pvtButtons {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.pvtFilterBox .pvtButtons button + button {
  margin-left: 16px;
}

.pvtFilterBox button + button {
  margin-left: 16px !important;
}

.search-results-toolbar {
  margin: 0 0 12px;
}

#search-area-avancada-results .admin-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

#search-area-avancada-results .admin-filters input {
  min-width: 240px;
  height: 42px;
  min-height: 42px;
  line-height: 1.2;
  box-sizing: border-box;
}

#search-area-avancada-results .admin-filters input[name="search_result_q"] {
  flex: 1 1 260px;
  min-width: min(260px, 100%);
}

#search-area-avancada-results .admin-filters select[name="search_sort_by"] {
  flex: 0 0 220px;
  width: 220px;
  height: 42px;
  min-height: 42px;
  line-height: 1.2;
  box-sizing: border-box;
}

#search-area-avancada-results .admin-filters select[name="search_sort_dir"] {
  flex: 0 0 150px;
  width: 150px;
  height: 42px;
  min-height: 42px;
  line-height: 1.2;
  box-sizing: border-box;
}

#search-area-avancada-results .admin-filters select[name="searchPerPage"] {
  flex: 0 0 150px;
  width: 150px;
  height: 42px;
  min-height: 42px;
  line-height: 1.2;
  box-sizing: border-box;
}

#search-area-avancada-results .admin-filters button,
#search-area-avancada-results .admin-filters .btn {
  flex: 0 0 auto;
  width: auto;
  white-space: nowrap;
}

.search-numeric-panel {
  min-width: 0;
  padding: 14px 16px 16px;
  border: 1px solid #d7e5ec;
  border-radius: 12px;
}

.search-numeric-panel legend {
  padding: 0 8px;
  font-weight: 700;
  color: var(--brand);
}

.search-numeric-panel-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}

.search-numeric-panel-full {
  grid-column: 1 / -1;
  max-width: 180px;
}

.advanced-search-text-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.advanced-search-text-pair label {
  min-width: 0;
}

.advanced-search-panel {
  display: grid;
  gap: 10px;
  padding: 12px 14px 14px;
  border: 1px solid #cfdde5;
  border-left: 4px solid var(--sea-700);
  border-radius: 10px;
  background: #f6fbfe;
}

.advanced-search-panel:not(.is-active) {
  display: none;
}

.advanced-search-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.advanced-search-tab {
  border: 1px solid #cfdde5;
  background: #eef5fa;
  color: #24495f;
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 700;
  cursor: pointer;
}

.advanced-search-tab.is-active {
  background: #0f5574;
  border-color: #0f5574;
  color: #fff;
}

.advanced-search-tab.is-filtered:not(.is-active) {
  background: #f8F5ee;
  color: #0f5574;
}

.advanced-search-panel-title {
  margin: 0;
  color: #1f4157;
}

.advanced-search-subpanel-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 6px 0 10px;
  font-weight: 600;
  color: #24495f;
}

.advanced-search-panel.is-filtered {
  border-color: #4f8aa8;
  border-left-color: #0f5574;
  background: #f8F5ee;
  box-shadow: 0 10px 24px rgba(15, 85, 116, 0.16);
}

.advanced-search-subpanel {
  padding: 10px 12px 12px;
  border: 1px solid #d7e5ec;
  border-radius: 10px;
  background: linear-gradient(180deg, #edf8ff 0%, #e2f2fb 100%);
  box-shadow: inset 0 0 0 1px rgba(93, 153, 181, 0.12);
}

.advanced-search-subpanel.is-filtered {
  border-color: #4f8aa8;
  border-left-color: #0f5574;
  background: #f8F5ee;
  box-shadow: 0 10px 24px rgba(15, 85, 116, 0.16);
}

.advanced-search-subpanel.is-filtered summary {
  color: #0f5574;
}

.advanced-search-subpanel.is-filtered summary::before {
  color: #0f5574;
}

.advanced-search-subpanel summary {
  cursor: pointer;
  font-weight: 700;
  color: #274458;
  list-style: none;
}

.advanced-search-subpanel summary::-webkit-details-marker {
  display: none;
}

.advanced-search-subpanel summary::before {
  content: "▾";
  display: inline-block;
  margin-right: 8px;
  color: #31566b;
}

.advanced-search-subpanel:not([open]) summary::before {
  content: "▸";
}

.advanced-search-subpanel-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 10px;
}

.advanced-search-coordinate-format-picker {
  margin-top: 10px;
  width: min(246px, 100%);
}

.advanced-search-coordinate-format-picker.admin-coordinate-format-picker {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 4px;
  border: 1px solid #d7e5ec;
  border-radius: 999px;
  background: #eef5f8;
}

.advanced-search-coordinate-format-picker .admin-coordinate-format-option {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 6px 10px;
  border-radius: 999px;
  background: transparent;
  color: var(--brand);
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
}

.advanced-search-coordinate-format-picker .admin-coordinate-format-option input {
  position: absolute;
  inset: 0;
  opacity: 0;
  margin: 0;
  pointer-events: none;
}

.advanced-search-coordinate-format-picker .admin-coordinate-format-option span {
  display: block;
  line-height: 1;
}

.advanced-search-coordinate-format-picker .admin-coordinate-format-option:has(input:checked) {
  background: #fff;
  box-shadow: 0 1px 3px rgba(21, 74, 104, 0.14);
}

.advanced-search-subpanel-grid .admin-coordinate-fieldset {
  min-width: 0;
  padding: 14px 16px 16px;
  border: 1px solid #d7e5ec;
  border-radius: 12px;
}

.advanced-search-subpanel-grid .admin-coordinate-fieldset legend {
  padding: 0 8px;
  font-weight: 700;
  color: var(--brand);
}

.advanced-search-subpanel-grid .admin-coordinate-fieldset label {
  display: grid;
  gap: 6px;
}

.advanced-search-subpanel-grid .admin-coordinate-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.advanced-search-subpanel-grid .admin-coordinate-mode-panel {
  display: none;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px 12px;
}

.advanced-search-subpanel-grid .admin-coordinate-mode-panel.is-active {
  display: grid;
}

.advanced-search-subpanel-grid .admin-coordinate-mode-panel[data-coordinate-mode="dms"] {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.advanced-search-panel-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  margin-top: 10px;
}

.advanced-search-panel-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid rgba(49, 86, 107, 0.12);
}

.advanced-search-panel-grid label,
.advanced-search-date-pair label {
  min-width: 0;
}

.advanced-search-negatable-label {
  display: grid;
  gap: 6px;
}

.advanced-search-negatable-label-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.advanced-search-not-toggle {
  position: absolute;
  top: 1px;
  left: 1px;
  bottom: 1px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 34px;
  min-width: 34px;
  border: 0;
  border-right: 1px solid #c5d6e0;
  border-radius: 9px 0 0 9px;
  background: #f7fbfd;
  color: #21465d;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}

.advanced-search-not-toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.advanced-search-not-toggle:has(input:checked) {
  border-color: #b98517;
  background: #fff4cf;
  color: #8a5a00;
}

.advanced-search-input-with-toggle {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
}

.advanced-search-input-with-toggle input[type="text"] {
  width: 100%;
  padding-left: 46px;
}

.advanced-search-autocomplete-field {
  position: relative;
  min-width: 0;
}

.advanced-search-autocomplete-field input[type="text"] {
  width: 100%;
}

.advanced-search-autocomplete-field .search-autocomplete-panel {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 25;
  display: grid;
  gap: 2px;
  padding: 6px;
  border: 1px solid #cbd8e2;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(16, 47, 67, 0.12);
}

.advanced-search-autocomplete-field .search-autocomplete-panel[hidden] {
  display: none !important;
}

.advanced-search-autocomplete-field .search-autocomplete-option {
  display: block;
  width: 100%;
  margin: 0;
  padding: 8px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #29485c;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.advanced-search-autocomplete-field .search-autocomplete-option:hover,
.advanced-search-autocomplete-field .search-autocomplete-option:focus-visible {
  background: #eef5f9;
  outline: none;
}

.advanced-search-triple-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 12px;
}

.advanced-search-triple-row label {
  min-width: 0;
}

.advanced-search-date-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
}

.advanced-search-basic-date-range,
.advanced-search-basic-year-range {
  grid-column: 1;
}

.advanced-search-basic-flags,
.advanced-search-basic-names {
  grid-column: 2;
}

.advanced-search-condition-block {
  display: grid;
  gap: 8px;
}

.advanced-search-condition-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px 16px;
  align-items: center;
}

.advanced-search-condition-row .checkbox-inline {
  min-height: 0;
}

.admin-media-add-panel {
  margin: 0 0 14px;
  border: 1px solid #d5e3ec;
  border-radius: 10px;
  background: #f8fcff;
}

.admin-media-add-panel summary {
  cursor: pointer;
  padding: 10px 12px;
  font-weight: 700;
  color: #1f4157;
}

.admin-media-add-panel[open] summary {
  border-bottom: 1px solid #d5e3ec;
}

.admin-media-add-panel[open] form {
  padding: 12px;
}

.smart-summary {
  margin: 0 0 10px;
  padding: 8px 10px;
  border: 1px solid #cfdde5;
  border-left: 4px solid var(--sea-700);
  border-radius: 8px;
  background: #f6fbfe;
}

.smart-summary p {
  margin: 0;
}

.smart-filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.smart-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef5f8;
  border: 1px solid #cfdde6;
  color: #274458;
  font-size: 0.92rem;
  line-height: 1.2;
}

.smart-filter-chip--dismissible {
  position: relative;
  padding-left: 18px;
  text-decoration: none;
  transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

@media (max-width: 800px) {
  #search-area-avancada-results .admin-filters input[name="search_result_q"],
  #search-area-avancada-results .admin-filters select[name="search_sort_by"],
  #search-area-avancada-results .admin-filters select[name="search_sort_dir"],
  #search-area-avancada-results .admin-filters select[name="searchPerPage"] {
    flex: 1 1 100%;
    width: 100%;
  }

  #search-area-avancada-results .admin-filters button,
  #search-area-avancada-results .admin-filters .btn {
    width: auto;
  }
}

.smart-filter-chip--dismissible:hover {
  background: #e6f1f7;
  border-color: #aec7d6;
}

.smart-filter-chip-remove {
  position: absolute;
  top: 1px;
  left: 5px;
  font-size: 0.78rem;
  line-height: 1;
  color: #6a8190;
  font-weight: 700;
}

.smart-suggestion-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: -2px;
}

.smart-query-toolbar {
  display: flex;
  align-items: flex-end;
  gap: 12px;
}

.smart-query-label {
  flex: 1 1 auto;
  min-width: 0;
}

.smart-help-trigger {
  white-space: nowrap;
  margin-bottom: 2px;
}

.smart-suggestion-chip {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid #cfdde6;
  background: #f3f8fb;
  color: #234459;
  text-decoration: none;
  font-size: 0.9rem;
  line-height: 1.2;
  transition: background 0.16s ease, border-color 0.16s ease;
}

.smart-suggestion-chip:hover {
  background: #e8f2f8;
  border-color: #b9cfdb;
}

.smart-interpretation-panel,
.smart-aggregate-panel {
  margin: 0 0 12px;
  padding: 12px 14px;
  border: 1px solid #d5e3ec;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  box-shadow: 0 8px 18px rgba(16, 47, 67, 0.05);
}

.smart-interpretation-panel h4,
.smart-aggregate-panel h4 {
  margin: 0;
  color: var(--sea-900);
}

.smart-interpretation-panel > summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--sea-900);
  list-style: none;
}

.smart-interpretation-panel > summary::-webkit-details-marker {
  display: none;
}

.smart-interpretation-panel > summary::before {
  content: '▾';
  display: inline-block;
  margin-right: 8px;
  color: #33566d;
}

.smart-interpretation-panel:not([open]) > summary::before {
  content: '▸';
}

.smart-interpretation-panel[open] > summary {
  margin-bottom: 12px;
}

.smart-interpretation-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.smart-interpretation-item {
  padding: 10px 12px;
  border-radius: 10px;
  background: #f4f9fc;
  border: 1px solid #d7e5ee;
}

.smart-interpretation-item strong {
  display: inline-block;
  margin-bottom: 4px;
  color: var(--sea-900);
}

.smart-interpretation-item p {
  margin: 0;
  color: #2d495b;
}

.smart-aggregate-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.smart-aggregate-table th,
.smart-aggregate-table td {
  white-space: nowrap;
}

.smart-aggregate-table td:nth-child(2),
.smart-aggregate-table th:nth-child(2) {
  white-space: normal;
}

.smart-match-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 6px;
}

.smart-match-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef5f8;
  border: 1px solid #cfdde6;
  color: #274458;
  font-size: 0.84rem;
  line-height: 1.2;
  font-weight: 700;
}

.smart-short-answer-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 12px;
  padding: 12px 14px;
  border: 1px solid #d5e3ec;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  box-shadow: 0 8px 18px rgba(16, 47, 67, 0.05);
}

.smart-short-answer-panel p {
  margin: 0;
  color: #2d495b;
}

.smart-help-modal {
  z-index: 1300;
}

.smart-help-modal-card {
  width: min(1040px, 100%);
}

.smart-help-intro {
  margin: 6px 0 0;
  color: #476174;
  line-height: 1.65;
}

.smart-help-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.smart-help-section {
  border: 1px solid #d6e3ea;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
  padding: 16px;
}

.smart-help-section h4 {
  margin: 0 0 12px;
  color: #163a4e;
}

.smart-help-example-list {
  display: grid;
  gap: 10px;
}

.smart-help-example {
  display: block;
  border-radius: 12px;
  border: 1px solid #d6e3ea;
  background: #f4f9fc;
  padding: 10px 12px;
  color: #1f4e67;
  text-decoration: none;
  line-height: 1.5;
  transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.smart-help-example:hover {
  background: #e8f2f8;
  border-color: #8cb1c6;
  transform: translateY(-1px);
}

.modal-open {
  overflow: hidden;
}

@media (max-width: 800px) {
  .home-search-layout { grid-template-columns: 1fr; }
  .home-search-filters { max-height: none; }
  .advanced-search-header {
    align-items: flex-start;
  }
  .advanced-search-header-actions {
    width: 100%;
    justify-content: flex-end;
  }
}

@media (max-width: 640px) {
  .advanced-search-tabs {
    gap: 6px;
  }

  .advanced-search-tab {
    width: 100%;
    justify-content: center;
  }

  .advanced-search-text-pair {
    grid-template-columns: 1fr;
  }

  .advanced-search-panel-grid,
  .advanced-search-triple-row,
  .advanced-search-date-pair,
  .advanced-search-subpanel-grid {
    grid-template-columns: 1fr;
  }

  .advanced-search-basic-date-range,
  .advanced-search-basic-year-range,
  .advanced-search-basic-flags,
  .advanced-search-basic-names {
    grid-column: auto;
  }

  .advanced-search-condition-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .smart-query-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .smart-help-trigger {
    align-self: flex-start;
    margin-bottom: 0;
  }

  .smart-help-grid {
    grid-template-columns: 1fr;
  }
}
