/* ── Reset & Base ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Segoe UI', system-ui, sans-serif; background: #f0f2f5; color: #14532d; line-height: 1.6; }
a { color: #16a34a; text-decoration: none; }
a:hover { text-decoration: underline; }

/* ── Navbar ── */
.navbar {
  background: #14532d;
  color: #fff;
  display: flex;
  align-items: center;
  padding: 0 24px;
  height: 56px;
  gap: 24px;
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 2px 8px rgba(0,0,0,.3);
}
.nav-brand { font-size: 1.1rem; font-weight: 700; letter-spacing: .5px; white-space: nowrap; }
.nav-brand-link { display: inline-block; }
.nav-brand-link:hover { text-decoration: none; opacity: .88; }
.nav-brand-bid { color: #fff; }
.nav-brand-fy { color: #86efac; }
.nav-links { display: flex; gap: 8px; flex: 1; }
.nav-links a {
  color: #cbd5e1;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: .9rem;
  transition: background .15s;
}
.nav-links a:hover { background: rgba(255,255,255,.1); color: #fff; text-decoration: none; }
.nav-user { display: flex; align-items: center; gap: 10px; font-size: .85rem; color: #94a3b8; }
.nav-user a { color: #f87171; }
.badge-perfil {
  background: #16a34a;
  color: #fff;
  padding: 2px 8px;
  border-radius: 20px;
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .5px;
}

/* ── Container ── */
.container { max-width: 1200px; margin: 0 auto; padding: 24px 20px; }
.container.container-full { max-width: 100%; padding: 24px 28px; }

/* ── Page header ── */
.page-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 12px;
}
.page-header h2 { font-size: 1.5rem; font-weight: 700; }
.voltar { display: block; color: #64748b; font-size: .85rem; margin-bottom: 4px; }
.acoes-header { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.form-status-compacto { display: inline-flex; align-items: center; gap: 8px; }
.select-status-compacto {
  font-weight: 600;
  font-size: .85rem;
  padding: 7px 10px;
  min-width: 150px;
}

/* Campos condicionais (valor homologado / motivo encerramento) soltos no topo da pagina */
.campo-condicional-header {
  max-width: 320px;
  margin-bottom: 16px;
}

/* ── Botões ── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #374151;
  font-size: .875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .15s;
  white-space: nowrap;
}
.btn:hover { background: #f8fafc; text-decoration: none; }
.btn-primary { background: #16a34a; color: #fff; border-color: #16a34a; }
.btn-primary:hover { background: #1d4ed8; }
.btn-sm { padding: 5px 12px; font-size: .8rem; }
.btn-block { width: 100%; justify-content: center; }
.btn-ia { background: #7c3aed; color: #fff; border-color: #7c3aed; }
.btn-ia:hover { background: #6d28d9; }
.btn-upload { background: #f1f5f9; border: 2px dashed #cbd5e1; cursor: pointer; }
.btn-upload:hover { background: #e2e8f0; }
.btn-excluir {
  background: none;
  border: none;
  color: #ef4444;
  cursor: pointer;
  padding: 2px 6px;
  font-size: .85rem;
}
.btn-excluir:hover { color: #b91c1c; }
.btn-excluir-licitacao {
  background: #fff;
  color: #b91c1c;
  border: 1px solid #fecaca;
}
.btn-excluir-licitacao:hover { background: #fef2f2; border-color: #fca5a5; }

/* ── Alertas ── */
.alerta {
  padding: 10px 16px;
  border-radius: 8px;
  margin-bottom: 16px;
  font-size: .9rem;
  font-weight: 500;
}
.alerta-ok { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }
.alerta-erro { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; }

/* ── Filtros ── */
.filtros {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.filtros-label { font-size: .85rem; color: #64748b; font-weight: 500; }
.filtro-pill {
  padding: 4px 12px;
  border-radius: 20px;
  background: #f1f5f9;
  color: #374151;
  font-size: .8rem;
  font-weight: 500;
  border: 1px solid #e2e8f0;
  transition: all .15s;
  flex-shrink: 0;
}
.filtro-pill:hover { text-decoration: none; background: #e2e8f0; }
.filtro-pill.ativo { background: #16a34a; color: #fff; border-color: #16a34a; }

/* ── Palavras-chave do cliente ── */
.palavras-chave-lista { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.palavra-chave-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #1e40af;
}
.btn-excluir-mini {
  background: none;
  border: none;
  color: #1e40af;
  opacity: .6;
  cursor: pointer;
  font-size: .75rem;
  padding: 0 2px;
}
.btn-excluir-mini:hover { opacity: 1; color: #b91c1c; }
.form-add-palavra { display: flex; gap: 8px; align-items: flex-start; }
.form-add-palavra .campo { flex: 1; margin-bottom: 0; }

/* ── Badges de status ── */
.badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: .78rem;
  font-weight: 600;
  text-transform: capitalize;
}
.badge-lg { padding: 5px 14px; font-size: .9rem; }
.status-agendada { background: #dcfce7; color: #15803d; }
.status-em-disputa { background: #f1f5f9; color: #475569; }
.status-em-julgamento { background: #f1f5f9; color: #475569; }
.status-em-habilitacao { background: #f1f5f9; color: #475569; }
.status-homologada { background: #dcfce7; color: #15803d; }
.status-revogada { background: #f1f5f9; color: #475569; }
.status-cancelada { background: #f1f5f9; color: #475569; }
.status-encerrada { background: #f1f5f9; color: #475569; }

/* ── Tabela ── */
.tabela-wrap { overflow-x: auto; border-radius: 12px; box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.tabela-wrap.tabela-wrap-card { border-radius: 0; box-shadow: none; margin-bottom: 14px; }
.tabela {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  font-size: .9rem;
}
.tabela th {
  background: #f8fafc;
  padding: 10px 16px;
  text-align: left;
  font-size: .78rem;
  font-weight: 600;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: .5px;
  border-bottom: 1px solid #e2e8f0;
}
.tabela td {
  padding: 12px 16px;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: middle;
}
.tabela tbody tr:hover { background: #f8fafc; }
.tabela tbody tr:last-child td { border-bottom: none; }
.tabela-sm { font-size: .83rem; }
.tabela-sm th, .tabela-sm td { padding: 8px 10px; }

/* ── Card ── */
.card {
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 1px 4px rgba(0,0,0,.07);
  min-width: 0;
}
.card h3 { font-size: 1rem; font-weight: 600; margin-bottom: 14px; color: #14532d; }
.card-header-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.card-header-row h3 { margin-bottom: 0; }
.card-form { max-width: 700px; }

/* ── Grid ── */
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
@media (max-width: 768px) { .grid-2 { grid-template-columns: 1fr; } }

.grid-4 { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.3fr) minmax(0, 0.6fr) minmax(0, 1.3fr); gap: 0 24px; align-items: start; }
@media (max-width: 1300px) { .grid-4 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 768px) { .grid-4 { grid-template-columns: 1fr; } }

/* ── Info grid ── */
.info-grid { display: grid; grid-template-columns: auto 1fr; gap: 8px 16px; align-items: baseline; }
.info-label { font-size: .8rem; color: #64748b; font-weight: 600; text-transform: uppercase; letter-spacing: .4px; white-space: nowrap; }
.objeto-box { margin-top: 14px; padding: 12px; background: #f8fafc; border-radius: 8px; font-size: .9rem; }
.objeto-box p { margin-top: 4px; color: #374151; }

/* ── Campos de formulário ── */
.campo { display: flex; flex-direction: column; gap: 5px; margin-bottom: 16px; }
.campo label { font-size: .83rem; font-weight: 600; color: #374151; }
.campo input, .campo textarea, .campo select,
.select {
  padding: 9px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: .9rem;
  font-family: inherit;
  background: #fff;
  transition: border .15s;
}
.campo input:focus, .campo textarea:focus, .campo select:focus, .select:focus {
  outline: none;
  border-color: #16a34a;
  box-shadow: 0 0 0 3px rgba(22,163,74,.1);
}
.campo textarea { resize: vertical; }
.campo-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 0 16px; }
.form-inline { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; }
.form-status { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.form-status .select { width: 100%; }
.campo-condicional { width: 100%; margin-bottom: 0; }

.valor-destaque-homologado {
  color: #166534;
  font-weight: 700;
  font-size: .92rem;
}
.motivo-encerramento-info {
  color: #6b21a8;
  font-size: .85rem;
  font-style: italic;
}
.form-btns { display: flex; gap: 10px; justify-content: flex-end; margin-top: 8px; }
.form-item { margin-top: 12px; padding-top: 12px; border-top: 1px solid #f1f5f9; }

/* ── Documentos ── */
.upload-form { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
.input-file { display: none; }
.doc-lista { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.doc-item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 8px;
  padding: 8px 10px;
  background: #f8fafc;
  border-radius: 8px;
  font-size: .87rem;
}
.doc-icon { font-size: 1rem; flex-shrink: 0; }
.doc-nome {
  flex: 1 1 100px;
  min-width: 0;
  display: block;
  color: #16a34a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.doc-tamanho { font-size: .78rem; flex-shrink: 0; }

/* ── Resumo IA ── */
.resumo-ia {
  background: #f5f3ff;
  border-left: 3px solid #7c3aed;
  padding: 16px 18px;
  border-radius: 0 8px 8px 0;
  font-size: .88rem;
  line-height: 1.65;
  overflow-wrap: break-word;
}
.resumo-ia h2, .resumo-ia h3 {
  color: #5b21b6;
  font-size: 1rem;
  margin: 16px 0 8px;
}
.resumo-ia h2:first-child, .resumo-ia h3:first-child { margin-top: 0; }
.resumo-ia p { margin: 0 0 10px; }
.resumo-ia ul, .resumo-ia ol { margin: 0 0 12px; padding-left: 20px; }
.resumo-ia li { margin-bottom: 5px; }
.resumo-ia strong { color: #4c1d95; }
.resumo-ia hr { border: none; border-top: 1px solid #ddd6fe; margin: 14px 0; }
.resumo-ia table { width: 100%; border-collapse: collapse; margin: 10px 0; font-size: .82rem; }
.resumo-ia th, .resumo-ia td { border: 1px solid #ddd6fe; padding: 5px 8px; text-align: left; }
.resumo-ia th { background: #ede9fe; }

/* ── Itens ── */
.add-item-form { margin-top: 14px; }
.add-item-form summary { cursor: pointer; list-style: none; }

/* ── Calendário ── */
.nav-mes { display: flex; align-items: center; gap: 12px; }
.mes-label { font-size: 1.1rem; font-weight: 600; min-width: 160px; text-align: center; }
.calendario-wrap {
  overflow-x: auto;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 1px 4px rgba(0,0,0,.07);
  width: 60vw;
  min-width: 760px;
  max-width: 100%;
  margin: 0 auto;
}
.calendario { width: 100%; border-collapse: collapse; }
.calendario th {
  background: #14532d;
  color: #fff;
  padding: 10px;
  font-size: .8rem;
  text-align: center;
  font-weight: 600;
}
.cel-dia {
  vertical-align: top;
  padding: 8px;
  border: 1px solid #f1f5f9;
  min-width: 140px;
  height: 130px;
}
.cel-vazia { background: #f8fafc; }
.cel-com-evento { background: #eff6ff; }
.num-dia {
  font-size: .85rem;
  color: #64748b;
  font-weight: 600;
  display: block;
  text-align: center;
  margin: 0 auto 6px;
}
.eventos-dia { display: flex; flex-direction: column; gap: 4px; overflow-y: auto; max-height: 95px; }
.evento-pill {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 4px 6px;
  border-radius: 4px;
  font-size: .72rem;
  font-weight: 500;
}
.evento-pill-topo { display: flex; align-items: center; justify-content: space-between; gap: 4px; }
.evento-hora { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.evento-recado-icon { font-size: .8rem; flex-shrink: 0; }
.evento-orgao {
  font-size: .68rem;
  font-weight: 400;
  opacity: .85;
  white-space: normal;
  word-break: break-word;
  line-height: 1.25;
}
.evento-pill:hover { text-decoration: none; opacity: .85; }
.legenda-status { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; align-items: center; }
.legenda-item { font-size: .8rem; }

@media (max-width: 900px) {
  .calendario-wrap { width: 100%; min-width: 0; }
}

/* ── Toggle Mensal / Semanal ── */
.toggle-visao {
  display: flex;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  overflow: hidden;
  margin-right: 8px;
}
.toggle-btn {
  padding: 7px 14px;
  font-size: .83rem;
  font-weight: 600;
  color: #475569;
  text-decoration: none;
  background: #fff;
}
.toggle-btn:hover { background: #f1f5f9; text-decoration: none; }
.toggle-btn.ativo { background: #14532d; color: #fff; }

/* ── Calendário — visão semanal ── */
.semana-wrap {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 14px;
  width: 100%;
  margin: 0 auto;
}
.semana-coluna {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 1px 4px rgba(0,0,0,.07);
  min-height: 560px;
  display: flex;
  flex-direction: column;
}
.semana-coluna-hoje { box-shadow: 0 0 0 2px #14532d inset; }
.semana-coluna-header {
  background: #14532d;
  color: #fff;
  border-radius: 10px 10px 0 0;
  padding: 14px;
  text-align: center;
}
.semana-dia-nome { display: block; font-size: .85rem; font-weight: 600; opacity: .85; }
.semana-dia-num { display: block; font-size: 1.2rem; font-weight: 700; margin-top: 2px; }
.semana-coluna-corpo {
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.semana-vazio { text-align: center; font-size: .82rem; margin-top: 16px; }
.evento-card {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 12px 14px;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(0,0,0,.06);
}
.evento-card:hover { text-decoration: none; opacity: .9; }
.evento-card-topo { display: flex; align-items: center; justify-content: space-between; }
.evento-card-hora { font-size: .88rem; font-weight: 700; }
.evento-card-pregao { font-size: .86rem; font-weight: 600; }
.evento-card-orgao { font-size: .78rem; opacity: .85; line-height: 1.3; }

@media (max-width: 1000px) {
  .semana-wrap { grid-template-columns: repeat(7, minmax(150px, 1fr)); overflow-x: auto; width: 100%; }
}

/* ── Modal ── */
.modal {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 200;
}
.modal-box {
  background: #fff;
  border-radius: 14px;
  padding: 28px;
  width: 100%;
  max-width: 520px;
  box-shadow: 0 8px 32px rgba(0,0,0,.18);
}
.modal-box h3 { margin-bottom: 18px; }
.modal-btns { display: flex; gap: 10px; justify-content: flex-end; margin-top: 10px; }

.campo-remember { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; font-size: .88rem; color: #374151; }
.campo-remember input { width: 16px; height: 16px; cursor: pointer; }

/* ── Login ── */
.login-body { display: flex; align-items: center; justify-content: center; min-height: 100vh; background: #0f2818; }
.login-card {
  background: #fff;
  border-radius: 16px;
  padding: 40px;
  width: 100%;
  max-width: 400px;
  box-shadow: 0 8px 40px rgba(0,0,0,.3);
}
.login-logo-img { display: block; width: 140px; margin: 0 auto 12px; }
.login-sub { color: #64748b; text-align: center; margin-bottom: 24px; font-size: .9rem; }

/* ── Utilitários ── */
.muted { color: #94a3b8; }
.muted-sm { color: #94a3b8; font-size: .82rem; margin-bottom: 10px; }
.vazio { text-align: center; padding: 48px; color: #94a3b8; background: #fff; border-radius: 12px; }
strong { font-weight: 600; }
small { font-size: .8rem; }

/* ── Documentos do Cliente ── */
.docs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
}
.doc-card-full { grid-column: 1 / -1; }
.doc-card {
  background: #fff;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 1px 4px rgba(0,0,0,.07);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.doc-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.doc-card-titulo { font-weight: 600; font-size: .9rem; color: #14532d; }
.badge-doc {
  font-size: .72rem;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 20px;
  white-space: nowrap;
}
.badge-doc.ok { background: #dcfce7; color: #166534; }
.badge-doc.vencido { background: #fee2e2; color: #991b1b; }
.badge-doc.vencendo { background: #fef3c7; color: #92400e; }
.badge-doc.pendente { background: #f1f5f9; color: #64748b; }
.badge-doc.nao-aplica { background: #e0e7ff; color: #3730a3; }
.badge-doc.sem-val { background: #f8fafc; color: #94a3b8; }

.doc-existente { display: flex; flex-direction: column; gap: 4px; padding: 10px; background: #f8fafc; border-radius: 8px; }
.doc-nome-link { font-size: .87rem; color: #16a34a; }
.doc-val { font-size: .78rem; color: #64748b; }
.txt-vencido { color: #991b1b; font-weight: 600; }
.txt-vencendo { color: #92400e; font-weight: 600; }
.doc-obs-text { font-size: .78rem; color: #64748b; font-style: italic; }

.doc-lista-inner { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.doc-item-inner {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 6px 10px;
  background: #f8fafc;
  border-radius: 6px;
  font-size: .83rem;
}

.upload-details { margin-top: 4px; }
.upload-details summary {
  cursor: pointer;
  font-size: .82rem;
  color: #16a34a;
  font-weight: 500;
  list-style: none;
  padding: 4px 0;
}
.form-doc { margin-top: 10px; display: flex; flex-direction: column; gap: 8px; }
.campo-check-nao-aplica { display: flex; align-items: center; gap: 6px; font-size: .85rem; }
.input-file-doc { font-size: .83rem; }

/* ── Comentários ── */
.form-comentario { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.form-comentario textarea {
  width: 100%;
  resize: vertical;
  padding: 9px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: .9rem;
  font-family: inherit;
  background: #fff;
  transition: border .15s;
}
.form-comentario textarea:focus {
  outline: none;
  border-color: #16a34a;
  box-shadow: 0 0 0 3px rgba(22,163,74,.1);
}
.comentario-lista { display: flex; flex-direction: column; gap: 12px; }
.comentario-item {
  background: #f8fafc;
  border-radius: 8px;
  padding: 10px 12px;
}
.comentario-topo { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 4px; }
.comentario-texto { margin: 0; font-size: .9rem; white-space: pre-wrap; }
.comentario-acoes { display: flex; gap: 10px; margin-top: 6px; }
.btn-link-mini {
  background: none;
  border: none;
  padding: 0;
  font-size: .76rem;
  color: #16a34a;
  cursor: pointer;
  font-weight: 600;
}
.btn-link-mini:hover { text-decoration: underline; }
.btn-link-mini-excluir { color: #b91c1c; }
.form-editar-comentario { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.form-editar-comentario textarea {
  width: 100%;
  resize: vertical;
  padding: 9px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: .88rem;
  font-family: inherit;
  background: #fff;
}
.form-editar-comentario textarea:focus {
  outline: none;
  border-color: #16a34a;
  box-shadow: 0 0 0 3px rgba(22,163,74,.1);
}

/* ── Documentos de apoio ── */
.upload-form-apoio { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin-bottom: 14px; }
.upload-form-apoio .campo { margin-bottom: 0; flex: 1; min-width: 160px; }
.observacoes-apoio-bloco { margin-top: 18px; padding-top: 16px; border-top: 1px solid #e5e7eb; }
.observacoes-apoio-bloco h4 { font-size: .88rem; font-weight: 600; margin-bottom: 10px; color: #374151; }

/* ─── CAPAG ─────────────────────────────────────────────────────────── */
.card-capag h3 { margin-top: 0; }
.capag-box {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.08);
  background: #f7f8fa;
}
.capag-badge {
  flex: 0 0 auto;
  min-width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: 800;
  color: #fff;
  border-radius: 10px;
  background: #6b7280;
  padding: 0 10px;
}
.capag-info { display: flex; flex-direction: column; gap: 2px; }
.capag-significado { font-size: .85rem; margin-top: 2px; }
.muted-sm { font-size: .8rem; color: #6b7280; }

/* Verde: boa capacidade (A+, A) */
.capag-nota-amais .capag-badge,
.capag-nota-a .capag-badge { background: #1e9e57; }
.capag-nota-amais, .capag-nota-a { border-color: #b6e3c8; background: #f0faf4; }
/* Verde-amarelado: B+, B */
.capag-nota-bmais .capag-badge,
.capag-nota-b .capag-badge { background: #b08900; }
.capag-nota-bmais, .capag-nota-b { border-color: #ece0a8; background: #fbf8ec; }
/* Laranja: C */
.capag-nota-c .capag-badge { background: #d97706; }
.capag-nota-c { border-color: #f0d3a8; background: #fdf6ec; }
/* Vermelho: D */
.capag-nota-d .capag-badge { background: #c0392b; }
.capag-nota-d { border-color: #efc2bb; background: #fdf0ee; }
