@media (min-width: 768px) {
  .w-md-auto {
    width: auto !important;
  }
}

/* Compact helpers */
.btn-icon {
  padding: .375rem .5rem;
}

/* Cards mais baixos em mobile */
.card-compact .card-body {
  padding: .75rem;
}

/* Texto auxiliar */
.text-xs {
  font-size: .75rem;
}

.two-lines {
  display: block;
  line-height: 1.2em;
  max-height: 2.4em;
  /* 2 linhas * 1.2em */
  overflow: hidden;
  word-break: break-word;
  /* parte nomes gigantes */
}

.card-toggle {
  color: inherit;
  font-weight: 600;
  letter-spacing: .1px;
}

/* Header inteiro parece clicável */
.card-header:has(.card-toggle) {
  cursor: pointer;
}

/* Hover mais visível */
.card-toggle:hover {
  opacity: 1;
  text-decoration: none;
}

.card-toggle:hover .chevron {
  color: var(--bs-primary);
}

/* Focus limpo */
.card-toggle:focus {
  box-shadow: none;
  outline: none;
}

/* Chevron maior e mais presente */
.card-toggle .chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  /* ⬅ mais impacto */
  font-weight: 700;
  transition: transform .15s ease, color .15s ease;
  line-height: 1;
}

/* Rodar ao abrir */
.card-toggle[aria-expanded="true"] .chevron {
  transform: rotate(90deg);
  color: var(--bs-primary);
}

/* Título do bloco */
.card-toggle span:not(.chevron) {
  font-size: 1rem;
}

/* Espaçamento e alinhamento geral */
.card-header .card-toggle {
  padding: .25rem 0;
  width: 100%;
}

/* Badges ligeiramente maiores */
.card-header .badge {
  font-size: .75rem;
  padding: .35em .6em;
}


#tbl-latest td,
#tbl-tech td {
  vertical-align: middle;
}

#tbl-latest .two-lines,
#tbl-tech .two-lines {
  line-height: 1.2em;
}

.fc .fc-toolbar-title {
  font-size: 1.1rem;
  font-weight: 600;
}

.fc .fc-button {
  background: #3b7ddd;
  border: none;
}

.fc .fc-button:hover {
  background: #2f6bd1;
}

/* base */
.fc .fc-event,
.fc .fc-daygrid-event,
.fc .fc-timegrid-event {
  border-radius: .5rem;
  padding: 1px 4px;
  border-width: 1px;
}

/* cores por badge_color (como na tua imagem) */
.fc .fc-status-secondary { background: var(--bs-secondary); border-color: var(--bs-secondary); color: #fff; }
.fc .fc-status-info      { background: var(--bs-info);      border-color: var(--bs-info);      color: #fff; }
.fc .fc-status-primary   { background: var(--bs-primary);   border-color: var(--bs-primary);   color: #fff; }
.fc .fc-status-warning   { background: var(--bs-warning);   border-color: var(--bs-warning);   color: var(--bs-dark); }
.fc .fc-status-success   { background: var(--bs-success);   border-color: var(--bs-success);   color: #fff; }
.fc .fc-status-dark      { background: var(--bs-dark);      border-color: var(--bs-dark);      color: #fff; }

/* atrasada = vermelho (por cima do estado) */
.fc .fc-status-late {
  background: var(--bs-danger) !important;
  border-color: var(--bs-danger) !important;
  color: #fff !important;
}

/* título não cortar feio */
.fc .fc-event-title {
  font-weight: 600;
}



.fc .fc-event .tech-badges{
  display:inline-flex;
  gap:.25rem;
  flex:0 0 auto;
}

.fc .fc-event .tech-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  border-radius:999px;
  font-size:11px;
  line-height:1;
  font-weight:700;
  background: rgba(255,255,255,.85);
  color: #111;
  border: 1px solid rgba(0,0,0,.15);
}

.fc .fc-event .tech-badge-more{
  width:auto;
  padding:0 6px;
}

/* evita que o título empurre tudo */
.fc .fc-event .fc-event-title{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* ===== Eventos (layout) ===== */
.fc .fc-event,
.fc .fc-daygrid-event,
.fc .fc-timegrid-event {
  border-radius: .5rem;
  padding: 1px 4px;
  border-width: 1px;
}

.fc .fc-event .fc-event-inner{
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  max-width: 100%;
  overflow: hidden;
}

.fc .fc-event .tech-badges{
  display: inline-flex;
  align-items: center;
  gap: .15rem;
  flex: 0 0 auto;
}

.fc .fc-event .tech-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 18px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  background: rgba(255,255,255,.85);
  color: #111;
  border: 1px solid rgba(0,0,0,.12);
}

.fc .fc-event .tech-badge-more{
  width: auto;
  padding: 0 6px;
  font-weight: 800;
}

.fc .fc-event .fc-event-title{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
}

/* ===== Mobile: mês fica “mini” ===== */
@media (max-width: 576px){
  .fc .fc-daygrid-event{
    font-size: 11px;
  }

  .fc .fc-event-inner--mini .tech-badge{
    width: 20px;
    height: 16px;
    font-size: 10px;
  }

  .fc .fc-daygrid-event-harness .fc-event{
    padding: 0 2px;
  }
}


.fc .tech-badges{
  display: inline-flex;
  align-items: center;
  gap: .15rem;
  flex: 0 0 auto;
}

.fc .tech-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 18px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(0,0,0,.12);
}

.fc .tech-badge-more{
  font-weight: 800;
}

/* título do evento */
.fc .fc-event-title{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ===== Mobile tweaks ===== */
/* ===== Mobile: mês fica “mini” ===== */
@media (max-width: 576px){
  .fc .fc-daygrid-event{
    font-size: 11px;
  }

  .fc .fc-event-inner--mini .tech-badge{
    width: 20px;
    height: 16px;
    font-size: 10px;
  }

  .fc .fc-daygrid-event-harness .fc-event{
    padding: 0 2px;
  }
}


@media (max-width: 576px){
  /* toolbar em 2 linhas e alinhada */
  .fc .fc-toolbar {
    flex-wrap: wrap;
    gap: .35rem;
  }

  .fc .fc-toolbar-chunk {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    align-items: center;
  }

  .fc .fc-toolbar-title {
    font-size: 1.1rem;
    margin: 0 .25rem;
  }

  /* botões mais compactos */
  .fc .fc-button {
    padding: .3rem .45rem;
    font-size: .85rem;
  }
}

@media (max-width: 576px){
  #techFilter{ min-width: 160px !important; }
}



