.analyzer-intro {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid #caa75f;
  border-radius: 16px;
  background: #fff9ec;
}
.analyzer-intro h3, .analyzer-intro p { margin: 0; }
.pro-badge {
  width: max-content;
  padding: 5px 9px;
  border-radius: 999px;
  background: #173d4b;
  color: #fff;
  font: 800 .72rem Arial,sans-serif;
  letter-spacing: .1em;
}
.analyzer-form { display: grid; gap: 16px; }
.analyzer-form textarea {
  min-height: 118px;
  resize: vertical;
  border: 1px solid #b9b0a0;
  border-radius: 12px;
  padding: 13px 15px;
  background: #fff;
  color: #142833;
  font: inherit;
}
.photo-drop {
  display: grid;
  place-items: center;
  gap: 8px;
  min-height: 150px;
  padding: 20px;
  border: 2px dashed #b98a3a;
  border-radius: 16px;
  background: #fffaf0;
  text-align: center;
  cursor: pointer;
}
.photo-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.photo-drop strong { color: #173d4b; font-size: 1.05rem; }
.photo-drop small { color: #657177; }
.photo-previews { display: grid; grid-template-columns: repeat(auto-fit,minmax(110px,1fr)); gap: 10px; }
.photo-preview { position: relative; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 12px; background: #d9d3c6; }
.photo-preview img { width: 100%; height: 100%; object-fit: cover; display: block; }
.photo-preview button { position: absolute; top: 6px; right: 6px; width: 30px; height: 30px; border: 0; border-radius: 50%; background: #071d29df; color: #fff; font-weight: 900; }
.consent-row { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; font-size: .9rem; line-height: 1.4; }
.consent-row input { width: 20px; height: 20px; margin: 1px 0 0; }
.analysis-status { min-height: 24px; margin: 0; color: #52636b; font-weight: 700; }
.analysis-status.error { color: #9f2d20; }
.analysis-status.busy { color: #9b681d; }
.analysis-report { display: grid; gap: 14px; }
.analysis-report[hidden] { display: none; }
.report-alert { padding: 15px; border-left: 5px solid #b97817; border-radius: 10px; background: #fff4d9; }
.report-alert.urgent { border-color: #a72c20; background: #ffe8e3; }
.report-section { padding: 15px; border: 1px solid #d5c7aa; border-radius: 14px; background: #fffdf7; }
.report-section h3 { margin: 0 0 9px; color: #8b5e1e; }
.report-section ul { margin: 0; padding-left: 20px; display: grid; gap: 6px; }
.analyzer-disclaimer { font-size: .84rem; line-height: 1.45; color: #657177; }

@media (max-width: 720px) {
  .photo-previews { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
