/* ============================================================
   Fechamento de Caixa — Estilos do card premium
   Dark theme: bg=#0d0f14 · surface=#1e2130 · accent=#4f8ef7
   ============================================================ */

/* ---------- Variáveis ---------- */
:root {
  --fc-bg:        #0d0f14;
  --fc-surface:   #1e2130;
  --fc-header:    #161928;
  --fc-border:    #2d3452;
  --fc-text:      #e2e8f0;
  --fc-muted:     #94a3b8;
  --fc-accent:    #4f8ef7;
  --fc-green:     #4ade80;
  --fc-yellow:    #fbbf24;
  --fc-red:       #f87171;
  --fc-blue:      #60a5fa;
  --fc-purple:    #a78bfa;
  --fc-radius:    .5rem;
}

/* ---------- Container do card ---------- */
.fc-card {
  background: var(--fc-surface);
  border-radius: var(--fc-radius);
  border: 1px solid var(--fc-border);
  margin-bottom: 1rem;
  overflow: hidden;
  transition: box-shadow .2s;
}
.fc-card:hover {
  box-shadow: 0 4px 24px rgba(79,142,247,.12);
}

/* ---------- Header do card ---------- */
.fc-card-header {
  background: var(--fc-header);
  padding: 1rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  cursor: pointer;
  user-select: none;
}
.fc-card-header:hover { background: #1a1f35; }

.fc-id-badge {
  background: rgba(79,142,247,.15);
  color: var(--fc-accent);
  font-size: .75rem;
  font-weight: 600;
  padding: .2rem .6rem;
  border-radius: 999px;
  white-space: nowrap;
}

.fc-operador {
  font-weight: 700;
  font-size: 1rem;
  color: var(--fc-text);
}
.fc-terminal {
  font-size: .78rem;
  color: var(--fc-muted);
}
.fc-datas {
  font-size: .78rem;
  color: var(--fc-muted);
}
.fc-datas i { margin-right: .25rem; }

.fc-total-valor {
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--fc-green);
}
.fc-total-label {
  font-size: .72rem;
  color: var(--fc-muted);
  text-align: right;
}

/* Status badge */
.fc-status {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .75rem;
  font-weight: 600;
  padding: .25rem .65rem;
  border-radius: 999px;
}
.fc-status.verde   { background: rgba(74,222,128,.15); color: var(--fc-green); }
.fc-status.amarelo { background: rgba(251,191,36,.15);  color: var(--fc-yellow); }
.fc-status.vermelho{ background: rgba(248,113,113,.15); color: var(--fc-red); }
.fc-status i { font-size: .8rem; }

/* Chevron toggle */
.fc-toggle-icon {
  color: var(--fc-muted);
  transition: transform .25s;
  font-size: 1.1rem;
  flex-shrink: 0;
}
.fc-card.open .fc-toggle-icon { transform: rotate(180deg); }

/* ---------- Body do card (colapsável) ---------- */
.fc-card-body {
  display: none;
  padding: 1.25rem;
}
.fc-card.open .fc-card-body { display: block; }

/* ---------- Indicadores agrupados ---------- */
.fc-indicadores-grupos {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.fc-ind-grupo {
  background: var(--fc-bg);
  border-radius: .5rem;
  padding: .6rem .75rem .65rem;
  flex: 1 1 auto;
  min-width: 160px;
}
.fc-ind-grupo-titulo {
  font-size: .68rem;
  font-weight: 700;
  color: var(--fc-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: .5rem;
  padding-bottom: .35rem;
  border-bottom: 1px solid var(--fc-border);
  cursor: default;
}
.fc-ind-grupo-itens {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}
.fc-ind {
  background: rgba(255,255,255,.03);
  border-radius: .35rem;
  padding: .5rem .65rem;
  text-align: center;
  min-width: 90px;
  cursor: default;
}
.fc-ind-valor {
  font-weight: 700;
  font-size: .9rem;
}
.fc-ind-label {
  font-size: .65rem;
  color: var(--fc-muted);
  margin-top: .1rem;
  white-space: nowrap;
}

/* ---------- Tabs ---------- */
.fc-tabs {
  display: flex;
  gap: .25rem;
  border-bottom: 1px solid var(--fc-border);
  margin-bottom: 1rem;
  overflow-x: auto;
  scrollbar-width: none;
}
.fc-tabs::-webkit-scrollbar { display: none; }

.fc-tab {
  padding: .45rem 1rem;
  font-size: .8rem;
  font-weight: 500;
  color: var(--fc-muted);
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  transition: color .15s, border-color .15s;
}
.fc-tab:hover  { color: var(--fc-text); }
.fc-tab.active { color: var(--fc-accent); border-bottom-color: var(--fc-accent); }

.fc-tab-panel { display: none; }
.fc-tab-panel.active { display: block; }

/* ---------- Tabelas ---------- */
.fc-table {
  width: 100%;
  font-size: .85rem;
  color: var(--fc-text);
  border-collapse: collapse;
}
.fc-table th {
  color: #cbd5e1;
  font-weight: 600;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: .4rem .5rem;
  border-bottom: 1px solid var(--fc-border);
}
.fc-table td {
  padding: .45rem .5rem;
  border-bottom: 1px solid rgba(45,52,82,.5);
  vertical-align: middle;
}
.fc-table tr:last-child td { border-bottom: none; }
.fc-table .text-end { text-align: right; }
.fc-table .fw-bold  { font-weight: 600; }

/* Tipo badge */
.fc-tipo {
  display: inline-block;
  font-size: .68rem;
  font-weight: 600;
  padding: .1rem .45rem;
  border-radius: 999px;
  margin-right: .3rem;
}

/* Cor por tipo */
.fc-tipo-1  { background: rgba(74,222,128,.15); color: var(--fc-green); }
.fc-tipo-3  { background: rgba(96,165,250,.15); color: var(--fc-blue); }
.fc-tipo-8  { background: rgba(167,139,250,.15); color: var(--fc-purple); }
.fc-tipo-0  { background: rgba(148,163,184,.15); color: var(--fc-muted); }

/* Diferença colorida */
.fc-diff.verde   { color: var(--fc-green); }
.fc-diff.amarelo { color: var(--fc-yellow); }
.fc-diff.vermelho{ color: var(--fc-red); }

/* ---------- Resumo financeiro ---------- */
.fc-resumo-box {
  background: var(--fc-bg);
  border-radius: .4rem;
  padding: .9rem 1rem;
}
.fc-resumo-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: .3rem 0;
  font-size: .875rem;
}
.fc-resumo-row.divider {
  border-bottom: 1px solid var(--fc-border);
  margin-bottom: .35rem;
  padding-bottom: .5rem;
}
.fc-resumo-row .label { color: var(--fc-muted); }
.fc-resumo-row .valor { font-weight: 600; }
.fc-resumo-row .valor.green  { color: var(--fc-green); }
.fc-resumo-row .valor.yellow { color: var(--fc-yellow); }
.fc-resumo-row .valor.red    { color: var(--fc-red); }

/* Seção título dentro do resumo-box */
.fc-resumo-secao {
  font-size: .72rem;
  font-weight: 700;
  color: var(--fc-muted);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: .5rem;
  display: flex;
  align-items: center;
  gap: .35rem;
}
.fc-resumo-tip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15px; height: 15px;
  border-radius: 50%;
  background: rgba(148,163,184,.2);
  color: var(--fc-muted);
  font-size: .65rem;
  font-weight: 700;
  cursor: help;
  flex-shrink: 0;
}
/* Ponto colorido inline */
.fc-dot {
  display: inline-block;
  width: 8px; height: 8px;
  border-radius: 50%;
  margin-right: .3rem;
  flex-shrink: 0;
}
/* Meta-dados do turno */
.fc-resumo-meta-label {
  display: block;
  font-size: .68rem;
  color: var(--fc-muted);
  margin-bottom: .1rem;
}
.fc-resumo-meta-val {
  font-size: .85rem;
  font-weight: 600;
  color: var(--fc-text);
}

/* ---------- Empty state ---------- */
.fc-empty {
  text-align: center;
  padding: 2.5rem 1rem;
  color: var(--fc-muted);
  font-size: .9rem;
}
.fc-empty i {
  font-size: 2rem;
  color: var(--fc-border);
  display: block;
  margin-bottom: .5rem;
}

/* ---------- Skeleton loader ---------- */
@keyframes fc-shimmer {
  0%   { background-position: -400px 0; }
  100% { background-position:  400px 0; }
}
.fc-skeleton {
  border-radius: var(--fc-radius);
  background: linear-gradient(90deg, var(--fc-surface) 25%, #252a40 50%, var(--fc-surface) 75%);
  background-size: 800px 100%;
  animation: fc-shimmer 1.4s infinite linear;
}
.fc-skeleton-card {
  height: 72px;
  margin-bottom: .75rem;
}

/* ---------- Botões de ação ---------- */
.fc-actions {
  display: flex;
  gap: .5rem;
  margin-top: 1rem;
  flex-wrap: wrap;
}
.fc-btn {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .3rem .8rem;
  border-radius: .35rem;
  font-size: .8rem;
  font-weight: 500;
  cursor: pointer;
  border: 1px solid var(--fc-border);
  background: var(--fc-bg);
  color: var(--fc-muted);
  transition: color .15s, border-color .15s;
}
.fc-btn:hover { color: var(--fc-text); border-color: var(--fc-accent); }
.fc-btn.primary { background: rgba(79,142,247,.15); color: var(--fc-accent); border-color: var(--fc-accent); }
.fc-btn.primary:hover { background: rgba(79,142,247,.25); }

/* ---------- Spinner ---------- */
.fc-spinner-wrap {
  text-align: center;
  padding: 3rem 1rem;
  color: var(--fc-muted);
}

/* ---------- Barra de resumo acima dos cards ---------- */
.fc-summary-bar {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: .75rem;
  margin-bottom: 1.5rem;
}
.fc-summary-item {
  background: var(--fc-surface);
  border-radius: .4rem;
  padding: .75rem 1rem;
  border-left: 3px solid var(--fc-accent);
}
.fc-summary-item .s-label {
  font-size: .72rem;
  color: var(--fc-muted);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.fc-summary-item .s-valor {
  font-weight: 700;
  font-size: 1rem;
  color: var(--fc-text);
  margin-top: .15rem;
}

/* ---------- Botões de período ---------- */
.fc-periodo-btn {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .3rem .85rem;
  border-radius: .35rem;
  font-size: .8rem;
  font-weight: 500;
  cursor: pointer;
  border: 1px solid var(--fc-border);
  background: var(--fc-bg);
  color: var(--fc-muted);
  transition: all .15s;
  white-space: nowrap;
}
.fc-periodo-btn:hover {
  color: var(--fc-text);
  border-color: var(--fc-accent);
}
.fc-periodo-btn.active {
  background: rgba(79,142,247,.18);
  color: var(--fc-accent);
  border-color: var(--fc-accent);
  font-weight: 600;
}
.fc-periodo-btn.loading {
  opacity: .6;
  pointer-events: none;
}

/* ---------- Seletor de mês/ano ---------- */
.fc-mes-picker {
  position: relative;
  display: inline-block;
}

.fc-mes-btn {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .3rem 1rem;
  border-radius: .35rem;
  font-size: .82rem;
  font-weight: 500;
  cursor: pointer;
  border: 1px solid var(--fc-border);
  background: var(--fc-bg);
  color: var(--fc-text);
  transition: border-color .15s;
  white-space: nowrap;
  min-width: 210px;
}
.fc-mes-btn:hover { border-color: var(--fc-accent); color: var(--fc-accent); }

.fc-mes-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 999;
  background: #1a1f35;
  border: 1px solid var(--fc-border);
  border-radius: .5rem;
  padding: .75rem;
  width: 240px;
  box-shadow: 0 8px 32px rgba(0,0,0,.5);
}
.fc-mes-dropdown.open { display: block; }

/* Navegação de ano */
.fc-mes-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .6rem;
}
.fc-mes-nav span {
  font-weight: 700;
  font-size: .9rem;
  color: var(--fc-text);
}
.fc-mes-nav button {
  background: none;
  border: none;
  color: var(--fc-muted);
  cursor: pointer;
  padding: .2rem .5rem;
  border-radius: .25rem;
  font-size: .9rem;
  transition: color .15s, background .15s;
}
.fc-mes-nav button:hover { color: var(--fc-accent); background: rgba(79,142,247,.1); }

/* Grade de meses */
.fc-mes-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .35rem;
}
.fc-mes-item {
  text-align: center;
  padding: .4rem .2rem;
  border-radius: .3rem;
  font-size: .8rem;
  cursor: pointer;
  color: var(--fc-muted);
  background: var(--fc-bg);
  border: 1px solid transparent;
  transition: all .15s;
}
.fc-mes-item:hover {
  color: var(--fc-text);
  border-color: var(--fc-border);
}
.fc-mes-item.active {
  background: rgba(79,142,247,.2);
  color: var(--fc-accent);
  border-color: var(--fc-accent);
  font-weight: 700;
}
.fc-mes-item.hoje {
  border-color: rgba(79,142,247,.35);
  color: var(--fc-text);
}

/* ---------- Busca de operador ---------- */
.fc-op-search-wrap {
  position: relative;
  max-width: 360px;
}
.fc-op-search-icon {
  position: absolute;
  left: .75rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--fc-muted);
  font-size: .85rem;
  pointer-events: none;
}
.fc-op-search-input {
  width: 100%;
  background: var(--fc-bg);
  border: 1px solid var(--fc-border);
  border-radius: .4rem;
  padding: .45rem 2.4rem .45rem 2.2rem;
  color: var(--fc-text);
  font-size: .85rem;
  transition: border-color .15s;
  outline: none;
}
.fc-op-search-input:focus {
  border-color: var(--fc-accent);
  background: rgba(79,142,247,.04);
}
.fc-op-search-input::placeholder { color: var(--fc-muted); }
.fc-op-search-clear {
  position: absolute;
  right: .5rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--fc-muted);
  cursor: pointer;
  padding: .2rem .3rem;
  font-size: .75rem;
  line-height: 1;
  border-radius: .25rem;
  transition: color .15s;
}
.fc-op-search-clear:hover { color: var(--fc-text); }

/* ---------- Grid de operadores ---------- */
.fc-ops-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: .5rem;
  margin-top: .5rem;
}

/* Card de operador */
.fc-op-card {
  background: var(--fc-bg);
  border: 1px solid var(--fc-border);
  border-radius: .4rem;
  padding: .55rem .75rem;
  cursor: pointer;
  transition: border-color .15s, background .15s;
  display: flex;
  flex-direction: column;
  gap: .1rem;
}
.fc-op-card:hover {
  border-color: var(--fc-accent);
  background: rgba(79,142,247,.06);
}
.fc-op-card.selected {
  border-color: var(--fc-accent);
  background: rgba(79,142,247,.12);
}
.fc-op-name {
  font-weight: 600;
  font-size: .85rem;
  color: var(--fc-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fc-op-meta {
  font-size: .72rem;
  color: var(--fc-muted);
  display: flex;
  justify-content: space-between;
  gap: .5rem;
}
.fc-op-total {
  font-size: .78rem;
  font-weight: 600;
  color: var(--fc-green);
}

/* ---------- Módulo Fiscal ---------- */

/* Mini-cards de resumo fiscal */
.fc-fiscal-resumo {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: .5rem;
  margin-bottom: 1rem;
}
.fc-fiscal-card {
  background: var(--fc-bg);
  border-radius: .4rem;
  padding: .65rem .85rem;
  border-left: 3px solid var(--fc-border);
}
.fc-fiscal-card.com  { border-left-color: #4ade80; }
.fc-fiscal-card.sem  { border-left-color: #f87171; }
.fc-fiscal-card.risco-verde    { border-left-color: #4ade80; }
.fc-fiscal-card.risco-amarelo  { border-left-color: #fbbf24; }
.fc-fiscal-card.risco-vermelho { border-left-color: #f87171; }
.fc-fiscal-card .fc-fiscal-val  {
  font-weight: 700;
  font-size: .95rem;
}
.fc-fiscal-card .fc-fiscal-lbl {
  font-size: .7rem;
  color: #b0bec5;
  margin-top: .1rem;
}

/* Barra comparativa */
.fc-fiscal-barra {
  background: var(--fc-bg);
  border-radius: .4rem;
  padding: .75rem 1rem;
  margin-bottom: 1rem;
}
.fc-fiscal-barra-titulo {
  font-size: .75rem;
  color: #cbd5e1;
  margin-bottom: .5rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.fc-barra-track {
  height: 22px;
  border-radius: 4px;
  background: var(--fc-border);
  overflow: hidden;
  display: flex;
  margin-bottom: .35rem;
}
.fc-barra-com {
  background: #4ade80;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 6px;
  font-size: .72rem;
  font-weight: 700;
  color: #0f3020;
  transition: width .5s ease;
  white-space: nowrap;
  overflow: hidden;
}
.fc-barra-sem {
  background: #f87171;
  height: 100%;
  display: flex;
  align-items: center;
  padding-left: 6px;
  font-size: .72rem;
  font-weight: 700;
  color: #3f0808;
  transition: width .5s ease;
  white-space: nowrap;
  overflow: hidden;
}
.fc-barra-legenda {
  display: flex;
  gap: 1.5rem;
  font-size: .75rem;
  color: #cbd5e1;
}
.fc-barra-legenda span { display: flex; align-items: center; gap: .3rem; }
.fc-barra-legenda .dot {
  width: 10px; height: 10px; border-radius: 50%; display: inline-block;
}

/* Alerta quando % sem nota está alto */
.fc-fiscal-alerta {
  background: rgba(248,113,113,.12);
  border: 1px solid rgba(248,113,113,.4);
  border-radius: .4rem;
  padding: .55rem .85rem;
  font-size: .82rem;
  color: #f87171;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.fc-fiscal-alerta i { font-size: 1rem; flex-shrink: 0; }
.fc-fiscal-alerta.amarelo {
  background: rgba(251,191,36,.1);
  border-color: rgba(251,191,36,.4);
  color: #fbbf24;
}

/* Filtros da tabela fiscal */
.fc-fiscal-filtros {
  display: flex;
  gap: .4rem;
  margin-bottom: .75rem;
}
.fc-fiscal-f {
  padding: .25rem .7rem;
  border-radius: .3rem;
  font-size: .78rem;
  font-weight: 500;
  cursor: pointer;
  border: 1px solid var(--fc-border);
  background: var(--fc-bg);
  color: var(--fc-muted);
  transition: all .15s;
}
.fc-fiscal-f:hover  { color: var(--fc-text); border-color: var(--fc-accent); }
.fc-fiscal-f.active { background: rgba(79,142,247,.15); color: var(--fc-accent); border-color: var(--fc-accent); }

/* Badge fiscal na tabela */
.fc-nota-com {
  display: inline-block;
  padding: .12rem .5rem;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 700;
  background: rgba(74,222,128,.15);
  color: #4ade80;
}
.fc-nota-sem {
  display: inline-block;
  padding: .12rem .5rem;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 700;
  background: rgba(248,113,113,.15);
  color: #f87171;
}

/* Rodapé total da tabela fiscal */
.fc-fiscal-total-row td {
  border-top: 2px solid var(--fc-border);
  background: rgba(255,255,255,.03);
  padding: .55rem .5rem;
}

/* Risco Fiscal badge */
.fc-risco {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .2rem .6rem;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 700;
}
.fc-risco.verde    { background: rgba(74,222,128,.15);  color: #4ade80; }
.fc-risco.amarelo  { background: rgba(251,191,36,.15);  color: #fbbf24; }
.fc-risco.vermelho { background: rgba(248,113,113,.15); color: #f87171; }

/* ---------- Print ---------- */
/* ---------- Calendário de dias (nível 2 do picker) ---------- */
.fc-mes-dropdown { width: 280px; }

/* Nav do nível-dia */
.fc-dia-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .5rem;
}
.fc-dia-nav > button {
  background: none;
  border: none;
  color: var(--fc-accent);
  font-size: .78rem;
  cursor: pointer;
  padding: .25rem .4rem;
  border-radius: .3rem;
  transition: background .15s;
  white-space: nowrap;
}
.fc-dia-nav > button:hover { background: rgba(79,142,247,.12); }
.fc-dia-nav > div > button {
  background: none;
  border: 1px solid var(--fc-border);
  color: var(--fc-muted);
  cursor: pointer;
  padding: .2rem .45rem;
  border-radius: .25rem;
  font-size: .8rem;
  transition: all .15s;
}
.fc-dia-nav > div > button:hover { color: var(--fc-accent); border-color: var(--fc-accent); }
.fc-dia-nav span {
  font-weight: 700;
  font-size: .88rem;
  color: var(--fc-text);
}

/* Cabeçalho dos dias da semana */
.fc-semana-header {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
  margin-bottom: 4px;
}
.fc-semana-header span {
  text-align: center;
  font-size: .65rem;
  color: var(--fc-muted);
  font-weight: 600;
  padding: 2px 0;
}

/* Grade de dias */
.fc-dia-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
  margin-bottom: .5rem;
}
.fc-dia-cell {
  text-align: center;
  padding: .3rem 0;
  border-radius: .25rem;
  font-size: .8rem;
  color: var(--fc-muted);
  cursor: pointer;
  border: 1px solid transparent;
  transition: all .12s;
  line-height: 1;
}
.fc-dia-cell:hover {
  color: var(--fc-text);
  background: rgba(79,142,247,.15);
  border-color: var(--fc-border);
}
.fc-dia-cell.hoje {
  color: var(--fc-accent);
  border-color: rgba(79,142,247,.4);
  font-weight: 700;
}
.fc-dia-cell.hoje:hover {
  background: rgba(79,142,247,.2);
}
.fc-dia-cell.vazio { cursor: default; pointer-events: none; }

/* Botão "Mês inteiro" */
.fc-mes-inteiro-btn {
  display: block;
  width: 100%;
  background: rgba(79,142,247,.1);
  border: 1px solid rgba(79,142,247,.3);
  color: var(--fc-accent);
  border-radius: .3rem;
  padding: .35rem;
  font-size: .78rem;
  cursor: pointer;
  text-align: center;
  transition: all .15s;
}
.fc-mes-inteiro-btn:hover {
  background: rgba(79,142,247,.2);
  border-color: var(--fc-accent);
}

/* ── Painel de resumo de pagamentos (fiscal) ─────────────────────────────── */
.fc-resumo-pgto-painel {
  background: var(--fc-bg);
  border-radius: .5rem;
  border: 1px solid var(--fc-border);
  padding: .85rem 1rem;
  margin-bottom: .85rem;
}
.fc-resumo-pgto-titulo {
  font-size: .72rem;
  font-weight: 700;
  color: var(--fc-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: .6rem;
}
.fc-resumo-pgto-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: .5rem;
}
.fc-pgto-card {
  background: var(--fc-surface);
  border-left: 3px solid var(--fc-border);
  border-radius: .35rem;
  padding: .6rem .75rem;
  display: grid;
  grid-template-areas:
    "icon nome"
    "icon valor"
    "icon pct";
  grid-template-columns: 1.5rem 1fr;
  gap: 0 .45rem;
  align-items: center;
}
.fc-pgto-icon {
  grid-area: icon;
  font-size: 1.2rem;
  line-height: 1;
  align-self: center;
}
.fc-pgto-nome {
  grid-area: nome;
  font-size: .68rem;
  color: var(--fc-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fc-pgto-valor {
  grid-area: valor;
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.2;
}
.fc-pgto-pct {
  grid-area: pct;
  font-size: .68rem;
  color: var(--fc-muted);
}

/* ── Mini-grid de indicadores abaixo do painel ───────────────────────────── */
.fc-ind-mini-grid {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  padding: .5rem 0 .25rem;
}
.fc-ind-mini {
  text-align: center;
  min-width: 80px;
}
.fc-ind-mini-valor {
  font-size: .88rem;
  font-weight: 700;
}
.fc-ind-mini-label {
  font-size: .65rem;
  color: var(--fc-muted);
  margin-top: .1rem;
}

@media print {
  .fc-card-body { display: block !important; }
  .fc-card-header { cursor: default; }
  .fc-actions, .fc-btn { display: none !important; }
  .fc-tabs { display: none; }
  .fc-tab-panel { display: block !important; margin-bottom: 1rem; }
  body { background: #fff !important; color: #111 !important; }
  .fc-card { border: 1px solid #ccc; page-break-inside: avoid; }
  .fc-resumo-pgto-painel { border: 1px solid #ccc; }
  .fc-pgto-card { border: 1px solid #e2e8f0; background: #fff; }
}
