/* CECPS public identity. Sources: cecps-official-website/src/styles/global.css
   and its original, unmodified brand SVGs. Product layout remains in styles.css. */
:root {
  --brand-night: #0c2544;
  --brand-night-2: #123763;
  --brand-blue: #0072f5;
  --brand-blue-ink: #005bc4;
  --brand-red: #f50000;
  --brand-yellow: #ffd900;
  --brand-green: #006e30;
  --brand-paper: #eef3f9;
  --brand-paper-2: #e3eaf3;
  --ink: #08111c;
  --muted: #5d6773;
  --navy: var(--brand-night);
  /* Existing product selectors share this legacy accent token. */
  --green: var(--brand-blue-ink);
  --green-light: var(--brand-paper);
  --border: #dfe6ee;
  --canvas: #f5f7fb;
  font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Hiragino Sans GB',
    'Microsoft YaHei', 'Noto Sans CJK SC', 'Segoe UI', sans-serif;
}

.brand-ribbon { display:flex; height:4px; }
.brand-ribbon i { flex:1; }
.brand-ribbon i:nth-child(1) { background:var(--brand-red); }
.brand-ribbon i:nth-child(2) { background:var(--brand-yellow); }
.brand-ribbon i:nth-child(3) { background:var(--brand-blue); }
.brand-ribbon i:nth-child(4) { background:var(--brand-green); }
.site-header { border-bottom-color:#e4eaf1; }
.header-inner { height:88px; gap:24px; }
.brand { gap:20px; font-size:18px; letter-spacing:.4px; }
.cecps-logo { display:block; width:166px; height:40px; object-fit:contain; flex-shrink:0; }
.brand-divider { display:block; width:1px; height:32px; background:#d8e0e9; }
.product-name { display:block; white-space:nowrap; font-weight:600; }
.brand small { margin-top:3px; color:#7b8797; letter-spacing:1.1px; font-size:8px; }
.header-note { color:#738093; }
.live-dot { background:var(--brand-blue); }
.header-source { padding-left:24px; }

.hero {
  background:radial-gradient(120% 110% at 85% 0%, #174579 0%, #17457900 55%),
    linear-gradient(160deg, #0c2544 0%, #0f2d53 55%, #12375f 100%);
  color:white;
}
.hero:before, .hero:after { border-color:#8cb5e01b; }
.hero-inner { padding-top:44px; padding-bottom:57px; }
.eyebrow { color:#a3c9f5; font-size:12px; letter-spacing:2px; }
.hero h1 { color:#fff; font-weight:600; }
.hero-copy>p { color:#c0cfe0; }
.hero-tags span {
  background:#ffffff0b; border-color:#91b2d337; color:#c6d8ec;
  border-radius:999px; padding:3px 10px;
}
.hero-data {
  border-color:#8eb4dc3b; border-radius:14px; background:#ffffff09;
  box-shadow:none; backdrop-filter:none; width:356px;
}
.data-heading { color:#e7f0fc; }
.snapshot-badge { color:#90afd1; }
.hero-stat { border-bottom-color:#9cb9d82d; gap:15px; }
.hero-stat>span { color:#e6eef8; }
.hero-stat strong { color:#fff; }
.stat-sub { color:#96aecb; max-width:166px; line-height:1.7; margin-top:3px; }
.hero-timestamp { color:#9fb5d0; }

.search-shell, .filter-sidebar, .record-card, .load-state, .table-wrap { border-radius:14px; }
.search-shell { box-shadow:0 8px 26px #0c254408; }
.search-form { border-color:#c6d6eb; border-radius:9px; background:#fdfefe; }
.search-form:focus-within { border-color:#7cabe3; box-shadow:0 0 0 3px #0072f510; }
.search-icon { stroke:#8098b5; }
.button { border-radius:999px; }
.button.primary { background:var(--brand-blue-ink); border-color:var(--brand-blue-ink); }
.button.primary:hover { background:#004caa; border-color:#004caa; }
.search-form .button { padding-inline:23px; }
.dataset-tabs { border-color:#e4eaf3; }
.dataset-tab { color:#7d899a; }
.dataset-tab.active { color:var(--brand-blue-ink); border-color:var(--brand-blue); }
.dataset-tab small { color:#909bac; }
.search-guidance, .dataset-notice { color:#7e8a9b; }
.currency-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:8px 18px; margin-top:15px; border-top:1px solid #edf1f7; padding-top:12px; }
.currency-control { display:flex; align-items:center; flex-wrap:wrap; gap:5px; font-size:11px; color:#76889e; }
.currency-control>span { margin-right:6px; }
.currency-control button { border:1px solid #d5e1f0; border-radius:6px; padding:5px 9px; background:white; color:#617794; font-size:11px; }
.currency-control button.active { background:#edf4ff; border-color:#87b2ed; color:var(--brand-blue-ink); }
#currency-note { margin:0; color:#8190a4; font-size:11px; line-height:1.8; }
.original-amount { display:block; color:#8290a4; font-size:10px; font-weight:400; overflow-wrap:anywhere; }
.dataset-notice p { min-width:0; overflow-wrap:anywhere; }
.dataset-notice strong.tag {
  display:block; max-width:100%; white-space:normal; overflow-wrap:anywhere;
  padding:6px 8px; margin-bottom:6px; line-height:1.8;
}
.dataset-notice>.text-button { flex-shrink:0; }
.info-icon { border-color:#91a3b9; }
.filter-heading { border-color:#e5ebf3; }
.filter-heading .text-button { color:#74869e; }
.filter-intro { font-size:11px; line-height:1.8; color:#7c8ba0; padding:12px 17px; margin:0; background:#f8fafd; border-bottom:1px solid #e7edf4; }
.filter-section, .audit-filter { border-color:#eaf0f6; }
.filter-section summary:after { color:#8294aa; }
.checkbox { color:#5d6c81; }
.checkbox .option-count { color:#94a2b5; }
.facet-search { background:#f7f9fc; border-color:#e5ecf4; }
.field-label { color:#75849b; }
.filter-help { color:#8492a6; }
.facet-unavailable {
  margin-left:auto; margin-right:8px; padding:1px 5px; border-radius:4px;
  background:#f0f4f9; color:#8a9bb1; font-size:11px; font-weight:400;
}
.filter-availability {
  margin:0; padding:9px 10px; border-left:2px solid #ccdbee; background:#f6f9fd;
  color:#788ba3; font-size:11px; line-height:1.8;
}
.filter-footer { background:#f8fafd; color:#8190a3; }
.section-kicker { color:#7893b5; }
.results-total { color:#7a879b; }
.view-switch button { color:#8b9eb6; }
.view-switch button.active { color:var(--brand-blue-ink); background:#edf3fb; }
.filter-chip { color:#376594; background:#edf4fc; border-color:#d7e4f5; }
.filter-chip span { color:#819cbd; }
.selected-filters {
  margin-bottom:17px; padding:15px 17px 17px; border:1px solid #c6d9f5;
  border-left:3px solid var(--brand-blue); border-radius:12px; background:#edf4ff;
}
.selected-filters-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.selected-filters-heading h3 { margin:0; color:var(--brand-night); font-size:13px; font-weight:600; line-height:1.7; }
.selected-filters-heading h3 span { color:var(--brand-blue-ink); white-space:nowrap; }
.selected-filters-help { margin:5px 0 11px; color:#58769d; font-size:11px; line-height:1.8; }
.clear-selected-button {
  flex-shrink:0; min-height:36px; padding:6px 12px; border:1px solid #a6c2e8;
  border-radius:7px; background:white; color:var(--brand-blue-ink); font-size:12px; font-weight:500;
}
.clear-selected-button:hover { background:#e1edff; border-color:var(--brand-blue-ink); }
.selected-filters .active-filters { margin:0; gap:8px; }
.selected-filters .filter-chip {
  min-height:40px; padding:6px 7px 6px 11px; gap:12px; max-width:100%;
  border:1px solid #afc9ed; border-radius:7px; background:white; color:#164d91;
  font-size:12px; line-height:1.65;
}
.selected-filters .filter-chip:hover { border-color:var(--brand-blue-ink); background:#f9fcff; }
.filter-chip .chip-label { color:inherit; text-align:left; min-width:0; overflow-wrap:anywhere; }
.filter-chip .chip-remove {
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
  width:24px; height:24px; border-radius:5px; background:var(--brand-blue-ink);
  color:white; font:20px/1 system-ui,sans-serif; font-weight:500;
}
.filter-chip:hover .chip-remove { background:var(--brand-night); }
.record-card:hover { border-color:#b8cce5; box-shadow:0 5px 20px #0c254407; }
.record-topline .tag:not(.green):not(.amber):not(.red):not(.gray) { color:#557398; border-color:#dfe8f4; background:#f1f5fb; }
.record-number, .record-portuguese, .translation-hint { color:#8794a8; }
.record-meta { color:#6d7c92; }
.meta-label { color:#8e9caf; }
.price-label, .price-unit { color:#798ba4; }
.record-footer { border-color:#e8edf5; color:#7d8ba1; }
.results-footnote { color:#8290a3; }
.record-table th { background:#f4f7fb; color:#71849d; }
.record-table td { border-color:#e6edf5; }
.table-sub { color:#8392a7; }
.page-button { color:#6d829f; }
.load-detail { color:#8195af; }
.empty-symbol { color:#8da8c9; }
.load-state progress, .load-state progress::-webkit-progress-bar { background:#e5edf8; }
.loader { border-color:#e1eaf6; border-top-color:var(--brand-blue); }
.pagination { color:#7e8fa7; }

dialog { border-color:#d8e3f1; background:#fbfcff; box-shadow:0 15px 100px #0c254433; }
dialog::backdrop { background:#0c2544b8; }
.dialog-bar { background:#fbfcff; }
.icon-button { color:#7f92ac; }
.detail-subtitle, .detail-source-id { color:#7a8ca5; }
.detail-price { background:#eef4fc; border-color:#d9e5f5; border-radius:10px; }
.detail-section h3 { border-color:#dce6f3; }
.detail-field dt { color:#7f91aa; }
.detail-field dd, .detail-text { color:#526680; }
.detail-note { color:#8292a7; }
.source-links a { border-color:#d0dff2; border-radius:999px; }
.scope-dialog #scope-content { color:#677b95; }
.scope-dialog .scope-source-note {
  background:#eef4fc; border-left:3px solid #7ea8db; border-radius:0 7px 7px 0;
  padding:12px 14px; color:#536f94; font-size:12px; line-height:1.9;
}
.toast { background:var(--brand-night); }
.site-footer { background:var(--brand-night); border-top-color:#173a64; padding-block:34px; }
.footer-inner { color:#91a8c3; }
.footer-brand img { display:block; width:183px; height:44px; object-fit:contain; }
.footer-brand p { margin-top:13px; }
.footer-inner>a { color:#c1d7f0; }
button:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible { outline-color:#7eafe9; }

@media (max-width:1050px) {
  .header-inner { gap:20px; }
  .brand { gap:15px; }
  .header-note { display:none; }
  .header-source { margin-left:auto; }
  .hero-data { width:320px; }
}

@media (max-width:760px) {
  .header-inner { height:74px; gap:0; }
  .brand { gap:13px; font-size:15px; letter-spacing:0; }
  .cecps-logo { width:125px; height:31px; }
  .brand-divider { height:28px; }
  .brand small { font-size:6px; letter-spacing:.65px; margin-top:3px; }
  .hero-inner { padding-top:31px; padding-bottom:45px; }
  .eyebrow { font-size:10px; letter-spacing:1.6px; }
  .hero-copy>p { font-size:12px; }
  .hero-tags span { font-size:10px; padding:3px 8px; }
  .hero-data { width:100%; padding:16px; margin-top:23px; column-gap:20px; }
  .data-heading { font-size:11px; }
  .hero-stat>span { font-size:12px; }
  .stat-sub { max-width:none; font-size:10px; }
  .hero-stat strong { margin-top:9px; }
  .search-shell { padding-inline:15px; }
  .currency-toolbar { gap:8px; }
  .currency-control button { min-height:34px; }
  .dialog-bar { flex-wrap:wrap; gap:8px; }
  .dialog-bar-actions { flex-wrap:wrap; gap:10px; }
  .search-form .button { padding-inline:14px; }
  .filter-sidebar { border-radius:0; box-shadow:5px 0 40px #0c254422; }
  .filters-open .filter-backdrop { background:#0c2544a8; }
  .filter-close { color:#7a8da7; }
  .filter-intro { padding-inline:21px; }
  .record-card { border-radius:12px; }
  .record-card:hover { box-shadow:none; }
  .selected-filters { padding:13px; margin-bottom:15px; }
  .selected-filters-heading { gap:8px; }
  .selected-filters-heading h3 { font-size:12px; }
  .selected-filters-help { font-size:11px; margin-top:7px; }
  .clear-selected-button { min-height:40px; padding-inline:9px; font-size:11px; }
  .selected-filters .filter-chip { min-height:44px; font-size:12px; gap:10px; }
  .filter-chip .chip-remove { width:28px; height:28px; font-size:22px; }
  .site-footer { padding-block:29px; }
  .footer-inner>p { margin-top:22px; }
  .footer-inner>a { margin-top:18px; }
}
