/* ---------- TCC ---------- */
.tcc-duas { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 14px 0 8px; }
.tcc-opcao { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; text-align: left; cursor: pointer; transition: border-color .15s, transform .15s; }
.tcc-opcao:hover { border-color: var(--acento); transform: translateY(-1px); }
.tcc-opcao strong { font-family: var(--titulo); font-size: 1.05rem; }
.tcc-opcao small { color: var(--tinta-3); line-height: 1.4; }
@media (max-width: 560px) { .tcc-duas { grid-template-columns: 1fr; } }
.tcc-uso { margin: 8px 0 0; }
.tcc-analise-form, .tcc-espera { display: flex; flex-direction: column; gap: 14px; }
.tcc-espera { align-items: center; text-align: center; padding: 34px 20px; }
.tcc-nota-topo { text-align: center; }
.tcc-nota-numero { font-family: var(--titulo); font-weight: 900; font-size: 4rem; line-height: 1; margin: 6px 0; }
.tcc-nota-numero small { font-size: 1.4rem; color: var(--tinta-3); font-weight: 700; }
.tcc-nota-numero.bom { color: var(--certo); }
.tcc-nota-numero.medio { color: var(--laranja); }
.tcc-nota-numero.ruim { color: var(--errado); }
.tcc-criterios { padding: 6px 16px; }
.tcc-criterio { border-bottom: 1px solid var(--linha); }
.tcc-criterio:last-child { border-bottom: 0; }
.tcc-criterio summary, .tcc-criterio.nao { display: flex; align-items: center; gap: 12px; padding: 12px 0; cursor: pointer; list-style: none; }
.tcc-criterio summary::-webkit-details-marker { display: none; }
.tcc-crit-nome { flex: 1 1 40%; font-weight: 600; font-size: .92rem; min-width: 0; }
.tcc-barra { flex: 1 1 30%; height: 8px; border-radius: 99px; background: var(--folha-2); overflow: hidden; }
.tcc-barra i { display: block; height: 100%; border-radius: 99px; }
.tcc-barra i.bom { background: var(--certo); }
.tcc-barra i.medio { background: var(--laranja); }
.tcc-barra i.ruim { background: var(--errado); }
.tcc-criterio b { width: 34px; text-align: right; }
.tcc-crit-corpo { padding: 0 0 14px; font-size: .9rem; }
.tcc-crit-corpo p { margin: 6px 0; }
.tcc-prioridade { padding: 14px 16px; border-left: 4px solid var(--linha-forte); }
.tcc-prioridade.alta { border-left-color: var(--errado); }
.tcc-prioridade.media { border-left-color: var(--laranja); }
.tcc-prioridade.baixa { border-left-color: var(--azul); }
.tcc-prioridade p { margin: 6px 0 0; font-size: .9rem; }
.tcc-prio-topo { display: flex; align-items: center; gap: 10px; }
.selo-prio { font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; }
.selo-prio.alta { background: var(--errado-fundo); color: var(--errado); }
.selo-prio.media { background: var(--laranja-fundo); color: var(--laranja); }
.selo-prio.baixa { background: var(--azul-fundo); color: var(--azul); }
.tcc-coer { display: flex; gap: 10px; padding: 8px 0; }
.tcc-coer p { margin: 2px 0 0; }
.tcc-lista { margin: 6px 0 12px; padding-left: 20px; display: flex; flex-direction: column; gap: 5px; font-size: .9rem; line-height: 1.5; }
.tcc-pergunta { padding: 14px 16px; }
.tcc-pergunta summary { cursor: pointer; font-weight: 600; font-size: .94rem; }
.tcc-pergunta p { margin: 10px 0 0; }
.tcc-rodape-acoes { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 24px 0 8px; flex-wrap: wrap; }
.tcc-cabeca { margin: 4px 0 14px; display: flex; flex-direction: column; gap: 10px; }
.tcc-titulo { width: 100%; font-family: var(--titulo); font-weight: 900; font-size: 1.5rem; line-height: 1.2; border: 0; border-bottom: 2px solid transparent; background: none; outline: none; padding: 4px 0; }
.tcc-titulo:focus { border-bottom-color: var(--acento); }
.tcc-cabeca-linha { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.chip-tipo { font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; background: var(--roxo-fundo); color: var(--roxo); }
.tcc-prazo { display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; color: var(--tinta-3); }
.tcc-prazo input { border: 1px solid var(--linha-forte); background: var(--papel); border-radius: 10px; padding: 5px 8px; }
.tcc-salvo { margin-left: auto; min-width: 70px; text-align: right; }
.tcc-progresso { background: var(--folha-2); }
.tcc-progresso span { background: var(--gradiente-acento); }
.tcc-abas { display: flex; overflow-x: auto; max-width: 100%; margin-bottom: 14px; }
.tcc-abas button { flex: 1 0 auto; }
.tcc-etapas { display: flex; flex-direction: column; gap: 12px; margin-top: 10px; }
.tcc-etapa { display: flex; flex-direction: column; gap: 10px; }
.tcc-etapa-topo { display: flex; align-items: center; gap: 10px; }
.tcc-etapa-topo h3 { margin: 0; font-size: 1.02rem; }
.tcc-ponto { width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--linha-forte); flex-shrink: 0; }
.tcc-ponto.feito { background: var(--certo); border-color: var(--certo); }
.campo textarea, .tcc-editor textarea, .tcc-chat textarea { width: 100%; background: var(--papel); border: 1px solid var(--linha-forte); border-radius: 14px; padding: 12px 14px; font: inherit; font-size: .95rem; line-height: 1.55; color: var(--tinta); outline: none; resize: vertical; }
.campo textarea:focus, .tcc-editor textarea:focus { border-color: var(--acento); }
.tcc-etapa-acoes { display: flex; gap: 8px; flex-wrap: wrap; }
.tcc-sugestao { background: var(--folha-2); border-radius: 16px; padding: 14px 16px; display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.tcc-sugestao .texto { font-size: .92rem; }
.tcc-sugestao .texto p { margin: 0 0 8px; }
.tcc-proposta { background: var(--folha); border: 1px solid var(--linha); border-radius: 14px; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; }
.tcc-proposta-texto, .tcc-texto-proposto { margin: 0; white-space: pre-wrap; font-size: .93rem; line-height: 1.6; }
.tcc-texto-proposto { max-height: 340px; overflow: auto; padding: 4px 2px; }
.tcc-itens { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 5px; font-size: .9rem; }
.tcc-alertas { background: var(--laranja-fundo); border-radius: 12px; padding: 10px 14px; }
.tcc-alertas .rotulo { color: var(--laranja); }
.tcc-sumario { list-style: none; margin: 0; padding: 0; font-size: .9rem; }
.tcc-sumario li { padding: 2px 0; }
.tcc-sumario .n2 { padding-left: 18px; }
.tcc-sumario .n3 { padding-left: 36px; }
.tcc-marcos { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: .9rem; }
.tcc-escrita { display: grid; grid-template-columns: 250px 1fr; gap: 14px; align-items: start; }
@media (max-width: 760px) { .tcc-escrita { grid-template-columns: 1fr; } }
.tcc-secoes { padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.tcc-secoes-topo { display: flex; justify-content: space-between; align-items: center; }
#tcc-lista-secoes { display: flex; flex-direction: column; gap: 2px; max-height: 60vh; overflow: auto; }
.tcc-secao-item { display: flex; justify-content: space-between; gap: 8px; text-align: left; background: none; border: 0; border-radius: 10px; padding: 8px 10px; font-size: .86rem; cursor: pointer; }
.tcc-secao-item:hover { background: var(--folha-2); }
.tcc-secao-item.ativa { background: var(--lavanda); font-weight: 700; }
.tcc-secao-item.n2 { margin-left: 12px; }
.tcc-secao-item.n3 { margin-left: 24px; }
.tcc-secao-item small { color: var(--tinta-3); white-space: nowrap; }
.tcc-editor { display: flex; flex-direction: column; gap: 10px; }
.tcc-editor-topo { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.tcc-sec-titulo { flex: 1 1 200px; font-family: var(--titulo); font-weight: 800; font-size: 1.1rem; border: 0; border-bottom: 2px solid transparent; background: none; outline: none; padding: 4px 0; }
.tcc-sec-titulo:focus { border-bottom-color: var(--acento); }
.tcc-editor-topo select { border: 1px solid var(--linha-forte); background: var(--papel); border-radius: 10px; padding: 6px 8px; font-size: .82rem; }
#tcc-sec-texto { min-height: 52vh; font-size: 1rem; }
.tcc-ia-barra { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.tcc-versao { border-top: 1px solid var(--linha); padding: 8px 0; }
.tcc-versao summary { cursor: pointer; font-size: .86rem; }
.tcc-chat { display: flex; flex-direction: column; gap: 12px; }
.tcc-mensagens { display: flex; flex-direction: column; gap: 12px; max-height: 58vh; overflow: auto; padding: 2px; }
.tcc-sugestoes { display: flex; gap: 8px; flex-wrap: wrap; }
.tcc-compositor { display: flex; gap: 8px; align-items: flex-end; }
.tcc-compositor textarea { resize: none; }
.tcc-refs { list-style: none; margin: 10px 0 12px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.tcc-refs li { display: flex; gap: 10px; justify-content: space-between; align-items: flex-start; font-size: .9rem; line-height: 1.45; border-bottom: 1px solid var(--linha); padding-bottom: 8px; }
.tcc-refs svg { width: 16px; height: 16px; }
.tcc-leitura { display: flex; gap: 12px; justify-content: space-between; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid var(--linha); }
.tcc-leitura p { margin: 3px 0 0; }
.tcc-termos { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 12px; }
.tcc-termo { font-size: .8rem; cursor: default; }
.tcc-termo a { color: var(--marinho-2); }
.tcc-avisos li { color: var(--tinta-2); }
a.btn-primario { display: inline-block; text-decoration: none; text-align: center; }
@media (max-width: 560px) { .tcc-titulo { font-size: 1.2rem; text-overflow: ellipsis; } .tcc-salvo { margin-left: 0; text-align: left; } }
.tcc-separador { border: 0; border-top: 1px solid var(--linha); margin: 14px 0; }
.tcc-modelo-botoes { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 10px 0; }
.tcc-modelo-botoes label.btn-secundario { cursor: pointer; display: inline-block; text-align: center; }
.tcc-modelo-titulos { margin: 6px 0 4px; }
.tcc-modelo-titulos summary { cursor: pointer; font-size: .88rem; color: var(--marinho-2); }
.tcc-modelo-titulos .tcc-lista { list-style: none; padding-left: 0; max-height: 240px; overflow: auto; }
.tcc-modelo-perguntas { margin: 12px 0 4px; }
.tcc-relato { list-style: none; padding-left: 0; }
/* espaço entre os cartões e entre os campos de cada aba do projeto */
#tcc-aba { display: flex; flex-direction: column; gap: 12px; }
#tcc-aba .cartao > .campo + .campo, #tcc-aba .cartao > .campo + .dica, #tcc-aba .cartao > .dica + .campo { margin-top: 12px; }
#tcc-aba .cartao > .rotulo + .campo { margin-top: 8px; }
#tcc-form-novo { margin-top: 12px; }
.campo input[type="file"] { padding: 9px 10px; font-size: .9rem; color: var(--tinta-2); cursor: pointer; }
.campo input[type="file"]::file-selector-button { border: 0; border-radius: 999px; padding: 8px 14px; margin-right: 10px; font: inherit; font-weight: 700; background: var(--folha-2); color: var(--tinta); cursor: pointer; }
.cartao > .tcc-lista:last-child { margin-bottom: 0; }
