/* DEPLAN 360° — estilos escopados em .deplan-wrap para conviver com qualquer tema */

.deplan-wrap{
  --dp-g-900:#0f2419; --dp-g-800:#143a29; --dp-g-700:#1a4a34; --dp-g-600:#215d40; --dp-g-500:#2c7a50;
  --dp-g-100:#e2f1e6; --dp-g-50:#f2f9f4;
  --dp-ink-900:#132018; --dp-ink-700:#33423a; --dp-ink-500:#5c6b62;
  --dp-line:#e2e7e2;
  --dp-good:#0ca30c; --dp-good-bg:#e3f6e0;
  --dp-warn:#b5790a; --dp-warn-bg:#fdf1d9;
  --dp-info:#1c5cab; --dp-info-bg:#e4eefa;
  --dp-crit:#b23327; --dp-crit-bg:#fbe6e3;
  --dp-shadow:0 1px 2px rgba(15,36,25,.07), 0 10px 24px -14px rgba(15,36,25,.28);
  font-family:inherit;
  color:inherit;
  line-height:1.6;
  max-width:880px;
  margin:0 auto 18px;
}
.deplan-wrap-hero{ margin-bottom:0; }
.deplan-wrap-nav{ margin-bottom:6px; }
.deplan-wrap *, .deplan-wrap *::before, .deplan-wrap *::after{ box-sizing:border-box; }
.deplan-wrap svg{ display:block; }
.deplan-wrap h2, .deplan-wrap h3, .deplan-wrap h4{ font-family:inherit; }

/* cabeçalho estilo app (topo de cada página do DEPLAN 360°) */
.deplan-hero{
  display:flex; align-items:center; gap:16px;
  background:linear-gradient(155deg,var(--dp-g-800),var(--dp-g-600));
  border-radius:20px; padding:22px 24px; color:#fff; box-shadow:var(--dp-shadow);
}
.deplan-hero-icon{
  width:46px; height:46px; border-radius:50%; flex:none;
  background:rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 0 1px rgba(255,255,255,.18) inset;
}
.deplan-hero-icon svg{ width:24px; height:24px; color:#fff; }
.deplan-hero h1{ margin:0; font-size:1.3em; font-weight:800; color:#fff; line-height:1.25; }
.deplan-hero p{ margin:3px 0 0; font-size:.88em; color:#d7ecdd; }

/* navegação rápida entre seções (pílulas), fica logo abaixo do cabeçalho */
.deplan-quicknav{
  display:flex; gap:8px; overflow-x:auto; padding:14px 2px 4px; margin-bottom:4px;
  -ms-overflow-style:none; scrollbar-width:none;
}
.deplan-quicknav::-webkit-scrollbar{ display:none; }
.deplan-quicknav a{
  flex:none; display:inline-flex; align-items:center; gap:6px;
  font-size:.82em; font-weight:700; padding:8px 14px; border-radius:20px;
  background:var(--dp-g-50); color:var(--dp-ink-700) !important; text-decoration:none !important;
  border:1px solid rgba(15,36,25,.06); white-space:nowrap;
}
.deplan-quicknav a svg{ width:15px; height:15px; }
.deplan-quicknav a.active{ background:var(--dp-g-600); color:#fff !important; border-color:var(--dp-g-600); }

/* no celular a fileira rola horizontalmente (como abas de app); em telas maiores,
   quebra em várias linhas para nenhum item ficar cortado fora da tela */
@media (min-width:641px){
  .deplan-quicknav{ flex-wrap:wrap; overflow-x:visible; padding-bottom:2px; }
}

/* barra inferior fixa (só no celular, só nas páginas do DEPLAN 360°) */
.deplan-bottomnav{
  display:none; position:fixed; left:0; right:0; bottom:0; z-index:9999;
  background:#fff; border-top:1px solid var(--dp-line);
  padding:8px 6px calc(env(safe-area-inset-bottom,0px) + 8px);
  box-shadow:0 -8px 20px -14px rgba(0,0,0,.28);
}
.deplan-bottomnav a{
  flex:1; display:flex; flex-direction:column; align-items:center; gap:3px;
  color:var(--dp-ink-500) !important; text-decoration:none !important; padding:6px 2px;
}
.deplan-bottomnav a svg{ width:20px; height:20px; }
.deplan-bottomnav a span{ font-size:10px; font-weight:700; }
.deplan-bottomnav a.active{ color:var(--dp-g-600) !important; }
@media (max-width:640px){
  .deplan-bottomnav{ display:flex; }
  body.deplan-has-bottomnav{ padding-bottom:66px; }
}

.deplan-intro p{ font-size:1.05em; color:var(--dp-ink-700); }

/* categorias (home) */
.deplan-cat-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px;
  margin:20px 0;
}
.deplan-cat-card{
  display:block; text-align:center; text-decoration:none !important; color:inherit;
  background:var(--dp-g-50); border:1px solid rgba(15,36,25,.06); border-radius:14px;
  padding:20px 14px; transition:transform .12s ease, box-shadow .12s ease; box-shadow:var(--dp-shadow);
}
.deplan-cat-card:hover{ transform:translateY(-2px); box-shadow:0 4px 8px rgba(15,36,25,.08), 0 16px 28px -16px rgba(15,36,25,.32); }
.deplan-cat-card .dci{
  display:flex; align-items:center; justify-content:center; width:44px; height:44px; margin:0 auto 12px;
  border-radius:13px; background:var(--dp-g-100); color:var(--dp-g-700);
}
.deplan-cat-card .dci svg{ width:22px; height:22px; }
.deplan-cat-card h3{ margin:0 0 5px; font-size:1.02em; font-weight:700; color:var(--dp-ink-900); }
.deplan-cat-card p{ margin:0; font-size:.85em; color:var(--dp-ink-500); }

/* destaque */
.deplan-highlight{ background:var(--dp-g-50); border-radius:16px; padding:22px; margin:22px 0; border:1px solid rgba(15,36,25,.05); }
.deplan-hl-tag{ font-size:.8em; font-weight:800; color:var(--dp-g-700); text-transform:none; }
.deplan-highlight h3{ margin:8px 0 6px; font-size:1.2em; }
.deplan-highlight p{ margin:0 0 14px; color:var(--dp-ink-700); }
.deplan-hl-actions{ display:flex; justify-content:flex-end; }
.deplan-btn{
  display:inline-flex; align-items:center; gap:6px; background:var(--dp-g-500) !important; color:#fff !important;
  text-decoration:none !important; padding:11px 20px; border-radius:10px; font-weight:700; font-size:.92em; border:none;
}
.deplan-btn:hover{ background:var(--dp-g-600) !important; }

/* diferenciais */
.deplan-features{ margin:26px 0; }
.deplan-features h4{ margin-bottom:14px; }
.deplan-feat-row{ display:flex; gap:12px; padding:10px 0; align-items:flex-start; border-top:1px solid var(--dp-line); }
.deplan-feat-row:first-of-type{ border-top:none; }
.deplan-feat-row .dfi{
  width:32px; height:32px; flex:none; border-radius:10px; background:var(--dp-g-100); color:var(--dp-g-700);
  display:flex; align-items:center; justify-content:center;
}
.deplan-feat-row .dfi svg{ width:16px; height:16px; }
.deplan-feat-row strong{ display:block; font-size:.95em; color:var(--dp-ink-900); }
.deplan-feat-row p{ margin:2px 0 0; font-size:.87em; color:var(--dp-ink-500); }

/* cartões genéricos */
.deplan-card{ background:var(--dp-g-50); border:1px solid rgba(15,36,25,.06); border-radius:14px; padding:18px; margin-bottom:14px; }
.deplan-intro-card p{ margin:0 0 10px; color:var(--dp-ink-700); }
.deplan-intro-card p:last-child{ margin-bottom:0; }
.deplan-section-title{ margin:26px 0 12px; font-size:.85em; font-weight:800; text-transform:uppercase; letter-spacing:.4px; color:var(--dp-ink-700); }
.deplan-empty{ background:var(--dp-g-50); border-radius:12px; padding:20px; text-align:center; color:var(--dp-ink-500); }

/* listas (contratos / licitações) */
.deplan-list-item{ background:var(--dp-g-50); border:1px solid rgba(15,36,25,.06); border-radius:12px; padding:16px; margin-bottom:10px; }
.dli-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; flex-wrap:wrap; }
.dli-title{ font-weight:700; color:var(--dp-ink-900); }
.dli-sub{ font-size:.85em; color:var(--dp-ink-500); margin-top:2px; }
.dli-meta{ display:flex; flex-wrap:wrap; gap:16px; margin-top:12px; padding-top:12px; border-top:1px dashed var(--dp-line); }
.dli-meta div{ font-size:.82em; color:var(--dp-ink-500); }
.dli-meta div b{ display:block; font-size:.95em; color:var(--dp-ink-900); font-weight:700; }

.deplan-badge{ font-size:.72em; font-weight:800; padding:5px 11px; border-radius:20px; white-space:nowrap; }
.deplan-badge.good{ background:var(--dp-good-bg); color:var(--dp-good); }
.deplan-badge.warn{ background:var(--dp-warn-bg); color:var(--dp-warn); }
.deplan-badge.info{ background:var(--dp-info-bg); color:var(--dp-info); }
.deplan-badge.crit{ background:var(--dp-crit-bg); color:var(--dp-crit); }

/* filtros (licitações) */
.deplan-chip-row{ display:flex; gap:8px; flex-wrap:wrap; margin:16px 0; }
.deplan-chip{
  font-size:.85em; font-weight:700; padding:8px 15px; border-radius:20px; background:#fff;
  color:var(--dp-ink-700) !important; border:1px solid var(--dp-line); text-decoration:none !important;
}
.deplan-chip.active{ background:var(--dp-g-600); color:#fff !important; border-color:var(--dp-g-600); }

/* glossário */
.deplan-glossario details{ border-bottom:1px solid var(--dp-line); padding:10px 0; }
.deplan-glossario details:last-child{ border-bottom:none; }
.deplan-glossario summary{ cursor:pointer; font-weight:700; color:var(--dp-g-700); }
.deplan-glossario p{ margin:8px 0 2px; color:var(--dp-ink-500); font-size:.92em; }

/* estatísticas */
.deplan-stat-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-bottom:10px; }
.deplan-stat-tile{ background:var(--dp-g-50); border:1px solid rgba(15,36,25,.06); border-radius:12px; padding:14px; }
.deplan-stat-tile .label{ font-size:.75em; font-weight:700; color:var(--dp-ink-500); text-transform:uppercase; letter-spacing:.3px; }
.deplan-stat-tile .value{ font-size:1.25em; font-weight:800; color:var(--dp-ink-900); margin-top:5px; }

/* faixa de destaque "Conheça o DEPLAN" (home) */
.deplan-teaser{
  display:flex; align-items:center; gap:14px; text-decoration:none !important; color:inherit;
  background:var(--dp-g-50); border:1px solid rgba(15,36,25,.06); border-radius:14px;
  padding:16px 18px; margin:18px 0; box-shadow:var(--dp-shadow);
}
.deplan-teaser .dci{
  display:flex; align-items:center; justify-content:center; width:40px; height:40px; flex:none;
  border-radius:12px; background:var(--dp-g-100); color:var(--dp-g-700);
}
.deplan-teaser .dci svg{ width:20px; height:20px; }
.deplan-teaser > span:nth-of-type(2){ flex:1; display:block; }
.deplan-teaser strong{ display:block; font-size:.98em; color:var(--dp-ink-900); }
.deplan-teaser em{ display:block; font-style:normal; font-size:.85em; color:var(--dp-ink-500); margin-top:2px; }
.deplan-teaser svg:last-child{ flex:none; color:var(--dp-g-600); }

/* linhas de "Acompanhe o que está acontecendo" (home) */
.deplan-update-row{
  display:flex; align-items:center; gap:12px; text-decoration:none !important; color:inherit;
  padding:12px 4px; border-top:1px solid var(--dp-line);
}
.deplan-update-row:first-of-type{ border-top:none; }
.dci.small{ width:32px; height:32px; border-radius:10px; }
.dci.small svg{ width:16px; height:16px; }
.dur-text{ display:block; flex:1; min-width:0; }
.dur-text strong{ display:block; font-size:.92em; color:var(--dp-ink-900); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dur-text em{ display:block; font-style:normal; font-size:.8em; color:var(--dp-ink-500); margin-top:2px; }

/* busca (contratações) */
.deplan-search{
  display:flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--dp-line);
  border-radius:12px; padding:6px 6px 6px 14px; margin:16px 0;
}
.deplan-search svg{ flex:none; width:17px; height:17px; color:var(--dp-ink-500); }
.deplan-search input[type="text"]{
  flex:1; border:none; outline:none; background:transparent; font:inherit; font-size:.92em; color:var(--dp-ink-900); min-width:0;
}
.deplan-search button{
  flex:none; background:var(--dp-g-500); color:#fff; border:none; border-radius:8px;
  padding:9px 16px; font-weight:700; font-size:.85em; cursor:pointer;
}
.deplan-search button:hover{ background:var(--dp-g-600); }

/* barra de progresso (orçamento) */
.deplan-progress-label{ display:flex; justify-content:space-between; align-items:baseline; font-size:.9em; color:var(--dp-ink-700); margin-bottom:8px; }
.deplan-progress-label b{ font-size:1.1em; color:var(--dp-ink-900); }
.deplan-progress-bar{ width:100%; height:10px; border-radius:6px; background:var(--dp-g-100); overflow:hidden; }
.deplan-progress-fill{ height:100%; border-radius:6px; background:linear-gradient(90deg,var(--dp-g-500),var(--dp-g-700)); }
.deplan-updated{ font-size:.8em; color:var(--dp-ink-500); margin:10px 2px 0; }

/* infraestrutura: foto e descrição */
.deplan-infra-foto{ border-radius:10px; overflow:hidden; margin-bottom:12px; }
.deplan-infra-foto img{ display:block; width:100%; height:auto; }
.dli-desc{ margin:8px 0 0; font-size:.9em; color:var(--dp-ink-700); }

/* fechamento (home) */
.deplan-closing{ margin:26px 0 6px; padding-top:18px; border-top:1px solid var(--dp-line); }
.deplan-closing p{ margin:0; font-size:.92em; color:var(--dp-ink-500); text-align:center; }
