:root {
  --marca: #3f3a9e;
  --marca-escura: #2f2b7a;
  --bs-link-color-rgb: 63, 58, 158;
  --bs-primary: #3f3a9e;
  --bs-primary-rgb: 63, 58, 158;
}
body { background: #f4f5f9; }
.bg-marca { background: var(--marca) !important; }
.text-marca { color: var(--marca) !important; }
.fundo-login { background: linear-gradient(135deg, #3f3a9e, #5b54c9); }
.btn-primary { --bs-btn-bg: var(--marca); --bs-btn-border-color: var(--marca); --bs-btn-hover-bg: var(--marca-escura); --bs-btn-hover-border-color: var(--marca-escura); --bs-btn-active-bg: var(--marca-escura); --bs-btn-disabled-bg: var(--marca); --bs-btn-disabled-border-color: var(--marca); }
.btn-outline-primary { --bs-btn-color: var(--marca); --bs-btn-border-color: var(--marca); --bs-btn-hover-bg: var(--marca); --bs-btn-hover-border-color: var(--marca); --bs-btn-active-bg: var(--marca); --bs-btn-active-border-color: var(--marca); }
.text-bg-primary { background-color: var(--marca) !important; }
.progress-bar { background-color: var(--marca); }
.nav-pills .nav-link.active { background: rgba(255,255,255,.18); }

.sidebar { width: 250px; min-height: 100vh; }
@media (min-width: 992px) {
  .sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; flex-shrink: 0; }
}
.sidebar .menu .nav-link { color: rgba(255,255,255,.85); padding: .45rem .6rem; border-radius: .4rem; }
.sidebar .menu .nav-link:hover { color: #fff; background: rgba(255,255,255,.1); }
.sidebar .menu .nav-link i { width: 1.4rem; display: inline-block; }
.conteudo { min-width: 0; }

.card { border: 0; box-shadow: 0 1px 2px rgba(16,24,40,.06), 0 1px 3px rgba(16,24,40,.08); }
.card-header { background: #fff; font-weight: 600; }
.page-title { font-size: 1.4rem; font-weight: 600; margin: 0; }
.rotulo { font-size: .75rem; color: var(--bs-secondary-color); text-transform: uppercase; letter-spacing: .03em; }
.kpi .valor { font-size: 1.8rem; font-weight: 700; line-height: 1.1; }

/* Tarefas em lista: a linha inteira é clicável */
.lista-tarefas .item { display: block; padding: .6rem .75rem; border-bottom: 1px solid var(--bs-border-color-translucent); color: inherit; text-decoration: none; }
.lista-tarefas .item:last-child { border-bottom: 0; }
.lista-tarefas .item:hover { background: rgba(63,58,158,.04); }
.lista-tarefas .titulo { font-weight: 500; }
.atrasada { color: var(--bs-danger); }

/* Cronograma: 4 colunas no computador, empilhado no celular */
.coluna-trimestre .card-header.atual { border-top: 3px solid var(--marca); }

.criterios li { padding: .35rem 0; border-bottom: 1px dashed #dee2e6; }
.criterios li:last-child { border-bottom: 0; }
.htmx-indicator { opacity: 0; transition: opacity .2s; }
.htmx-request .htmx-indicator, .htmx-request.htmx-indicator { opacity: 1; }

/* Documentos da tarefa */
.min-w-0 { min-width: 0; }
.zona-upload { display: block; border: 2px dashed #c9cbe3; border-radius: .6rem; padding: 1rem; text-align: center; cursor: pointer; color: var(--bs-secondary-color); transition: background .15s, border-color .15s; }
.zona-upload:hover, .zona-upload.arrastando { border-color: var(--marca); background: rgba(63,58,158,.05); }
.texto-extraido { white-space: pre-wrap; word-break: break-word; font-size: .8rem; background: #f6f7fb; border-radius: .4rem; padding: .6rem; max-height: 16rem; overflow: auto; }
.texto-extraido.texto-completo { max-height: none; }
.historico summary, .lista-documentos summary { cursor: pointer; }
.historico > li > details > summary { list-style: none; }
.historico > li > details > summary::-webkit-details-marker { display: none; }

/* Semanas */
.numero-prioridade { width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--marca); color: #fff; font-weight: 600; font-size: .85rem; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lista-prioridades li + li { border-top: 1px solid var(--bs-border-color-translucent); }
.relatorio h1 { font-size: 1.35rem; font-weight: 600; }
.relatorio h2 { font-size: 1.05rem; font-weight: 600; margin-top: 1.4rem; padding-bottom: .25rem; border-bottom: 1px solid var(--bs-border-color-translucent); }
.relatorio ul, .relatorio ol { padding-left: 1.3rem; }
