/*
  We avoid using body {} as requested.
  Instead, style .app-container and other elements directly.
*/

/* Container and General Styles */
.app-container {
  /*min-height: 100vh;*/
  padding: 2rem;
  font-family: 'Poppins', sans-serif;
  background: #f9f9f9; /* Plain background */
  color: #333;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

/* Title */
.app-title {
  text-align: center;
  margin-bottom: 1.5rem;
  font-weight: 600;
  letter-spacing: 1px;
}

/* Tabs */
.tabs {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}

.tab-btn {
  padding: 0.6rem 1.2rem;
  font-size: 1rem;
  background: #eeeeee;
  border: 1px solid #cccccc;
  border-radius: 4px;
  cursor: pointer;
  color: #333;
  transition: transform 0.3s, background 0.3s;
}

.tab-btn:hover {
  transform: translateY(-2px);
  background: #dddddd;
}

.tab-btn.active {
  background: #dddddd;
  color: #000;
  border-color: #bbb;
}

/* Tab Contents */
.tab-content {
  display: none; /* hidden by default */
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

.tab-content.active {
  display: block;
}

/* Error message */
.error-msg {
  color: #ff0000;
  background-color: #ffeaea;
  padding: 0.5rem;
  margin-bottom: 0.75rem;
  border-radius: 4px;
  font-size: 0.9rem;
  display: none; /* Initially hidden */
}

/* Copy message */
.copy-msg {
  color: #2e7d32;
  background-color: #e8f5e9;
  padding: 0.5rem;
  margin-bottom: 0.75rem;
  border-radius: 4px;
  font-size: 0.9rem;
  display: none; /* Initially hidden */
}

/* Textarea (big input field) */
.code-area {
  width: 100%;
  min-height: 500px; /* Keep the text area height 600px */
  padding: 1rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #ffffff;
  color: #333;
  resize: vertical;
  font-family: 'Poppins', sans-serif;
  margin-bottom: 1rem;
  outline: none;
  font-size: 0.95rem;
}

/* Button Group */
.button-group {
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
  margin-bottom: 2rem;
}

/* Buttons */
.btn {
  padding: 0.6rem 1.2rem;
  font-size: 1rem;
  border: none;
  border-radius: 4px;
  background: #4caf50; /* Green color scheme */
  color: #fff;
  cursor: pointer;
  transition: background 0.3s, transform 0.3s;
}

.btn:hover {
  background: #66bb6a;
  transform: scale(1.05);
}

/* Responsive Styles */
@media screen and (max-width: 600px) {
  .tabs {
    flex-direction: column;
  }

  .tab-btn {
    width: 100%;
    text-align: center;
  }

  .button-group {
    flex-direction: column;
    gap: 0.5rem;
    justify-content: center;
  }
}
