.appointment-line-verify {
  margin: 20px 0 6px;
  padding: 20px;
  border: 1px solid #b9e5c9;
  border-radius: 14px;
  background: #f2fbf5;
}

.line-verify-heading {
  display: flex;
  align-items: center;
  gap: 12px;
}

.line-verify-heading > span {
  display: grid;
  place-items: center;
  min-width: 48px;
  height: 32px;
  border-radius: 8px;
  background: #06c755;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.line-verify-heading b,
.line-verify-heading small {
  display: block;
}

.line-verify-heading small {
  margin-top: 2px;
  color: #62766a;
}

.appointment-line-verify ol {
  margin: 14px 0;
  padding-left: 22px;
  color: #486052;
  font-size: 14px;
}

.line-verify-actions,
.line-request-result > div {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.line-verify-actions button,
.line-verify-actions a,
.line-request-result button,
.line-request-result a {
  border: 1px solid #08a849;
  border-radius: 9px;
  background: #06c755;
  color: #fff;
  font: 700 14px/1.2 inherit;
  padding: 10px 16px;
  text-decoration: none;
  cursor: pointer;
}

.line-verify-actions button:disabled {
  opacity: .6;
  cursor: wait;
}

.line-official-link,
.line-request-result button {
  background: #fff !important;
  color: #087936 !important;
}

.line-request-result {
  margin-top: 14px;
  padding: 14px;
  background: #fff;
  border: 1px dashed #9fcfaf;
  border-radius: 10px;
}

.line-request-result p {
  margin: 0 0 6px;
  color: #5b6f62;
  font-size: 13px;
}

.line-request-result strong {
  display: block;
  margin-bottom: 10px;
  padding: 10px;
  border-radius: 7px;
  background: #edf7f0;
  color: #146b35;
  font: 800 18px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: .03em;
}

.line-request-result small {
  display: block;
  margin-top: 9px;
  color: #75847a;
}

.line-code-field {
  display: block;
  margin-top: 16px;
  font-weight: 800;
  font-size: 14px;
}

.line-code-field input {
  display: block;
  width: min(280px, 100%);
  margin-top: 7px;
  padding: 12px;
  border: 1px solid #a8cbb4;
  border-radius: 9px;
  background: #fff;
  color: #153f25;
  font: 800 20px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: .22em;
}

.line-verify-status {
  min-height: 22px;
  margin: 10px 0 0;
  font-size: 13px;
  font-weight: 700;
}

.line-verify-status.success { color: #158144; }
.line-verify-status.error { color: #b33030; }

@media (max-width: 700px) {
  .appointment-line-verify { padding: 16px; }
  .line-verify-actions > *,
  .line-request-result > div > * {
    flex: 1;
    text-align: center;
  }
}
