/* Tarefas (obrigacoes.js). Prefixo dp- para não mexer nas outras telas.
   Usa os tokens do design system WFtec (public/app.css, 02/10/2026). */
#dp-app { max-width: 1180px; margin: 0 auto; padding: var(--sp-4, 16px); color: var(--ink, #262626); font-family: var(--f-body, sans-serif); }
#dp-app h2 { margin: 0; font-size: var(--fs-xl, 20px); font-family: var(--f-display, sans-serif); letter-spacing: -.01em; }
#dp-app h3 { margin: var(--sp-4) 0 var(--sp-2); font-size: var(--fs-md); font-family: var(--f-display, sans-serif); }

/* topo e abas */
.dp-topo { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3, 12px); margin-bottom: var(--sp-4, 16px); }
.dp-voltar { background: none; border: 0; color: var(--accent-text, #B83A16); cursor: pointer; font: inherit; font-size: var(--fs-md); padding: 0; }
.dp-abas { display: flex; gap: var(--sp-1, 4px); margin-left: auto; background: var(--surface-2, #FBF8F6); border: 1px solid var(--line, #E6DDD7); border-radius: var(--r-pill, 999px); padding: 3px; }
.dp-aba { border: 0; background: none; border-radius: var(--r-pill, 999px); padding: 7px 16px; cursor: pointer; font: inherit; font-size: var(--fs-md); color: var(--muted, #6B6461); }
.dp-aba.on { background: var(--carvao, #262626); color: #fff; }

/* cartões do painel */
.dp-cards { display: grid; grid-template-columns: repeat(3, minmax(120px, 1fr)); gap: var(--sp-3, 12px); margin: 0 0 var(--sp-4, 16px); }
.dp-card { background: var(--surface, #fff); border: 1px solid var(--line, #E6DDD7); border-radius: var(--r-lg, 12px); padding: var(--sp-4, 16px); font-size: var(--fs-sm, 12.5px); color: var(--muted, #6B6461); box-shadow: var(--shadow); }
.dp-card span { display: block; font-size: var(--fs-2xl, 28px); font-weight: 700; font-family: var(--f-display, sans-serif); color: var(--ink, #262626); line-height: 1.1; }
.dp-card.ok span { color: var(--ok, #1C7438); }
.dp-card.alerta-c { border-color: var(--erro, #B0271C); background: var(--erro-soft, #FBE3E0); }
.dp-card.alerta-c span { color: var(--erro, #B0271C); }

/* filtros e botões */
.dp-barra { display: flex; flex-wrap: wrap; gap: var(--sp-3, 12px); align-items: end; margin-bottom: var(--sp-3, 12px); }
.dp-barra label { display: flex; flex-direction: column; font-size: var(--fs-xs, 11.5px); gap: 3px; color: var(--muted, #6B6461); }
.dp-barra input, .dp-barra select, .dp-form input, .dp-form select, .dp-form textarea, .dp-lote input, .dp-comp-in {
  padding: 7px 10px; border: 1px solid var(--line-strong, #D2C6BE); border-radius: var(--r-sm, 6px); font: inherit; background: var(--surface, #fff); color: inherit; }
.dp-barra input:focus-visible, .dp-form input:focus-visible, .dp-comp-in:focus-visible { outline: none; box-shadow: var(--foco); }
.dp-btn { background: var(--accent, #F15A25); color: #fff; border: 0; border-radius: var(--r-md, 8px); padding: 9px 16px; cursor: pointer; font: inherit; font-weight: 600; }
.dp-btn:hover { background: var(--accent-hover, #E04A17); }
.dp-btn.sec { background: var(--surface, #fff); color: var(--ink, #262626); border: 1px solid var(--line-strong, #D2C6BE); font-weight: 500; }
.dp-btn.sec:hover { background: var(--surface-2, #FBF8F6); }
.dp-btn.mini { padding: 5px 10px; font-size: var(--fs-sm, 12.5px); }
.dp-lote { display: flex; flex-wrap: wrap; gap: var(--sp-2, 8px); align-items: center; background: var(--atencao-soft, #FDF1DC); border: 1px solid color-mix(in srgb, var(--atencao, #8A5A00) 30%, transparent); padding: var(--sp-2) var(--sp-3); border-radius: var(--r-md, 8px); margin-bottom: var(--sp-3); font-size: var(--fs-sm); }

/* lista de tarefas */
.dp-lista { display: flex; flex-direction: column; gap: var(--sp-2, 8px); }
.dp-linha { background: var(--surface, #fff); border: 1px solid var(--line, #E6DDD7); border-radius: var(--r-lg, 12px); box-shadow: var(--shadow); overflow: hidden; }
.dp-linha-topo { width: 100%; display: grid; grid-template-columns: 52px minmax(180px, 1.6fr) 92px minmax(90px, .9fr) 120px 110px; gap: var(--sp-3, 12px); align-items: center; padding: var(--sp-3, 12px); background: none; border: 0; cursor: pointer; text-align: left; font: inherit; }
.dp-linha-topo:hover { background: var(--surface-2, #FBF8F6); }

/* selo da data */
.dp-venc { display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: var(--r-md, 8px); padding: 5px 2px; background: var(--same-soft, #EFE9E5); color: var(--ink, #262626); }
.dp-venc b { font-size: var(--fs-lg, 16px); font-family: var(--f-display, sans-serif); line-height: 1; }
.dp-venc small { font-size: var(--fs-xs, 11.5px); text-transform: uppercase; letter-spacing: .04em; color: var(--muted, #6B6461); }
.dp-venc.st-atrasada { background: var(--erro-soft, #FBE3E0); }
.dp-venc.st-atrasada b, .dp-venc.st-atrasada small { color: var(--erro, #B0271C); }
.dp-venc.st-baixada { background: var(--ok-soft, #E0F2E5); }
.dp-venc.st-baixada b, .dp-venc.st-baixada small { color: var(--ok, #1C7438); }

/* tarefa e empresa */
.dp-quem { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.dp-obr { font-weight: 600; font-size: var(--fs-md, 14px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dp-emp { font-size: var(--fs-sm, 12.5px); color: var(--muted, #6B6461); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dp-resp { font-size: var(--fs-sm, 12.5px); color: var(--muted, #6B6461); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* chips de setor */
.dp-setor-chip { justify-self: start; font-size: var(--fs-xs, 11.5px); font-weight: 600; padding: 3px 9px; border-radius: var(--r-pill, 999px); white-space: nowrap; }
.dp-setor-chip.s-pessoal { background: var(--up-soft, #E1EBF7); color: var(--up, #1D5CA3); }
.dp-setor-chip.s-fiscal { background: var(--accent-soft, #FCE3D8); color: var(--accent-text, #B83A16); }
.dp-setor-chip.s-contabil { background: var(--ok-soft, #E0F2E5); color: var(--ok, #1C7438); }
.dp-setor-chip.s-societario { background: var(--down-soft, #F6E3EC); color: var(--down, #8C2F5A); }
.dp-setor-chip.s-outro { background: var(--same-soft, #EFE9E5); color: var(--same, #6B6461); }

/* progresso */
.dp-prog { display: flex; align-items: center; gap: var(--sp-2, 8px); }
.dp-bar { flex: 1; height: 6px; border-radius: var(--r-pill, 999px); background: var(--same-soft, #EFE9E5); overflow: hidden; }
.dp-bar i { display: block; height: 100%; background: var(--ok, #1C7438); border-radius: inherit; transition: width .3s; }
.dp-prog em { font-style: normal; font-size: var(--fs-xs, 11.5px); color: var(--muted, #6B6461); min-width: 26px; text-align: right; }

/* selo de situação */
.dp-badge { justify-self: end; font-size: var(--fs-xs, 11.5px); font-weight: 600; padding: 4px 10px; border-radius: var(--r-pill, 999px); white-space: nowrap; background: var(--same-soft, #EFE9E5); color: var(--same, #6B6461); }
.dp-badge.st-atrasada { background: var(--erro-soft, #FBE3E0); color: var(--erro, #B0271C); }
.dp-badge.st-andamento { background: var(--atencao-soft, #FDF1DC); color: var(--atencao, #8A5A00); }
.dp-badge.st-baixada { background: var(--ok-soft, #E0F2E5); color: var(--ok, #1C7438); }

/* etapas */
.dp-detalhe:empty { display: none; }
.dp-detalhe { padding: var(--sp-1) var(--sp-4) var(--sp-3); border-top: 1px solid var(--line, #E6DDD7); background: var(--surface-2, #FBF8F6); }
.dp-etapa { display: grid; grid-template-columns: 24px 1fr auto; gap: 4px var(--sp-2, 8px); align-items: center; padding: var(--sp-2, 8px) 0; border-bottom: 1px dashed var(--line, #E6DDD7); }
.dp-etapa:last-of-type { border-bottom: 0; }
.dp-check { display: flex; align-items: center; justify-content: center; }
.dp-etapa.ok .dp-check { color: var(--ok, #1C7438); font-weight: 700; }
.dp-et-t { font-size: var(--fs-md, 14px); }
.dp-et-t small { color: var(--muted, #6B6461); }
.dp-etapa.ok .dp-et-t { color: var(--muted, #6B6461); }
.dp-et-s { grid-column: 2; font-size: var(--fs-xs, 11.5px); color: var(--muted, #6B6461); }
.dp-et-b { grid-column: 3; grid-row: 1 / span 2; display: flex; gap: var(--sp-2, 8px); align-items: center; }
.dp-comp-in { width: 170px; }
.dp-anexos { grid-column: 2 / 4; display: flex; flex-wrap: wrap; gap: var(--sp-2, 8px); align-items: center; font-size: var(--fs-xs, 11.5px); }
.dp-anexos:empty { display: none; }
.dp-anexo { color: var(--accent-text, #B83A16); text-decoration: none; }
.dp-upload { color: var(--muted, #6B6461); }
.dp-etapa.ok .dp-upload { display: none; } /* etapa baixada não precisa do envio; a lista de anexos continua */
.dp-aviso-in { color: var(--muted, #6B6461); }

/* formulários, tabelas, avisos */
.dp-acoes { display: flex; gap: var(--sp-2, 8px); margin-bottom: var(--sp-3, 12px); }
.dp-form { display: flex; flex-wrap: wrap; gap: var(--sp-3, 12px); align-items: end; background: var(--surface, #fff); border: 1px solid var(--line, #E6DDD7); border-radius: var(--r-lg, 12px); padding: var(--sp-4, 16px); margin-bottom: var(--sp-3, 12px); box-shadow: var(--shadow); }
.dp-form label { display: flex; flex-direction: column; font-size: var(--fs-xs, 11.5px); gap: 3px; color: var(--muted, #6B6461); }
.dp-form .dp-check-l { flex-direction: row; align-items: center; gap: var(--sp-2, 8px); font-size: var(--fs-sm, 12.5px); color: var(--ink, #262626); }
.dp-largo { width: 100%; }
.dp-tab { width: 100%; border-collapse: collapse; background: var(--surface, #fff); border: 1px solid var(--line, #E6DDD7); border-radius: var(--r-lg, 12px); overflow: hidden; box-shadow: var(--shadow); font-size: var(--fs-md, 14px); }
.dp-tab th { text-align: left; font-size: var(--fs-xs, 11.5px); text-transform: uppercase; letter-spacing: .05em; color: var(--muted, #6B6461); background: var(--surface-2, #FBF8F6); padding: 10px var(--sp-3, 12px); border-bottom: 1px solid var(--line, #E6DDD7); }
.dp-tab td { padding: 10px var(--sp-3, 12px); border-bottom: 1px solid var(--line, #E6DDD7); vertical-align: top; }
.dp-tab tr:last-child td { border-bottom: 0; }
.dp-tab tr.inativa td { color: var(--muted, #6B6461); }
.dp-tab small { color: var(--muted, #6B6461); }
.dp-vazio { padding: var(--sp-4, 16px); color: var(--muted, #6B6461); text-align: center; }
.dp-dica { font-size: var(--fs-sm, 12.5px); color: var(--muted, #6B6461); margin: var(--sp-2, 8px) 0; }
.dp-carregando { padding: var(--sp-3); color: var(--muted, #6B6461); }
.dp-catalogo h3 { margin-top: var(--sp-2); }

/* telas estreitas: a grade vira duas linhas */
@media (max-width: 760px) {
  .dp-linha-topo { grid-template-columns: 52px 1fr 110px; }
  .dp-setor-chip, .dp-resp { display: none; }
  .dp-prog { grid-column: 2; }
  .dp-cards { grid-template-columns: 1fr 1fr 1fr; gap: var(--sp-2); }
}

/* quadro Equipe (painel do gestor) */
.dp-equipe h3 { margin-top: 0; }
.dp-eq-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: var(--sp-3, 12px); margin-bottom: var(--sp-4, 16px); }
.dp-eq-card { display: grid; grid-template-columns: 1fr auto; gap: 4px var(--sp-2, 8px); align-items: center; text-align: left; font: inherit; cursor: pointer;
  background: var(--surface, #fff); border: 1px solid var(--line, #E6DDD7); border-radius: var(--r-lg, 12px); padding: var(--sp-3, 12px); box-shadow: var(--shadow); }
.dp-eq-card:hover { background: var(--surface-2, #FBF8F6); }
.dp-eq-card.tem-atraso { border-color: color-mix(in srgb, var(--erro, #B0271C) 45%, transparent); }
.dp-eq-nome { font-weight: 600; font-size: var(--fs-md, 14px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dp-eq-pct { font-family: var(--f-display, sans-serif); font-weight: 700; font-size: var(--fs-lg, 16px); }
.dp-eq-card .dp-bar { grid-column: 1 / 3; }
.dp-eq-nums { grid-column: 1 / 3; font-size: var(--fs-xs, 11.5px); color: var(--muted, #6B6461); }
.dp-eq-atraso { grid-column: 1 / 3; justify-self: start; font-size: var(--fs-xs, 11.5px); font-weight: 600; padding: 2px 8px; border-radius: var(--r-pill, 999px); background: var(--erro-soft, #FBE3E0); color: var(--erro, #B0271C); }
.dp-eq-ok { grid-column: 1 / 3; justify-self: start; font-size: var(--fs-xs, 11.5px); font-weight: 600; padding: 2px 8px; border-radius: var(--r-pill, 999px); background: var(--ok-soft, #E0F2E5); color: var(--ok, #1C7438); }

/* faixa vence hoje / esta semana */
.dp-prazo-faixa { display: flex; flex-wrap: wrap; gap: var(--sp-2, 8px); align-items: center; margin-bottom: var(--sp-3, 12px); }
.dp-prazo { font: inherit; font-size: var(--fs-sm, 12.5px); font-weight: 600; cursor: pointer; padding: 6px 14px; border-radius: var(--r-pill, 999px); border: 1px solid var(--line-strong, #D2C6BE); background: var(--surface, #fff); color: var(--muted, #6B6461); }
.dp-prazo.tem { border-color: color-mix(in srgb, var(--erro, #B0271C) 45%, transparent); color: var(--erro, #B0271C); background: var(--erro-soft, #FBE3E0); }
.dp-prazo.on { background: var(--carvao, #262626); border-color: var(--carvao, #262626); color: #fff; }
.dp-prazo-faixa small { color: var(--muted, #6B6461); font-size: var(--fs-xs, 11.5px); }

/* botão que esconde o campo de arquivo (subir planilha) */
.dp-arq { display: inline-flex; align-items: center; cursor: pointer; }
