.analysis-screen .analysis-copy {
  margin: 27px 0 22px;
}

.analysis-screen .analysis-copy h2 {
  max-width: 500px;
  margin-inline: auto;
  font-size: clamp(24px, 5.5vw, 31px);
  line-height: 1.18;
  text-align: center;
}

.balanced-headline > span { display: block; }

.analysis-screen .analysis-copy > p:last-child {
  max-width: 38ch;
  margin: 10px auto 0;
  color: #747b78;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
  text-wrap: balance;
}

.response-scan {
  overflow: hidden;
  text-align: left;
  border: 1px solid #d8e8e2;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 18px 45px rgb(35 79 66 / 11%);
}

.response-scan > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 18px;
  border-bottom: 1px solid #e1ece8;
  background: linear-gradient(135deg, #edf9f5, #fbfefd);
}

.response-scan > header div {
  display: flex;
  align-items: center;
  gap: 9px;
}

.response-scan > header small {
  color: #477466;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.response-scan > header b {
  padding: 6px 10px;
  color: #14795d;
  border-radius: 99px;
  background: #dff2eb;
  font-size: 9px;
}

.scan-live-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #1b9c76;
  box-shadow: 0 0 0 5px rgb(27 156 118 / 12%);
  animation: scan-blink 1.2s ease-in-out infinite;
}

.scan-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 16px;
}

.scan-item {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 18px;
  gap: 10px;
  align-items: center;
  min-height: 72px;
  padding: 11px 12px;
  color: #9aa19f;
  border: 1px solid #e8eeec;
  border-radius: 13px;
  background: #fafcfb;
  transition: .25s ease;
}

.scan-item > span {
  display: grid;
  width: 29px;
  height: 29px;
  place-items: center;
  border-radius: 9px;
  background: #edf1ef;
  font-size: 9px;
  font-weight: 800;
}

.scan-item > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.scan-item strong {
  font-size: 11px;
  line-height: 1.25;
}

.scan-item small {
  margin-top: 4px;
  font-size: 8px;
  line-height: 1.3;
}

.scan-item > i {
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 2px solid #dce5e2;
  border-radius: 50%;
}

.scan-item.is-scanning {
  color: #263f37;
  border-color: #80bca9;
  background: linear-gradient(135deg, #effaf6, #fbfefd);
  box-shadow: 0 5px 16px rgb(24 132 100 / 10%);
  transform: translateY(-1px);
}

.scan-item.is-scanning > span {
  color: #fff;
  background: linear-gradient(135deg, #42a789, #187a5e);
}

.scan-item.is-scanning > i {
  border-color: #258d6d;
  border-top-color: transparent;
  animation: analysis-spin .8s linear infinite;
}

.scan-item.is-read {
  color: #40524c;
  border-color: #d4e8e1;
  background: #f7fcfa;
}

.scan-item.is-read > span {
  color: #16795d;
  background: #e0f2eb;
}

.scan-item.is-read > i {
  color: #fff;
  border-color: #188464;
  background: #188464;
}

.scan-item.is-read > i::after {
  content: "✓";
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.scan-summary {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 10px;
  align-items: center;
  min-height: 62px;
  padding: 12px 17px;
  border-top: 1px solid #e5eeeb;
  background: #fafcfb;
}

.scan-summary > span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  color: #177b5e;
  border-radius: 50%;
  background: #dff2eb;
  font-size: 16px;
}

.scan-summary p {
  display: flex;
  flex-direction: column;
  margin: 0;
}

.scan-summary small {
  color: #8a9692;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.scan-summary strong {
  margin-top: 3px;
  color: #4b5e57;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.35;
}

.analysis-security {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 14px 0 0;
  color: #8b928f;
  font-size: 8px;
}

.analysis-security span {
  color: #188464;
  font-weight: 900;
}

@media (max-width: 430px) {
  .scan-grid { grid-template-columns: 1fr; padding: 13px; }
  .scan-item { min-height: 61px; }
}
