/* ---------- Central de Projetos ---------- */
/* Cores por tipo de memória, sóbrias para combinar com a identidade "Chapa" (o amarelo fica só para travas). */
.k-contexto { --k: #3F6E9C; } .k-handoff { --k: #B4632A; } .k-decisao { --k: #6A55A0; } .k-pendencia { --k: #B04A3C; }
.k-convencao { --k: #2F7F6F; } .k-arquitetura { --k: #56656F; } .k-glossario { --k: #4F7F3A; } .k-referencia { --k: #9A4A80; }
.k-contexto, .k-handoff, .k-decisao, .k-pendencia, .k-convencao, .k-arquitetura, .k-glossario, .k-referencia {
  --k-text: color-mix(in srgb, var(--k) 78%, var(--text));
  --k-soft: color-mix(in srgb, var(--k) 12%, var(--surface));
}
button.link { border: 0; background: none; padding: 0; color: var(--link); cursor: pointer; }
button.link:hover { text-decoration: underline; background: none; }
kbd { font: 11px ui-monospace, Consolas, monospace; padding: 1px 5px; border: 1px solid var(--border); border-bottom-width: 2px; border-radius: 4px; color: var(--muted); background: var(--surface-2); }
button.primary kbd { background: transparent; color: inherit; border-color: currentColor; opacity: .7; margin-left: 6px; }
.small { font-size: 12.5px; }

.central { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 20px; align-items: start; max-width: 1280px; }
.c-side { position: sticky; top: 12px; display: flex; flex-direction: column; gap: 16px; }
.c-cats { display: flex; flex-direction: column; gap: 2px; }
.c-cat { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; border: 1px solid transparent; background: transparent; padding: 7px 10px; border-radius: 8px; }
.c-cat:hover { background: var(--surface); }
.c-cat.active { background: var(--surface); border-color: var(--border); box-shadow: var(--shadow); font-weight: 600; }
.c-cat.active.k-contexto, .c-cat.active.k-handoff, .c-cat.active.k-decisao, .c-cat.active.k-pendencia,
.c-cat.active.k-convencao, .c-cat.active.k-arquitetura, .c-cat.active.k-glossario, .c-cat.active.k-referencia {
  background: var(--k-soft); border-color: color-mix(in srgb, var(--k) 35%, transparent); color: var(--k-text);
}
.c-cat.empty .c-cat-label, .c-cat.empty .c-cat-n { color: var(--muted); }
.c-cat-icon { width: 20px; text-align: center; }
.c-cat-label { flex: 1; }
.c-cat-n { font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.c-opts { display: flex; flex-direction: column; gap: 8px; padding: 12px 10px; border-top: 1px solid var(--border); font-size: 13px; }
.c-opts .check { align-items: flex-start; }
.c-opts .check input { margin-top: 3px; }
.c-side-title { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.c-tags { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 10px; }
.c-tags .c-side-title { width: 100%; margin-bottom: 2px; }

.tag { display: inline-flex; align-items: center; gap: 4px; border: 1px solid var(--border); background: var(--surface); border-radius: 999px; padding: 2px 9px; font-size: 12.5px; color: var(--text); }
.tag span { color: var(--muted); font-size: 11px; }
.tag.active { background: var(--primary); border-color: var(--primary); color: var(--primary-text); }
.tag.active span { color: inherit; opacity: .8; }
.tag.small { padding: 0 7px; font-size: 11.5px; }
.tag button { border: 0; background: none; padding: 0 0 0 2px; font-size: 11px; color: var(--muted); }

.c-intro { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 12px 16px; margin-bottom: 14px; color: var(--muted); }
.c-intro strong { color: var(--text); }

/* CEN-16: ajuda sobre a memória */
.c-help { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; margin-bottom: 14px; }
.c-help summary { cursor: pointer; display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; font-weight: 600; color: var(--text); list-style: none; }
.c-help summary::-webkit-details-marker { display: none; }
.c-help summary::after { content: '+'; margin-left: auto; font-size: 20px; color: var(--muted); }
.c-help[open] summary::after { content: '−'; }
.c-help-body { padding: 0 16px 14px; color: var(--muted); font-size: 14.5px; line-height: 1.5; }
.c-help-body ul { margin: 0 0 12px; padding-left: 18px; }
.c-help-body li { margin: 4px 0; }
.c-help-body strong { color: var(--text); }
.c-help-body p { margin: 8px 0 0; }
.c-help-kinds { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px 14px; }
.c-help-kind { display: flex; gap: 8px; align-items: flex-start; font-size: 13.5px; }
.c-help-kind svg.i { flex: none; color: var(--k-text, var(--muted)); margin-top: 2px; }
.c-toolbar { display: flex; gap: 10px; align-items: center; margin-bottom: 12px; }
.c-search { flex: 1; display: flex; align-items: center; gap: 8px; margin: 0; padding: 0 12px; background: var(--surface); border: 1px solid var(--border); border-radius: 10px; font-weight: 400; }
.c-search:focus-within { border-color: var(--link); box-shadow: 0 0 0 3px color-mix(in srgb, var(--link) 20%, transparent); }
.c-search input { border: 0; padding: 10px 0; margin: 0; background: transparent; outline: none; font-size: 16px; }
.c-toolbar .primary { padding: 10px 16px; border-radius: 10px; white-space: nowrap; }
.c-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -2px 0 14px; color: var(--muted); font-size: 13px; }
.fchip { display: inline-flex; align-items: center; gap: 6px; background: var(--surface); border: 1px solid var(--border); border-radius: 999px; padding: 2px 4px 2px 10px; color: var(--text); }
.fchip button { border: 0; background: var(--surface-2); border-radius: 50%; width: 18px; height: 18px; padding: 0; font-size: 10px; line-height: 18px; }

.c-section { margin-bottom: 22px; }
.c-section-head { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin: 0 2px 10px; }
.c-section-head h3 { margin: 0; font-size: 15px; }
.c-section-head .muted { font-size: 13px; }
.c-section-head .link { margin-left: auto; font-size: 13px; }
.mem-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 12px; }
.mem { display: flex; flex-direction: column; gap: 6px; background: var(--surface); border: 1px solid var(--border); border-left: 4px solid var(--k); border-radius: 10px; padding: 12px 14px; cursor: pointer; box-shadow: var(--shadow); transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease; }
.mem:hover, .mem:focus-visible { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(0,0,0,.08); border-color: color-mix(in srgb, var(--k) 45%, var(--border)); border-left-color: var(--k); outline: none; }
.mem.is-old { opacity: .62; border-left-style: dashed; }
.mem-top { display: flex; align-items: center; gap: 6px; }
.kchip { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 600; padding: 2px 8px; border-radius: 999px; background: var(--k-soft); color: var(--k-text); }
.mem-flag { font-size: 12px; }
.oldchip { font-size: 11px; color: var(--muted); border: 1px dashed var(--border); border-radius: 999px; padding: 0 7px; margin-left: auto; }
.mem h4 { margin: 2px 0 0; font-size: 15px; line-height: 1.3; }
.mem mark { background: color-mix(in srgb, #ffd54a 55%, transparent); color: inherit; border-radius: 2px; }
.mem-prev { margin: 0; color: var(--muted); font-size: 13px; display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.mem-foot { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 4px; font-size: 12px; color: var(--muted); }
.avatar { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--surface-2); border: 1px solid var(--border); font-size: 11px; font-weight: 600; color: var(--text); }

.c-empty { text-align: center; padding: 48px 20px; background: var(--surface); border: 1px dashed var(--border); border-radius: 12px; }
.c-empty-icon { font-size: 36px; }
.c-empty h3 { margin: 8px 0 4px; }
.c-empty p { max-width: 460px; margin: 0 auto; }
.c-empty-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 18px; }
.c-note { background: var(--surface-2); border: 1px solid var(--border); border-radius: 8px; padding: 8px 12px; margin: 12px 0; font-size: 13px; }
.c-warn { font-size: 12.5px; color: var(--muted); margin: 14px 0 0; }

.mem-head { align-items: flex-start; border-top: 4px solid var(--k); }
.mem-head h2 { margin-top: 8px; font-size: 19px; }
.md { font-size: 14.5px; line-height: 1.6; margin-top: 12px; }
.md p { margin: 0 0 8px; }
.md h3, .md h4, .md h5 { margin: 16px 0 6px; }
.md ul, .md ol { margin: 0 0 10px; padding-left: 22px; }
.md li { margin: 2px 0; }
.md code { background: var(--surface-2); border: 1px solid var(--border); border-radius: 4px; padding: 0 4px; }
.md pre { background: var(--surface-2); border: 1px solid var(--border); border-radius: 8px; padding: 10px 12px; overflow-x: auto; }
.md pre code { border: 0; padding: 0; background: none; }
.md a { color: var(--link); word-break: break-word; }
.md-preview { min-height: 200px; border: 1px solid var(--border); border-radius: 6px; padding: 8px 12px; margin-top: 4px; }
.mem-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.mem-meta { font-size: 12.5px; margin: 12px 0 0; }
.versions { margin: 0; padding-left: 20px; font-size: 13px; }
.versions li { margin: 4px 0; }
.versions li.current > .link { font-weight: 700; color: var(--text); }

.field-label { font-weight: 500; margin: 14px 0 6px; }
.field-label.with-tabs { display: flex; align-items: center; justify-content: space-between; }
.mini-tabs { display: inline-flex; border: 1px solid var(--border); border-radius: 6px; overflow: hidden; }
.mini-tabs button { border: 0; border-radius: 0; padding: 3px 10px; font-size: 12.5px; background: var(--surface); }
.mini-tabs button.active { background: var(--surface-2); font-weight: 600; }
.kind-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
@media (max-width: 720px) { .kind-grid { grid-template-columns: repeat(2, 1fr); } }
.kind-opt { position: relative; display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 9px 10px; border: 1px solid var(--border); border-radius: 8px; cursor: pointer; font-weight: 400; background: var(--surface); transition: border-color .1s, background .1s; }
.kind-opt:hover { border-color: color-mix(in srgb, var(--k) 50%, var(--border)); }
.kind-opt input { position: absolute; opacity: 0; pointer-events: none; }
.kind-opt:has(input:checked) { background: var(--k-soft); border-color: var(--k); box-shadow: inset 0 0 0 1px var(--k); }
.kind-opt:has(input:focus-visible) { outline: 2px solid var(--link); outline-offset: 2px; }
.ko-icon { font-size: 18px; }
.ko-name { font-weight: 600; font-size: 13.5px; }
.kind-opt:has(input:checked) .ko-name { color: var(--k-text); }
.ko-hint { font-size: 11.5px; color: var(--muted); line-height: 1.3; }
.tag-input { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 5px 8px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); cursor: text; }
.tag-input:focus-within { border-color: var(--link); }
#tag-chips { display: contents; }
.tag-input input { flex: 1; min-width: 140px; width: auto; border: 0; padding: 3px 0; outline: none; background: transparent; }
.row.end { justify-content: flex-end; margin-top: 16px; }

@media (max-width: 860px) {
  .central { grid-template-columns: minmax(0, 1fr); }
  .c-side { position: static; min-width: 0; }
  .mem-grid { grid-template-columns: minmax(0, 1fr); }
  .c-cats { flex-direction: row; overflow-x: auto; padding-bottom: 4px; }
  .c-cat { width: auto; white-space: nowrap; }
  .c-opts { flex-direction: row; flex-wrap: wrap; border-top: 0; padding: 0 4px; }
  .c-tags { display: none; }
  .c-intro { display: none; }
  .c-toolbar { flex-wrap: wrap; }
  .c-search { min-width: 100%; }
  .c-search kbd { display: none; }
}

/* Identidade "Chapa" */
svg.i.big { width: 40px; height: 40px; stroke-width: 1.6; color: var(--muted); }
.kchip svg.i, .mem-flag svg.i, .c-section-head svg.i { width: 15px; height: 15px; vertical-align: -2px; }
.mem-flag { display: inline-flex; align-items: center; gap: 3px; color: var(--muted); }
.c-cat-icon svg.i { width: 18px; height: 18px; }
.c-cat.active { background: var(--surface); }
.mem h4, .mem-head h2, .c-section-head h3, .c-empty h3 { font-family: var(--font-cond); font-weight: 600; }
.mem h4 { font-size: 19px; line-height: 1.15; }
.c-section-head h3 { font-size: 20px; display: inline-flex; align-items: center; gap: 6px; }
.mem-head h2 { font-size: 26px; }
.c-search svg.i { color: var(--muted); }
.c-search:focus-within { border-color: var(--process); box-shadow: 0 0 0 3px color-mix(in srgb, var(--process) 20%, transparent); }
.c-intro { border-radius: 8px; }
.tag.active { background: var(--primary); border-color: var(--primary); color: var(--primary-text); }
.c-warn { color: var(--muted); display: flex; align-items: center; gap: 6px; }
.c-warn svg.i { color: var(--lock-text); background: var(--lock); border-radius: 4px; padding: 2px; width: 20px; height: 20px; }
.mem mark { background: color-mix(in srgb, var(--process) 25%, transparent); }
@media (max-width: 860px) { .c-cat { min-height: 44px; } }

/* CEN-40: perguntas das IAs ao Renato — contador no topo (todas as telas), faixa na visão geral e tela
   "Aguardando você". Tinta escura da marca, para não se confundir com aprovações (amarelo) nem com revisão (azul). */
#btn-perguntas { background: var(--primary); border-color: var(--primary); color: var(--primary-text); font-weight: 700; }
#btn-perguntas:hover { background: var(--primary); opacity: .9; }
#btn-perguntas .pill { background: var(--primary-text); color: var(--primary); }
#btn-perguntas.active { outline: 2px solid var(--process); outline-offset: 1px; }
.mode-perguntas .subbar { display: none !important; }

.q-strip { display: flex; align-items: center; gap: 12px; width: 100%; max-width: 1200px; margin: 0 0 12px; padding: 12px 16px; min-height: 56px; border: 0; border-radius: 8px; background: var(--primary); color: var(--primary-text); text-align: left; font-size: 15px; }
.q-strip:hover { background: var(--primary); opacity: .93; }
.q-strip > svg.i { width: 24px; height: 24px; }
.q-strip .qs-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.q-strip .qs-text > strong { font-family: var(--font-cond); font-size: 21px; font-weight: 600; line-height: 1.15; }
.q-strip .qs-first { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; font-size: 14.5px; min-width: 0; }
.q-strip .qs-q { min-width: 0; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.q-strip .pc-go { margin: 0 0 0 auto; color: inherit; white-space: nowrap; }
.q-strip .q-due:not(.late):not(.soon) { border-color: currentColor; }
.qs-late { display: inline-flex; margin-left: 6px; padding: 0 8px; border-radius: 4px; background: var(--danger); color: var(--danger-text); font-size: 13px; font-weight: 700; vertical-align: 3px; }

.q-due { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 4px; border: 1.5px solid var(--border-dash); font-size: 13px; font-weight: 700; white-space: nowrap; }
.q-due svg.i { width: 14px; height: 14px; }
.q-due.soon { background: var(--lock); color: var(--lock-text); border-color: var(--lock); }
.q-due.late { background: var(--danger); color: var(--danger-text); border-color: var(--danger); }

.q-readonly { max-width: 900px; margin: 0 0 12px; padding: 10px 12px; border: 1px dashed var(--border-dash); border-radius: 8px; color: var(--muted); }
.q-filter { max-width: 420px; margin: 0 0 12px; }
.q-list { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 12px; max-width: 900px; }
.q-item { min-width: 0; padding: 14px 16px; border: 1px solid var(--border); border-left: 5px solid var(--primary); border-radius: 8px; background: var(--surface); box-shadow: var(--shadow); }
.q-item.late { border: 2px solid var(--danger); border-left-width: 6px; }
.q-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 14px; }
.q-proj { display: inline-flex; align-items: baseline; gap: 6px; font-weight: 600; overflow-wrap: anywhere; min-width: 0; }
.q-title { margin: 10px 0 2px; font-size: 18px; line-height: 1.3; overflow-wrap: anywhere; }
button.q-card { justify-content: flex-start; min-width: 44px; max-width: 100%; text-align: left; font-weight: 600; overflow-wrap: anywhere; }
.q-context { margin: 6px 0; overflow-wrap: anywhere; }
.q-blocks { margin: 8px 0 12px; padding: 8px 10px; border-radius: 6px; background: var(--surface-2); overflow-wrap: anywhere; }
.q-opts { display: grid; gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; }
.q-opt { display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 12px 14px; min-height: 56px; border: 1.5px solid var(--border); border-radius: 8px; background: var(--surface); font-weight: 400; cursor: pointer; }
.q-opt:hover { border-color: var(--muted); }
.q-opt input { flex: none; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--primary); }
.q-opt:has(input:checked) { border: 2px solid var(--primary); background: var(--surface-2); }
.q-opts:disabled .q-opt { cursor: default; }
.q-opt-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.q-opt-text { font-size: 16px; font-weight: 700; overflow-wrap: anywhere; }
.q-opt-cons { color: var(--muted); overflow-wrap: anywhere; }
.q-rec-why { font-size: 14px; overflow-wrap: anywhere; }
.q-rec { display: inline-flex; padding: 1px 8px; border-radius: 4px; background: var(--done); color: var(--done-text); font-size: 12.5px; font-weight: 700; white-space: nowrap; vertical-align: 2px; }
.q-other { display: inline-flex; padding: 0 8px; border-radius: 4px; border: 1.5px solid var(--border-dash); color: var(--muted); font-size: 12.5px; font-weight: 700; white-space: nowrap; }
.q-note { margin: 12px 0 0; }
.q-actions { display: flex; justify-content: flex-end; margin-top: 10px; }
.q-asked { margin: 10px 0 0; font-size: 13px; }
.q-answered { max-width: 900px; margin: 8px 0 0; }
.q-answered > summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-family: var(--font-cond); font-size: 20px; font-weight: 600; }
.q-done-list { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 8px; }
.q-done { display: flex; flex-direction: column; gap: 3px; min-width: 0; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); overflow-wrap: anywhere; }
.q-card-item { display: flex; flex-direction: column; gap: 4px; overflow-wrap: anywhere; }
.q-card-item.q-st-aberta { border: 2px solid var(--primary); background: var(--surface); }
.q-card-item.q-st-retirada { opacity: .8; }
.q-badge { display: inline-flex; padding: 1px 8px; border-radius: 4px; background: var(--primary); color: var(--primary-text); font-size: 12.5px; font-weight: 700; }
.q-st-respondida .q-badge { background: var(--done); color: var(--done-text); }
.q-st-retirada .q-badge { background: transparent; color: var(--muted); border: 1.5px solid var(--border-dash); }
@media (max-width: 640px) {
  .mode-perguntas .bottom-nav { display: grid; }
  #btn-perguntas .lbl { display: none; }
  .q-item { padding: 12px; }
  .q-actions button { width: 100%; }
  .q-strip .pc-go { display: none; }
}

/* CEN-46: dossiê da ideia (janela da ideia) e aviso de etapas aguardando o Renato (faixa de Ideias e cartão da ideia). */
.dz { margin: 0 0 16px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-2); min-width: 0; }
.dz h3 { margin: 0; font-family: var(--font-cond); font-size: 21px; font-weight: 600; }
.dz-none { margin: 6px 0 0; }
.dz-ro { margin: 8px 0 0; }
.dz-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.dz-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.dz-tag { padding: 2px 8px; border-radius: 4px; border: 1.5px solid var(--border-dash); font-size: 13px; font-weight: 600; }
.dz-steps { list-style: none; margin: 12px 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.dz-steps li { min-width: 0; }
.dz-step { width: 100%; height: 100%; min-height: 76px; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 4px; padding: 8px 10px; text-align: left; border: 1.5px solid var(--border); border-radius: 6px; background: var(--surface); }
.dz-step.sel { border: 2px solid var(--primary); }
.dz-n { font-family: var(--font-cond); font-size: 18px; font-weight: 700; line-height: 1; }
.dz-name { font-size: 14px; font-weight: 600; line-height: 1.2; overflow-wrap: anywhere; }
.dz-chip { display: inline-flex; padding: 1px 7px; border-radius: 4px; border: 1.5px solid var(--border-dash); color: var(--muted); font-size: 12px; font-weight: 700; white-space: nowrap; }
.dz-chip-rascunho { border-color: var(--process); color: var(--process); }
.dz-chip-aguardando_renato { background: var(--lock); border-color: var(--lock); color: var(--lock-text); }
.dz-chip-ajuste_pedido { border-color: var(--danger); color: var(--danger); }
.dz-chip-aprovada { background: var(--done); border-color: var(--done); color: var(--done-text); }
.dz-chip-pulada { text-decoration: line-through; }
.dz-st-pulada { opacity: .75; }
.dz-cur { min-width: 0; padding: 12px 14px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); }
.dz-cur-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.dz-cur-head h4 { margin: 0; font-size: 17px; overflow-wrap: anywhere; }
.dz-cur > .small { margin: 4px 0 0; }
.dz-text { overflow-wrap: anywhere; }
.dz-decided { display: flex; align-items: flex-start; gap: 6px; margin: 8px 0 0; color: var(--done); font-weight: 600; overflow-wrap: anywhere; }
.dz-adjust { margin: 10px 0 0; padding: 8px 10px; border-left: 4px solid var(--danger); border-radius: 4px; background: var(--surface-2); overflow-wrap: anywhere; }
.dz-adjust p { margin: 4px 0 0; white-space: pre-wrap; }
.dz-src-title { margin: 14px 0 4px; font-size: 13px; text-transform: uppercase; letter-spacing: .3px; color: var(--muted); }
.dz-sources { margin: 0; padding-left: 22px; overflow-wrap: anywhere; }
.dz-sources li { margin: 4px 0; }
.dz-decide { margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--border-dash); }
.dz-decide label { margin-top: 0; }
.dz-decide textarea { margin-bottom: 10px; }
/* Aviso vazio não ocupa espaço entre a nota e os botões; aparece só quando há texto. */
.dz-decide .erro { margin: 0 0 10px; }
.dz-decide .erro:empty { display: none; }
.dz-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.dz-actions button { flex: 1 1 160px; }
.dz-wait { display: inline-flex; align-items: center; gap: 4px; padding: 1px 8px; border-radius: 4px; background: var(--lock); color: var(--lock-text); font-size: 13.5px; font-weight: 700; }
.idea .dz-wait { align-self: flex-start; }
@media (max-width: 760px) {
  .dz { padding: 10px; }
  .dz-steps { grid-template-columns: minmax(0, 1fr); }
  .dz-step { min-height: 48px; flex-direction: row; align-items: center; gap: 10px; }
  .dz-step .dz-chip { margin-left: auto; }
  .dz-cur { padding: 10px; }
  .dz-sources a { display: inline-flex; align-items: center; min-height: 44px; }
  .dz-actions button { flex: 1 1 100%; }
}

/* CEN-48: caixa única "Aguardando você" — perguntas, aprovações, revisão, dossiê e tarefas num lugar só. */
.ag-chips { display: flex; flex-wrap: wrap; gap: 8px; max-width: 900px; margin: 0 0 14px; }
.ag-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px; border: 1.5px solid var(--border); border-radius: 22px; color: var(--text); text-decoration: none; font-weight: 600; }
.ag-chip.has { border-color: var(--primary); }
.ag-chip-n { min-width: 24px; padding: 0 7px; border-radius: 12px; background: var(--border); color: var(--text); font-size: 13px; line-height: 24px; text-align: center; }
.ag-chip.has .ag-chip-n { background: var(--primary); color: var(--primary-text); }
.ag-sec { max-width: 900px; margin: 0 0 20px; scroll-margin-top: 70px; }
.ag-sec h3 { display: flex; align-items: center; gap: 8px; margin: 0; font-family: var(--font-cond); font-weight: 600; font-size: 22px; }
.ag-n { min-width: 26px; padding: 0 8px; border-radius: 13px; background: var(--primary); color: var(--primary-text); font-family: var(--font); font-size: 14px; font-weight: 700; line-height: 26px; text-align: center; }
.ag-n-ia { background: var(--border); color: var(--text); }
.ag-hint { margin: 2px 0 10px; font-size: 14px; }
.ag-list { grid-template-columns: 1fr; }
.ag-item .ag-do { font-weight: 600; color: var(--link); }
.ag-approvals .approval { margin-bottom: 10px; }
.ag-ia-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ag-ia-item { display: grid; gap: 4px; padding: 12px; border: 1px dashed var(--border-dash); border-radius: 8px; min-width: 0; }
.ag-ia-top { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; }
.ag-ia-sum { overflow-wrap: anywhere; }
.ag-ia-text { display: block; padding: 8px 10px; border-radius: 6px; background: var(--surface-2); overflow-wrap: anywhere; font-size: 14px; }
.ag-copy { min-height: 44px; justify-self: start; }
/* CEN-51: "conferir" — decisões pelo chat registradas pelo Claude (só leitura, fora do contador) */
.ag-check .ag-check-what, .ag-check .ag-check-words { font-weight: 400; overflow-wrap: anywhere; min-width: 0; }
.ag-check .ag-check-words { font-style: italic; }
.ag-check .ag-check-words .muted { font-style: normal; }
@media (max-width: 640px) {
  .ag-copy { width: 100%; }
}

/* CEN-57: visão geral e seletor agrupados por área; marcas de tipo e de saúde; painel por empresa/área.
   Identidade "Chapa": o cabeçalho de cada área é uma régua grossa (como a divisão de uma prancha); "Sem área" usa o
   tracejado de "ainda não definido". Saúde: verde = no rumo; vermelho vazado = em risco; vermelho cheio = fora do rumo
   (o amarelo continua só para travas). O texto sempre diz a saúde: a cor nunca é o único sinal. */
.area-head { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 12px; min-width: 0; margin: 16px 0 0; padding: 0 0 8px; border-bottom: 2px solid var(--text); }
.proj-grid > .area-head:first-child { margin-top: 0; }
.area-name { margin: 0; min-width: 0; overflow-wrap: anywhere; font-family: var(--font-cond); font-weight: 700; font-size: 25px; line-height: 1.1; }
.area-kind { font-size: 14px; font-weight: 600; color: var(--muted); }
.area-n { font-size: 14px; color: var(--muted); }
.area-painel { margin-left: auto; min-height: 40px; padding: 0 14px; font-weight: 600; }
.area-sem { border-bottom: 1.5px dashed var(--border-dash); }
.area-sem .area-name { color: var(--muted); }
.area-vazia { border-bottom-width: 1px; border-bottom-color: var(--border); }
.area-vazia .area-name { font-size: 21px; color: var(--muted); }
.pc-marks { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.pc-marks:empty { display: none; }
.tp { display: inline-flex; align-items: center; gap: 4px; padding: 0 8px 0 6px; border: 1.5px solid var(--border-dash); border-radius: 4px; color: var(--muted); font-family: var(--font-cond); font-size: 14.5px; font-weight: 600; line-height: 1.5; white-space: nowrap; }
.tp svg.i { width: 15px; height: 15px; vertical-align: 0; }
.hl { display: inline-flex; align-items: center; gap: 6px; padding: 0 8px; border: 1.5px solid currentColor; border-radius: 4px; font-size: 13px; font-weight: 700; line-height: 1.6; white-space: nowrap; }
.hl::before { content: ''; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.hl-no_rumo { color: var(--done); }
.hl-em_risco { color: var(--danger); }
.hl-em_risco::before { background: transparent; box-shadow: inset 0 0 0 2px currentColor; }
.hl-fora_do_rumo { background: var(--danger); border-color: var(--danger); color: var(--danger-text); }
.pick-meta { flex-wrap: wrap; gap: 4px 8px; }
.pick-area { margin: 12px 2px 0; padding: 0 0 4px; border-bottom: 2px solid var(--text); font-family: var(--font-cond); font-weight: 700; font-size: 18px; overflow-wrap: anywhere; }
.picker > .pick + .pick-area { margin-top: 14px; }
.pick-area-sem { border-bottom: 1.5px dashed var(--border-dash); color: var(--muted); }

/* Painel */
.mode-painel .subbar { display: none !important; }
.pn-head { max-width: 1200px; min-width: 0; }
.pn-jumps { max-width: 1200px; }
.pn-back { min-height: 44px; margin: 8px 0 0; padding: 0 10px 0 2px; color: var(--link); font-weight: 600; }
.pn-title { margin-top: 0; }
.pn-title h2 { min-width: 0; overflow-wrap: anywhere; }
.pn-title .area-kind { font-size: 15px; }
.pn-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; max-width: 1200px; align-items: start; }
.pn-wide { grid-column: 1 / -1; }
.pn-block { min-width: 0; padding: 14px 16px 16px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); scroll-margin-top: 12px; }
.pn-block > h3 { margin: 0 0 10px; display: flex; align-items: center; gap: 8px; font-family: var(--font-cond); font-weight: 600; font-size: 22px; line-height: 1.15; }
.pn-block > h3 + .pn-hint { margin-top: -6px; }
.pn-hint { margin: 4px 0 10px; font-size: 14px; overflow-wrap: anywhere; }
.pn-sum { margin: 0 0 10px; font-size: 14.5px; }
.pn-sub { margin: 16px 0 8px; font-family: var(--font-cond); font-weight: 600; font-size: 17px; }
.pn-none { margin: 0; }
.pn-block .ap-none { margin: 0; }
.pn-list { grid-template-columns: minmax(0, 1fr); }
.pn-wide .pn-list { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.pn-row { gap: 4px; }
.pn-kind { flex: none; padding: 0 6px; border: 1px solid var(--border); border-radius: 4px; background: var(--surface-2); color: var(--text); font-size: 12px; font-weight: 700; }
.pn-why { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: 13.5px; }
.pn-why .st { font-size: 12.5px; padding: 1px 8px; }
.pn-dep { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; overflow-wrap: anywhere; }
.pn-old { font-weight: 700; }
.pn-comment { display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--muted); font-size: 13.5px; font-style: italic; overflow-wrap: anywhere; }
.pn-comment .muted { font-style: normal; }

.pn-table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.pn-table th, .pn-table td { padding: 8px 10px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: middle; }
.pn-table thead th { border-bottom: 2px solid var(--text); color: var(--muted); font-family: var(--font-cond); font-size: 15px; font-weight: 600; white-space: nowrap; }
.pn-table tbody th { font-weight: 600; }
.pn-num { text-align: right !important; font-variant-numeric: tabular-nums; }
button.pn-open { min-height: 0; padding: 0; font-family: var(--font-cond); font-size: 18px; font-weight: 600; text-align: left; overflow-wrap: anywhere; }
.pn-cell { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.pn-origem { font-size: 12.5px; }
.pn-stale { display: inline-flex; align-items: center; gap: 4px; padding: 0 8px; border: 1.5px dashed currentColor; border-radius: 4px; color: var(--text); font-size: 12.5px; font-weight: 700; line-height: 1.6; white-space: nowrap; }
.pn-stale svg.i { width: 14px; height: 14px; vertical-align: 0; }
.pn-table tr.is-stale > th { box-shadow: inset 3px 0 0 var(--text); }

.pn-st-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.pn-st-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.pn-st-name { min-width: 0; font-weight: 600; overflow-wrap: anywhere; }
.pn-st-n { color: var(--muted); font-size: 13.5px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pn-st-total { padding-top: 12px; border-top: 1px dashed var(--border-dash); }
.pn-bar { display: flex; gap: 2px; height: 14px; margin: 6px 0 8px; }
.pn-bar .seg { display: block; flex-basis: 0; min-width: 6px; border-radius: 3px; }
.seg-backlog { background: repeating-linear-gradient(135deg, var(--muted) 0 1.5px, transparent 1.5px 5px); box-shadow: inset 0 0 0 1.5px var(--muted); }
.seg-a_fazer { background: var(--primary); }
.seg-em_andamento { background: var(--process); }
.seg-em_revisao { background: color-mix(in srgb, var(--process) 16%, var(--surface)); box-shadow: inset 0 0 0 2px var(--process); }
.seg-bloqueado { background: var(--lock); }
.pn-st-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pn-st-chips .st { padding: 1px 8px; font-size: 12.5px; }

.pn-tabs { display: inline-flex; gap: 4px; margin: 0 0 12px; padding: 3px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-2); }
.pn-tabs button { min-height: 40px; border-color: transparent; background: transparent; color: var(--muted); font-weight: 600; }
.pn-tabs button.active { border-color: var(--border); background: var(--surface); color: var(--text); box-shadow: inset 0 -3px 0 var(--primary); }
.pn-cmp, .pn-hist { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.pn-cmp th, .pn-cmp td, .pn-hist th, .pn-hist td { padding: 7px 8px; border-bottom: 1px solid var(--border); text-align: left; }
.pn-cmp thead th, .pn-hist thead th { border-bottom: 2px solid var(--text); color: var(--muted); font-family: var(--font-cond); font-size: 15px; font-weight: 600; vertical-align: bottom; }
.pn-cmp tbody th, .pn-hist tbody th { font-weight: 500; }
.pn-cmp thead th:not(:first-child) { text-align: right; }
.pn-range { display: block; font-family: var(--font); font-size: 12px; font-weight: 400; }
.pn-cmp td strong { font-size: 16px; }
.pn-hb { display: flex; align-items: center; gap: 8px; }
.pn-hb b { min-width: 2ch; text-align: right; font-variant-numeric: tabular-nums; }
.hb { display: block; flex: 1; min-width: 40px; height: 10px; }
.hb i { display: block; height: 100%; border-radius: 0 3px 3px 0; }
.hb-in { background: var(--process); }
.hb-out { background: var(--done); }
.pn-week-list { margin: 0; padding-left: 18px; font-size: 14px; overflow-wrap: anywhere; }
.pn-week-list li { margin: 3px 0; }

.pn-mem { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 8px; }
.pn-mem-item { width: 100%; height: 100%; min-height: 56px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px; padding: 8px 12px; border-left: 4px solid var(--k); text-align: left; }
.pn-mem-top { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.pn-mem-t { font-weight: 600; overflow-wrap: anywhere; }
.pn-ctx { padding: 0 6px; border-radius: 4px; background: var(--process); color: var(--process-text); font-size: 12px; font-weight: 700; }
#modal-body .pn-mem { margin-top: 10px; }

@media (max-width: 900px) {
  .pn-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .pn-tabs { display: flex; }
  .pn-tabs button { flex: 1; min-height: 44px; }
  button.pn-open { min-height: 44px; padding: 0 4px 0 0; }
  .area-painel { min-height: 44px; }
}
@media (max-width: 640px) {
  .mode-painel .bottom-nav { display: grid; }
  .area-name { font-size: 23px; }
  .pn-block { padding: 12px; }
  /* Tabela de itens no celular: cada linha vira um cartão, com o nome da coluna à esquerda (nada rola para o lado). */
  .pn-table, .pn-table tbody, .pn-table tr, .pn-table th, .pn-table td { display: block; }
  .pn-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .pn-table tr { margin: 0 0 10px; padding: 4px 12px 6px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-2); }
  .pn-table tr.is-stale { border-left: 4px solid var(--text); }
  .pn-table tr.is-stale > th { box-shadow: none; }
  .pn-table th, .pn-table td { padding: 5px 0; border: 0; }
  .pn-table tbody th { border-bottom: 1px solid var(--border); }
  .pn-table td { display: flex; align-items: center; justify-content: space-between; gap: 12px; text-align: right; min-height: 32px; }
  .pn-table td::before { content: attr(data-label); flex: none; color: var(--muted); font-size: 13px; text-align: left; }
  .pn-table td .pn-cell { justify-content: flex-end; }
  .pn-cmp th, .pn-cmp td, .pn-hist th, .pn-hist td { padding: 7px 4px; }
}

/* ---------- CEN-58: formulários com área e tipo, áreas, arquivados, memória da empresa no painel ---------- */
.field-lock { display: flex; align-items: flex-start; gap: 6px; margin-top: 6px; font-weight: 400; line-height: 1.35; }
.field-lock .i { flex: none; width: 15px; height: 15px; margin-top: 2px; }
select:disabled, input:disabled { background: var(--surface-2); color: var(--muted); cursor: not-allowed; }
.pj-fila { margin: 12px 0 4px; padding: 10px 12px; border: 1px dashed var(--border-dash); border-radius: 6px; background: var(--surface-2); }
.pj-fila .field-label { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; font-weight: 600; }
.pj-fila p { margin: 6px 0 0; }
.area-tools { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; }
.arch-box { margin: 18px 0 0; padding: 0 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); }
.arch-box > summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; gap: 6px; font-weight: 600; }
.arch-box > p { margin: 0 0 8px; }
.arch-list { list-style: none; margin: 0 0 10px; padding: 0; }
.arch-item { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 8px 0; border-top: 1px solid var(--border); }
.arch-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 220px; }
.arch-name { font-weight: 600; overflow-wrap: anywhere; }
.arch-erro { white-space: pre-wrap; overflow-wrap: anywhere; }
.area-org { list-style: none; margin: 8px 0 0; padding: 0; }
.area-org li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; padding: 8px 0; border-top: 1px solid var(--border); }
.ao-name { min-width: 0; overflow-wrap: anywhere; }
.ao-btns { display: flex; gap: 6px; flex-wrap: wrap; }
.ao-move { min-width: 40px; padding: 7px 8px; }
.ao-up { transform: rotate(180deg); }
.dz-start { margin-top: 6px; }
.ag-only { color: var(--text); font-weight: 600; }
.ag-area-filter { max-width: 420px; }
@media (max-width: 640px) {
  .area-tools button { flex: 1 1 100%; }
  .arch-item button { flex: 1 1 100%; }
  .ao-move { min-width: 44px; }
  .ao-btns { width: 100%; }
  .ao-btns [data-edit-area] { flex: 1; }
}
