/* Pedidos ao fornecedor: prioridades gerais e lista operacional. */
.pp-overview { color: #243449; }
.ppo-header { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 8px; }
.ppo-header > div:first-child { flex: 1 1 300px; }
.ppo-header .page-title { margin-bottom: 3px; }
.ppo-header p { margin: 0; color: #64748b; font-size: .8rem; }
.ppo-header-acoes { display: flex; flex-wrap: wrap; gap: 6px; }
.ppo-visoes { display: flex; align-items: center; gap: 10px; }
.ppo-visoes > span { display: none; }
.ppo-visoes .btn { white-space: nowrap; }
.ppo-global { margin-bottom: 10px; }
.ppo-escopo { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-bottom: 8px; font-size: .76rem; }
.ppo-escopo span { color: #64748b; font-size: .72rem; }
.ppo-pendencias { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ppo-pendencia { display: flex; gap: 8px; align-items: center; text-align: left; border: 1px solid #e2e8f0; border-radius: 8px; padding: 7px 10px; background: #fff; color: #243449; min-width: 0; }
.ppo-pendencia > span:last-child { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1px 8px; flex: 1; min-width: 0; }
.ppo-pendencia > span:last-child > span { font-size: .8rem; font-weight: 600; }
.ppo-pendencia b { font-size: 1.25rem; font-variant-numeric: tabular-nums; }
.ppo-pendencia .badge { color: inherit; background: transparent; padding: 0; }
.ppo-pendencia small { display: block; grid-column: 1 / -1; font-size: .68rem; color: #64748b; line-height: 1.5; }
.ppo-pend-icone { display: none; }
.ppo-pendencia.is-vinculo { border-top: 3px solid #2563eb; }
.ppo-pendencia.is-atraso { border-top: 3px solid #dc2626; }
.ppo-pendencia.is-atraso .ppo-pend-icone { color: #b91c1c; background: #fff1f2; }
.ppo-pendencia.is-atraso b { color: #b91c1c; }
.ppo-pendencia.is-envio { border-top: 3px solid #d97706; }
.ppo-pendencia.is-envio .ppo-pend-icone { color: #b45309; background: #fffbeb; }
.ppo-pendencia:hover { background: #f8fafc; box-shadow: 0 2px 5px #0f172a0a; }
.ppo-metricas { display: grid; grid-template-columns: 1fr 1.35fr 1.35fr 1fr 1fr; margin-top: 7px; background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; }
.ppo-metrica { border: 0; border-right: 1px solid #edf2f7; background: transparent; text-align: left; padding: 7px 10px; min-width: 0; color: inherit; }
.ppo-metrica:last-child { border-right: 0; }
.ppo-metrica > span, .ppo-metrica > b, .ppo-metrica > small { display: block; }
.ppo-metrica > span { font-size: .69rem; color: #526175; margin-bottom: 3px; }
.ppo-metrica > b { font-size: 1rem; font-variant-numeric: tabular-nums; line-height: 1.3; }
.ppo-metrica > small { display: none; }
.ppo-metrica[data-metrica="valor_saldo"] > b { color: #b45309; }
.ppo-atalho-status:hover { background: #f8fafc; }
.ppo-escopo-nota { color: #64748b; font-size: .65rem; margin: 5px 0 0; }
.ppo-filtros { border: 1px solid #e2e8f0; border-radius: 8px; padding: 8px 10px 6px; background: #fff; margin-bottom: 8px; }
.ppo-filtros-campos { display: grid; grid-template-columns: 1.2fr .9fr 1.25fr 1fr 1fr; gap: 10px; }
.ppo-filtros-campos > label { display: block; min-width: 0; font-size: .7rem; font-weight: 600; color: #526175; }
.ppo-filtros .form-control, .ppo-filtros .form-select { margin-top: 4px; font-size: .77rem; font-weight: 400; min-height: 32px; }
.ppo-filtros .form-select, .ppo-ordenacao .form-select { padding-right: 34px; }
.ppo-filtros .ppf-filtro { max-width: none; }
.ppo-status-barra { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 8px; padding-top: 6px; }
.ppo-status { margin: 0; padding: 0; border: 0; display: flex; align-items: center; gap: 10px; min-width: 0; }
.ppo-status legend { float: left; font-size: .7rem; color: #526175; font-weight: 600; width: auto; margin: 0; }
.ppo-status legend small { font-weight: 400; display: block; font-size: .62rem; color: #64748b; }
.ppo-status > div { display: flex; flex-wrap: wrap; gap: 4px; }
.pp-overview .pp-chip { border: 1px solid #e2e8f0; background: #fff; color: #526175; font-size: .71rem; padding: 4px 8px; border-radius: 5px; }
.pp-overview .pp-chip.is-active, .pp-overview .pp-chip[aria-pressed="true"] { color: #1e40af; background: #eff6ff; border-color: #93c5fd; }
.ppo-status-barra > .btn { font-size: .72rem; padding: 4px 0; }
.ppo-status-nota { font-size: .68rem; color: #64748b; margin: 5px 0 0; }
.ppo-resultados { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
.ppo-resultados > div:first-child { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; }
.ppo-resultados > div:first-child > b { font-size: .8rem; }
.ppo-resultados > div:first-child > span { color: #64748b; font-size: .71rem; }
.ppo-ordenacao { display: flex; align-items: center; gap: 6px; }
.ppo-ordenacao label { font-size: .7rem; color: #64748b; white-space: nowrap; }
.ppo-ordenacao .form-select { width: 185px; font-size: .73rem; min-height: 29px; }
.ppo-ordenacao .btn { padding: 3px 7px; }
.ppo-filtro-ativo { margin-bottom: 8px; }
.ppo-tabela-wrap { border: 1px solid #e2e8f0; border-radius: 8px; background: #fff; max-height: 65vh; }
#pp-tabela { margin: 0; width: 100%; min-width: 1040px; color: #243449; font-size: .78rem; }
#pp-tabela > thead > tr > th { color: #526175; background: #f8fafc; font-weight: 600; font-size: .7rem; padding: 8px; border-bottom: 1px solid #e2e8f0; white-space: nowrap; position: sticky; top: 0; z-index: 2; }
#pp-tabela > tbody > tr > td { padding: 7px 8px; border-color: #edf2f7; vertical-align: middle; }
#pp-tabela th.sortable { cursor: pointer; user-select: none; }
#pp-tabela th.sorted, #pp-tabela th.sorted .sort-caret { color: #1d4ed8; }
#pp-tabela .ppo-dias { white-space: nowrap; }
#pp-tabela .ppo-ped-forn { display: block; font-weight: 600; color: #2f5d86; overflow-wrap: anywhere; }
#pp-tabela > tbody > tr > td > small { display: block; color: #64748b; font-size: .66rem; margin-top: 3px; }
#pp-tabela .ppo-numero { display: block; font-size: .81rem; color: #1e3a5f; }
#pp-tabela .ppo-fornecedor { min-width: 165px; max-width: 250px; overflow-wrap: anywhere; }
#pp-tabela .ppo-proxima-entrega > small { display: none; }
#pp-tabela .ppo-proxima-entrega > b { font-weight: 500; font-variant-numeric: tabular-nums; white-space: nowrap; }
#pp-tabela .ppo-linha-atraso > td:first-child { box-shadow: inset 3px 0 #dc2626; }
.ppo-atraso { display: block; background: #fff1f2; border: 0; border-radius: 5px; padding: 5px 6px; margin-top: 5px; text-align: left; font-size: .65rem; color: #b91c1c; min-width: 146px; }
.ppo-atraso > span, .ppo-atraso > small { display: block; margin-top: 2px; font-size: .63rem; }
.ppo-atraso > small { color: #9f1239; }
.ppo-qtd > b { font-size: .73rem; }
.ppo-qtd > small { max-width: 125px; }
.ppo-progresso { min-width: 70px; }
.ppo-progresso > b { font-size: .74rem; font-weight: 600; }
.ppo-progresso .progress { width: 65px; height: 5px; margin: 4px 0 0 auto; background: #e8edf4; }
.ppo-saldo { font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
#pp-tabela .badge { font-size: .65rem; font-weight: 600; }
.ppo-acao-envio { display: block; border: 0; padding: 0; background: transparent; text-align: left; max-width: 160px; }
.ppo-acao-envio .ppf-envio { text-decoration: underline; text-underline-offset: 3px; font-size: .72rem; }
.ppo-acao-envio > small { display: block; color: #64748b; font-size: .64rem; margin-top: 5px; }
#pp-tabela .ppf-envio { font-size: .72rem; }
#pp-tabela .ppf-envio-sub { font-size: .64rem; white-space: normal; }
#pp-tabela .ppf-acoes { gap: 5px; }
#pp-tabela .ppf-acoes .btn { font-size: .7rem; padding: 4px 7px; white-space: nowrap; }
.ppo-vazio { display: flex; flex-direction: column; gap: 7px; align-items: center; text-align: center; padding: 30px 16px; border: 1px dashed #cbd5e1; background: #fff; border-radius: 8px; font-size: .8rem; color: #526175; }
.ppo-vazio > i { font-size: 1.3rem; color: #94a3b8; }
.ppo-vazio > span { max-width: 600px; }
.ppo-ajuda { margin-top: 12px; font-size: .74rem; color: #64748b; }
.ppo-ajuda > summary { cursor: pointer; }
.ppo-ajuda > div { padding: 10px 12px 2px; margin-top: 7px; background: #fff; border: 1px solid #e2e8f0; border-radius: 6px; }
.ppo-ajuda p { margin-bottom: 8px; max-width: 1000px; }
.pp-overview button:focus-visible, .pp-overview th:focus-visible, .pp-overview summary:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
@media (max-width: 1199.98px) {
  .ppo-header { gap: 8px; }
  .ppo-header > div:first-child { flex-basis: calc(100% - 320px); }
  .ppo-visoes { margin-left: auto; }
  .ppo-pendencia { padding: 9px; gap: 7px; }
  .ppo-pend-icone { width: 27px; height: 27px; }
  .ppo-pendencia > span:last-child > span { font-size: .73rem; }
  .ppo-pendencia small { font-size: .63rem; }
  .ppo-metrica { padding: 7px 9px; }
  .ppo-metrica > b { font-size: .88rem; }
  .ppo-filtros-campos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .ppo-header { display: block; }
  .ppo-header-acoes { margin-top: 10px; }
  .ppo-visoes { margin-top: 9px; }
  .ppo-pendencias { gap: 6px; }
  .ppo-pendencia { display: block; padding: 8px; }
  .ppo-pend-icone { display: none; }
  .ppo-pendencia > span:last-child { display: flex; align-items: flex-start; flex-direction: column; gap: 4px; }
  .ppo-pendencia small { display: none; }
  .ppo-pendencia > span:last-child > span { font-size: .7rem; line-height: 1.4; }
  .ppo-pendencia b { font-size: 1.1rem; }
  .ppo-metricas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ppo-metrica { border-bottom: 1px solid #edf2f7; }
  .ppo-metrica > b { font-size: .95rem; }
  .ppo-metrica:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .ppo-metrica > small { display: none; }
  .ppo-status { display: block; }
  .ppo-status legend { float: none; margin-bottom: 6px; }
  .ppo-status legend small { display: inline; margin-left: 6px; }
  .ppo-resultados { align-items: flex-start; }
  .ppo-resultados > div:first-child { display: block; }
  .ppo-resultados > div:first-child > span { display: block; margin-top: 4px; }
  .ppo-tabela-wrap { border: 0; border-radius: 0; overflow: visible; max-height: none; background: transparent; }
  #pp-tabela { min-width: 0; display: block; background: transparent; }
  #pp-tabela thead { display: none; }
  #pp-tabela tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  #pp-tabela tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 12px; border: 1px solid #e2e8f0; border-radius: 8px; background: #fff; min-width: 0; }
  #pp-tabela > tbody > tr > td { padding: 0; border: 0; min-width: 0; box-shadow: none; text-align: left !important; overflow-wrap: anywhere; }
  #pp-tabela .ppo-linha-atraso { border-left: 3px solid #dc2626; }
  #pp-tabela .ppo-linha-atraso > td:first-child { box-shadow: none; }
  #pp-tabela td::before { content: attr(data-col); display: block; font-size: .65rem; color: #64748b; margin-bottom: 4px; }
  #pp-tabela td:first-child, #pp-tabela .ppo-fornecedor, #pp-tabela td:nth-child(3), #pp-tabela td:last-child { grid-column: 1 / -1; }
  #pp-tabela td:first-child::before, #pp-tabela td:nth-child(3)::before, #pp-tabela td:last-child::before { display: none; }
  #pp-tabela .ppo-fornecedor { min-width: 0; max-width: none; font-size: .78rem; }
  #pp-tabela .ppo-proxima-entrega > small { display: block; color: #64748b; font-size: .65rem; }
  #pp-tabela .ppo-numero { font-size: .9rem; }
  #pp-tabela .ppo-qtd > small { max-width: none; }
  .ppo-progresso .progress { margin-left: 0; }
  #pp-tabela .ppf-acoes { justify-content: flex-end; padding-top: 8px; border-top: 1px solid #e2e8f0; }
  #pp-tabela .ppf-acoes .btn { font-size: .75rem; padding: 5px 9px; }
  #pp-tabela .ppo-acao-envio { max-width: none; }
}
@media (max-width: 575.98px) {
  .ppo-header .page-title { font-size: 1.15rem; }
  .ppo-header-acoes > .btn { font-size: .75rem; }
  .ppo-visoes .btn { font-size: .74rem; }
  .ppo-escopo span { line-height: 1.5; }
  .ppo-filtros { padding: 10px; }
  .ppo-filtros-campos { gap: 9px; }
  .ppo-filtros-campos > .ppo-busca { grid-column: 1 / -1; }
  .ppo-filtros-campos > label:nth-child(3) { grid-column: 1 / -1; }
  .ppo-filtros .form-select { font-size: .72rem; }
  .ppo-status-barra { gap: 5px; }
  .ppo-resultados { display: block; }
  .ppo-ordenacao { margin-top: 10px; }
  .ppo-ordenacao .form-select { flex: 1; min-width: 0; }
  #pp-tabela tbody { grid-template-columns: minmax(0, 1fr); }
}
