/* ------------------------------------------------------------------
   Portal do fornecedor — shell em cards, sem menu lateral.

   Só o que o MudBlazor não dá pronto. O resto vem do tema em LayoutPortal.
   ------------------------------------------------------------------ */

.portal-topbar {
    border-bottom: 1px solid var(--mud-palette-lines-default, #E6E9EF);
}

.portal-main {
    background: var(--mud-palette-background, #f8f7f5);
    min-height: 100vh;
}

/* ---- Card de navegação -------------------------------------------
   O leve levantar no hover não é enfeite: é o que sinaliza que o card
   INTEIRO é clicável. Sem isso o usuário procura um link dentro dele. */
.portal-cartao {
    transition: transform .15s ease, box-shadow .15s ease;
}

.portal-cartao:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .10);
}

.portal-cartao__icone {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 12px;
    flex-shrink: 0;
}

/* ---- Número que pulsa --------------------------------------------
   Reservado a "disputa acontecendo agora": é o único estado em que
   perder minutos custa o item. Usar em mais de um número anularia o
   efeito — tudo piscando é o mesmo que nada piscando. */
@keyframes portal-pulsa {
    0%, 100% { opacity: 1; }
    50%      { opacity: .35; }
}

.portal-pulsa {
    animation: portal-pulsa 1.6s ease-in-out infinite;
}

/* Respeita quem desligou animação no sistema: sem movimento, mas o ícone
   continua visível — a informação "está acontecendo" não se perde. */
@media (prefers-reduced-motion: reduce) {
    .portal-cartao:hover { transform: none; }
    .portal-pulsa { animation: none; }
}
