body {
  font-family: 'Segoe UI', sans-serif;
  background: #f9f9f9;
  margin: 0;
  padding: 0;
}
.container {
  max-width: 850px;
  margin: 25px auto;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 12px #0001;
  padding: 30px;
}
h1 {
  text-align: center;
  margin-top: 0;
  font-size: 2em;
}
#simulator-section {
  margin-top: 30px;
  display: flex;
  gap: 35px;
  flex-wrap: wrap;
  align-items: flex-start;
}
#appform-preview {
  flex: 1 1 350px;
  text-align: center;
  border: 3px dashed #eee;
  padding: 10px;
  background: #f5f6fa;
}
#appform-preview img {
  max-width: 95%;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 1px 9px #0001;
}
#actions-section {
  flex: 1 1 340px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
#progressbar {
  background: #eee;
  border-radius: 50px;
  overflow: hidden;
  height: 16px;
  margin-bottom: 6px;
}
#progress {
  background: linear-gradient(90deg, #39f 70%, #1cdc8a 99%);
  transition: width 0.9s cubic-bezier(.41,1.45,.5,1);
  height: 100%;
  width: 0;
}
#status {
  margin-top: 8px;
  min-height: 44px;
  font-size: 1.15em;
  color: #356;
  padding: 3px 0;
}
.sim-btn {
  padding: 12px 24px;
  font-size: 1.09em;
  background: #3366ff;
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background .2s;
  font-weight: 500;
}
.sim-btn:disabled {
  background: #a6b2e7;
  cursor: not-allowed;
}
table#summary {
  margin-top: 15px;
  width: 100%;
  border-collapse: collapse;
}
#summary th, #summary td {
  text-align: left;
  padding: 6px 7px;
  border-bottom: 1px solid #eee;
  font-size: 0.99em;
}
#summary th {
  width: 130px;
  background: #f5f8fe;
}
@media (max-width: 800px) {
  #simulator-section {
    flex-direction: column;
    gap: 14px;
  }
  #appform-preview, #actions-section {
    max-width: unset;
  }
}

