/* Projects::PartsMonitorComponent — o BOARD das Partes na fase Execução do dossiê do Projeto
   (campo :parts_monitor; doc 39). Porta o conceito 3 (mini-board) do protótipo aprovado
   (prototype/execution-panel-mockups.html) para tokens + BEM. As Partes ficam agrupadas em colunas
   por fase (Parts::Lifecycle, cor via --hue inline); cada card abre o modal da Parte e é arrastável
   entre colunas (full-move). Geometria sharp. SEM o clamp de 66ch do widget de autoria
   (.c-parts-field): ocupa toda a largura da coluna — a coluna de contexto colapsável (dossier.css)
   dá a largura total. */

/* mini-board: 5 colunas iguais; gap de 1px sobre a linha = divisórias finas (efeito do board) */
.c-projects-parts-monitor__board{
  margin-top: var(--s4); /* respiro do título 03.1 (widgets colados no head liam apertados) */
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px; background: var(--line); border: 1px solid var(--line);
}

.c-projects-parts-monitor__col{ background: var(--paper); display: flex; flex-direction: column; min-height: 220px; }

.c-projects-parts-monitor__col_head{
  display: flex; align-items: center; justify-content: space-between; gap: 6px;
  padding: 11px 12px 10px; border-bottom: 2px solid var(--hue);
}
.c-projects-parts-monitor__col_name{
  font: 600 var(--fs-label)/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--hue);
}
.c-projects-parts-monitor__col_count{ font: 600 var(--fs-label)/1 var(--font-mono); color: var(--ink-3); }

.c-projects-parts-monitor__col_body{ flex: 1 1 auto; display: flex; flex-direction: column; gap: 7px; padding: 8px; }

/* dropzone recebendo um card (mesmo idioma do board.css) */
.c-projects-parts-monitor__col_body.is-over{
  background: color-mix(in srgb, var(--hue, var(--ink-3)) 9%, transparent);
}

/* card = gatilho do modal da Parte; arrastável (full-move) */
.c-projects-parts-monitor__card{
  display: block; background: var(--surface); border: 1px solid var(--line); padding: 9px 10px;
  color: inherit; text-decoration: none; cursor: grab;
  transition: border-color var(--t1) var(--ease), transform var(--t1) var(--ease);
}
.c-projects-parts-monitor__card.is-dragging{ opacity: .4; cursor: grabbing; }
.c-projects-parts-monitor__card:hover{ border-color: var(--hue); transform: translateY(-1px); }
.c-projects-parts-monitor__card:focus-visible{ outline: 2px solid var(--brand); outline-offset: -1px; }

.c-projects-parts-monitor__card_name{
  display: block; font: 600 var(--fs-ui)/1.3 var(--font-ui); letter-spacing: -.005em; color: var(--ink);
}

/* status de ancoragem ao fluxo (Peça 3): cinza = sem steps, verde = ancorada */
.c-projects-parts-monitor__card_meta{
  display: flex; align-items: center; gap: 6px; margin-top: 7px;
  font: 500 var(--fs-label)/1 var(--font-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3);
}
.c-projects-parts-monitor__card_meta svg{ width: 10px; height: 10px; flex: 0 0 auto; }
.c-projects-parts-monitor__card_meta.is-on{ color: #138a55; }

.c-projects-parts-monitor__empty{
  margin: auto; padding: 0 8px; text-align: center;
  font: 400 var(--fs-meta)/1.4 var(--font-ui); font-style: italic; color: var(--ink-3);
}

@media (prefers-reduced-motion: reduce){
  .c-projects-parts-monitor__card{ transition: none; }
}
