/*
 * Ajustes do painel que o tema compilado do Filament não cobre (classes utilitárias fora do tema não existem).
 * Carregado pelo PainelPanelProvider (HEAD_END).
 */

/* Produto: o bloco "Cálculo" acompanha a rolagem em telas largas (no celular ele fica no fim do formulário). */
@media (min-width: 1024px) {
    .fsl-sticky-calc {
        position: sticky;
        top: 5rem;
        max-height: calc(100vh - 6rem);
        overflow-y: auto;
    }
}

/* RF-PED.04 — quadro de produção: 1 coluna no celular, 3 no tablet e as 5 lado a lado a partir de 1280 px. */
.fsl-board { display: grid; gap: 0.85rem; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 40rem) { .fsl-board { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .fsl-board { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 80rem) {
    .fsl-board--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .fsl-board--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
/* M31 — bloco de orçamentos: 2 colunas; itens de pedido fora de Em produção só no computador (CT-PED.41). */
@media (min-width: 64rem) { .fsl-board--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 39.99rem) { .fsl-desktop-only { display: none !important; } }

/*
 * Produto (pedido do dono, 03/11 e 04/11/2026): salvar sem descer a página — a barra Salvar/Cancelar fica fixa no
 * rodapé da tela (areFormActionsSticky) no celular e no computador; o bloco "Cálculo" desconta a altura dela.
 */
@media (min-width: 1024px) {
    .fsl-product-form-page .fsl-sticky-calc { max-height: calc(100vh - 11rem); }
}

/* M47 / RF-USR.20 — Home: cartões de atalho agrupados como no menu (1 coluna no celular, até 4 na tela larga). */
.fsl-home { display: grid; gap: 1.75rem; }
.fsl-home-section { display: grid; gap: 0.75rem; }
.fsl-home-section-title { font-size: 0.8rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; opacity: 0.65; }
.fsl-home-grid { display: grid; gap: 0.85rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 40rem) { .fsl-home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .fsl-home-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 90rem) { .fsl-home-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.fsl-home-card {
    display: flex; align-items: flex-start; gap: 0.85rem; padding: 1rem 1.1rem; border-radius: 0.75rem;
    border: 1px solid rgba(148, 163, 184, 0.25); background: rgba(148, 163, 184, 0.06);
    transition: border-color 0.15s, background-color 0.15s, transform 0.15s, box-shadow 0.15s;
}
.fsl-home-card:hover, .fsl-home-card:focus-visible {
    border-color: var(--primary-500); background: color-mix(in srgb, var(--primary-500) 10%, transparent);
    transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18); outline: none;
}
.fsl-home-card-icon {
    flex: none; display: inline-flex; align-items: center; justify-content: center; width: 2.6rem; height: 2.6rem;
    border-radius: 0.65rem; color: var(--primary-400); background: color-mix(in srgb, var(--primary-500) 16%, transparent);
}
.fsl-home-card-text { display: grid; gap: 0.2rem; min-width: 0; }
.fsl-home-card-title { font-weight: 600; font-size: 0.98rem; }
.fsl-home-card-description { font-size: 0.82rem; line-height: 1.35; opacity: 0.72; }

/* F7a — despesa vencida e não paga em destaque na lista (pedido do dono em 10/11/2026). */
.fi-ta-row.fsl-expense-overdue { background-color: rgba(239, 68, 68, 0.10); box-shadow: inset 4px 0 0 rgb(239, 68, 68); }
.fi-ta-row.fsl-expense-overdue:hover { background-color: rgba(239, 68, 68, 0.16); }
