.obra-intro,
.obra-empty,
.obra-dashboard,
.obra-onboarding,
.obra-comecar,
.obra-calculos,
.obra-artigos-salvos,
.obra-conteudos,
.obra-form-card,
.obra-escolha {
  background: #0a1621;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 14px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
  padding: 1.25rem;
}

.obra-eyebrow {
  color: #aeb8c5;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin: 0 0 0.25rem;
}

.obra-eyebrow + h2 {
  margin-top: 0;
}

.obra-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1rem;
}

.obra-actions .btn,
.obra-actions a.btn {
  align-items: center;
  border-bottom: 0;
  justify-content: center;
  text-decoration: none;
}

.obra-grid,
.obra-form-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.obra-detail {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding: 0.65rem 0;
}

.obra-detail dt {
  color: #aeb8c5;
  font-size: 0.82rem;
  margin-bottom: 0.2rem;
}

.obra-detail dd {
  margin: 0;
}

.obra-field-full {
  grid-column: 1 / -1;
}

.obra-form-card select,
.obra-form-card input {
  background: #111827;
}

.obra-form-card option {
  background: #111827;
  color: #e5e7eb;
}

.obra-errors,
.obra-message {
  border-radius: 10px;
  padding: 0.75rem 1rem;
}

.obra-errors {
  background: rgba(180, 35, 35, 0.2);
  border: 1px solid rgba(255, 120, 120, 0.45);
  color: #ffd1d1;
}

.obra-message {
  background: rgba(34, 197, 94, 0.16);
  border: 1px solid rgba(34, 197, 94, 0.4);
}

.obra-warning {
  background: rgba(255, 140, 0, 0.08);
  border: 1px solid rgba(255, 140, 0, 0.45);
  border-left: 4px solid #ff8c00;
  border-radius: 10px;
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
}

.obra-warning strong { color: #ffb347; }
.obra-warning p { margin: 0.35rem 0 0; }

.obra-lista {
  display: grid;
  gap: 0.75rem;
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
}

.obra-lista-item {
  align-items: center;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 0.9rem;
}

.obra-lista-item p {
  margin: 0.25rem 0 0;
}

@media (max-width: 700px) {
  .obra-grid,
  .obra-form-grid {
    grid-template-columns: 1fr;
  }

  .obra-field-full {
    grid-column: auto;
  }

  .obra-lista-item {
    align-items: stretch;
    flex-direction: column;
  }
}


.obra-actions .obra-btn-secondary {
  background: #17212d;
  border-color: rgba(255, 255, 255, 0.24);
}

.obra-card-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1.25rem;
}

.obra-tool-card,
.obra-module-card {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.025));
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 1.1rem;
}

.obra-tool-card h3,
.obra-module-card h3 {
  color: #f2f4f7;
  font-size: 1.08rem;
  margin: 0 0 0.55rem;
}

.obra-tool-card p {
  color: #b9c2ce;
  line-height: 1.5;
  margin: 0 0 1.1rem;
}

.obra-card-action,
a.obra-card-action {
  align-self: flex-start;
  border-bottom: 0;
  margin-top: auto;
  text-decoration: none;
}

.obra-card-status {
  align-items: center;
  color: #aeb8c5;
  display: flex;
  font-size: 0.9rem;
  gap: 0.5rem;
  line-height: 1.4;
  margin: 0 0 1.2rem;
}

.obra-card-status span {
  background: #7d8794;
  border-radius: 50%;
  flex: 0 0 0.5rem;
  height: 0.5rem;
}

.obra-module-grid {
  align-items: stretch;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1.25rem;
}

.obra-module-description {
  color: #b9c2ce;
  line-height: 1.5;
  margin: -0.45rem 0 1rem;
}

.obra-module-badge {
  align-self: flex-start;
  background: rgba(255, 140, 0, 0.08);
  border: 1px solid rgba(255, 179, 71, 0.25);
  border-radius: 999px;
  color: #d8aa68;
  font-size: 0.78rem;
  font-weight: 600;
  margin-top: auto;
  padding: 0.3rem 0.65rem;
}

.obra-content-list {
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
}

.obra-content-list li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  position: relative;
}

.obra-content-list li::before {
  color: #ff8c00;
  content: "➜";
  font-size: 0.85rem;
  left: 0.45rem;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.obra-content-list a {
  align-items: center;
  border-radius: 7px;
  color: #ff9d2e;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  line-height: 1.4;
  padding: 0.55rem 0.6rem 0.55rem 1.65rem;
  text-decoration: none;
}

.obra-content-list a:hover,
.obra-content-list a:focus-visible { background: rgba(255, 255, 255, 0.04); color: #ffb35c; }
.obra-content-list small { color: #aeb8c5; flex: 0 0 auto; font-size: 0.76rem; }
.obra-content-more { margin-top: 1rem; }
.obra-content-more a { text-decoration: none; }

.obra-saved-articles-card {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.025));
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 12px;
  margin-top: 1rem;
  padding: 1.1rem;
}

.obra-saved-articles-empty,
.obra-saved-articles-discover {
  color: #aeb8c5;
  margin: 0;
}

.obra-saved-articles-discover { margin-top: 0.6rem; }
.obra-saved-articles-discover a { color: #ff9d2e; }

.obra-saved-articles-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.obra-saved-articles-list li {
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 0.75rem 0;
}

.obra-saved-articles-list li:first-child { padding-top: 0; }
.obra-saved-articles-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.obra-saved-article-title { color: #e5e7eb; min-width: 0; overflow-wrap: anywhere; text-decoration: none; }
.obra-saved-article-title:hover,
.obra-saved-article-title:focus-visible { color: #ffb35c; }
.obra-saved-article-title::before { color: #ff8c00; content: "➜"; margin-right: 0.55rem; }
.obra-saved-article-actions { display: flex; gap: 0.85rem; white-space: nowrap; }
.obra-saved-article-actions a { color: #ff9d2e; text-decoration: none; }
.obra-saved-article-actions a:hover,
.obra-saved-article-actions a:focus-visible { color: #ffb35c; }
.obra-saved-article-actions form { margin: 0; }
.obra-saved-article-actions button { background: transparent; border: 0; color: #ff9d2e; cursor: pointer; font: inherit; padding: 0; }
.obra-saved-article-actions button:hover,
.obra-saved-article-actions button:focus-visible { color: #ffb35c; text-decoration: underline; }

.obra-ads {
  min-height: 90px;
  overflow: hidden;
  text-align: center;
  width: 100%;
}

.obra-ads .ads-label {
  color: #8d98a6;
  font-size: 0.72rem;
  margin-bottom: 0.35rem;
}

@media (max-width: 960px) {
  .obra-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .obra-card-grid {
    grid-template-columns: 1fr;
  }

  .obra-module-grid {
    grid-template-columns: 1fr;
  }

  .obra-card-action,
  a.obra-card-action {
    align-self: stretch;
    text-align: center;
  }

  .obra-saved-articles-list li {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .obra-saved-article-actions {
    flex-wrap: wrap;
  }
}
.obra-cub-summary {
  display: grid;
  gap: 0.55rem;
  margin: 0 0 1rem;
}

.obra-cub-summary div {
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
}

.obra-cub-summary dt { color: #aeb8c5; font-size: 0.82rem; }
.obra-cub-summary dd { margin: 0; text-align: right; }
.obra-card-links { display: flex; flex-wrap: wrap; gap: 0.55rem; margin-top: auto; }
.obra-card-links .btn { align-self: auto; font-size: 0.88rem; padding: 0.45rem 0.7rem; text-decoration: none; }
.obra-card-observacao {
  color: #aeb8c5;
  display: -webkit-box;
  font-size: 0.82rem;
  line-height: 1.35;
  margin: 0 0 0.85rem;
  overflow: hidden;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.obra-history-list { display: grid; gap: 0.85rem; margin-top: 1rem; }
.obra-history-item { align-items: center; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.12); border-radius: 10px; display: flex; gap: 1rem; justify-content: space-between; padding: 1rem; }
.obra-history-item h3 { margin: 0 0 .35rem; }
.obra-history-item p { color: #aeb8c5; margin: 0 0 .35rem; }
.obra-history-item .obra-history-observacao { margin-top: 0.65rem; overflow-wrap: anywhere; }
.obra-history-item .btn { text-decoration: none; }
.obra-pagination { align-items: center; display: flex; gap: .75rem; justify-content: center; margin-top: 1.25rem; }

@media (max-width: 620px) {
  .obra-history-item { align-items: stretch; flex-direction: column; }
  .obra-history-item .btn { text-align: center; }
}
.minha-obra-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
  margin: 0 auto;
  max-width: 1100px;
  padding: 0.65rem 1.25rem 0;
}

.minha-obra-nav a {
  border-bottom: 2px solid transparent;
  color: #aeb8c5;
  font-size: 0.86rem;
  padding: 0.25rem 0;
  text-decoration: none;
}

.minha-obra-nav a:hover,
.minha-obra-nav a:focus-visible,
.minha-obra-nav a[aria-current="page"] {
  border-bottom-color: #ff8c00;
  color: #fff;
}

.obra-result-highlight {
  background: rgba(255, 140, 0, 0.08);
  border: 1px solid rgba(255, 140, 0, 0.24);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  margin: 0.35rem 0 1rem;
  padding: 0.9rem;
}

.obra-result-highlight span {
  color: #b9c2ce;
  font-size: 0.8rem;
}

.obra-result-highlight strong {
  color: #ffb347;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  margin-top: 0.2rem;
}

.obra-result-meta {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 1rem;
}

.obra-result-meta div {
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
}

.obra-result-meta dt { color: #8f9aa8; font-size: 0.78rem; }
.obra-result-meta dd { color: #cbd2db; font-size: 0.84rem; margin: 0; text-align: right; }
.obra-detail-highlight { background: rgba(255, 140, 0, 0.08); border-radius: 8px; padding-left: 0.7rem; padding-right: 0.7rem; }
.obra-delete-form { border-top: 1px solid rgba(255,255,255,.1); margin-top: 1.25rem; padding-top: 1rem; }
.obra-btn-danger { background: transparent; border: 1px solid rgba(255, 120, 120, .55); border-radius: 10px; color: #ffb4b4; cursor: pointer; padding: .5rem .8rem; }
.obra-btn-danger:hover { background: rgba(180, 35, 35, .18); }
.obra-orcamento-excluir-form { border-top: 0; display: flex; flex: 0 0 auto; justify-content: flex-end; margin: 0; padding: 0; }
.obra-btn-archive { background: rgba(92, 65, 38, .62); border: 1px solid rgba(216, 170, 104, .3); border-radius: 10px; color: #e0b66f; cursor: pointer; padding: .5rem .8rem; transition: background-color .18s ease, border-color .18s ease, color .18s ease; }
.obra-btn-archive:hover,
.obra-btn-archive:focus-visible { background: rgba(112, 78, 42, .72); border-color: rgba(224, 182, 111, .46); color: #f0c77f; }

@media (max-width: 620px) {
  .minha-obra-nav { gap: 0.25rem 0.8rem; overflow-x: auto; flex-wrap: nowrap; }
  .minha-obra-nav a { flex: 0 0 auto; }
}
.obra-table-wrap { overflow-x: auto; }
.obra-cost-table { min-width: 520px; }
.obra-cost-table th:last-child,
.obra-cost-table td:last-child { text-align: right; }
.obra-cost-total td { background: rgba(255, 140, 0, 0.08); border-top: 2px solid rgba(255, 140, 0, 0.45); color: #ffcf91; font-weight: 700; }
.obra-cub-notes { border-top: 1px solid rgba(255,255,255,.1); margin-top: 1rem; padding-top: .8rem; }
.obra-cub-notes h3 { margin: 0 0 .45rem; }
.obra-cub-notes ul { color: #b9c2ce; margin-bottom: 0; }

.obra-calculo-observacao {
  background: rgba(255, 140, 0, 0.08);
  border-left: 3px solid #ff8c00;
  margin-top: 1rem;
  padding: 0.75rem 0.9rem;
}

.obra-calculo-observacao p {
  margin: 0.35rem 0 0;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.obra-orcamento-resumo,
.obra-orcamento-totais-servico {
  display: grid;
  gap: 0.5rem;
  margin: 1rem 0 0;
}

.obra-orcamento-resumo div,
.obra-orcamento-totais-servico div {
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 0.35rem 0.65rem;
}

.obra-orcamento-resumo dt,
.obra-orcamento-totais-servico dt { color: #aeb8c5; }
.obra-orcamento-resumo dd,
.obra-orcamento-totais-servico dd { margin: 0; text-align: right; }
.obra-orcamento-etapa { color: #ffb347; margin: 1.6rem 0 0.75rem; }
.obra-orcamento-etapa { scroll-margin-top: 5rem; }
.obra-orcamento-servico { margin-bottom: 1rem; }
.obra-orcamento-servico-cabecalho { align-items: center; display: flex; gap: 0.75rem 1rem; justify-content: space-between; margin-bottom: 0.6rem; }
.obra-orcamento-servico-identificacao { min-width: 0; }
.obra-orcamento-servico-identificacao h3 { margin: 0; overflow-wrap: anywhere; }
.obra-orcamento-servico-identificacao p { margin: 0.25rem 0 0; }
.obra-orcamento-tabela { width: 100%; }
.obra-orcamento-tabela th,
.obra-orcamento-tabela td { padding: 0.55rem 0.65rem; }
.obra-orcamento-tabela .num { text-align: right; white-space: nowrap; }
.obra-orcamento-resumo-etapas { min-width: 680px; }
.obra-orcamento-resumo-etapas th:not(:first-child),
.obra-orcamento-resumo-etapas td:not(:first-child) { text-align: right; white-space: nowrap; }
.obra-orcamento-resumo-etapas a { color: #ffb347; font-weight: 700; text-decoration: none; }
.obra-orcamento-resumo-etapas a:hover,
.obra-orcamento-resumo-etapas a:focus-visible { text-decoration: underline; }
.obra-orcamento-topo {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  justify-content: space-between;
}
.obra-orcamento-topo h2 { flex: 1 1 18rem; margin: 0; min-width: 0; }
.obra-orcamento-topo-acoes { display: flex; flex: 0 1 auto; flex-wrap: wrap; gap: 0.65rem; justify-content: flex-end; max-width: 100%; }
.obra-orcamento-acao {
  align-items: center;
  box-sizing: border-box;
  font-family: inherit;
  font-size: 0.9rem;
  font-weight: 700;
  height: 42px;
  justify-content: center;
  line-height: 1.25;
  padding: 0.65rem 1rem;
  text-align: center;
  text-decoration: none;
}
.obra-curva-abc { margin-top: 1rem; }
.obra-curva-abc h1 { margin: 0 0 0.35rem; }
.obra-curva-cabecalho { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; }
.obra-curva-cabecalho > div { flex: 1 1 18rem; min-width: 0; }
.obra-curva-cabecalho .muted { margin: 0; }
.obra-curva-ajuda { flex: 0 1 34rem; max-width: 100%; }
.obra-curva-ajuda summary { background: #111827; border: 1px solid rgba(255, 140, 0, 0.55); border-radius: 9px; color: #ffb347; cursor: pointer; font-weight: 700; list-style-position: inside; padding: 0.6rem 0.8rem; }
.obra-curva-ajuda summary:hover,
.obra-curva-ajuda summary:focus-visible { border-color: #ffb347; color: #ffd08a; }
.obra-curva-ajuda-conteudo { background: rgba(255, 255, 255, 0.035); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 0 0 9px 9px; color: #c3cad3; padding: 0.8rem; }
.obra-curva-ajuda-conteudo p { margin: 0; }
.obra-curva-ajuda-conteudo p + p { margin-top: 0.75rem; }
.obra-curva-filtros { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1rem 0; }
.obra-curva-filtro {
  background: #111827;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 9px;
  color: #d5dbe3;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  padding: 0.55rem 0.8rem;
}
.obra-curva-filtro:hover,
.obra-curva-filtro:focus-visible,
.obra-curva-filtro.is-active { border-color: #ff8c00; color: #ffb347; }
.obra-curva-filtro.is-active { background: rgba(255, 140, 0, 0.1); }
.obra-curva-resumo { display: grid; gap: 0.65rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 1rem; }
.obra-curva-resumo div { background: rgba(255, 255, 255, 0.035); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 9px; padding: 0.7rem; }
.obra-curva-resumo strong,
.obra-curva-resumo span { display: block; }
.obra-curva-resumo span { color: #b8c0ca; font-size: 0.85rem; margin-top: 0.25rem; }
.obra-curva-tabela-wrap { max-width: 100%; min-width: 0; overflow-x: auto; }
.obra-curva-tabela { min-width: 980px; }
.obra-curva-tabela .num { text-align: right; white-space: nowrap; }
.obra-curva-classe { border: 1px solid transparent; border-radius: 999px; display: inline-block; font-weight: 800; min-width: 1.7rem; padding: 0.18rem 0.45rem; text-align: center; }
.obra-curva-classe-a { background: rgba(52, 168, 83, 0.14); border-color: rgba(92, 190, 116, 0.35); color: #9bd6aa; }
.obra-curva-classe-b { background: rgba(255, 179, 71, 0.12); border-color: rgba(255, 179, 71, 0.32); color: #ffc978; }
.obra-curva-classe-c { background: rgba(104, 137, 181, 0.14); border-color: rgba(125, 156, 199, 0.32); color: #a9c2e3; }
.obra-curva-expandir { margin-top: 0.85rem; }
.obra-orcamento-servico .obra-orcamento-totais-servico { margin-top: 0.65rem; }
main > .obra-actions { align-items: stretch; }
main > .obra-actions > .obra-inline-form { display: flex; margin: 0; }
main > .obra-actions > .btn,
main > .obra-actions > .obra-inline-form > .btn {
  align-items: center;
  box-sizing: border-box;
  font-family: inherit;
  font-size: 1rem;
  height: 42px;
  justify-content: center;
  line-height: 1.25;
  padding: 0.5rem 1rem;
  text-align: center;
}
.calculo-orcamento-feedback { margin: 0.8rem 0 0; }
.calculo-orcamento-feedback a { color: inherit; font-weight: 700; }

.calculadora-contexto-obra {
  background: rgba(255, 140, 0, 0.07);
  border-left: 3px solid rgba(255, 140, 0, 0.65);
  border-radius: 0 8px 8px 0;
  color: #b9c2ce;
  font-size: 0.9rem;
  margin: 0.85rem 0 1.1rem;
  padding: 0.65rem 0.8rem;
}

.calculadora-contexto-obra p { margin: 0; }
.calculadora-contexto-obra p + p { margin-top: 0.3rem; }
.calculadora-contexto-obra a { color: #ffb347; font-weight: 700; }

.calculadora-acoes {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: flex-end;
  margin-left: 0.75rem;
}

.calculadora-acoes form:not([hidden]) { display: flex; margin: 0; }
.calculadora-acoes .calculadora-acao {
  align-items: center;
  box-sizing: border-box;
  font-size: 0.9rem;
  font-weight: 700;
  height: 42px;
  justify-content: center;
  line-height: 1.25;
  padding: 0.65rem 1rem;
  text-align: center;
  text-decoration: none;
}

@media (max-width: 620px) {
  .obra-orcamento-topo { align-items: stretch; }
  .obra-orcamento-topo-acoes { justify-content: flex-start; width: 100%; }
  .obra-orcamento-topo-acoes .obra-orcamento-acao { flex: 1 1 12rem; max-width: 100%; }
  .obra-curva-resumo { grid-template-columns: 1fr; }
  .obra-curva-ajuda { flex-basis: 100%; width: 100%; }
  .obra-curva-filtros { align-items: stretch; }
  .obra-curva-filtro { flex: 1 1 calc(50% - 0.5rem); }
  .obra-curva-expandir { width: 100%; }
  .obra-orcamento-etapa { font-size: 1.2rem; }
  .obra-orcamento-resumo div,
  .obra-orcamento-totais-servico div { gap: 0.5rem; }
  #card-resultado .card-head { align-items: stretch; flex-direction: column; }
  .calculadora-acoes {
    align-items: stretch;
    flex-direction: column;
    justify-content: flex-start;
    margin: 0.5rem 0 0;
    max-width: 100%;
    width: 100%;
  }
  .calculadora-acoes form:not([hidden]) { max-width: 100%; width: 100%; }
  .calculadora-acoes .calculadora-acao { max-width: 100%; width: 100%; }
  .obra-orcamento-excluir-form .obra-btn-danger { min-height: 42px; width: 100%; }
  .obra-orcamento-servico-cabecalho { align-items: stretch; flex-direction: column; }
  main > .obra-actions { flex-direction: column; }
  main > .obra-actions > .btn,
  main > .obra-actions > .obra-inline-form,
  main > .obra-actions > .obra-inline-form > .btn { width: 100%; }
}

/* Retenção: confirmação expandida, utilizável também por teclado. */
.obra-retencao { margin-top: 1rem; min-width: 0; overflow-wrap: anywhere; }
.obra-retencao > summary { cursor: pointer; font-weight: 700; padding: .5rem 0; }
.obra-retencao .obra-lista-item > div,
.obra-retencao-item { min-width: 0; width: 100%; }
.obra-retencao form, .obra-confirmacao { min-width: 0; max-width: 100%; }
.obra-confirmacao > summary { cursor: pointer; padding: .75rem; border: 1px solid; border-radius: 8px; }
.obra-confirmacao[open] { flex-basis: 100%; }
.obra-confirmacao-conteudo { margin-top: .75rem; padding: 1rem; border: 1px solid #986060; border-radius: 8px; }
.obra-retencao .obra-btn-danger { background: #321f28; color: #ffc4c4; border-color: #986060; }
.obra-retencao .btn { min-width: 0; max-width: 100%; min-height: 44px; white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .obra-retencao .obra-lista-item { flex-direction: column; align-items: stretch; }
  .obra-retencao .obra-actions { flex-direction: column; align-items: stretch; }
  .obra-retencao .btn { width: 100%; box-sizing: border-box; }
}
