/* ============================================================
   TelaProjeto (tp-) · tela ÚNICA de projeto do Legado Brasil
   Compartilhada pelos 2 apps: cliente (portal) e time (Legis).
   Visual = réplica aprovada do Legis: navy/dourado, hairlines.
   As cores leem as variáveis do app hospedeiro com fallback.
   ============================================================ */

.tp-page{display:flex;flex-direction:column}
.tp-voltar{background:none;border:none;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:700;color:var(--gold-text,#9A793A);padding:0 0 10px;width:fit-content}
.tp-voltar:hover{color:var(--gold-deep,#7d6231)}

/* ---- cabeçalho do projeto (ficha: título + campos rotulados) ---- */
.tp-head{background:#fff;border:1px solid var(--line,#E3E1DA);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:8px;position:relative}
.tp-titulo{display:flex;align-items:flex-start;gap:8px}
.tp-titulo .tp-nome{flex:1;min-width:0}
.tp-ficha{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;border-top:1px solid var(--line,#E3E1DA);padding-top:12px;margin-top:4px}
.tp-campo{display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:0}
.tp-campo.largo{grid-column:1/-1}
.tp-campo-lb{font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#8A94A0}
.tp-campo-v{font-size:13.5px;font-weight:600;color:var(--ink,#152735);min-width:0;max-width:100%}
.tp-campo-v b{font-weight:800}
.tp-tipo{font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--gold-text,#9A793A)}
.tp-badge{display:inline-flex;align-items:center;height:24px;padding:0 11px;border-radius:999px;font-size:12px;font-weight:700;background:#EAF1F7;color:#1D4ED8}
.tp-badge.amber{background:#FBF3E1;color:#92600A}
.tp-badge.green{background:#E5F5EC;color:#047857}
.tp-badge.gray{background:#ECEAE3;color:#5C6B75}
.tp-nome{margin:0;font-family:var(--display,inherit);font-size:19px;font-weight:800;color:var(--ink,#152735);line-height:1.25}
.tp-cli{font-size:13.5px;color:#414b55}
.tp-copy{cursor:pointer;border-bottom:1px dashed #B9B4A8}
.tp-meta{font-size:12.5px;color:#5c6670;border-top:1px solid var(--line,#E3E1DA);padding-top:10px;margin-top:4px}
.tp-acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}

/* chip do funil (só time) */
.tp-fu{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;border:1px solid #E2D3B3;border-radius:999px;background:rgba(193,151,73,.10);color:var(--gold-text,#9A793A);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer}
.tp-fu svg{width:13px;height:13px}
.tp-fuwrap{position:relative;display:inline-flex}
.tp-fumenu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;background:#fff;border:1px solid var(--line,#E3E1DA);border-radius:12px;box-shadow:0 12px 30px -12px rgba(21,39,53,.35);padding:6px;display:none;flex-direction:column;min-width:170px}
.tp-fumenu.open{display:flex}
.tp-fumenu button{display:flex;align-items:center;gap:8px;background:none;border:none;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:600;color:var(--ink,#152735);cursor:pointer;text-align:left}
.tp-fumenu button:hover{background:#F6F4EE}
.tp-fumenu button.atual{color:var(--gold-text,#9A793A)}

/* etiquetas de serviço do projeto */
.tp-servs{display:flex;align-items:center;gap:7px;flex-wrap:wrap;position:relative}
.tp-serv{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 11px;border-radius:999px;background:var(--gold-soft,#F7EFDD);border:1px solid #E2D3B3;color:var(--gold-text,#9A793A);font-size:12px;font-weight:700}
.tp-serv-add{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 11px;border-radius:999px;background:none;border:1px dashed #C9C3B4;color:#5C6B75;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer}
.tp-serv-add svg{width:13px;height:13px;flex:0 0 auto}
.tp-serv-add:hover{border-color:var(--gold,#C19749);color:var(--gold-text,#9A793A)}
.tp-servmenu{position:absolute;top:32px;left:0;z-index:30;background:#fff;border:1px solid var(--line,#E3E1DA);border-radius:12px;box-shadow:0 12px 30px -12px rgba(21,39,53,.35);padding:6px;display:none;flex-direction:column;min-width:250px;max-height:260px;overflow:auto}
.tp-servmenu.open{display:flex}
.tp-servmenu button{background:none;border:none;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:600;color:var(--ink,#152735);cursor:pointer;text-align:left}
.tp-servmenu button:hover{background:#F6F4EE}

/* ---- régua de abas ---- */
.tp-tabs{display:grid;gap:6px;background:#F0EEE8;border:1px solid var(--line,#E3E1DA);border-radius:13px;padding:5px;margin:14px 0}
.tp-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:46px;border:1px solid transparent;background:transparent;border-radius:9px;font-family:inherit;font-size:11.5px;font-weight:700;color:#5C6B75;cursor:pointer;transition:.12s;position:relative}
.tp-tab svg{width:17px;height:17px}
.tp-tab.sel{background:rgba(193,151,73,.14);border-color:#E2D3B3;color:var(--gold-text,#9A793A)}
.tp-tab .tp-rdot{position:absolute;top:6px;right:10px;width:7px;height:7px;border-radius:50%;background:#e2445c}

/* ---- corpo comum ---- */
.tp-card{background:#fff;border:1px solid var(--line,#E3E1DA);border-radius:14px;padding:18px 20px;margin-bottom:14px}
.tp-card h2{font-family:var(--display,inherit);font-size:16px;font-weight:700;color:var(--ink,#152735);margin:0 0 4px}
.tp-card .tp-sub{font-size:13px;color:#5C6B75;margin-bottom:10px}
.tp-vazio{font-size:13px;color:#6F6A5E;padding:8px 0 2px}
.tp-erro{display:none;font-size:13px;color:#C81E3F;font-weight:600;margin-top:8px}
.tp-erro.show{display:block}
.tp-cardtop{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.tp-cardacts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tp-mini{height:30px;padding:0 12px;border-radius:8px;border:1px solid var(--line,#E3E1DA);background:#fff;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--ink,#152735);cursor:pointer}
.tp-mini:hover{border-color:#C9C3B4}
.tp-mini.escuro{background:var(--ink,#152735);border-color:var(--ink,#152735);color:#fff}

/* lápis discreto no canto (editar caso) */
.tp-editico{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:none;background:none;color:#8A94A0;cursor:pointer;padding:0}
.tp-editico svg{width:16px;height:16px}
.tp-editico:hover{background:#F1EFE9;color:var(--ink,#152735)}

/* responsável do projeto (= dono) — avatar em branco → menu de usuários */
.tp-resp-wrap{position:relative;display:inline-flex}
.tp-resp{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 12px 0 6px;border:1px solid var(--line,#E3E1DA);border-radius:999px;background:#fff;font-family:inherit;cursor:pointer}
.tp-resp:hover{border-color:#C9C3B4}
.tp-resp.vazio{border-style:dashed}
.tp-resp-av{width:28px;height:28px;border-radius:50%;background:var(--blue-soft,#E8EEF4);color:var(--blue,#1D4ED8);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;flex:0 0 auto}
.tp-resp-av.vazio{background:none;border:1.5px dashed #C1BBAC;color:#9AA3AD}
.tp-resp-av.vazio svg{width:15px;height:15px}
.tp-resp-av.mini{width:26px;height:26px;font-size:10px}
.tp-resp-lb{font-size:12.5px;font-weight:700;color:var(--ink,#152735)}
.tp-resp-lb.vazio{color:#5C6B75;font-weight:600}
.tp-resp-cv{display:inline-flex;color:#8A94A0}
.tp-resp-cv svg{width:15px;height:15px}
.tp-respmenu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;background:#fff;border:1px solid var(--line,#E3E1DA);border-radius:12px;box-shadow:0 12px 30px -12px rgba(21,39,53,.35);padding:6px;display:none;flex-direction:column;min-width:232px;max-height:280px;overflow:auto}
.tp-respmenu.open{display:flex}
.tp-respmenu button{display:flex;align-items:center;gap:9px;background:none;border:none;border-radius:8px;padding:7px 9px;font-family:inherit;font-size:13px;font-weight:600;color:var(--ink,#152735);cursor:pointer;text-align:left;width:100%}
.tp-respmenu button:hover{background:#F6F4EE}
.tp-respmenu button.atual{background:#F1F5FA}
.tp-respmenu-nm{display:flex;flex-direction:column;line-height:1.2}
.tp-respmenu-nm em{font-style:normal;font-size:11.5px;font-weight:500;color:#8A94A0}

/* composer de atualização */
.tp-comp{display:flex;flex-direction:column;gap:9px;margin-bottom:14px;position:relative}
.tp-comp .tp-ta{min-height:74px;resize:vertical}
.tp-comp-rico{border:1px solid var(--line,#E3E1DA);border-radius:11px;background:#fff}
.tp-tools{display:flex;gap:2px;border-bottom:1px solid var(--line,#E3E1DA);padding:5px 7px}
.tp-tool{width:28px;height:28px;border:none;background:none;border-radius:7px;font-family:inherit;font-size:13px;font-weight:800;color:#5C6B75;cursor:pointer}
.tp-tool:hover{background:#F0EEE8;color:var(--ink,#152735)}
.tp-tool.redu{color:#DC2626}
.tp-ed{min-height:70px;padding:10px 12px;font-size:13.5px;color:var(--ink,#152735);outline:none;line-height:1.5}
.tp-ed:empty:before{content:attr(data-ph);color:#5F665C}
.tp-ed .mnt{color:#1D4ED8;font-weight:700}
.tp-comp-a{display:flex;justify-content:flex-end;gap:8px}
.tp-mnt-menu{position:absolute;top:42px;left:12px;z-index:40;background:#fff;border:1px solid var(--line,#E3E1DA);border-radius:11px;box-shadow:0 12px 30px -12px rgba(21,39,53,.35);padding:5px;display:none;flex-direction:column;min-width:180px}
.tp-mnt-menu.open{display:flex}
.tp-mnt-menu button{background:none;border:none;border-radius:8px;padding:7px 10px;font-family:inherit;font-size:13px;font-weight:600;color:var(--ink,#152735);cursor:pointer;text-align:left}
.tp-mnt-menu button:hover{background:#F6F4EE}

/* feed de atualizações */
.tp-feed{display:flex;flex-direction:column;gap:14px;margin-top:4px}
.tp-up{border-left:3px solid var(--gold,#C19749);padding:2px 0 2px 12px}
.tp-up-dt{font-size:12px;font-weight:700;color:#6F6A5E}
.tp-up-tx{font-size:13.5px;color:var(--ink,#152735);line-height:1.55;margin-top:2px}
.tp-up-tx.plano{white-space:pre-line}
.tp-up-tx .mnt{color:#1D4ED8;font-weight:700}
.tp-up-tx u{color:#DC2626;text-decoration-color:#DC2626}
.tp-up-audio{display:inline-flex;align-items:center;gap:7px;background:#F0EEE8;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:700;color:#2C3D49;margin-top:4px}
.tp-up-task{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;font-weight:700;color:var(--gold-text,#9A793A);background:var(--gold-soft,#F7EFDD);border-radius:999px;padding:3px 10px}
.tp-up-mais{background:none;border:none;padding:0;margin-top:4px;font-family:inherit;font-size:12px;font-weight:700;color:#1D4ED8;cursor:pointer}
.tp-up-acts{display:flex;gap:14px;margin-top:5px}
.tp-up-act{background:none;border:none;padding:0;font-family:inherit;font-size:12px;font-weight:700;color:#5C6B75;cursor:pointer}
.tp-up-act:hover{color:var(--ink,#152735)}
/* visibilidade da atualização (privada = só a equipe · compartilhada = o cliente vê) */
.tp-up-visbox{position:relative;display:inline-block;margin-left:8px;vertical-align:middle}
.tp-up-vis{display:inline-flex;align-items:center;gap:4px;height:19px;padding:0 8px;border:none;border-radius:999px;font-family:inherit;font-size:10.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle}
.tp-up-dt > .tp-up-vis{margin-left:8px} /* etiqueta estática (cliente) */
button.tp-up-vis{cursor:pointer}
button.tp-up-vis:hover{filter:brightness(.97)}
.tp-up-vis.priv{background:#ECEAE3;color:#5C6B75}
.tp-up-vis.comp{background:#E5F5EC;color:#047857}
.tp-up-cx{font-size:9px;opacity:.7}
.tp-up-vismenu{position:absolute;top:24px;left:0;z-index:40;background:#fff;border:1px solid var(--line,#E3E1DA);border-radius:11px;box-shadow:0 12px 30px -12px rgba(21,39,53,.35);padding:5px;display:none;flex-direction:column;min-width:212px}
.tp-up-vismenu.open{display:flex}
.tp-up-vismenu button{background:none;border:none;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--ink,#152735);cursor:pointer;text-align:left;white-space:nowrap}
.tp-up-vismenu button:hover{background:#F6F4EE}
.tp-up-vismenu button.sel{color:var(--gold-text,#9A793A);font-weight:800}

/* tarefas */
.tp-tarefas{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.tp-tf{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink,#152735)}
.tp-tf.feita{opacity:.55}
.tp-tf-chk{width:17px;height:17px;flex:0 0 auto;accent-color:var(--gold,#C19749);cursor:pointer}
.tp-tf-marca{color:var(--gold-deep,#7d6231);font-weight:800}
.tp-tf-tit{flex:1;min-width:0}
.tp-tf-dt{font-size:12px;color:#5c6670;white-space:nowrap}
.tp-arch{background:none;border:none;padding:0;margin-top:10px;font-family:inherit;font-size:12.5px;font-weight:700;color:#5C6B75;cursor:pointer}

/* pessoas */
.tp-prow{display:flex;align-items:center;gap:11px;padding:9px 0}
.tp-prow + .tp-prow{border-top:1px solid var(--line,#E3E1DA)}
.tp-prow.clicavel{cursor:pointer}
.tp-prow.clicavel:hover{background:rgba(193,151,73,.05)}
.tp-pav{width:38px;height:38px;border-radius:50%;background:var(--blue-soft,#E8EEF4);color:var(--blue,#1D4ED8);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:0 0 auto}
.tp-pmain{flex:1;min-width:0}
.tp-pn{font-size:13.5px;font-weight:700;color:var(--ink,#152735);display:flex;align-items:center;gap:7px}
.tp-prin{font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--gold-text,#9A793A);background:var(--gold-soft,#F7EFDD);border-radius:999px;padding:2px 9px}
.tp-pi{font-size:12.5px;color:#5c6670;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.tp-pset{background:none;border:none;padding:0;font-family:inherit;font-size:12px;font-weight:700;color:#1D4ED8;cursor:pointer}
.tp-role{font-size:11.5px;font-weight:700;color:#2C3D49;background:#ECEAE3;border-radius:999px;padding:3px 10px;white-space:nowrap}

/* processos e movimentações */
.tp-proc{border:1px solid var(--line,#E3E1DA);border-radius:12px;padding:13px 15px;margin-top:10px}
.tp-proc-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.tp-cnj{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13.5px;font-weight:700;color:var(--ink,#152735);cursor:pointer;border-bottom:1px dashed #C9C3B4}
.tp-cnj:hover{color:var(--gold-text,#9A793A);border-color:var(--gold,#C19749)}
.tp-proc-sub{font-size:12.5px;color:#5c6670;margin-top:3px}
.tp-proc-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line,#E3E1DA);padding-top:11px;margin-top:11px}
.tp-sync{margin-left:auto;border-radius:999px}
.tp-proc-leg{flex-basis:100%;font-size:12px;color:#7A756A}
.tp-leg-novas{font-weight:800;color:#047857}
/* toggle on/off (sincronização diária) */
.tp-sw-wrap{display:inline-flex;align-items:center;gap:9px;background:none;border:none;cursor:pointer;font-family:inherit;padding:0}
.tp-sw-lb{font-size:12.5px;font-weight:700;color:var(--ink,#152735)}
.tp-sw{position:relative;width:38px;height:22px;border-radius:999px;background:#CFCABB;transition:background .15s;flex:0 0 auto}
.tp-sw.on{background:#047857}
.tp-sw-dot{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:left .15s}
.tp-sw.on .tp-sw-dot{left:18px}
.tp-sw-wrap:hover .tp-sw{filter:brightness(.96)}
.tp-pv-tabs{display:flex;gap:6px;margin-top:10px}
.tp-pv-tab{height:28px;padding:0 12px;border-radius:999px;border:1px solid var(--line,#E3E1DA);background:#fff;font-family:inherit;font-size:12px;font-weight:700;color:#5C6B75;cursor:pointer}
.tp-pv-tab.sel{background:rgba(193,151,73,.14);border-color:#E2D3B3;color:var(--gold-text,#9A793A)}
.tp-pv-tab b{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:4px;border-radius:999px;background:#E5F5EC;color:#047857;font-size:11px}
.tp-pv-tab.sel b{background:rgba(193,151,73,.22);color:var(--gold-text,#9A793A)}
/* linha do tempo das movimentações: bolinha verde = nova · vazada = antiga */
.tp-mv{position:relative;display:flex;gap:10px;padding:9px 0 9px 20px;font-size:13px;color:var(--ink,#152735);line-height:1.5}
.tp-mv + .tp-mv{border-top:1px solid #F0EEE8}
.tp-mv::before{content:'';position:absolute;left:2px;top:15px;width:8px;height:8px;border-radius:50%;background:#fff;border:2px solid #C9C3B4}
.tp-mv.nova::before{background:#047857;border-color:#047857}
.tp-mv-dt{flex:0 0 auto;font-size:12px;font-weight:700;color:#6F6A5E;padding-top:1px;width:64px;font-variant-numeric:tabular-nums}
.tp-tag{display:inline-flex;align-items:center;height:18px;padding:0 8px;border-radius:999px;font-size:10.5px;font-weight:800;letter-spacing:.03em;vertical-align:1px}
.tp-tag.nova{background:#E5F5EC;color:#047857}
.tp-tag.decisao{background:#FDECEC;color:#B42318}

/* documentos */
.tp-doc{display:flex;align-items:center;gap:11px;padding:9px 0}
.tp-doc + .tp-doc{border-top:1px solid var(--line,#E3E1DA)}
.tp-doc-ic{width:34px;height:34px;border-radius:9px;background:var(--gold-soft,#F7EFDD);color:var(--gold-text,#9A793A);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.tp-doc-ic svg{width:16px;height:16px}
.tp-doc-mid{flex:1;min-width:0}
.tp-doc-mid.abrivel{cursor:pointer}
.tp-doc-nm{font-size:13.5px;font-weight:700;color:var(--ink,#152735);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tp-doc-i{font-size:12px;color:#5c6670}
.tp-doc-del{background:none;border:none;padding:0;font-family:inherit;font-size:12px;font-weight:700;color:#C81E3F;cursor:pointer;white-space:nowrap}

/* proposta */
.tp-pp-tag{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:800;background:var(--gold-soft,#F7EFDD);color:var(--gold-text,#9A793A);margin-bottom:8px}
.tp-pp-text{font-size:13.5px;color:var(--ink,#152735);line-height:1.6;white-space:pre-wrap}
.tp-pp-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.tp-pp-opt{border:1px solid var(--line,#E3E1DA);border-radius:12px;padding:12px 14px}
.tp-pp-opt.b{border-color:#E2D3B3;background:#FDFBF5}
.tp-pp-opt b{display:block;font-size:13px;margin-bottom:4px}
.tp-pp-opt p{font-size:12.5px;color:#414b55;line-height:1.5;margin:0}
.tp-pp-fontes{font-size:12px;color:#5c6670;margin-top:10px}
.tp-pp-fontes a{color:#1D4ED8}

@media (max-width:700px){
  .tp-tab .tp-tab-lb{display:none}
  .tp-tab.semicone .tp-tab-lb{display:inline} /* aba sem ícone não pode virar botão em branco */
  .tp-tab{min-height:40px}
  .tp-pp-opts{grid-template-columns:1fr}
}
