/* Ajustes de produção sobre o export do design (inline styles exigem !important) */

button:disabled { opacity: 0.6; cursor: default; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 2px solid #273ED6;
  outline-offset: 2px;
}

input[type='radio']:focus-visible,
input[type='checkbox']:focus-visible {
  outline-offset: 1px;
  border-radius: 999px;
}

input[type='radio'],
input[type='checkbox'] {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.file-item {
  font-size: 13px;
  color: #475569;
  background: #F1F5F9;
  border-radius: 8px;
  padding: 6px 10px;
}

.track-msg {
  max-width: 85%;
  padding: 11px 13px;
  border-radius: 14px;
  font-size: 14px;
  line-height: 21px;
  color: #0F172A;
  white-space: pre-wrap;
  word-break: break-word;
}

.track-msg.comite {
  align-self: flex-start;
  background: #EFF6FF;
  border: 1px solid #CAD1F4;
}

.track-msg.relator {
  align-self: flex-end;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
}

.track-msg .track-msg-meta {
  display: block;
  margin-top: 6px;
  font-size: 11px;
  color: #94A3B8;
}

.track-msg-empty {
  font-size: 13px;
  line-height: 20px;
  color: #94A3B8;
}

@media (max-width: 960px) {
  .nav-link { display: none; }

  .hero-grid {
    grid-template-columns: 1fr !important;
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .hero-grid h1 { font-size: 38px !important; line-height: 44px !important; }
  .hero-mascot img { max-width: 220px !important; }

  .value-cards { grid-template-columns: 1fr !important; }
  .steps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  .report-grid { grid-template-columns: 1fr !important; }
  .report-aside { position: static !important; }

  .track-grid { grid-template-columns: 1fr !important; }
  .faq-grid { grid-template-columns: 1fr !important; }

  .cta-banner { grid-template-columns: 1fr !important; padding: 32px !important; }
  .cta-mascot { width: 140px !important; margin: 0 auto; }
}

@media (max-width: 640px) {
  .steps-grid { grid-template-columns: 1fr !important; }
  .category-grid { grid-template-columns: 1fr !important; }
  .two-col { grid-template-columns: 1fr !important; }
  .hero-grid h1 { font-size: 32px !important; line-height: 38px !important; }
}
