/* MOVORÇA R23: materiais × mão de obra (base no protótipo do Mario, Fase 5). */
:root { --k-mat: #1d4ed8; --k-mat-bg: #e8efff; --k-mo: #9a3412; --k-mo-bg: #fdeee4; --k-sv: #4b5563; --k-sv-bg: #eef0f2; }
.kind-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 40px 8px 0; }
.kind-row > .kind-seg { flex: 1 1 100%; }
/* R24: grade de 3 colunas na largura do cartão; nada corta nem sobrepõe. */
.kind-seg { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; box-sizing: border-box; padding: 3px; gap: 2px; background: #efe7df; border-radius: 12px; }
.kind-seg button { min-height: 44px; min-width: 0; padding: 0 4px; border: 0; border-radius: 9px; background: transparent; font: inherit; font-size: .75rem; font-weight: 700; color: #5b5049; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kind-seg .k-short { display: none; }
@media (max-width: 399.98px) { .kind-seg .k-full { display: none; } .kind-seg .k-short { display: inline; } }
.kind-seg button[aria-checked="true"][data-kind-opt="material"] { background: var(--k-mat); color: #fff; }
.kind-seg button[aria-checked="true"][data-kind-opt="mao_de_obra"] { background: var(--k-mo); color: #fff; }
.kind-seg button[aria-checked="true"][data-kind-opt="servico"] { background: var(--k-sv); color: #fff; }
.kind-seg button:focus-visible { outline: 3px solid #b8892e; outline-offset: 2px; }
.kind-seg button:disabled { cursor: default; opacity: .8; }
.kind-ai { font-size: .76rem; color: #6d28d9; font-weight: 700; }
.kind-legacy { font-size: .76rem; color: #6b4300; font-weight: 700; }
.kind-legacy-note, .catalog-kind-note { background: #fff7e6; border: 1px solid #f3d39b; color: #6b4300; padding: 10px 12px; border-radius: 12px; }
.item-card.has-kind-err { box-shadow: inset 3px 0 0 #b42318; background: #fff5f4; }
.kind-summary { margin: 12px 0 4px; }
.kind-chip { display: inline-flex; align-items: center; gap: 4px; font-size: .75rem; font-weight: 800; padding: 2px 8px; border-radius: 99px; white-space: nowrap; }
/* R24: subtotais com barra proporcional (protótipo do Mario). */
.kind-bar { display: block; }
.st-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; align-items: baseline; padding: 8px 0; border-bottom: 1px dashed rgba(0,0,0,.12); }
.st-row .bar { grid-column: 1 / -1; height: 6px; border-radius: 6px; background: #efe7df; overflow: hidden; }
.st-row .bar i { display: block; height: 100%; }
.st-row.k-material .bar i { background: var(--k-mat); }
.st-row.k-mao_de_obra .bar i { background: var(--k-mo); }
.st-row.k-servico .bar i { background: var(--k-sv); }
.st-row b { white-space: nowrap; }
.kind-chip.k-material { background: var(--k-mat-bg); color: var(--k-mat); }
.kind-chip.k-mao_de_obra { background: var(--k-mo-bg); color: var(--k-mo); }
.kind-chip.k-servico { background: var(--k-sv-bg); color: var(--k-sv); }
.kind-by-option { margin-top: 8px; }
.kind-by-option summary { min-height: 44px; display: inline-flex; align-items: center; cursor: pointer; font-weight: 700; }
.kind-table-wrap { overflow-x: auto; }
.per-opt { width: 100%; border-collapse: collapse; font-size: .86rem; }
.per-opt th, .per-opt td { padding: 8px 6px; border-bottom: 1px solid rgba(0,0,0,.1); text-align: right; white-space: nowrap; }
.per-opt th:first-child { text-align: left; }
.per-opt tr.is-active th, .per-opt tr.is-active td { font-weight: 800; }
.breakdown-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 14px 0; padding: 12px 0; border-top: 1px solid rgba(0,0,0,.08); }
.breakdown-row p { margin: 2px 0 0; }
.kind-tag { display: inline-block; font-size: .74rem; font-weight: 700; padding: 1px 8px; border-radius: 99px; background: var(--k-sv-bg); color: var(--k-sv); }
.kind-tag.kind-material { background: var(--k-mat-bg); color: var(--k-mat); }
.kind-tag.kind-mao_de_obra { background: var(--k-mo-bg); color: var(--k-mo); }
/* /q/ */
.card-bd { margin: 0 0 10px; padding: 8px 10px; background: #f7f2ed; border-radius: 10px; font-size: .84rem; line-height: 1.45; }
.card-bd span { display: inline-block; white-space: nowrap; }
.kind-groups h4 { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; margin: 12px 0 4px; font-size: .95rem; }
.kind-groups ul { list-style: none; margin: 0; padding: 0; }
.kind-groups li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; padding: 6px 0; border-bottom: 1px dashed rgba(0,0,0,.12); }
.kind-groups li span { overflow-wrap: anywhere; }
.kind-groups li b { white-space: nowrap; }
.kind-groups li small { grid-column: 1; color: #6b625c; }
@media (max-width: 760px) {
  .quote-options { overflow-x: clip; } /* R20 deixava 2px de rolagem lateral no carrossel */
  .kind-row { margin: 20px 0 8px; width: 100%; } /* R24: seletor na largura toda do cartão, abaixo do × */
}
