/* Resumos e envio de documentos seguem as cores dos temas existentes. */
/* Controles desta página usam os mesmos tons e recuos dos cartões da plataforma. */
#formulario-gerador select, #formulario-gerador textarea {
    width: 100%;
    border: 1px solid var(--cor-borda);
    border-radius: var(--raio-pequeno);
    background: var(--cor-superficie-secundaria);
    color: var(--cor-texto);
    transition: border-color var(--transicao-curta), box-shadow var(--transicao-curta);
}
#formulario-gerador textarea::placeholder { color: var(--cor-texto-secundario); opacity: 1; }
#formulario-gerador select:hover, #formulario-gerador textarea:hover { border-color: var(--cor-primaria); }
#formulario-gerador select:focus-visible, #formulario-gerador textarea:focus-visible {
    outline: 2px solid var(--cor-primaria);
    outline-offset: 2px;
    background: var(--cor-superficie);
}
.modos-recursos, .opcoes-recursos { display: grid; gap: var(--espaco-controle); }
.opcoes-recursos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#formulario-gerador .opcao-recurso {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: var(--espaco-controle);
    min-width: 0;
    padding: var(--espaco-padrao);
    border: 1px solid var(--cor-borda);
    border-radius: var(--raio-pequeno);
    background: var(--cor-superficie);
    color: var(--cor-texto);
    cursor: var(--cursor-interativo, pointer);
    font-size: .82rem;
    line-height: 1.5;
    transition: border-color var(--transicao-curta), background var(--transicao-curta);
}
.opcao-recurso > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.opcao-recurso strong { display: block; font-weight: 700; }
.opcao-recurso small { display: block; margin-top: 4px; }
/* O controle nativo permanece acessível por teclado; o marcador só representa o estado. */
#formulario-gerador .opcao-recurso input { position: absolute; width: 1px; height: 1px; min-height: 0; margin: 0; padding: 0; opacity: 0; }
.opcao-recurso__marca { display: grid; place-items: center; flex: 0 0 20px; width: 20px; height: 20px; margin-top: 1px; border: 1px solid var(--cor-borda); border-radius: 6px; background: var(--cor-superficie-secundaria); }
.opcao-recurso--modo .opcao-recurso__marca { border-radius: 50%; }
.opcao-recurso__marca .icone-svg { width: 14px; height: 14px; opacity: 0; }
#formulario-gerador .opcao-recurso:hover { border-color: var(--cor-primaria); }
#formulario-gerador .opcao-recurso:has(input:checked) { border-color: var(--cor-primaria); background: var(--cor-primaria-suave); }
.opcao-recurso input:checked + .opcao-recurso__marca { border-color: var(--cor-primaria); background: var(--cor-primaria); color: var(--cor-superficie); }
.opcao-recurso input:checked + .opcao-recurso__marca .icone-svg { opacity: 1; }
#formulario-gerador .opcao-recurso:has(input:focus-visible) { outline: 2px solid var(--cor-primaria); outline-offset: 3px; }
#preferencias-recursos[hidden] { display: none; }
@media (max-width: 720px) {
    .opcoes-recursos { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    #formulario-gerador select, #formulario-gerador textarea, #formulario-gerador .opcao-recurso { transition: none; }
}
.aviso-capacidade-ia { margin: 0 0 20px; }
/* Pedidos salvos são revisados antes de preencher o formulário. */
.pedido-salvo { padding: var(--recuo-cartao); margin-bottom: var(--espaco-painel); }
.pedido-salvo summary { color: var(--cor-primaria); font-weight: 700; cursor: var(--cursor-interativo, pointer); }
.pedido-salvo p { margin: var(--espaco-padrao) 0; font-size: .85rem; line-height: 1.6; color: var(--cor-texto-secundario); }
#previa-pedido-salvo { margin-top: var(--espaco-padrao); padding-top: var(--espaco-padrao); border-top: 1px solid var(--cor-borda); }
#previa-pedido-salvo h3 { font-size: .95rem; }
#objetivo-pedido-salvo { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 220px; overflow-y: auto; }
.aviso-origem-pedido:not([hidden]) { padding: var(--espaco-padrao); margin-bottom: var(--espaco-painel); background: var(--cor-primaria-suave); border-radius: var(--raio-pequeno); line-height: 1.6; font-size: .85rem; overflow-wrap: anywhere; }
/* A continuidade acompanha a coluna de leitura, depois da última sessão. */
.continuidade-estudo { margin-top: var(--espaco-painel); padding: var(--recuo-cartao); }
.continuidade-estudo h2 { font-size: 1.15rem; }
.continuidade-estudo h3 { font-size: .95rem; margin-top: var(--espaco-painel); }
.continuidade-estudo p, .continuidade-estudo dd, .continuidade-estudo li { font-size: .85rem; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.continuidade-estudo__resumo { display: grid; gap: var(--espaco-padrao); margin-top: var(--espaco-painel); }
.continuidade-estudo dt { font-size: .82rem; font-weight: 700; margin-bottom: var(--espaco-pequeno); }
.continuidade-estudo dd { color: var(--cor-texto-secundario); }
.continuidade-estudo__assuntos { list-style: disc; padding-left: 20px; margin-top: var(--espaco-pequeno); }
.continuidade-estudo__assuntos li + li { margin-top: var(--espaco-pequeno); }
.continuidade-estudo__acoes { display: flex; flex-wrap: wrap; gap: var(--espaco-controle); margin: var(--espaco-painel) 0 var(--espaco-padrao); }
.continuidade-estudo__acoes > * { text-align: center; }
.continuidade-estudo__aviso:not(:empty) { margin-top: var(--espaco-padrao); color: var(--cor-primaria); }
@media (max-width: 720px) { .continuidade-estudo__acoes > * { width: 100%; } }
.painel-pedido { min-width: 0; }
.resumo-pedido { margin: var(--espaco-padrao) 0; padding: var(--recuo-cartao); border-radius: 12px; background: var(--cor-superficie-secundaria); }
.resumo-pedido dl { display: grid; gap: var(--espaco-padrao); margin: 0; }
.resumo-pedido dt { color: var(--cor-texto-secundario); font-size: .78rem; margin-bottom: 5px; }
.resumo-pedido dd { margin: 0; font-size: .88rem; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.resumo-pedido > p { color: var(--cor-texto-secundario); font-size: .85rem; line-height: 1.6; }
.passos-documento { display: grid; gap: var(--espaco-controle); margin-top: var(--espaco-painel); padding-left: 22px; list-style: decimal; color: var(--cor-texto-secundario); font-size: .82rem; line-height: 1.6; }
.passos-documento strong { color: var(--cor-texto); }
.envio-documento { display: grid; justify-items: center; gap: var(--espaco-padrao); padding: var(--espaco-secao) var(--recuo-cartao); border: 2px dashed var(--cor-borda); border-radius: 16px; background: var(--cor-superficie-secundaria); text-align: center; }
.envio-documento .icone-cartao { width: 56px; height: 56px; }
.envio-documento h2 { font-size: 1.15rem; }
.envio-documento p { font-size: .85rem; line-height: 1.6; color: var(--cor-texto-secundario); }
.envio-documento.esta-arrastando { border-color: var(--cor-primaria); background: var(--cor-primaria-suave); }
#nome-documento { max-width: 100%; overflow-wrap: anywhere; font-weight: 600; }
.ajuda-documento { margin-top: var(--espaco-painel); font-size: .82rem; line-height: 1.6; color: var(--cor-texto-secundario); }
.ajuda-documento summary { color: var(--cor-primaria); font-weight: 650; }
.ajuda-documento p { margin-top: 10px; }
.detalhes-documento { margin-top: 12px; font-size: .8rem; }
.detalhes-documento summary { color: var(--cor-texto); cursor: var(--cursor-interativo, pointer); }
.detalhes-documento li { overflow-wrap: anywhere; }
.resumo-documento { margin: 0; }
.resumo-documento dd { margin: 0; overflow-wrap: anywhere; }
.acoes-documento .botao-primario { width: 100%; }
@media (max-width: 720px) {
    .envio-documento { padding: 24px 16px; }
    .painel-pedido .acoes-prompt .botao-primario { width: 100%; }
}
