/* General Styling */
body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  background-color: #f4f7f9;
  color: #333;
  margin: 0;
  display: flex;
  justify-content: center;
  padding: 20px;
}

#content {
  width: 100%;
  max-width: 600px;
}

#subcontent-wide {
  background: #ffffff;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

h2 {
  color: #2c3e50;
  text-align: center;
  margin-bottom: 25px;
  border-bottom: 2px solid #3498db;
  padding-bottom: 10px;
}

/* Form Layout */
#formData {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

label {
  display: flex;
  flex-direction: column;
  font-weight: 600;
  font-size: 0.9rem;
  color: #444;
  gap: 8px;
}

/* Inputs, Select, and Textarea */
input, select, textarea {
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 1rem;
  transition: all 0.3s ease;
  width: 100%;
  box-sizing: border-box; /* Penting agar padding tidak merusak lebar */
}

input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: #3498db;
  box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.2);
}

/* Khusus Angkatan (Readonly) */
input#angkatan[readonly] {
  background-color: #f9f9f9;
  color: #7f8c8d;
  cursor: not-allowed;
}

textarea {
  resize: vertical;
  min-height: 100px;
  font-family: 'Courier New', Courier, monospace; /* Cocok untuk data tab-delimited */
  font-size: 0.85rem;
}

/* Button Styling */
button {
  cursor: pointer;
  border: none;
  border-radius: 6px;
  font-weight: bold;
  transition: background 0.3s ease;
}

/* Tombol Ambil Data (NIM) */
#btnLoad {
  background-color: #3498db;
  color: white;
  padding: 8px 15px;
  align-self: flex-start; /* Tidak melebar penuh */
}

#btnLoad:hover {
  background-color: #2980b9;
}

/* Tombol Tampilkan (Submit) */
button[onclick="generate()"] {
  background-color: #27ae60;
  color: white;
  padding: 15px;
  font-size: 1.1rem;
  margin-top: 10px;
}

button[onclick="generate()"]:hover {
  background-color: #219150;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

button:active {
  transform: translateY(0);
}

/* Responsif untuk layar HP */
@media (max-width: 480px) {
  #subcontent-wide {
    padding: 15px;
  }
}