.p3-p4-q4-route { min-height: 100vh; padding: 20px 18px calc(104px + env(safe-area-inset-bottom)); background: linear-gradient(180deg, #fff9ed, #eef7fb); }

.p3-p4-q4-entry {
  margin: 20px 0;
  padding: 20px;
  border: 1px solid #ead9b9;
  border-radius: 22px;
  background: #fffdf7;
}

.p3-p4-q4-entry > p,
.p3-p4-q4-status {
  color: #6a604f;
}

.p3-p4-q4-pack {
  display: grid;
  gap: 16px;
  width: min(100%, 720px);
  margin: 0 auto;
  padding: 24px;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(48, 70, 61, .12);
}

.p3-p4-q4-review-header { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; }
.p3-p4-q4-review-header h2 { margin: 0; text-align: center; font-size: clamp(22px, 5vw, 30px); }
.p3-p4-q4-return { justify-self: start; min-height: 48px; border: 0; border-radius: 14px; color: #263238; background: #f5f7f5; font-weight: 800; }
.p3-p4-q4-progress { justify-self: end; color: #6d7877; font-size: 13px; font-weight: 800; }

.p3-p4-q4-question {
  display: grid;
  gap: 12px;
  padding: 4px 0 0;
  background: #fff;
}

.p3-p4-q4-question h3,
.p3-p4-q4-prompt { margin: 0; }

.p3-p4-q4-response-guide {
  margin: 2px 0 4px;
  padding: 12px 14px;
  border-radius: 10px;
  color: #665b37;
  background: #fff6cf;
}

.p3-p4-q4-question label {
  display: grid;
  gap: 6px;
  font-weight: 700;
}

.p3-p4-q4-question input {
  min-height: 48px;
  padding: 8px 12px;
  border: 1px solid #cfd8d3;
  border-radius: 10px;
  background: #fff;
  font: inherit;
}

.p3-p4-q4-question input:focus {
  border-color: #278b4f;
  outline: 3px solid rgba(39, 139, 79, .16);
}

.p3-p4-q4-submit,
.p3-p4-q4-next,
.p3-p4-q4-skip {
  min-height: 44px;
  border: 0;
  border-radius: 10px;
  font: inherit;
  font-weight: 800;
}

.p3-p4-q4-submit { background: #278b4f; color: #fff; }
.p3-p4-q4-next { background: #edf2ef; color: #31423a; }
.p3-p4-q4-skip { background: #eee8dd; color: #574f42; }
.p3-p4-q4-result { margin: 0; color: #326c4d; font-weight: 800; }

@media (max-width: 560px) {
  .p3-p4-q4-route { padding-inline: 13px; }
  .p3-p4-q4-pack { gap: 8px; padding: 20px 16px; border-radius: 24px; }
  .p3-p4-q4-question { gap: 8px; }
  .p3-p4-q4-pack button { min-height: 48px; }
  .p3-p4-q4-review-header { grid-template-columns: 1fr auto; }
  .p3-p4-q4-review-header h2 { grid-column: 1 / -1; grid-row: 1; text-align: left; }
  .p3-p4-q4-return, .p3-p4-q4-progress { grid-row: 2; }
}
