/*
 * KS TEC - Ajustes de Interface
 * Prefeitura Municipal de Valenca/BA - Dispensa Direta no 020/2026
 *
 * DIVISAO DE RESPONSABILIDADE
 *   A GEOMETRIA do editor (posicao e altura exatas) e feita em
 *   js/kstec-editor.js, que MEDE o cabecalho em tempo de execucao. Duas
 *   tentativas de resolver so com CSS falharam porque dependiam de adivinhar
 *   a altura do cabecalho do tema e de vencer regras !important do proprio
 *   app onlyoffice. Medir e mais confiavel que adivinhar.
 *
 *   Este arquivo cuida apenas do ACABAMENTO: remover cantos arredondados,
 *   margens e sombras ao redor do editor.
 *
 * SOBRE A COR DE FUNDO
 *   Nao se force cor nenhuma aqui. Uma versao anterior pintava o fundo de
 *   branco para esconder o verde do tema, e o resultado foi uma faixa BRANCA
 *   visivel sob o editor - trocou um defeito por outro. O fundo agora herda
 *   o tema, entao qualquer sobra fica visualmente integrada, e o JavaScript
 *   se encarrega de nao deixar sobra alguma.
 *
 * O CABECALHO NAO E TOCADO
 *   Nenhuma regra seleciona #header, .header-* ou variaveis de cor do tema.
 *   As cores do cabecalho permanecem exatamente como estao.
 *
 * COMO DESFAZER
 *   occ app:disable kstec_ui
 */

/* --- Acabamento do quadro do editor --------------------------------------- */
/* SOBRE O '#app > iframe'
   Ele foi removido daqui numa primeira correcao, porque casava com QUALQUER
   iframe filho de #app - e o mesmo seletor no JavaScript chegava a esticar
   esse iframe em tela cheia com z-index 2000, cobrindo a interface e
   bloqueando cliques.
   So que remover puro e simples trouxe de volta a FAIXA VERDE no rodape do
   editor, porque e exatamente assim que o CSS do app onlyoffice posiciona o
   quadro em varios fluxos. A forma correta, usada abaixo, e mante-lo mas
   RESTRITO ao contexto do editor: #content.app-onlyoffice e
   body.onlyoffice-full-page nunca estao presentes na tela de arquivos. */
#onlyofficeFrame,
#iframeEditor,
#content.app-onlyoffice #app > iframe,
body.onlyoffice-full-page #app > iframe,
.onlyoffice-inviewer > iframe {
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* --- Container imediato --------------------------------------------------- */
.onlyoffice-iframe-container {
	border-radius: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* --- Area do app enquanto o editor esta aberto ----------------------------- */
#content.app-onlyoffice,
#content.app-onlyoffice #app-content,
body:has(#onlyofficeFrame) #content,
body:has(#onlyofficeFrame) #app-content,
body:has(#iframeEditor) #content,
body:has(#iframeEditor) #app-content {
	border-radius: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* Sem rolagem residual atras do editor. */
body:has(#onlyofficeFrame),
body:has(#iframeEditor) {
	overflow: hidden !important;
}

/* ==========================================================================
   PREVISAO DE TEMPO ENGANOSA NA FASE DE CRIACAO DE PASTAS
   ==========================================================================
   O uploader do Nextcloud calcula o tempo restante assim (dist/files-init.js):

       get timeReadable() {
         if (this._eta === 1/0) return t("estimating time left");
         if (this._eta < 10)    return t("a few seconds left");
         ...
       }

   e o _eta vem de "bytes restantes / velocidade observada".

   Durante a criacao de pastas nenhum byte de ARQUIVO trafega - o contador
   _done fica em zero por minutos. A velocidade tende a zero e a divisao
   produz um numero finito e absurdo, que escapa do caso "estimando" e cai
   direto na formatacao de horas. Foi assim que a interface exibiu previsoes
   de centenas de horas, despencando para minutos quando os arquivos
   comecaram a fluir.

   Nao da para corrigir o calculo sem alterar o pacote do Nextcloud, que
   seria desfeito na primeira atualizacao. O que se faz aqui e OCULTAR o
   rotulo exatamente na fase em que ele mente. No lugar dele aparece a barra
   laranja do bloco 2 do kstec-ui.js, com estimativa baseada nos 2 s por
   pasta que medimos - e rotulada como estimativa, nao como medicao.

   Assim que a fase termina, a classe --paused sai, este rotulo volta a
   aparecer e o calculo do Nextcloud se corrige sozinho conforme a
   velocidade real se estabelece.
   ========================================================================== */
/* ==========================================================================
   "Pausado" -> "Carregando pastas..."
   ==========================================================================
   ERRO CORRIGIDO EM 21/08/2026 - o seletor anterior nao casava com nada.
   A versao 3.7.0 usava ".upload-picker--paused .upload-picker-progress-label",
   tratando o segundo nome como CLASSE. Ele NAO e classe. No Nextcloud 34 o
   elemento e assim:

       <p data-cy-upload-picker-progress-label>
           <span> Pausado </span>
       </p>

   O nome "upload-picker-progress-label" existe apenas como ATRIBUTO
   data-cy-*, usado para teste automatizado. Conferido no pacote servido por
   esta instalacao: como classe aparece 0 vez, como data-cy aparece 1.
   O pai, esse sim, e classe de verdade - o <form> recebe "upload-picker--paused"
   quando isPaused fica verdadeiro.

   Por isso a regra falhava em silencio: CSS que nao casa nao da erro, nao
   aparece no console, nao aparece em log nenhum. So se percebe olhando a tela.

   O texto vive num <span> DENTRO do <p>. Esconder o span e escrever no ::after
   do <p> coloca a frase exatamente onde estava a palavra antiga.
   ========================================================================== */
.upload-picker--paused [data-cy-upload-picker-progress-label] > span {
	display: none !important;
}

.upload-picker--paused [data-cy-upload-picker-progress-label]::after {
	content: "Carregando pastas...";
	white-space: nowrap;
}

/* ==========================================================================
   A BARRA NATIVA NAO E MAIS OCULTADA
   ==========================================================================
   Havia aqui um conjunto de regras que escondia a barra de progresso do
   Nextcloud durante a criacao das pastas, para dar lugar a um painel proprio.
   Painel e regras foram removidos em 21/08/2026.

   O motivo: o painel duplicava o contador nativo durante o envio - os dois na
   tela dizendo a mesma coisa - e as vezes continuava girando depois de
   concluido. Alem disso a contagem que ele exibia era estimada, nao medida, e
   errava feio: numa pasta de 136 diretorios chegou a anunciar mais de 200.

   O contador azul do Nextcloud agora aparece em todas as fases. Na fase de
   criacao de pastas ele fica parado em zero, porque nenhum byte de arquivo
   trafega ali - e por isso a regra acima troca a palavra "Pausado" por
   "Carregando pastas...", que explica a parada sem inventar numero.
   ========================================================================== */

/* --- Modal do visualizador embutido --------------------------------------- */
body:has(#onlyofficeFrame) .modal-container,
body:has(#onlyofficeFrame) .modal-wrapper .modal-container,
body:has(#onlyofficeFrame) .viewer__content {
	width: 100vw !important;
	max-width: 100vw !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
