:root {
    --adipa-azul: #0b3d78;
    --adipa-azul-escuro: #072a54;
    --adipa-dourado: #c9a648;
    --adipa-branco: #ffffff;
    --adipa-cinza: #f4f6f9;
    --adipa-texto: #1c2b3a;
}

/* ---------- Login ---------- */
.adipa-login-wrapper { display: flex; gap: 24px; max-width: 900px; margin: 40px auto; flex-wrap: wrap; }
.adipa-login-box { background: var(--adipa-branco); border: 1px solid #dfe4ea; border-radius: 8px; padding: 32px; flex: 1; min-width: 300px; }
.adipa-login-box h2 { color: var(--adipa-azul); margin-top: 0; }
.adipa-login-info { background: var(--adipa-azul); color: #fff; border-radius: 8px; padding: 24px; flex: 1; min-width: 240px; border-top: 4px solid var(--adipa-dourado); }

.adipa-form label { display: block; font-weight: 600; margin-bottom: 4px; color: var(--adipa-texto); }
.adipa-form input, .adipa-form select, .adipa-form textarea {
    width: 100%; padding: 10px; border: 1px solid #c7ccd4; border-radius: 4px; margin-bottom: 14px;
}
.adipa-btn {
    background: var(--adipa-azul); color: #fff; border: none; padding: 10px 22px;
    border-radius: 4px; cursor: pointer; font-weight: 600; text-decoration: none; display: inline-block;
}
.adipa-btn:hover { background: var(--adipa-azul-escuro); color: #fff; }
.adipa-btn-pequeno { padding: 6px 14px; font-size: 13px; }
.adipa-btn-download { background: var(--adipa-dourado); color: var(--adipa-azul-escuro); }

/* ---------- Envio de material pelo frontend ---------- */
.adipa-envio-material { max-width: 700px; margin: 24px auto; }
.adipa-checklist { display: block; max-height: 220px; overflow-y: auto; border: 1px solid #c7ccd4; border-radius: 4px; padding: 10px; margin-bottom: 14px; background: #fff; }
.adipa-checklist-macro { display: block; font-weight: 600; margin: 6px 0 2px; }
.adipa-checklist-sub { display: block; font-weight: 400; margin-left: 18px; margin-bottom: 2px; }
.adipa-envio-material input[type="file"] { border: none; padding: 4px 0; }
.adipa-envio-material .description { color: #778; font-size: 13px; }

.adipa-alerta { padding: 12px 16px; border-radius: 4px; margin-bottom: 16px; }
.adipa-alerta-erro { background: #fdecea; color: #a33; border: 1px solid #f4c1bd; }
.adipa-alerta-sucesso { background: #e9f7ef; color: #1a7a3d; border: 1px solid #b6e6c4; }

/* ---------- Biblioteca / Cards (Fase 5.2) ---------- */
.adipa-filtros { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 24px; background: var(--adipa-cinza); padding: 16px; border-radius: 8px; }
.adipa-filtros input, .adipa-filtros select { padding: 8px; border-radius: 4px; border: 1px solid #c7ccd4; }
.adipa-busca-global { flex: 1; min-width: 220px; }

.adipa-grid-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
.adipa-card { background: #fff; border: 1px solid #e2e6ea; border-radius: 8px; padding: 18px; display: flex; flex-direction: column; box-shadow: 0 1px 3px rgba(0,0,0,.05); }
.adipa-card-topo { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.adipa-icone-pdf { background: var(--adipa-azul); color: #fff; font-size: 12px; padding: 2px 8px; border-radius: 4px; }
.adipa-card-titulo { color: var(--adipa-azul-escuro); font-size: 17px; margin: 6px 0; }
.adipa-card-resumo { color: #556; font-size: 14px; flex-grow: 1; }
.adipa-tag-categoria { display: inline-block; background: var(--adipa-cinza); color: var(--adipa-azul); font-size: 12px; padding: 3px 10px; border-radius: 12px; margin: 6px 0; width: fit-content; }
.adipa-card-rodape { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; font-size: 13px; color: #778; }

.adipa-selo-chancela { color: var(--adipa-dourado); font-weight: 700; font-size: 12px; }
.adipa-selo-chancela-completo { border: 1px solid var(--adipa-dourado); background: #fffbf0; padding: 10px 14px; border-radius: 6px; margin: 12px 0; }
.adipa-hash code { font-size: 11px; color: #888; }

.adipa-paginacao { margin-top: 24px; text-align: center; }
.adipa-paginacao a { display: inline-block; padding: 6px 12px; margin: 0 3px; border: 1px solid #c7ccd4; border-radius: 4px; color: var(--adipa-azul); text-decoration: none; }
.adipa-paginacao a.adipa-pagina-atual { background: var(--adipa-azul); color: #fff; }

/* ---------- Página individual ---------- */
.adipa-single-acervo { max-width: 800px; margin: 40px auto; padding: 0 16px; }
.adipa-single-cabecalho h1 { color: var(--adipa-azul-escuro); }
.adipa-single-meta { display: flex; gap: 16px; flex-wrap: wrap; color: #667; font-size: 14px; margin-bottom: 20px; }
.adipa-single-resumo { line-height: 1.7; }
.adipa-single-acoes { margin-top: 24px; }

/* ---------- Painel do perito ---------- */
.adipa-tabela { width: 100%; border-collapse: collapse; margin-top: 12px; }
.adipa-tabela th, .adipa-tabela td { border: 1px solid #e2e6ea; padding: 8px 12px; text-align: left; }
.adipa-tabela th { background: var(--adipa-cinza); }

/* ---------- Chatbot ---------- */
.adipa-chatbot { max-width: 400px; border: 1px solid #dfe4ea; border-radius: 8px; overflow: hidden; }
.adipa-chatbot-cabecalho { background: var(--adipa-azul); color: #fff; padding: 10px 14px; font-weight: 600; }
.adipa-chatbot-mensagens { padding: 12px; max-height: 260px; overflow-y: auto; background: var(--adipa-cinza); }
.adipa-chatbot-msg-bot { background: #fff; padding: 8px 12px; border-radius: 6px; margin-bottom: 8px; }
.adipa-chatbot-msg-user { background: var(--adipa-azul); color: #fff; padding: 8px 12px; border-radius: 6px; margin-bottom: 8px; text-align: right; }
#adipa-chatbot-form { display: flex; padding: 10px; gap: 6px; }
#adipa-chatbot-input { flex: 1; padding: 8px; border: 1px solid #c7ccd4; border-radius: 4px; }

@media (max-width: 600px) {
    .adipa-login-wrapper { flex-direction: column; }
    .adipa-filtros { flex-direction: column; align-items: stretch; }
}
