﻿/* Estilos do Orquestra4 que ainda não têm par no design system.

   Contrato deste arquivo: ele é carregado por TODOS os layouts (dock novo, v5,
   v4, Blank.Master, _Blank, designer e as páginas de erro) e, no dock novo,
   ANTES de todos os bundles do zeev-bootstrap 5.3 (_Head.cshtml:94 vs 96-101).
   Duas consequências:

     1. qualquer regra aqui que empate em especificidade com o design system
        perde a cascata — vira código morto sem aviso;
     2. o que entra aqui pesa em página que talvez nem use o componente.

   Portanto: estilo de componente NÃO entra aqui, entra no zeev-bootstrap-5.3.
   Só sobrevive neste arquivo o que o design system não pode assumir. */

/* ---------------------------------------------------------------------------
   Shim do modal legado — não migra para o design system
   ---------------------------------------------------------------------------
   bsml.showModalFrame (orquestra-bootstrap v4) esconde a barra de progresso do
   iframe adicionando .hide. Esse utilitário é do Bootstrap legado e não entra no
   bundle do zeev-bootstrap 5.3: ele mora em src/assets/css/legacy/util.css, que
   o index.scss do core não importa. Sem esta regra, o modal legado aberto de uma
   página 5.3 fica com o arco-íris girando para sempre.

   Levar .hide para o core seria reintroduzir um utilitário que o Bootstrap 5
   substituiu por .d-none — direção errada. */
.rainbow-progress-bar.hide {
	display: none;
}

.alert-system {
	position: fixed;
	bottom: 0;
	width: 100%;
	height: 0;
	z-index: 1030;
}

.alert-system .alert {
	width: 100%;
	margin-bottom: 0;
	border-radius: var(--zv-radius-lg);
	box-shadow: var(--bs-box-shadow);
}

@media (min-width: 992px) {
	.alert-system {
		width: 400px;
		margin-left: auto;
		right: 10px;
		top: calc(var(--zv-header-height, 60px) + 10px);
		bottom: auto;
	}
}

#teamDescriptionText {
	white-space: pre-line;
}

/* Skeleton de "Iniciar aplicativos" (dock-my-services.v1.js): os cards não respondem a
   hover/clique enquanto carregam. Diferente das listas em tabela acima, o grid de cards
   não precisa de recorte via overflow — 8 placeholders já fecham a grade em toda breakpoint
   (2x4 desktop, 4x2 tablet, 8x1 mobile), sem sobrar conteúdo fora da viewport. */
.app-card-skeleton-item {
	pointer-events: none;
}

/* Exceção à regra acima: isto não é estilo do componente de tarefas, e sim um override
        pontual do <wc-offcanvas> do bundle enquanto a origem não trata o caso.
        Painel de execução da tarefa (execute-tasks/task-open.js -> openLegacyPanel ->
        dialogs.createOffcanvas com placement "left" e size "xxl"). O bundle fixa
        `--bs-offcanvas-width: 95vw !important` para .offcanvas-size-xxl sem nenhum breakpoint
        (zeev-bootstrap-5.3/src/assets/css/components/_offcanvas.scss). No desktop os 5vw de
        sobra são intencionais - deixam a lista aparecendo ao lado do painel; no celular viram
        uma faixa morta na borda e o painel não chega ao fim da tela.
        Mesmo breakpoint em que a listagem troca a tabela pelos cards. O seletor leva um
        componente a mais de especificidade que o do bundle porque lá a declaração é
        !important - assim a regra não depende da ordem de carga para valer.
        Sai daqui quando o bundle tratar o xxl em mobile. */
@media (max-width: 574.98px) {
	wc-offcanvas > .offcanvas-start.offcanvas-size-xxl {
		--bs-offcanvas-width: 100vw !important;
	}
}