/* =========================================================================
   DASHBOARD — CARDS DE ACESSO AOS MÓDULOS E SEÇÕES TRAVADAS
   -------------------------------------------------------------------------
   Extraído do <style> inline de page-dashboard.php (bloco que ficava dentro
   do if de $dash_modulos_status). Consome as variáveis de sistema.css.
   ========================================================================= */

.dash-modulos-acesso {
    display: grid;
    /* 220px: o botão principal ocupa a largura toda e a ação
       secundária vira link ao lado do preço (modulos-acoes.css),
       então não precisa mais caber dois botões lado a lado. */
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    margin-bottom: 24px;
}
.dash-modulo-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-left: 4px solid #cbd5e1;
    border-radius: 12px;
    padding: 16px;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
.dash-modulo-card.status-liberado  { border-left-color: #10b981; }
.dash-modulo-card.status-trial     { border-left-color: #eab308; }
.dash-modulo-card.status-expirado,
.dash-modulo-card.status-bloqueado { border-left-color: #f43f5e; }

/* Três linhas por card — topo, ações, agentes de IA — alinhadas
   entre os cards da mesma fileira: os botões ficam todos na mesma
   altura mesmo que um selo quebre em duas linhas, e o bloco do
   agente começa no mesmo ponto em todos. Card sem agente só fica
   com a 3ª linha vazia embaixo, em vez do buraco no meio que o
   antigo space-between abria. Sem subgrid, cai no flex empilhado. */
@supports (grid-template-rows: subgrid) {
    .dash-modulo-card {
        display: grid;
        grid-row: span 3;
        grid-template-rows: subgrid;
        row-gap: 12px;
    }
    .dash-modulo-topo { grid-row: 1; }
    .dash-modulo-card > .cr-mod-acoes,
    .dash-modulo-card > .dash-modulo-cta { grid-row: 2; align-self: start; }
    .dash-modulo-agentes { grid-row: 3; align-self: start; }
}

.dash-modulo-topo { min-width: 0; }
.dash-modulo-nome {
    display: block;
    font-weight: 600;
    font-size: .92rem;
    color: #1e2937;
}
.dash-modulo-selo {
    display: block;
    margin-top: 3px;
    font-size: .74rem;
    font-weight: 600;
}
.status-liberado  .dash-modulo-selo { color: #0b6b4a; }
.status-trial     .dash-modulo-selo { color: #a16207; }
.status-expirado  .dash-modulo-selo,
.status-bloqueado .dash-modulo-selo { color: #be123c; }
.dash-modulo-cta {
    font-size: .78rem;
    font-weight: 700;
    white-space: nowrap;
    color: #3f502e;
}

/* Agente de IA dentro do card do módulo dele (ver 'modulo_base'
   em crcont_modulos_config) — recuado e com fundo próprio, pra
   ler como segundo nível e não como outro módulo da lista. */
.dash-modulo-agentes { display: flex; flex-direction: column; gap: 8px; }
.dash-modulo-agente {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px 8px;
    padding: 10px 12px;
    border: 1px dashed #e2e8f0;
    border-radius: 10px;
    background: #f8fafc;
}
.dash-modulo-agente-badge {
    width: 26px;
    height: 26px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .72rem;
    background: rgba(63, 80, 46, .08);
    color: #3f502e;
}
.dash-modulo-agente-info { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.dash-modulo-agente-nome { font-size: .8rem; font-weight: 600; color: #1e2937; }
.dash-modulo-agente-selo { font-size: .7rem; font-weight: 600; color: #64748b; }
.dash-modulo-agente.status-liberado .dash-modulo-agente-selo { color: #0b6b4a; }
.dash-modulo-agente.status-trial    .dash-modulo-agente-selo { color: #a16207; }
.dash-modulo-agente.status-expirado .dash-modulo-agente-selo,
.dash-modulo-agente.status-bloqueado .dash-modulo-agente-selo { color: #be123c; }
/* As ações ocupam a linha inteira, embaixo do nome do agente. */
.dash-modulo-agente .cr-mod-acoes { grid-column: 1 / -1; }

/* As antigas seções esmaecidas com cadeado (.dash-secao-trava) saíram: módulo
   não contratado não aparece no dashboard, vai pro bloco "Mais para o seu
   escritório" (css/dashboard-fiscal.css, .dmais-*). */
