/* CHAMADAS do topo do app (app/config/chamadas.php + app/assets/js/chamadas.js).
   Uma chamada por vez. Cor e ícone vêm do tipo. A gestão usa este mesmo arquivo na prévia. */
#chamadasTopo { position: fixed; top: 0; left: 0; right: 0; z-index: 200; }
.ch-barra {
    position: relative;
    display: flex; align-items: center; justify-content: center; gap: 14px;
    min-height: 46px; padding: 6px 48px 6px 16px;
    color: #fff; font: 500 13.5px/1.3 Inter, system-ui, sans-serif;
    box-shadow: 0 2px 8px rgba(0,0,0,.18);
}
.ch-PROMOCAO       { background: linear-gradient(90deg, #7c2d12, #ea580c 50%, #7c2d12); }
.ch-PRE_LANCAMENTO { background: linear-gradient(90deg, #2e1065, #6c5ce7 50%, #2e1065); }
.ch-LANCAMENTO     { background: linear-gradient(90deg, #064e3b, #059669 50%, #064e3b); }
.ch-AVISO          { background: linear-gradient(90deg, #0f172a, #1e40af 50%, #0f172a); }
/* automáticas (por aluno) */
.ch-DISCIPLINA_NOVA { background: linear-gradient(90deg, #134e4a, #0d9488 50%, #134e4a); }
.ch-AULA_NOVA       { background: linear-gradient(90deg, #164e63, #0891b2 50%, #164e63); }
.ch-CURSO_LIBERADO  { background: linear-gradient(90deg, #14532d, #16a34a 50%, #14532d); }
.ch-ico { font-size: 18px; }
.ch-txt b { font-weight: 800; }
.ch-sub { opacity: .9; margin-left: 6px; }
.ch-crono { display: flex; gap: 3px; font-variant-numeric: tabular-nums; }
.ch-crono i { font-style: normal; background: rgba(0,0,0,.35); border-radius: 6px; padding: 3px 7px; font-weight: 700; }
.ch-btn {
    background: #fff; color: #111; border: 0; border-radius: 8px; padding: 7px 16px;
    font: 700 13px Inter, system-ui, sans-serif; text-decoration: none; white-space: nowrap; cursor: pointer;
}
.ch-btn:hover { transform: translateY(-1px); }
.ch-btn:disabled { opacity: .8; cursor: default; transform: none; }
.ch-pontos { display: flex; gap: 5px; }
.ch-pontos button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.4); cursor: pointer; }
.ch-pontos button.on { background: #fff; }
.ch-fechar {
    position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
    background: transparent; border: 0; color: #fff; font-size: 22px; line-height: 1; opacity: .6; cursor: pointer; padding: 4px 8px; border-radius: 6px;
}
.ch-fechar:hover { opacity: 1; background: rgba(255,255,255,.1); }

/* o resto da página desce a altura do banner (--ch-h, medida pelo chamadas.js) */
body.com-chamada .sidebar { top: calc(var(--ch-h, 46px) + 12px); }
body.com-chamada .main-content { margin-top: var(--ch-h, 46px); }
body.com-chamada .app-header { top: var(--ch-h, 46px); }
body.sidebar-mobile-open #chamadasTopo { display: none; }

/* celular: uma linha, sem o complemento */
@media (max-width: 768px) {
    .ch-barra { gap: 8px; padding: 6px 40px 6px 10px; font-size: 12.5px; }
    .ch-sub, .ch-pontos { display: none; }
    .ch-ico { font-size: 15px; }
    .ch-txt { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
    .ch-crono i { padding: 2px 5px; }
    .ch-btn { padding: 6px 10px; font-size: 12px; }
}
