/* Extracted template styles (keeps exact visual appearance) */
.header-row {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 0px;
  margin-bottom: 30px;
}
.brand-main {
  font-style: italic;
  font-weight: bold;
  margin-top: 5%;
  font-size: clamp(24px, 5vw, 60px);
  color: #333333;
}
.brand-sub {
  font-weight: bold;
  margin-top: 5%;
  font-size: clamp(24px, 5vw, 60px);
}
.brand-link {
  color: #333333;
}
.drop-area {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  background-color: #e8f5e0;
  border-radius: 20px;
  padding: 60px 40px;
  cursor: pointer;
  width: 100%;
  min-height: calc(100vh - 200px);
  transition: background-color 0.3s ease, border-color 0.3s ease;
  box-sizing: border-box;
  text-align: center;
  box-shadow: #7aab76 0px 4px 15px, #7aab76  0px 6px 20px;
  border: 2px dashed transparent;
}
.drop-icon {
  font-size: 70px;
  line-height: 1;
}
.drop-text {
  font-style: italic;
  font-weight: bold;
  font-size: 20px;
  color: #2d6a1f;
}
.hidden-file-input {
  display: none;
}
.missing-box {
  background-color: #ffe8e8;
  border-radius: 20px;
  padding: 30px 40px;
  margin-bottom: 20px;
}
.missing-title {
  color: #8b0000;
  font-weight: bold;
  text-align: center;
}
.missing-desc {
  color: #8b0000;
  font-style: italic;
  text-align: center;
}
.checkbox-heading {
  color: #8b0000;
  font-weight: bold;
  text-align: center;
}
.checkbox-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}
.checkbox-input {
  width: auto;
  margin: 0;
}
.checkbox-label {
  font-style: italic;
  font-weight: bold;
  color: #8b0000;
}
.field-row {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  gap: 12px;
}
.field-label {
  font-style: italic;
  font-weight: bold;
  color: #8b0000;
  width: 200px;
  text-align: right;
  margin-right: 15px;
}
.field-input-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.text-input {
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 5px;
}
.field-error {
  color: #8b0000;
  font-size: 0.9rem;
}
.btn-strong-italic {
  font-style: italic;
  font-weight: bold;
}
.insert-new-form {
  margin-top: 10px;
}
.status-ok {
  color: #2d6a1f;
  font-style: italic;
  text-align: center;
}
.result-box {
  background-color: #e8f5e0;
  border-radius: 20px;
  padding: 20px 40px;
  margin-bottom: 20px;
  text-align: center;
  box-shadow: #7aab76 0px 4px 15px, #7aab76 0px 6px 20px;
}
.result-title {
  color: #2d6a1f;
  font-style: italic;
  font-weight: bold;
  margin: 0;
}
.result-row { display:flex; gap:10px; margin-bottom:20px; }
.result-card {
  flex: 1;
  background-color: #e8f5e0;
  border-radius: 10px;
  padding: 20px;
  text-align: center;
  box-shadow: #7aab76 0px 2px 8px;
}
.result-card-title {
  font-style: italic;
  font-weight: bold;
  color: #2d6a1f;
  margin: 0;
}
.result-card-value {
  font-style: italic;
  font-weight: bold;
  color: #2d6a1f;
  font-size: 32px;
  margin: 0;
}
.action-row { display:flex; gap:10px; margin-bottom:20px; }
.stats-row { display:flex; gap:10px; margin-bottom:20px; }
.stat-card { flex: 1; background-color: #e8f5e0; border-radius: 10px; padding: 20px; text-align: center; box-shadow: #7aab76 0px 2px 8px; }
.stat-label { font-style: italic; font-weight: bold; color: #2d6a1f; margin: 0; }
.stat-value { font-style: italic; font-weight: bold; color: #2d6a1f; font-size: 32px; margin: 0; }
.plot-select {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 5px;
  margin-bottom: 20px;
  font-style: italic;
}
.visualisatie-vlak {
  background-color: #f5f5f5;
  border-radius: 10px;
  min-height: 220px;
  margin-bottom: 10px;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ccc;
}
.visualisatie-placeholder {
  color: #aaa;
  font-style: italic;
}
.hidden-download { display: none; }
.btn-submit { margin-top: 20px; }
.btn-insert { margin-top: 10px; }
.flex-1 { flex: 1; }
.visualisatie-img { max-width: 100%; border-radius: 10px; cursor: pointer; }
