@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css');

/* Reset CSS */
body, h1, h2, h3, p, div, span, input, select, label {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Montserrat', sans-serif;
  background: #121212; /* Background gelap */
  color: #52d824;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

/* Container Styling */
.container {
  max-width: 800px;
  width: 100%;
  background: #1f1f1f; /* Latar belakang gelap untuk kotak utama */
  border: 2px solid #484444;
  border-radius: 15px;
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.5);
  overflow: hidden;
  padding: 25px 30px;
  animation: fadeIn 0.5s ease-in-out;
}

/* Section Styling */
.section {
  margin-bottom: 20px;
  padding: 15px;
  border-left: 4px solid #484444;
  background: #2a2a2a; /* Gelap untuk area input */
  border-radius: 8px;
  transition: background 0.3s ease, transform 0.3s ease;
}

.section:hover {
  background: #3a3a3a; /* Efek hover sedikit lebih terang */
  transform: translateY(-5px);
}

.section label {
  display: block;
  font-weight: bold;
  color: #52d824;
  margin-bottom: 8px;
}

.section input,
.section select {
  width: 100%;
  padding: 10px;
  font-size: 16px;
  color: #52d824;
  background: #1f1f1f; /* Background input */
  border: 2px solid #484444;
  border-radius: 8px;
  transition: border-color 0.3s ease, background 0.3s ease;
}

.section input:focus,
.section select:focus {
  border-color: #52d824;
  outline: none;
  background: #2a2a2a; /* Sedikit lebih terang saat fokus */
}

/* Output Section Styling */
.section.output {
  background: #484444;
  color: #52d824;
  padding: 20px;
  border-radius: 10px;
}

.section.output div {
  margin-bottom: 10px;
}

.section.output label {
  color: #ffffff;
  font-size: 14px;
}

.section.output span {
  font-weight: bold;
  font-size: 16px;
  color: #52d824;
}

/* Button Styling (Optional if Buttons are Added) */
button {
  padding: 10px 20px;
  font-size: 16px;
  color: #52d824;
  background: #484444;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.3s ease;
}

button:hover {
  background: #52d824;
  color: #1f1f1f;
  transform: translateY(-3px);
}

/* Animations */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Media Queries for Responsiveness */
@media (max-width: 768px) {
  .container {
    padding: 20px;
  }

  .section {
    margin-bottom: 15px;
  }

  .section label {
    font-size: 14px;
  }

  .section input,
  .section select {
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .container {
    padding: 15px;
  }

  .section input,
  .section select {
    font-size: 12px;
  }

  .section label {
    font-size: 12px;
  }
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
  background: #2a2a2a; /* Latar belakang tabel */
  color: #52d824; /* Warna teks utama */
  border: 2px solid #484444; /* Border tabel */
  border-radius: 10px; /* Membulatkan sudut tabel */
  overflow: hidden;
  animation: fadeIn 0.5s ease-in-out;
}

table thead {
  background: #3a3a3a; /* Latar belakang header tabel */
}

table th {
  font-weight: bold;
  font-size: 16px;
  text-transform: uppercase;
  color: #ffffff; /* Warna teks header */
  padding: 15px;
  text-align: center;
}

table tbody tr {
  border-bottom: 1px solid #484444; /* Garis pemisah antar baris */
  transition: background 0.3s ease;
}

table tbody tr:nth-child(even) {
  background: #1f1f1f; /* Warna untuk baris genap */
}

table tbody tr:hover {
  background: #484444; /* Efek hover pada baris */
}

table td {
  font-size: 14px;
  padding: 12px 10px;
  text-align: center;
  color: #52d824;
}

table td:first-child {
  font-weight: bold; /* Menonjolkan kolom "Lap" */
  color: #ffffff;
}

/* Responsiveness untuk tabel */
@media (max-width: 768px) {
  table th, table td {
    font-size: 12px;
    padding: 10px;
  }
}