/* =========================================================
   LEP | Publicações — busca e painel bibliométrico
   Arquivo complementar ao estilo.css existente.
   ========================================================= */

.lep-pubs-shell,
.lep-pubs-shell * { box-sizing: border-box; }

.lep-pubs-shell {
  --lep-blue: #073b66;
  --lep-blue-2: #0b5a91;
  --lep-ink: #1d2a35;
  --lep-muted: #607080;
  --lep-line: #dce6ee;
  --lep-soft: #f5f9fc;
  --lep-white: #fff;
  width: min(1500px, calc(100% - 40px));
  margin: 0 auto 34px;
  color: var(--lep-ink);
  font-family: Arial, Helvetica, sans-serif;
}

.lep-pubs-search-block,
.lep-pubs-analytics,
.lep-pubs-environments,
.lep-pubs-results {
  background: var(--lep-white);
  border: 1px solid var(--lep-line);
  border-radius: 14px;
  padding: 26px;
  margin-bottom: 22px;
}

.lep-pubs-search-block { padding-top: 24px; }
.lep-pubs-kicker {
  display: block;
  margin-bottom: 5px;
  color: var(--lep-blue-2);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.lep-pubs-shell h2,
.lep-pubs-shell h3 { color: var(--lep-blue); margin-top: 0; }
.lep-pubs-shell h2 { margin-bottom: 6px; font-size: clamp(1.35rem, 2vw, 1.8rem); }
.lep-pubs-lead,
.lep-pubs-chart-title p { color: var(--lep-muted); margin: 0; }

.lep-pubs-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  margin-top: 19px;
}
.lep-pubs-search-row input {
  min-width: 0;
  height: 48px;
  border: 1px solid #b9cbd8;
  border-radius: 9px;
  padding: 0 15px;
  font-size: 1rem;
  outline: none;
  background: #fff;
}
.lep-pubs-search-row input:focus {
  border-color: var(--lep-blue-2);
  box-shadow: 0 0 0 3px rgba(11,90,145,.12);
}
.lep-pubs-search-row button,
.lep-pubs-env-button {
  border: 0;
  border-radius: 9px;
  cursor: pointer;
  font-weight: 700;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.lep-pubs-search-row button {
  min-height: 48px;
  padding: 0 21px;
  background: var(--lep-blue);
  color: #fff;
}
.lep-pubs-search-row .lep-pubs-secondary {
  color: var(--lep-blue);
  background: #edf4f8;
  border: 1px solid #d0e0ea;
}
.lep-pubs-search-row button:hover,
.lep-pubs-env-button:hover { transform: translateY(-1px); }
.lep-pubs-search-status { margin-top: 10px; color: var(--lep-muted); font-size: .9rem; }
.lep-pubs-sr-only { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }

.lep-pubs-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}
.lep-pubs-section-heading h2 { margin: 0; }
.lep-pubs-data-note,
.lep-pubs-count-badge {
  color: var(--lep-muted);
  font-size: .86rem;
  white-space: nowrap;
}
.lep-pubs-count-badge {
  min-width: 44px;
  padding: 7px 11px;
  text-align: center;
  color: #fff;
  font-weight: 800;
  border-radius: 99px;
  background: var(--lep-blue-2);
}

.lep-pubs-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}
.lep-pubs-kpi {
  padding: 17px 18px;
  border-radius: 11px;
  background: var(--lep-soft);
  border: 1px solid #e2ebf1;
}
.lep-pubs-kpi span,
.lep-pubs-kpi small { display:block; color: var(--lep-muted); }
.lep-pubs-kpi span { font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.045em; }
.lep-pubs-kpi strong { display:block; margin:5px 0 2px; color:var(--lep-blue); font-size:clamp(1.35rem,2.4vw,2rem); line-height:1.05; }
.lep-pubs-kpi small { font-size:.8rem; }

.lep-pubs-chart-grid {
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:16px;
}
.lep-pubs-chart-card {
  min-width:0;
  padding:18px;
  border:1px solid var(--lep-line);
  border-radius:11px;
  background:#fff;
}
.lep-pubs-chart-wide { grid-column: 1 / -1; }
.lep-pubs-chart-title h3 { margin-bottom:3px; font-size:1.05rem; }
.lep-pubs-chart-title p { font-size:.85rem; }
.lep-pubs-chart-wrap { position:relative; min-height:290px; margin-top:12px; }
.lep-pubs-chart-tall { min-height:390px; }

.lep-pubs-environment-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.lep-pubs-env-button {
  min-height:82px;
  padding:15px 17px;
  text-align:left;
  color:var(--lep-ink);
  background:#f7fafc;
  border:1px solid #d8e4ec;
}
.lep-pubs-env-button strong,
.lep-pubs-env-button span { display:block; }
.lep-pubs-env-button strong { color:var(--lep-blue); font-size:.96rem; }
.lep-pubs-env-button span { margin-top:5px; color:var(--lep-muted); font-size:.83rem; }
.lep-pubs-env-button:hover { border-color:#91b5cc; background:#eef6fb; }

.lep-pubs-result-list { display:grid; gap:10px; }
.lep-pubs-result-item {
  padding:15px 17px;
  border:1px solid var(--lep-line);
  border-left:4px solid var(--lep-blue-2);
  border-radius:8px;
  background:#fff;
  line-height:1.55;
}
.lep-pubs-result-meta { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:7px; }
.lep-pubs-pill { padding:3px 7px; border-radius:99px; background:#edf4f8; color:#486170; font-size:.74rem; font-weight:700; }
.lep-pubs-result-item p { margin:0; }
.lep-pubs-result-item .icon2 { height:27px; width:auto; vertical-align:middle; }
.lep-pubs-no-results { padding:22px; text-align:center; color:var(--lep-muted); border:1px dashed #c7d6e0; border-radius:9px; }

/* Moderniza os seis blocos históricos sem alterar seu conteúdo */
.lep-pubs-legacy-bar {
  width:min(1500px, calc(100% - 40px));
  margin:10px auto 0!important;
  padding:16px 22px!important;
  color:#fff!important;
  background:var(--lep-blue, #073b66)!important;
  border-radius:10px 10px 0 0;
  box-sizing:border-box;
  text-align:left!important;
  transform:none!important;
  position:relative;
  cursor:pointer;
}
.lep-pubs-legacy-bar::after {
  content:'+';
  position:absolute;
  right:22px;
  top:50%;
  transform:translateY(-50%);
  font-size:1.35rem;
}
.lep-pubs-legacy-bar[aria-expanded="true"]::after { content:'−'; }
.lep-pubs-legacy-list {
  width:min(1500px, calc(100% - 40px));
  margin:0 auto 18px!important;
  padding:16px 22px 24px!important;
  box-sizing:border-box;
  background:#fff;
  border:1px solid #dce6ee;
  border-top:0;
  border-radius:0 0 10px 10px;
}
.lep-pubs-legacy-list h3 { color:#073b66; border-bottom:1px solid #dce6ee; padding-bottom:7px; margin-top:24px; }
.lep-pubs-legacy-list > p { padding:9px 10px; margin:0!important; border-bottom:1px solid #edf2f5; line-height:1.55; }

@media (max-width: 900px) {
  .lep-pubs-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lep-pubs-chart-grid { grid-template-columns:1fr; }
  .lep-pubs-chart-wide { grid-column:auto; }
  .lep-pubs-environment-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 650px) {
  .lep-pubs-shell,
  .lep-pubs-legacy-bar,
  .lep-pubs-legacy-list { width:calc(100% - 20px); }
  .lep-pubs-search-block,
  .lep-pubs-analytics,
  .lep-pubs-environments,
  .lep-pubs-results { padding:18px 14px; }
  .lep-pubs-search-row { grid-template-columns:1fr 1fr; }
  .lep-pubs-search-row input { grid-column:1 / -1; }
  .lep-pubs-kpis,
  .lep-pubs-environment-grid { grid-template-columns:1fr; }
  .lep-pubs-section-heading { align-items:flex-start; flex-direction:column; }
  .lep-pubs-chart-wrap { min-height:250px; }
}
