html[data-ui="v2"] #view-kanban,
html[data-ui="v2"] .main-content {
  min-width: 0;
  scrollbar-gutter: stable;
}

html[data-ui="v2"] #view-kanban {
  padding: var(--v2-space-5);
  font-family: var(--v2-font-interface);
}

html[data-ui="v2"] #view-kanban > .section-toolbar {
  display: grid;
  grid-template-columns: minmax(250px, 1fr) auto auto;
  align-items: end;
  gap: var(--v2-space-4);
  margin-bottom: var(--v2-space-4);
  padding: var(--v2-space-4) var(--v2-space-5);
  background: var(--v2-color-surface);
  border: 1px solid var(--v2-color-border);
  border-radius: var(--v2-radius-lg);
  box-shadow: var(--v2-shadow-subtle);
}

/* Análises e conferência: os painéis informativos (repetidas, sugestão da Atrium IA e carteira)
   ficam recolhidos atrás de um botão discreto logo abaixo da toolbar — a gestão das tarefas é o
   corpo da view. A região desaparece quando nenhum painel tem conteúdo. */
html[data-ui="v2"] .task-analysis {
  display: grid;
  gap: var(--v2-space-2);
  margin-bottom: var(--v2-space-2);
}

html[data-ui="v2"] .task-analysis-body { display: grid; }
html[data-ui="v2"] .task-analysis-body.hidden { display: none; }
/* `display: grid` vence o `hidden` do navegador: sem isto a região vazia mostraria o gatilho. */
html[data-ui="v2"] .task-analysis[hidden] { display: none; }

html[data-ui="v2"] .task-analysis-toggle {
display: inline-flex;
align-items: center;
gap: 8px;
width: fit-content;
min-height: 40px;
padding: 2px 8px;
  color: var(--v2-color-muted-foreground);
  background: transparent;
  border: 0;
  border-radius: var(--v2-radius-sm);
  font: 600 12px var(--v2-font-interface);
  cursor: pointer;
}

html[data-ui="v2"] .task-analysis-toggle:is(:hover, :focus-visible) {
  color: var(--v2-color-foreground);
  background: var(--v2-color-surface-secondary);
}

html[data-ui="v2"] .task-analysis-toggle .atrium-icon {
  width: 12px;
  height: 12px;
  transition: transform 120ms ease;
}

html[data-ui="v2"] .task-analysis-toggle[aria-expanded="true"] .atrium-icon { transform: rotate(90deg); }

@media (max-width: 620px) {
  html[data-ui="v2"] .task-analysis-toggle { min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  html[data-ui="v2"] .task-analysis-toggle .atrium-icon { transition: none; }
}

html[data-ui="v2"] .v2-task-heading {
  min-width: 0;
  display: grid;
  grid-template-columns: auto auto;
  gap: 1px var(--v2-space-3);
  align-items: baseline;
}

html[data-ui="v2"] .v2-task-heading p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--v2-color-gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

html[data-ui="v2"] .v2-task-heading h2 {
  margin: 0;
  color: var(--v2-color-foreground);
  font: 600 32px/36px var(--v2-font-editorial);
  letter-spacing: -.02em;
}

html[data-ui="v2"] .task-view-cluster {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--v2-space-3);
  min-width: 0;
}

html[data-ui="v2"] .task-view-cluster > span {
  flex: none;
  white-space: nowrap;
  padding: 3px 9px;
  color: var(--v2-color-primary);
  background: var(--v2-color-primary-subtle);
  border: 1px solid var(--v2-color-border);
  border-radius: var(--v2-radius-round);
  font-size: 12px;
  font-weight: 750;
  align-self: center;
}

html[data-ui="v2"] .v2-task-heading small {
  grid-column: 1 / -1;
  color: var(--v2-color-foreground-secondary);
  font-size: 12px;
}

html[data-ui="v2"] #view-kanban .toolbar-actions {
  align-items: center;
  gap: var(--v2-space-2);
}

html[data-ui="v2"] #view-kanban .toolbar-actions .button {
  min-height: 40px;
}

/* Atrium IA no quadro: faixa compacta com status e ações (mesma família do painel da leitura das
   publicações). O filtro e o "Analisar riscos" vivem aqui — visíveis sem abrir os painéis. */
html[data-ui="v2"] #view-kanban .task-ai-panel {
  margin: 0 0 var(--v2-space-3);
}

/* `display: flex` da família vence o `hidden` do navegador: sem isto a faixa desligada ocupava
   espaço e contava como visível. */
html[data-ui="v2"] #view-kanban .task-ai-panel[hidden] { display: none; }

html[data-ui="v2"] #view-kanban .task-ai-panel .act-chip {
  min-height: 24px;
  padding: 3px 9px;
  color: var(--v2-color-foreground-secondary);
  background: color-mix(in srgb, var(--v2-color-surface-inset) 72%, transparent);
  border: 1px solid var(--v2-color-border);
  border-radius: var(--v2-radius-sm);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.3;
  justify-content: flex-start;
  flex-shrink: 1;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: left;
}

html[data-ui="v2"] #view-kanban .task-ai-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--v2-space-2);
  margin-top: var(--v2-space-2);
}

html[data-ui="v2"] #view-kanban .task-ai-row .ai-classifier-chips { margin-top: 0; }
html[data-ui="v2"] #view-kanban .task-ai-row .button { min-height: 40px; }

@media (max-width: 620px) {
  html[data-ui="v2"] #view-kanban .task-ai-row { align-items: stretch; }
  html[data-ui="v2"] #view-kanban .task-ai-row .button { width: 100%; }
}

html[data-ui="v2"] .task-risk-filter {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--v2-color-foreground-secondary);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

html[data-ui="v2"] .task-risk-filter > span {
  letter-spacing: .04em;
  text-transform: uppercase;
}

html[data-ui="v2"] .task-risk-filter select {
  min-height: 40px;
  padding: 0 8px;
  color: var(--v2-color-foreground);
  background: var(--v2-color-surface);
  border: 1px solid var(--v2-color-border);
  border-radius: var(--v2-radius-sm);
  font: 12px var(--v2-font-interface);
}

html[data-ui="v2"] .task-view-switch {
  gap: 8px;
  position: relative;
  display: inline-grid;
  grid-template-columns: repeat(2, 1fr);
  align-self: center;
  padding: 3px;
  background: var(--v2-color-surface-secondary);
  border: 1px solid var(--v2-color-border);
  border-radius: var(--v2-radius-round);
  width: 196px;
  /* Duas bordas de 1px + padding de 3px por lado deixam 40px de alvo. */
  height: 48px;
  box-sizing: border-box;
}

html[data-ui="v2"] .task-view-switch::before {
  content: '';
  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 3px;
  width: calc(50% - 7px);
  background: var(--v2-color-surface-elevated);
  border-radius: var(--v2-radius-round);
  box-shadow: var(--v2-shadow-subtle), 0 1px 3px rgba(0, 0, 0, 0.12);
  transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  z-index: 1;
}

html[data-ui="v2"] .task-view-switch[data-active-mode="kanban"]::before,
html[data-ui="v2"] #view-kanban[data-task-view="kanban"] .task-view-switch::before {
  transform: translateX(calc(100% + 8px));
}

html[data-ui="v2"] .task-view-switch[data-active-mode="list"]::before,
html[data-ui="v2"] #view-kanban[data-task-view="list"] .task-view-switch::before {
  transform: translateX(0);
}

html[data-ui="v2"] .task-view-switch button {
  position: relative;
  z-index: 2;
  min-height: 0;
  padding: 0 10px;
  color: var(--v2-color-foreground-secondary);
  background: transparent !important;
  border: 0;
  border-radius: var(--v2-radius-round);
  font: 650 12px/1 var(--v2-font-interface);
  cursor: pointer;
  transition: color 200ms ease;
  user-select: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

html[data-ui="v2"] .task-view-switch button .atrium-icon {
  width: 14px;
  height: 14px;
}

html[data-ui="v2"] .task-view-switch button:is(:hover, :focus-visible) {
  color: var(--v2-color-foreground);
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--v2-color-primary) 42%, transparent);
  outline: none;
  z-index: 3;
}

html[data-ui="v2"] .task-view-switch button.active {
  color: var(--v2-color-foreground);
  background: transparent !important;
  box-shadow: none !important;
}

html[data-ui="v2"] .task-list-panel {
  min-width: 0;
  display: grid;
  gap: var(--v2-space-4);
}

html[data-ui="v2"] .task-list-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--v2-space-3);
}

html[data-ui="v2"] .task-list-summary article {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px var(--v2-space-3);
  padding: var(--v2-space-3) var(--v2-space-4);
  color: var(--v2-color-foreground);
  background: var(--v2-color-surface);
  border: 1px solid var(--v2-color-border);
  border-radius: var(--v2-radius-md);
  box-shadow: var(--v2-shadow-subtle);
  cursor: pointer;
  transition: all var(--v2-duration-fast) var(--v2-ease-standard);
  user-select: none;
}

html[data-ui="v2"] .task-list-summary article:hover {
  border-color: var(--v2-color-gold);
  background: var(--v2-color-surface-elevated);
}

html[data-ui="v2"] .task-list-summary article.active {
  border-color: var(--v2-color-gold);
  background: color-mix(in srgb, var(--v2-color-gold) 12%, var(--v2-color-surface));
  box-shadow: 0 0 0 1px var(--v2-color-gold), var(--v2-shadow-subtle);
}

html[data-ui="v2"] .task-list-summary article.active strong {
  color: var(--v2-color-gold);
}

html[data-ui="v2"] .task-list-summary span {
  align-self: center;
  color: var(--v2-color-foreground-secondary);
  font-size: 12px;
  font-weight: 750;
}

html[data-ui="v2"] .task-list-summary strong {
  grid-row: span 2;
  align-self: center;
  font: 650 24px/1 var(--v2-font-editorial);
}

html[data-ui="v2"] .task-list-summary small {
  overflow: hidden;
  color: var(--v2-color-muted-foreground);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html[data-ui="v2"] .task-list-controls {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(150px, auto) minmax(180px, auto) auto auto;
  align-items: end;
  gap: var(--v2-space-3);
  padding: var(--v2-space-3);
  background: var(--v2-color-surface);
  border: 1px solid var(--v2-color-border);
  border-radius: var(--v2-radius-md);
}

@media (max-width: 760px) {
  /* Situação/Ordenar por: lado a lado no celular o rótulo era cortado ("Prazo mais próxim⌄").
     Empilhados em largura cheia o texto inteiro aparece sem tocar no tamanho da fonte (16px é
     piso anti-zoom do iOS). */
  html[data-ui="v2"] .task-list-controls {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  html[data-ui="v2"] .task-list-controls label { width: 100%; }

  html[data-ui="v2"] .task-list-controls :is(input, select) { width: 100%; }
}

html[data-ui="v2"] .task-list-controls label {
  min-width: 0;
  display: grid;
  gap: 5px;
}

html[data-ui="v2"] .task-list-controls label > span {
  color: var(--v2-color-muted-foreground);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

html[data-ui="v2"] .task-list-controls :is(input, select) {
  min-width: 0;
  min-height: 40px;
  color: var(--v2-color-foreground);
  background: var(--v2-color-surface-inset);
  border: 1px solid var(--v2-color-border);
  border-radius: var(--v2-radius-sm);
  font: 650 12px/1.2 var(--v2-font-interface);
}

html[data-ui="v2"] .task-list-visible-count {
  align-self: center;
  padding: 7px 10px;
  color: var(--v2-color-foreground-secondary);
  background: var(--v2-color-primary-subtle);
  border-radius: var(--v2-radius-round);
  font-size: 12px;
  font-weight: 750;
  white-space: nowrap;
}

html[data-ui="v2"] .task-list {
  min-width: 0;
  display: grid;
  gap: var(--v2-space-2);
}

html[data-ui="v2"] .task-list-row {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) auto;
  grid-template-areas: "check main meta";
  align-items: center;
  gap: var(--v2-space-2);
  padding: var(--v2-space-3) var(--v2-space-4);
  color: var(--v2-color-foreground);
  background: var(--v2-color-surface);
  /* Faixa lateral de estado como borda real, nao ::before com fundo proprio:
     pseudo-elemento decorativo impede a medicao do contraste do texto da linha. */
  border: 1px solid var(--v2-color-border);
  border-left-width: 3px;
  border-radius: var(--v2-radius-md);
  box-shadow: var(--v2-shadow-subtle);
  transition: all var(--v2-duration-fast) var(--v2-ease-standard);
}

html[data-ui="v2"] .task-list-row { border-left-color: var(--v2-color-gold); }
html[data-ui="v2"] .task-list-row.is-overdue { border-left-color: var(--v2-color-danger); }

html[data-ui="v2"] .task-list-row:hover {
  border-color: var(--v2-color-gold);
  box-shadow: var(--v2-shadow-slate);
}

html[data-ui="v2"] .task-list-row.is-overdue { border-left-color: var(--v2-color-danger); }
html[data-ui="v2"] .task-list-row.is-complete { opacity: .78; border-left-color: var(--v2-color-success); }

html[data-ui="v2"] .task-list-check-col {
  grid-area: check;
  display: flex;
  align-items: center;
  justify-content: center;
}

html[data-ui="v2"] .task-list-row:has(.task-list-involved-col) {
  grid-template-columns: 46px minmax(0, 1fr) minmax(190px, 260px) auto;
  grid-template-areas: "check main involved meta";
}

html[data-ui="v2"] .task-list-involved-col {
  grid-area: involved;
  min-width: 0;
  display: flex;
  justify-content: flex-end;
}

html[data-ui="v2"] .task-list-involved-col .office-involved {
  max-width: 100%;
}

html[data-ui="v2"] .task-row-checkbox-label,
html[data-ui="v2"] .task-card-checkbox-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin: 0;
  padding: 2px;
}

html[data-ui="v2"] .task-row-checkbox,
html[data-ui="v2"] .task-card-checkbox {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 1.5px solid var(--v2-color-border-subtle);
  border-radius: 4px;
  background: var(--v2-color-surface-secondary);
  cursor: pointer;
  position: relative;
  transition: all var(--v2-duration-fast) var(--v2-ease-standard);
  margin: 0;
}

html[data-ui="v2"] .task-row-checkbox:hover,
html[data-ui="v2"] .task-card-checkbox:hover {
  border-color: var(--v2-color-gold);
}

html[data-ui="v2"] .task-row-checkbox:checked,
html[data-ui="v2"] .task-card-checkbox:checked {
  background: var(--v2-color-gold);
  border-color: var(--v2-color-gold);
}

html[data-ui="v2"] .task-row-checkbox:checked::after,
html[data-ui="v2"] .task-card-checkbox:checked::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 5px;
  width: 5px;
  height: 9px;
  border: solid var(--v2-color-background);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

html[data-ui="v2"] .task-list-main {
  grid-area: main;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

html[data-ui="v2"] .task-list-title-line {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 8px;
}

html[data-ui="v2"] .task-list-open-btn {
  min-width: 0;
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  background: transparent;
  border: 0;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

html[data-ui="v2"] .task-title-text {
  font-size: 14px;
  font-weight: 700;
  color: var(--v2-color-foreground);
  transition: color var(--v2-duration-fast);
}

html[data-ui="v2"] .task-list-open-btn:hover .task-title-text {
  color: var(--v2-color-gold);
  text-decoration: underline;
  text-underline-offset: 3px;
}

html[data-ui="v2"] .task-desc-text {
  font-size: 12px;
  color: var(--v2-color-muted-foreground);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 480px;
}

html[data-ui="v2"] .task-list-context-line {
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 12px;
}

html[data-ui="v2"] .task-context-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--v2-color-foreground-secondary);
}

html[data-ui="v2"] .task-context-badge .atrium-icon {
  width: 13px;
  height: 13px;
  color: var(--v2-color-gold);
}

html[data-ui="v2"] .task-context-badge.is-unlinked strong {
  color: var(--v2-color-muted-foreground) !important;
  font-weight: 500 !important;
}

html[data-ui="v2"] .task-context-badge.process {
  cursor: pointer;
}

html[data-ui="v2"] .task-context-badge.process b {
  font-family: var(--v2-font-mono, monospace);
  color: var(--v2-color-foreground);
  background: var(--v2-color-surface-secondary);
  padding: 1px 6px;
  border-radius: 4px;
  border: 1px solid var(--v2-color-border-subtle);
  transition: border-color var(--v2-duration-fast);
}

html[data-ui="v2"] .task-context-badge.process:hover b {
  border-color: var(--v2-color-gold);
  color: var(--v2-color-gold);
}

html[data-ui="v2"] .task-list-tags-line {
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 1px;
}

html[data-ui="v2"] .task-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 7px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
}

html[data-ui="v2"] .task-tag .atrium-icon {
  width: 12px;
  height: 12px;
}

html[data-ui="v2"] .task-tag.stage-tag {
  background: color-mix(in srgb, var(--stage-color, var(--v2-color-gold)) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--stage-color, var(--v2-color-gold)) 40%, transparent);
  /* A cor da coluna é livre: misturada ao texto, a etiqueta fica legível nos dois temas. */
  color: color-mix(in srgb, var(--stage-color, var(--v2-color-gold)) 42%, var(--v2-color-foreground));
}

html[data-ui="v2"] .task-tag.type-tag {
  background: var(--v2-color-surface-secondary);
  border: 1px solid var(--v2-color-border);
  color: var(--v2-color-foreground-secondary);
}

html[data-ui="v2"] .task-tag.type-tag.prazo {
  background: rgba(229, 168, 75, 0.14);
  border-color: rgba(229, 168, 75, 0.35);
  color: #e5a84b;
}

html[data-ui="v2"] .task-tag.type-tag.audiencia {
  background: rgba(168, 135, 199, 0.14);
  border-color: rgba(168, 135, 199, 0.35);
  color: #a887c7;
}

html[data-ui="v2"] .task-tag.priority-tag.priority-urgente {
  background: rgba(239, 68, 68, 0.14);
  border: 1px solid rgba(239, 68, 68, 0.35);
  color: var(--v2-color-danger);
  font-weight: 750;
}

html[data-ui="v2"] .task-tag.priority-tag.priority-importante {
  background: rgba(245, 158, 11, 0.14);
  border: 1px solid rgba(245, 158, 11, 0.35);
  color: #f59e0b;
}

html[data-ui="v2"] .task-tag.priority-tag.priority-normal {
  background: var(--v2-color-surface-secondary);
  border: 1px solid var(--v2-color-border-subtle);
  color: var(--v2-color-muted-foreground);
}

html[data-ui="v2"] .task-tag.owner-tag {
  background: var(--v2-color-surface-secondary);
  border: 1px solid var(--v2-color-border-subtle);
  color: var(--v2-color-foreground-secondary);
}

html[data-ui="v2"] .task-tag.points-tag {
  background: rgba(223, 190, 106, 0.14);
  border: 1px solid rgba(223, 190, 106, 0.35);
  color: var(--v2-color-gold);
}

html[data-ui="v2"] .task-list-meta-col {
  grid-area: meta;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: var(--v2-space-4);
  padding-left: var(--v2-space-3);
  border-left: 1px solid var(--v2-color-border-subtle);
}

html[data-ui="v2"] .task-list-deadline-box {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  min-width: 105px;
  white-space: nowrap;
  text-align: right;
}

/* Defensive fallback to ensure legacy elements never squeeze or overlap */
html[data-ui="v2"] .task-list-row:has(.task-list-primary) {
  grid-template-columns: 28px minmax(0, 2fr) minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, .8fr) minmax(0, .9fr) minmax(0, .75fr);
  grid-template-areas: none;
}
html[data-ui="v2"] .task-list-primary,
html[data-ui="v2"] .task-list-context,
html[data-ui="v2"] .task-list-stage,
html[data-ui="v2"] .task-list-deadline,
html[data-ui="v2"] .task-list-owner,
html[data-ui="v2"] .task-list-effort {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
html[data-ui="v2"] .task-list-stage select {
  min-height: 36px;
  padding: 6px 8px;
  border-radius: 6px;
  background: var(--v2-color-surface-secondary);
  border: 1px solid var(--v2-color-border);
  color: var(--v2-color-foreground);
}

html[data-ui="v2"] .task-deadline-kicker {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--v2-color-muted-foreground);
}

html[data-ui="v2"] .task-deadline-val {
  font-size: 13px;
  font-weight: 700;
  color: var(--v2-color-foreground);
}

html[data-ui="v2"] .task-deadline-val.overdue,
html[data-ui="v2"] .task-deadline-status.is-overdue {
  color: var(--v2-color-danger);
}

html[data-ui="v2"] .task-deadline-status {
  font-size: 12px;
  color: var(--v2-color-muted-foreground);
}

/* Divergência entre o prazo da tarefa (edição humana) e o prazo declarado pela fonte
   oficial: informa, não altera — a conferência é humana. */
html[data-ui="v2"] .task-deadline-conflict,
html[data-ui="v2"] .task-date-source-conflict {
  color: var(--v2-color-warning);
  font-size: 12px;
  font-weight: 700;
}

html[data-ui="v2"] .task-deadline-conflict {
  margin-top: 2px;
  white-space: normal;
}

/* Selos da triagem assistiva (categoria/urgência): sugestão para conferência, nunca
   dado — daí o contorno tracejado. Nada na tarefa é alterado pela sugestão. */
html[data-ui="v2"] .task-triage-line {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 6px 0 2px;
}

html[data-ui="v2"] .task-triage-chip {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px dashed color-mix(in srgb, var(--v2-color-muted-foreground) 45%, transparent);
  background: color-mix(in srgb, var(--v2-color-muted-foreground) 8%, transparent);
  color: var(--v2-color-muted-foreground);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .02em;
  white-space: nowrap;
}

/* Carteira e consistência: leitura determinística do acervo (informa, não decide). */
html[data-ui="v2"] .task-insights-panel {
  margin-bottom: var(--v2-space-4);
  padding: var(--v2-space-4);
  border: 1px solid var(--v2-color-border-subtle);
  background: var(--v2-color-surface-secondary);
}
html[data-ui="v2"] .task-insights-panel .card-heading { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--v2-space-3); min-width: 0; }
html[data-ui="v2"] .task-insights-panel .eyebrow { color: var(--v2-color-gold); margin: 0 0 var(--v2-space-1); }
html[data-ui="v2"] .task-insights-panel h3 { margin: 0; font: 600 18px/1.25 var(--v2-font-editorial); }
html[data-ui="v2"] .task-insights-section { margin-top: var(--v2-space-4); padding-top: var(--v2-space-3); border-top: 1px solid var(--v2-color-border-subtle); }
html[data-ui="v2"] .task-insights-section h4 { margin: 0 0 var(--v2-space-2); color: var(--v2-color-foreground-secondary); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
html[data-ui="v2"] .task-insights-lines { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; color: var(--v2-color-foreground-secondary); font-size: 13px; line-height: 1.5; }
html[data-ui="v2"] .task-insights-list { display: grid; gap: var(--v2-space-2); margin: 0; padding: 0; list-style: none; }
html[data-ui="v2"] .task-insights-list li { min-width: 0; padding: var(--v2-space-2) var(--v2-space-3); border: 1px solid var(--v2-color-border-subtle); border-radius: var(--v2-radius-sm); background: var(--v2-color-surface); }
html[data-ui="v2"] .task-insights-item { display: grid; gap: 2px; min-width: 0; }
html[data-ui="v2"] .task-insights-item strong { font-size: 13px; overflow-wrap: anywhere; }
html[data-ui="v2"] .task-insights-item small { color: var(--v2-color-foreground-secondary); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
html[data-ui="v2"] .task-insights-note { margin: 0; color: var(--v2-color-foreground-secondary); font-size: 13px; }
html[data-ui="v2"] .task-insights-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--v2-space-2); margin-top: var(--v2-space-3); }
html[data-ui="v2"] .task-insights-suggestions { margin-top: var(--v2-space-2); }
html[data-ui="v2"] .task-insights-suggestions summary { cursor: pointer; color: var(--v2-color-foreground-secondary); font-size: 13px; }
html[data-ui="v2"] .task-insights-suggestions ul { margin-top: var(--v2-space-2); }
@media (max-width: 620px) {
  html[data-ui="v2"] .task-insights-panel { padding: var(--v2-space-3); }
  html[data-ui="v2"] .task-insights-actions .button { width: 100%; }
}

/* Selo de risco de estouro (sugestão da Atrium IA): contorno tracejado como os da triagem —
   é leitura, não dado; o prazo da tarefa nunca é alterado por ele. */
html[data-ui="v2"] .task-risk-chip {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px dashed currentColor;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .02em;
  white-space: nowrap;
}
html[data-ui="v2"] .task-risk-chip.risk-alto { color: var(--v2-color-danger); background: var(--v2-color-danger-soft); }
html[data-ui="v2"] .task-risk-chip.risk-medio { color: var(--v2-color-warning); background: var(--v2-color-warning-soft); }
html[data-ui="v2"] .task-risk-chip.risk-baixo { color: var(--v2-color-foreground-secondary); background: color-mix(in srgb, var(--v2-color-foreground-secondary) 8%, transparent); }

html[data-ui="v2"] .task-triage-chip.urgency-alta {
  color: var(--v2-color-warning);
  border-color: color-mix(in srgb, var(--v2-color-warning) 55%, transparent);
  background: var(--v2-color-warning-soft);
}

html[data-ui="v2"] .task-list-controls-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

html[data-ui="v2"] .task-list-stage-label select {
  min-height: 36px;
  padding: 6px 10px;
  font-size: 12px;
  border-radius: 6px;
  background: var(--v2-color-surface-secondary);
  border: 1px solid var(--v2-color-border);
  color: var(--v2-color-foreground);
  cursor: pointer;
}

html[data-ui="v2"] .task-list-timer-cell .timesheet-btn {
  min-height: 36px;
  padding: 6px 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 6px;
}

html[data-ui="v2"] .task-list-timer-muted {
  color: var(--v2-color-muted-foreground);
  font-size: 12px;
  font-weight: 600;
  padding: 6px 10px;
}

html[data-ui="v2"] .task-list-empty {
  min-height: 220px;
  display: grid;
  place-content: center;
  gap: var(--v2-space-2);
  padding: var(--v2-space-5);
  color: var(--v2-color-foreground-secondary);
  background: var(--v2-color-surface);
  border: 1px dashed var(--v2-color-border);
  border-radius: var(--v2-radius-lg);
  text-align: center;
}

html[data-ui="v2"] .task-list-empty strong { color: var(--v2-color-foreground); }
html[data-ui="v2"] .task-list-empty span { font-size: 12px; }

html[data-ui="v2"] #kanbanBoard {
  grid-auto-columns: minmax(286px, 1fr);
  gap: var(--v2-space-3);
  max-width: 100%;
  padding: 0 0 var(--v2-space-3);
  overscroll-behavior-inline: contain;
  scrollbar-color: var(--v2-color-primary) var(--v2-color-surface-inset);
  scrollbar-width: thin;
}

html[data-ui="v2"] #kanbanBoard:focus-within {
  scrollbar-color: var(--v2-color-gold) var(--v2-color-surface-inset);
}

html[data-ui="v2"] .kanban-column {
  min-height: 570px;
  padding: 0;
  overflow: hidden;
  background: color-mix(in srgb, var(--v2-color-surface) 88%, var(--v2-color-background));
  border: 1px solid var(--v2-color-border);
  border-radius: var(--v2-radius-lg);
  box-shadow: var(--v2-shadow-subtle);
  transition: border-color var(--v2-duration-fast) var(--v2-ease-standard), background var(--v2-duration-fast) var(--v2-ease-standard);
}

html[data-ui="v2"] .kanban-column.drag-over {
  background: var(--v2-color-primary-subtle);
  border-color: var(--v2-color-primary);
  box-shadow: inset 0 0 0 2px var(--v2-color-primary), var(--v2-shadow-slate);
}

html[data-ui="v2"] .column-header {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: var(--v2-space-3);
  color: var(--v2-color-foreground);
  background: color-mix(in srgb, var(--v2-color-surface-elevated) 95%, transparent);
  border-bottom: 1px solid var(--v2-color-border);
  backdrop-filter: blur(8px);
}

html[data-ui="v2"] .column-title {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: var(--v2-space-2);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .025em;
  text-transform: none;
}

html[data-ui="v2"] .column-dot {
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  background: var(--task-column-color);
  border: 1px solid color-mix(in srgb, var(--task-column-color) 72%, var(--v2-color-foreground));
  border-radius: 2px;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--task-column-color) 16%, transparent);
}

html[data-ui="v2"] .column-count {
  min-width: 24px;
  margin-left: auto;
  padding: 2px 7px;
  color: var(--v2-color-foreground-secondary);
  background: var(--v2-color-surface-secondary);
  border: 1px solid var(--v2-color-border-subtle);
  border-radius: var(--v2-radius-round);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  text-align: center;
}

html[data-ui="v2"] .column-cards {
  min-height: 500px;
  display: grid;
  align-content: start;
  gap: var(--v2-space-2);
  padding: var(--v2-space-2);
}

html[data-ui="v2"] .kanban-column-more {
  padding: var(--v2-space-2) var(--v2-space-3);
  color: var(--v2-color-muted-foreground);
  background: var(--v2-color-surface-secondary);
  border: 1px dashed var(--v2-color-border);
  border-radius: var(--v2-radius-md);
  font-size: 12px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

html[data-ui="v2"] .empty-column {
  min-height: 92px;
  display: grid;
  place-content: center;
  gap: 3px;
  padding: var(--v2-space-3);
  color: var(--v2-color-foreground-secondary);
  background: color-mix(in srgb, var(--v2-color-surface-secondary) 54%, transparent);
  border: 1px dashed var(--v2-color-border);
  border-radius: var(--v2-radius-md);
  font-size: 12px;
  line-height: 16px;
  text-align: center;
}

html[data-ui="v2"] .empty-column strong {
  color: var(--v2-color-foreground);
  font-size: 12px;
}

html[data-ui="v2"] .task-card {
  position: relative;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  padding: var(--v2-space-3);
  color: var(--v2-color-foreground);
  background: var(--v2-color-surface-elevated);
  /* A faixa lateral de estado era um ::before de 3px. Como pseudo-elemento com
     fundo proprio impede a medicao automatica do contraste do texto do cartao,
     ela passa a ser a propria borda esquerda — mesma aparencia, texto mensuravel. */
  border: 1px solid var(--v2-color-border);
  border-left-width: 3px;
  border-radius: var(--v2-radius-md);
  box-shadow: var(--v2-shadow-card);
  cursor: grab;
  transition: border-color var(--v2-duration-fast) var(--v2-ease-standard), box-shadow var(--v2-duration-base) var(--v2-ease-standard), transform var(--v2-duration-fast) var(--v2-ease-standard);
}

html[data-ui="v2"] .task-card.is-overdue { border-left-color: var(--v2-color-danger); }
html[data-ui="v2"] .task-card.is-complete { border-left-color: var(--v2-color-success); }

html[data-ui="v2"] .task-card:is(:hover, :focus-within) {
  border-color: var(--v2-color-primary);
  box-shadow: var(--v2-shadow-card);
}

html[data-ui="v2"] .task-card.dragging {
  opacity: .58;
  transform: rotate(.5deg) scale(.99);
}

html[data-ui="v2"] .task-card.timer-active {
  border-color: var(--v2-color-success);
  box-shadow: inset 3px 0 0 var(--v2-color-success), var(--v2-shadow-card);
}

html[data-ui="v2"] .task-top {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--v2-space-2);
}

html[data-ui="v2"] .task-top-left {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: var(--v2-space-2);
}

html[data-ui="v2"] .task-source {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--v2-color-muted-foreground);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .09em;
}

html[data-ui="v2"] .task-badges {
  min-width: 0;
  flex: 0 1 auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

html[data-ui="v2"] :where(.task-priority, .task-points, .task-timelog) {
  border-radius: var(--v2-radius-round);
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
  letter-spacing: .01em;
  white-space: nowrap;
}

html[data-ui="v2"] .task-priority { padding: 2px 6px; color: var(--v2-color-foreground-secondary); background: var(--v2-color-surface-secondary); }
html[data-ui="v2"] .task-priority.priority-urgente { color: var(--v2-color-danger); background: var(--v2-color-danger-soft); }
html[data-ui="v2"] .task-priority.priority-importante { color: var(--v2-color-warning); background: var(--v2-color-warning-soft); }
html[data-ui="v2"] .task-points { padding: 2px 6px; color: var(--v2-color-gold); background: var(--v2-color-gold-soft); font-variant-numeric: tabular-nums; }

html[data-ui="v2"] .task-card-open {
  width: 100%;
  display: grid;
  gap: 4px;
  margin-top: var(--v2-space-2);
  padding: 0;
  color: inherit;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

html[data-ui="v2"] .task-card-open strong {
  color: var(--v2-color-foreground);
  font: 750 13px/18px var(--v2-font-interface);
  overflow-wrap: anywhere;
}

html[data-ui="v2"] .task-card-open > span:not(.task-card-action) {
  display: -webkit-box;
  overflow: hidden;
  color: var(--v2-color-foreground-secondary);
  font-size: 12px;
  line-height: 16px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

html[data-ui="v2"] .task-card-open .task-card-action {
  color: var(--v2-color-primary);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .025em;
}

html[data-ui="v2"] .task-card-open .task-card-action b {
  color: var(--v2-color-gold);
}

html[data-ui="v2"] .task-context,
html[data-ui="v2"] .task-deadlines,
html[data-ui="v2"] .task-effort {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  margin-top: var(--v2-space-2);
}

html[data-ui="v2"] .task-context > span {
  max-width: 100%;
  overflow: hidden;
  padding: 3px 6px;
  color: var(--v2-color-foreground-secondary);
  background: var(--v2-color-surface-secondary);
  border: 1px solid var(--v2-color-border-subtle);
  border-radius: var(--v2-radius-sm);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html[data-ui="v2"] .task-process,
html[data-ui="v2"] .task-date,
html[data-ui="v2"] .fatal-date,
html[data-ui="v2"] .timesheet-live {
  font-variant-numeric: tabular-nums;
}

html[data-ui="v2"] .task-date,
html[data-ui="v2"] .fatal-date {
  color: var(--v2-color-foreground-secondary);
  font-size: 12px;
}

html[data-ui="v2"] .task-date.overdue { color: var(--v2-color-danger); font-weight: 800; }
html[data-ui="v2"] .fatal-date { padding: 3px 6px; color: var(--v2-color-danger); background: var(--v2-color-danger-soft); border-radius: var(--v2-radius-sm); }
html[data-ui="v2"] .fatal-date strong { font-weight: 850; }

html[data-ui="v2"] .task-effort {
  justify-content: space-between;
  padding-top: var(--v2-space-2);
  border-top: 1px solid var(--v2-color-border-subtle);
}

html[data-ui="v2"] .task-timelog { padding: 2px 0; color: var(--v2-color-primary); }
html[data-ui="v2"] .task-timelog.is-empty { color: var(--v2-color-muted-foreground); font-weight: 600; }

html[data-ui="v2"] .timesheet-btn {
  min-height: 40px;
  padding: 4px 8px;
  color: var(--v2-color-primary);
  background: var(--v2-color-primary-subtle);
  border: 1px solid var(--v2-color-border);
  border-radius: var(--v2-radius-sm);
  font-size: 12px;
  font-weight: 800;
}

html[data-ui="v2"] .timesheet-btn:is(:hover, :focus-visible),
html[data-ui="v2"] .timesheet-btn.active {
  color: var(--v2-color-foreground);
  background: var(--v2-color-success-soft);
  border-color: var(--v2-color-success);
}

html[data-ui="v2"] .task-footer {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: var(--v2-space-2);
  margin-top: var(--v2-space-2);
  padding-top: var(--v2-space-2);
  border-top: 1px solid var(--v2-color-border-subtle);
}

html[data-ui="v2"] .task-move-control {
  min-width: 0;
  display: grid;
  gap: 3px;
  color: var(--v2-color-muted-foreground);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}

html[data-ui="v2"] .task-move-control select {
  width: 100%;
  min-height: 32px;
  padding: 4px 24px 4px 7px;
  color: var(--v2-color-foreground);
  background: var(--v2-color-surface-inset);
  border: 1px solid var(--v2-color-border);
  border-radius: var(--v2-radius-sm);
  font: 650 10px/16px var(--v2-font-interface);
  text-transform: none;
}

html[data-ui="v2"] .task-owner {
  max-width: 92px;
  display: grid;
  justify-items: end;
  gap: 3px;
  color: var(--v2-color-muted-foreground);
  font-size: 12px;
  line-height: 14px;
  text-align: right;
}

html[data-ui="v2"] .task-owner > span:last-child {
  max-width: 92px;
  overflow-wrap: anywhere;
}

html[data-ui="v2"] .task-avatar {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  color: var(--v2-color-foreground);
  background: var(--v2-color-primary-soft);
  border: 1px solid var(--v2-color-primary);
  border-radius: var(--v2-radius-round);
  font-size: 12px;
  font-weight: 850;
}

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] {
  place-items: stretch end;
  padding: 0;
}

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal {
  width: min(720px, calc(100vw - 72px));
  height: 100dvh;
  max-height: none;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border-width: 0 0 0 1px;
  border-radius: 0;
  animation: task-drawer-in var(--v2-duration-slow) var(--v2-ease-standard) both;
}

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal > header {
  padding: var(--v2-space-4) var(--v2-space-5);
}

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal h2 {
  font-family: var(--v2-font-editorial);
  letter-spacing: -.015em;
}

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal form {
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  padding: 0;
  overflow: hidden;
}

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] #modalFields {
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: var(--v2-space-4) var(--v2-space-5);
}

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] #modalForm > footer {
  margin: 0;
  padding: var(--v2-space-3) var(--v2-space-5);
  border-radius: 0;
}

html[data-ui="v2"] .task-completion-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--v2-space-3);
  margin-bottom: var(--v2-space-4);
  padding: var(--v2-space-3);
  background: var(--v2-color-primary-subtle);
  border: 1px solid var(--v2-color-border);
  border-left: 3px solid var(--v2-color-gold);
  border-radius: var(--v2-radius-md);
}

html[data-ui="v2"] .task-completion-bar > div {
  display: grid;
  gap: 3px;
}

html[data-ui="v2"] .task-completion-bar > div > span {
  color: var(--v2-color-muted-foreground);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}

html[data-ui="v2"] .task-completion-state { color: var(--v2-color-warning); font-size: 13px; }
html[data-ui="v2"] .task-completion-state.is-complete { color: var(--v2-color-success); }

html[data-ui="v2"] .task-completion-actions {
  display: flex;
  align-items: center;
  gap: var(--v2-space-2);
  flex-wrap: wrap;
}

html[data-ui="v2"] .task-linked-process-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--v2-space-3);
  margin-bottom: var(--v2-space-4);
  padding: var(--v2-space-3) var(--v2-space-4);
  background: var(--v2-color-surface-elevated);
  border: 1px solid var(--v2-color-border);
  border-left: 3px solid var(--v2-color-primary, #2563eb);
  border-radius: var(--v2-radius-md);
}

html[data-ui="v2"] .task-linked-process-info {
  display: grid;
  gap: 2px;
}

html[data-ui="v2"] .task-linked-process-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--v2-color-primary, #2563eb);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}

html[data-ui="v2"] .task-linked-process-info strong {
  font-size: 14px;
  color: var(--v2-color-foreground);
  font-weight: 700;
}

html[data-ui="v2"] .task-linked-process-info small {
  color: var(--v2-color-muted-foreground);
  font-size: 12px;
}

html[data-ui="v2"] .task-form-sections {
  display: grid;
  gap: var(--v2-space-3);
}

html[data-ui="v2"] .task-form-section {
  min-width: 0;
  margin: 0;
  padding: var(--v2-space-4);
  background: color-mix(in srgb, var(--v2-color-surface-elevated) 92%, var(--v2-color-primary-subtle));
  border: 1px solid var(--v2-color-border);
  border-radius: var(--v2-radius-lg);
}

html[data-ui="v2"] .task-form-section legend {
  padding: 0 var(--v2-space-2);
  color: var(--v2-color-primary);
  font: 800 11px/17px var(--v2-font-interface);
  letter-spacing: .06em;
  text-transform: uppercase;
}

html[data-ui="v2"] .task-form-section legend::before { color: var(--v2-color-gold); content: "— "; }
html[data-ui="v2"] .task-form-section .form-grid { gap: var(--v2-space-3); align-items: start; align-content: start; }
html[data-ui="v2"] .task-form-section .field label { color: var(--v2-color-foreground-secondary); font-size: 12px; }
html[data-ui="v2"] .task-form-section .field-note { color: var(--v2-color-muted-foreground); font-size: 12px; }

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal-combobox {
  position: relative;
}

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal-combobox-listbox {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: var(--v2-z-popover);
  max-height: 260px;
  display: grid;
  padding: var(--v2-space-1);
  overflow-y: auto;
  color: var(--v2-color-foreground);
  background: var(--v2-color-surface-elevated);
  border: 1px solid var(--v2-color-border-strong);
  border-radius: var(--v2-radius-md);
  box-shadow: var(--v2-shadow-elevated);
}

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal-combobox-listbox.hidden { display: none; }

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal-combobox-group { display: grid; gap: 2px; }
html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal-combobox-group.hidden { display: none; }
html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal-combobox-group + .modal-combobox-group {
  margin-top: var(--v2-space-1);
  padding-top: var(--v2-space-1);
  border-top: 1px solid var(--v2-color-border-subtle);
}

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal-combobox-group-title {
  margin: 0;
  padding: var(--v2-space-1) var(--v2-space-3) 2px;
  color: var(--v2-color-gold);
  font: 850 10px/1.4 var(--v2-font-interface);
  letter-spacing: .08em;
  text-transform: uppercase;
}

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] [data-combobox-option].active {
  background: var(--v2-color-primary-soft);
  outline: 0;
}

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal-combobox-create {
  min-height: 48px;
  display: grid;
  gap: 2px;
  margin-top: var(--v2-space-1);
  padding: var(--v2-space-2) var(--v2-space-3);
  color: var(--v2-color-primary);
  background: transparent;
  border: 1px dashed var(--v2-color-border-strong);
  border-radius: var(--v2-radius-sm);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal-combobox-create.hidden { display: none; }
html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal-combobox-create:is(:hover, :focus-visible, .active) { background: var(--v2-color-primary-subtle); outline: 0; }
html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal-combobox-create strong { font-size: 13px; font-weight: 750; }

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal-combobox-empty {
  margin: 0;
  padding: var(--v2-space-2) var(--v2-space-3);
  color: var(--v2-color-muted-foreground);
  font-size: 12px;
}

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal-combobox-empty.hidden { display: none; }

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .task-model-create {
  margin-top: var(--v2-space-2);
  padding: var(--v2-space-3);
  background: var(--v2-color-surface-secondary);
  border: 1px solid var(--v2-color-border);
  border-left: 3px solid var(--v2-color-gold);
  border-radius: var(--v2-radius-md);
}

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .task-model-create.hidden { display: none; }

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .task-model-create-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--v2-space-3);
  margin-bottom: var(--v2-space-3);
}

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .task-model-create-head strong { font-size: 13px; color: var(--v2-color-foreground); }
html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .task-model-create-head span { min-width: 0; color: var(--v2-color-muted-foreground); font-size: 12px; overflow-wrap: anywhere; }
html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .task-model-create .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .task-model-create .field.full { grid-column: 1 / -1; }

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .task-model-create-actions {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  gap: var(--v2-space-2);
}

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] [data-combobox-option] {
  min-height: 48px;
  display: grid;
  gap: 2px;
  padding: var(--v2-space-2) var(--v2-space-3);
  color: var(--v2-color-foreground);
  background: transparent;
  border: 0;
  border-radius: var(--v2-radius-sm);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] [data-combobox-option]:is(:hover, :focus-visible),
html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] [data-combobox-option][aria-selected="true"] {
  background: var(--v2-color-primary-soft);
  outline: 0;
}

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] [data-combobox-option] strong { font-size: 13px; }
html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] [data-combobox-option] small { color: var(--v2-color-muted-foreground); font-size: 12px; }
html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] [data-combobox-option].hidden { display: none; }

html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] #field-description {
  min-height: 148px;
  overflow-y: hidden;
  resize: vertical;
  line-height: 1.55;
}

html[data-ui="v2"] .task-intimation-card.is-v2 {
  margin-bottom: var(--v2-space-4);
  color: var(--v2-color-foreground);
  background: var(--v2-color-surface-secondary);
  border: 1px solid var(--v2-color-border);
  border-left: 3px solid var(--v2-color-primary);
  border-radius: var(--v2-radius-lg);
}

html[data-ui="v2"] .task-intimation-card.is-v2 .task-intimation-header { border-color: var(--v2-color-border-subtle); }
html[data-ui="v2"] .task-intimation-card.is-v2 .task-intimation-body { color: var(--v2-color-foreground-secondary); background: var(--v2-color-surface-inset); white-space: pre-wrap; }
html[data-ui="v2"] .task-intimation-card.is-v2 .task-intimation-meta { margin: 0; color: var(--v2-color-muted-foreground); font-size: 12px; line-height: 1.5; }
html[data-ui="v2"] .task-intimation-card.is-v2 .task-btn-action {
  color: var(--v2-color-foreground);
  background: var(--v2-color-surface-elevated);
  border-color: var(--v2-color-border);
  font-weight: 750;
}
html[data-ui="v2"] .task-intimation-card.is-v2 .task-btn-action .atrium-icon { color: currentColor; }
html[data-ui="v2"] .task-intimation-card.is-v2 .task-btn-action:hover {
  color: var(--v2-color-primary);
  background: var(--v2-color-primary-subtle);
  border-color: color-mix(in srgb, var(--v2-color-primary) 52%, var(--v2-color-border));
}

@keyframes task-drawer-in {
  from { opacity: .65; clip-path: inset(0 0 0 28px); }
  to { opacity: 1; clip-path: inset(0); }
}

html[data-ui="v2"] #kanbanColumnsBackdrop { place-items: center; padding: var(--v2-space-5); }
html[data-ui="v2"] .kanban-columns-modal { width: min(720px, calc(100vw - 32px)); max-height: min(780px, calc(100dvh - 32px)); overflow: hidden; color: var(--v2-color-foreground); background: var(--v2-color-surface-elevated); border: 1px solid var(--v2-color-border); border-radius: var(--v2-radius-xl); box-shadow: var(--v2-shadow-elevated); }
html[data-ui="v2"] .kanban-columns-modal > header { padding: var(--v2-space-5); background: linear-gradient(110deg, var(--v2-color-primary-subtle), transparent 65%); border-bottom: 1px solid var(--v2-color-border); }
html[data-ui="v2"] .kanban-columns-modal > header p:last-child { margin: 4px 0 0; color: var(--v2-color-foreground-secondary); }
html[data-ui="v2"] #kanbanColumnsForm { display: grid; gap: var(--v2-space-3); padding: var(--v2-space-5); overflow: auto; }
html[data-ui="v2"] .kanban-columns-list { display: grid; gap: var(--v2-space-2); }
html[data-ui="v2"] .kanban-column-editor-row { display: grid; grid-template-columns: 28px 8px minmax(0, 1fr) auto 36px; align-items: center; gap: var(--v2-space-3); padding: var(--v2-space-3); background: var(--v2-color-surface-secondary); border: 1px solid var(--v2-color-border); border-radius: var(--v2-radius-md); }
html[data-ui="v2"] .kanban-column-editor-index { color: var(--v2-color-muted-foreground); font-weight: 800; text-align: center; }
html[data-ui="v2"] .kanban-column-editor-row > i { width: 8px; height: 34px; background: var(--column-editor-color); border-radius: var(--v2-radius-round); }
html[data-ui="v2"] .kanban-column-editor-row label { display: grid; gap: 4px; }
html[data-ui="v2"] .kanban-column-editor-row label span { color: var(--v2-color-muted-foreground); font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
html[data-ui="v2"] .kanban-column-editor-row input { width: 100%; min-height: 38px; color: var(--v2-color-foreground); background: var(--v2-color-surface-inset); border: 1px solid var(--v2-color-border); border-radius: var(--v2-radius-sm); font-weight: 750; }
html[data-ui="v2"] .kanban-column-editor-count { color: var(--v2-color-foreground-secondary); font-size: 12px; white-space: nowrap; }
html[data-ui="v2"] .kanban-column-add { justify-self: start; font-weight: 800; }
html[data-ui="v2"] .kanban-columns-note { margin: 0; color: var(--v2-color-muted-foreground); font-size: 12px; line-height: 1.5; }
html[data-ui="v2"] #kanbanColumnsForm > footer { display: flex; justify-content: flex-end; gap: var(--v2-space-2); margin: var(--v2-space-2) 0 0; padding-top: var(--v2-space-4); border-top: 1px solid var(--v2-color-border); }
body.kanban-columns-open { overflow: hidden; }

@media (max-width: 1280px) and (min-width: 768px) {
  html[data-ui="v2"] #view-kanban > .section-toolbar { grid-template-columns: minmax(240px, 1fr) auto; }
  html[data-ui="v2"] #view-kanban .toolbar-actions { grid-column: 1 / -1; justify-content: flex-end; }
}

@media (max-width: 1280px) and (min-width: 1025px) {
  html[data-ui="v2"] .task-list-row:has(.task-list-involved-col) {
    grid-template-columns: 28px minmax(0, 1fr) minmax(150px, 180px) auto;
  }
  html[data-ui="v2"] .task-list-involved-col .office-involved-names { display: none; }
}

@media (max-width: 1024px) {
  html[data-ui="v2"] .task-list-row {
    grid-template-columns: 28px minmax(0, 1fr);
    grid-template-areas: "check main" ". meta";
    gap: var(--v2-space-3);
  }
  html[data-ui="v2"] .task-list-row:has(.task-list-involved-col) {
    grid-template-columns: 28px minmax(0, 1fr);
    grid-template-areas: "check main" "involved involved" "meta meta";
  }
  html[data-ui="v2"] .task-list-involved-col {
    grid-column: 2;
    justify-content: flex-start;
  }
  html[data-ui="v2"] .task-list-meta-col {
    grid-column: 2;
    border-left: 0;
    padding-left: 0;
    padding-top: var(--v2-space-2);
    border-top: 1px solid var(--v2-color-border-subtle);
    justify-content: space-between;
  }
  html[data-ui="v2"] .task-list-deadline-box {
    align-items: flex-start;
    text-align: left;
  }
}

@media (max-width: 1023px) and (min-width: 768px) {
  html[data-ui="v2"] #view-kanban { padding: var(--v2-space-4); }
  html[data-ui="v2"] #kanbanBoard { grid-auto-columns: minmax(276px, 38vw); }
}

@media (max-width: 767px) {
  html[data-ui="v2"] #view-kanban { padding: var(--v2-space-3); }

  html[data-ui="v2"] #view-kanban > .section-toolbar {
    grid-template-columns: 1fr;
    align-items: stretch;
    padding: var(--v2-space-3);
  }

  html[data-ui="v2"] .v2-task-heading h2 { font-size: 24px; line-height: 30px; }

  html[data-ui="v2"] #view-kanban .toolbar-actions {
    grid-column: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  html[data-ui="v2"] #view-kanban .toolbar-actions .button {
    min-width: 0;
    min-height: 44px;
    padding-inline: var(--v2-space-2);
  }

  html[data-ui="v2"] #newTaskButton { grid-column: 1 / -1; }

  html[data-ui="v2"] .task-view-cluster { width: 100%; justify-content: space-between; }
  html[data-ui="v2"] .task-view-switch {
    width: 100%;
    height: auto;
    min-height: 44px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  html[data-ui="v2"] .task-view-switch::before {
    width: calc(50% - 7px);
  }
  html[data-ui="v2"] .task-view-switch[data-active-mode="kanban"]::before,
  html[data-ui="v2"] #view-kanban[data-task-view="kanban"] .task-view-switch::before {
    transform: translateX(calc(100% + 8px));
  }
  html[data-ui="v2"] .task-view-switch button { min-height: 44px; }
  html[data-ui="v2"] .task-list-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* No celular, Situação e Ordenar por ficam em largura cheia: em duas colunas
     o select "Prazo mais próximo" era cortado na borda direita. */
  html[data-ui="v2"] .task-list-controls { grid-template-columns: minmax(0, 1fr); }
  html[data-ui="v2"] .task-list-search,
  html[data-ui="v2"] .task-list-visible-count { grid-column: 1 / -1; }
  html[data-ui="v2"] .task-list-visible-count { justify-self: start; }
  html[data-ui="v2"] .task-list-row,
  html[data-ui="v2"] .task-list-row:has(.task-list-involved-col) {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: var(--v2-space-3);
  }
  html[data-ui="v2"] .task-list-check-col,
  html[data-ui="v2"] .task-row-checkbox-label {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
  }
  html[data-ui="v2"] .task-row-checkbox {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    border-radius: var(--v2-radius-md);
  }
  html[data-ui="v2"] .task-row-checkbox:checked::after {
    top: 13px;
    left: 17px;
    width: 7px;
    height: 13px;
    border-width: 0 2.5px 2.5px 0;
  }
  html[data-ui="v2"] .task-card-checkbox-label {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    margin: -11px 0 -11px -11px;
    padding: 0;
  }
  html[data-ui="v2"] .task-list-meta-col {
    grid-column: 1 / -1;
    border-left: 0;
    padding-left: 0;
    padding-top: var(--v2-space-2);
    border-top: 1px solid var(--v2-color-border-subtle);
    flex-wrap: wrap;
    justify-content: space-between;
  }
  html[data-ui="v2"] .task-list-deadline-box {
    align-items: flex-start;
    text-align: left;
  }

  html[data-ui="v2"] #kanbanBoard {
    width: 100%;
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--v2-space-3);
    overflow-x: hidden;
  }

  html[data-ui="v2"] .kanban-column { min-height: 0; }
  html[data-ui="v2"] .column-header { position: static; }
  html[data-ui="v2"] .column-cards { min-height: 0; padding: var(--v2-space-2); }

  html[data-ui="v2"] .task-card {
    padding: var(--v2-space-3);
    cursor: default;
  }

  html[data-ui="v2"] .task-card:is(:hover, :focus-within) { transform: none; }
  html[data-ui="v2"] .task-card-open { min-height: 44px; }
  html[data-ui="v2"] .timesheet-btn { min-width: 44px; min-height: 44px; }
  html[data-ui="v2"] .task-move-control select { min-height: 44px; }

  html[data-ui="v2"] .task-footer {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal {
    width: 100%;
    max-width: 100%;
    border-left: 0;
  }

  html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal > header,
  html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] #modalFields,
  html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] #modalForm > footer {
    padding-inline: var(--v2-space-3);
  }

  html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] #modalForm > footer .button {
    min-width: 0;
    min-height: 44px;
    flex: 1;
  }

  html[data-ui="v2"] .task-completion-bar {
    align-items: stretch;
    flex-direction: column;
  }

  html[data-ui="v2"] .task-completion-bar .button { min-height: 44px; }
  html[data-ui="v2"] .task-form-section { padding: var(--v2-space-3); }
  html[data-ui="v2"] .task-form-section .form-grid { grid-template-columns: minmax(0, 1fr); }
  html[data-ui="v2"] .task-form-section .field.full { grid-column: auto; }

  html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .field input,
  html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .field select { min-height: 44px; }

  html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .task-model-create .form-grid { grid-template-columns: minmax(0, 1fr); }
  html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .task-model-create-actions { justify-content: stretch; }
  html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .task-model-create-actions .button { flex: 1; min-height: 44px; }

  html[data-ui="v2"] .task-intimation-actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html[data-ui="v2"] .task-intimation-actions .task-btn-action { min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  html[data-ui="v2"] .task-card,
  html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] .modal {
    animation: none;
    transition: none;
    transform: none;
  }
}

/* Paginação da lista: status tabular, navegação e tamanho no padrão V2. */
html[data-ui="v2"] .task-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: var(--v2-space-3);
  align-items: center;
  justify-content: space-between;
  padding: var(--v2-space-3) var(--v2-space-4);
  background: var(--v2-color-surface);
  border: 1px solid var(--v2-color-border-subtle);
  border-radius: var(--v2-radius-lg);
  margin-top: var(--v2-space-3);
}

html[data-ui="v2"] .task-pagination-status {
  margin: 0;
  color: var(--v2-color-muted-foreground);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

html[data-ui="v2"] .task-pagination-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--v2-space-2);
}

html[data-ui="v2"] .task-pagination-button {
  min-height: 40px;
}

html[data-ui="v2"] .task-pagination-button:disabled {
  cursor: not-allowed;
  opacity: .58;
}

html[data-ui="v2"] .task-page-size {
display: inline-flex;
flex-wrap: wrap;
gap: var(--v2-space-2);
align-items: center;
padding: var(--v2-space-2);
background: var(--v2-color-surface-secondary);
border: 1px solid var(--v2-color-border);
border-radius: var(--v2-radius-md);
}

html[data-ui="v2"] .task-page-size > span {
  padding-inline: var(--v2-space-2);
  color: var(--v2-color-muted-foreground);
  font-size: 12px;
  font-weight: 600;
}

html[data-ui="v2"] .task-page-size-option {
min-height: 40px;
display: inline-flex;
gap: var(--v2-space-2);
align-items: center;
flex: 0 0 auto;
padding: 0 var(--v2-space-3);
color: var(--v2-color-foreground-secondary);
background: transparent;
border: 1px solid transparent;
border-radius: var(--v2-radius-round);
font: 750 12px/1 var(--v2-font-interface);
  cursor: pointer;
  transition: color var(--v2-duration-fast) var(--v2-ease-standard), background var(--v2-duration-fast) var(--v2-ease-standard), border-color var(--v2-duration-fast) var(--v2-ease-standard);
}

html[data-ui="v2"] .task-page-size-option:hover {
  color: var(--v2-color-foreground);
  background: var(--v2-color-surface-hover);
}

html[data-ui="v2"] .task-page-size-option.is-active {
  color: var(--v2-color-foreground);
  background: var(--v2-color-primary-subtle);
  border-color: color-mix(in srgb, var(--v2-color-primary) 50%, var(--v2-color-border));
}

@media (max-width: 767px) {
  html[data-ui="v2"] .task-pagination {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding: var(--v2-space-3);
  }
  html[data-ui="v2"] .task-pagination-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  html[data-ui="v2"] .task-pagination-button {
    min-height: 44px;
  }
  html[data-ui="v2"] .task-page-size {
    justify-content: center;
  }
  html[data-ui="v2"] .task-page-size-option {
    min-height: 44px;
  }
}

/* Tarefas repetidas — conferência assistiva (par do painel de duplicatas de publicações). */
html[data-ui="v2"] .task-duplicate-panel {
  margin-bottom: var(--v2-space-4);
  padding: var(--v2-space-4);
  border: 1px solid color-mix(in srgb, var(--v2-color-gold) 38%, var(--v2-color-border));
  background: color-mix(in srgb, var(--v2-color-gold) 6%, var(--v2-color-surface));
}
html[data-ui="v2"] .task-duplicate-panel .eyebrow { color: var(--v2-color-gold); margin: 0 0 var(--v2-space-1); }
html[data-ui="v2"] .task-duplicate-panel h3 { margin: 0; font: 600 18px/1.25 var(--v2-font-editorial); }
html[data-ui="v2"] .task-duplicate-subtitle { margin: 4px 0 0; color: var(--v2-color-muted-foreground); font-size: 13px; }
html[data-ui="v2"] .task-duplicate-list { display: grid; gap: var(--v2-space-3); margin-top: var(--v2-space-3); }
html[data-ui="v2"] .task-duplicate-group {
  display: grid;
  gap: var(--v2-space-2);
  min-width: 0;
  padding: var(--v2-space-3);
  border: 1px solid var(--v2-color-border);
  border-radius: var(--v2-radius-md);
  background: var(--v2-color-surface);
}
html[data-ui="v2"] .task-duplicate-group > header { display: flex; flex-wrap: wrap; align-items: center; gap: var(--v2-space-2); min-width: 0; }
html[data-ui="v2"] .task-duplicate-group > header strong { font-size: 13px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
html[data-ui="v2"] .task-duplicate-chip {
  padding: 2px 8px;
  border: 1px solid color-mix(in srgb, var(--v2-color-gold) 45%, transparent);
  border-radius: var(--v2-radius-round);
  color: var(--v2-color-gold-text, var(--v2-color-gold));
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .06em;
}
html[data-ui="v2"] .task-duplicate-count { margin-left: auto; color: var(--v2-color-muted-foreground); font-size: 12px; }
html[data-ui="v2"] .task-duplicate-hint { margin: 0; color: var(--v2-color-muted-foreground); font-size: 13px; line-height: 1.5; }
html[data-ui="v2"] .task-duplicate-members { display: grid; gap: var(--v2-space-2); min-width: 0; }
html[data-ui="v2"] .task-duplicate-member {
  display: flex;
  align-items: flex-start;
  gap: var(--v2-space-2);
  min-width: 0;
  padding: var(--v2-space-2) var(--v2-space-3);
  border: 1px solid var(--v2-color-border);
  border-radius: var(--v2-radius-sm, 8px);
  cursor: pointer;
}
html[data-ui="v2"] .task-duplicate-member:hover { border-color: var(--v2-color-border-strong, var(--v2-color-border)); background: var(--v2-color-surface-secondary); }
html[data-ui="v2"] .task-duplicate-member input { margin-top: 3px; accent-color: var(--v2-color-gold); flex: 0 0 auto; }
html[data-ui="v2"] .task-duplicate-member-body { display: grid; gap: 2px; min-width: 0; }
html[data-ui="v2"] .task-duplicate-member-body strong { font-size: 13px; overflow-wrap: anywhere; }
html[data-ui="v2"] .task-duplicate-member-body small { color: var(--v2-color-muted-foreground); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
html[data-ui="v2"] .task-duplicate-group > footer { display: flex; justify-content: flex-end; }
html[data-ui="v2"] .task-duplicate-undo {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--v2-space-2);
  margin-top: var(--v2-space-3);
  padding-top: var(--v2-space-2);
  border-top: 1px solid var(--v2-color-border);
  color: var(--v2-color-muted-foreground);
  font-size: 13px;
}
@media (max-width: 620px) {
  html[data-ui="v2"] .task-duplicate-panel { padding: var(--v2-space-3); }
  html[data-ui="v2"] .task-duplicate-group > footer .button { width: 100%; }
}

html[data-ui="v2"] .task-duplicate-context {
  margin: 0;
  color: var(--v2-color-foreground-secondary);
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

/* Sugestão da Atrium IA — pares do mesmo processo fora da chave exata. */
html[data-ui="v2"] #taskAiDuplicatePanel .card-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--v2-space-3);
  min-width: 0;
}
html[data-ui="v2"] #taskAiDuplicatePanel .card-heading > .button { margin-left: auto; }
html[data-ui="v2"] .task-ai-duplicate-list { display: grid; gap: var(--v2-space-3); margin-top: var(--v2-space-3); }
html[data-ui="v2"] .task-ai-duplicate-pair {
  display: grid;
  gap: var(--v2-space-2);
  min-width: 0;
  padding: var(--v2-space-3);
  border: 1px solid var(--v2-color-border);
  border-radius: var(--v2-radius-md);
  background: var(--v2-color-surface);
}
html[data-ui="v2"] .task-ai-duplicate-pair > header { display: flex; flex-wrap: wrap; align-items: center; gap: var(--v2-space-2); min-width: 0; }
html[data-ui="v2"] .task-ai-duplicate-pair > header strong { font-size: 13px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
/* Confiança do veredito é informação: usa o token de leitura secundária, não o muted decorativo. */
html[data-ui="v2"] .task-ai-duplicate-count { margin-left: auto; color: var(--v2-color-foreground-secondary); font-size: 12px; font-variant-numeric: tabular-nums; }
html[data-ui="v2"] .task-ai-duplicate-sides { display: grid; gap: var(--v2-space-2); min-width: 0; }
html[data-ui="v2"] .task-ai-duplicate-side {
  display: grid;
  gap: 2px;
  min-width: 0;
  margin: 0;
  padding: var(--v2-space-2) var(--v2-space-3);
  border: 1px solid var(--v2-color-border-subtle);
  border-radius: var(--v2-radius-sm, 8px);
  background: var(--v2-color-surface-secondary);
}
html[data-ui="v2"] .task-ai-duplicate-side > span {
  /* Rótulo informativo (FICA/ABSORVIDA/TAREFA): o token muted do par ficaria em ~3,8:1 no tema
     claro, abaixo do alvo de 4,5:1 — a correção fica no escopo do painel, sem mexer na paleta. */
  color: var(--v2-color-foreground-secondary);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
html[data-ui="v2"] .task-ai-duplicate-side > strong { font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
html[data-ui="v2"] .task-ai-duplicate-reason { margin: 0; color: var(--v2-color-foreground-secondary); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
html[data-ui="v2"] .task-ai-duplicate-note { margin: 0; color: var(--v2-color-foreground-secondary); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
html[data-ui="v2"] .task-ai-duplicate-note.is-auto { color: var(--v2-color-success); }
html[data-ui="v2"] .task-ai-duplicate-pair > footer { display: flex; justify-content: flex-end; }
html[data-ui="v2"] .task-ai-duplicate-absorbed { margin-top: var(--v2-space-4); padding-top: var(--v2-space-3); border-top: 1px solid var(--v2-color-border); }
html[data-ui="v2"] .task-ai-duplicate-absorbed h4 { margin: 0; color: var(--v2-color-foreground-secondary); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
html[data-ui="v2"] .task-ai-duplicate-absorbed ul { display: grid; gap: var(--v2-space-2); margin: var(--v2-space-2) 0 0; padding: 0; list-style: none; }
html[data-ui="v2"] .task-ai-duplicate-absorbed li {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--v2-space-2);
  min-width: 0;
  padding: var(--v2-space-2) var(--v2-space-3);
  border: 1px solid var(--v2-color-border-subtle);
  border-radius: var(--v2-radius-sm, 8px);
  background: var(--v2-color-surface-secondary);
}
html[data-ui="v2"] .task-ai-duplicate-absorbed-body { display: grid; gap: 2px; min-width: 0; }
html[data-ui="v2"] .task-ai-duplicate-absorbed-body strong { font-size: 13px; overflow-wrap: anywhere; }
html[data-ui="v2"] .task-ai-duplicate-absorbed-body small { color: var(--v2-color-foreground-secondary); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
@media (max-width: 620px) {
  html[data-ui="v2"] #taskAiDuplicatePanel .card-heading .button { width: 100%; }
  html[data-ui="v2"] .task-ai-duplicate-pair > footer .button { width: 100%; }
}

/* Equipe: filtro organizacional apenas meus itens (apresentacao, nao fronteira). */
html[data-ui="v2"] .task-list-controls .task-list-mine {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  min-height: 40px;
}
html[data-ui="v2"] .task-list-controls .task-list-mine > span {
  text-transform: none;
  letter-spacing: normal;
  font-weight: 600;
  white-space: nowrap;
}
html[data-ui="v2"] .task-list-controls .task-list-mine input[type="checkbox"] {
  position: relative;
  width: 44px;
  min-width: 44px;
  min-height: 44px;
  height: 44px;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  display: inline-grid;
  place-items: center;
  background: transparent;
  border: 0;
  cursor: pointer;
}
html[data-ui="v2"] .task-list-controls .task-list-mine input[type="checkbox"]::before {
  content: '';
  width: 18px;
  height: 18px;
  background: var(--v2-color-surface);
  border: 1px solid var(--v2-color-border-strong, var(--v2-color-border));
  border-radius: 4px;
}
html[data-ui="v2"] .task-list-controls .task-list-mine input[type="checkbox"]:checked::before {
  background: var(--v2-color-gold);
  border-color: var(--v2-color-gold);
}
html[data-ui="v2"] .task-list-controls .task-list-mine input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  width: 5px;
  height: 9px;
  border: solid var(--v2-color-surface);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
html[data-ui="v2"] .task-list-controls .task-list-mine input[type="checkbox"]:focus-visible::before {
  outline: 2px solid color-mix(in srgb, var(--v2-color-primary) 55%, transparent);
  outline-offset: 3px;
}

/* Avatar de integrante na tag do responsável e no cartão do Kanban. */
html[data-ui="v2"] .task-tag.owner-tag .member-avatar {
  width: 16px;
  height: 16px;
  font-size: 9px;
}
html[data-ui="v2"] .task-owner .member-avatar {
  width: 26px;
  height: 26px;
  font-size: 11px;
}
@media (max-width: 760px) {
  html[data-ui="v2"] .task-list-summary span,
  html[data-ui="v2"] .task-list-summary small {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
  }
}

/* A caixa conclui a tarefa: o rótulo diz isso, para não parecer seleção. */
html[data-ui="v2"] .task-row-checkbox-label,
html[data-ui="v2"] .task-card-checkbox-label {
  gap: 4px;
}

html[data-ui="v2"] .task-row-checkbox-label {
  flex-direction: column;
}

html[data-ui="v2"] .task-check-text {
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--v2-color-text-muted, var(--muted));
}

@media (max-width: 760px) {
  html[data-ui="v2"] .task-list-check-col,
  html[data-ui="v2"] .task-row-checkbox-label,
  html[data-ui="v2"] .task-card-checkbox-label {
    width: auto;
    height: auto;
    min-width: 56px;
  }

  html[data-ui="v2"] .task-card-checkbox-label {
    margin: 0;
  }
}

/* Atribuição em lote e celular: a lista de tarefas vem antes dos controles. */
html[data-ui="v2"] .task-bulk-assign {
  display: flex;
  align-items: end;
  gap: var(--v2-space-2);
}

html[data-ui="v2"] .task-bulk-assign[hidden],
html[data-ui="v2"] .task-filters-toggle {
  display: none;
}

@media (max-width: 760px) {
  html[data-ui="v2"] .task-filters-toggle {
    display: inline-flex;
    justify-content: center;
    width: 100%;
    min-height: 44px;
  }

  html[data-ui="v2"] #view-kanban:not(.filters-expanded) .task-list-controls,
  html[data-ui="v2"] #view-kanban:not(.filters-expanded) .task-ai-panel,
  html[data-ui="v2"] #view-kanban:not(.filters-expanded) .task-analysis-section,
  html[data-ui="v2"] #view-kanban:not(.filters-expanded) .v2-task-heading small {
    display: none;
  }
}

/* Comentário: campo editável não pode parecer desabilitado. */
html[data-ui="v2"] #modalBackdrop[data-modal-mode="task"] textarea {
  background: var(--v2-color-surface);
}
