/* Responsive básico */

@media (max-width: 1024px) {
  .page {
    grid-template-columns: 1fr;
  }

  .panel {
    padding: 18px 14px 20px;
  }
}

@media (max-width: 768px) {
  .top-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 14px;
  }

  .header-right {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .page {
    padding: 14px 10px 18px;
    gap: 14px;
  }

  .panel-input h1 {
    font-size: 1.3rem;
  }

  .panel-output h2 {
    font-size: 1.2rem;
  }

  .actions {
    flex-direction: column;
  }

  .btn-primary,
  .btn-secondary {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .brand-title {
    font-size: 1rem;
  }

  .brand-subtitle {
    font-size: 0.72rem;
  }

  .card {
    padding: 10px 9px 12px;
  }

  .textarea,
  .input {
    font-size: 0.9rem;
  }
}
