.pspm-wrap {
  max-width: 1100px;
}

.pspm-card {
  background: #fff;
  border: 1px solid #ccd0d4;
  border-radius: 4px;
  padding: 16px;
  margin: 16px 0;
}

.pspm-tool-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 16px;
  margin-top: 20px;
}

.pspm-tool-card {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.pspm-tool-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.pspm-tool-card-header h2 {
  margin: 0;
}

.pspm-tool-status {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
}

.pspm-tool-status-live {
  background: #ecfdf3;
  color: #0a7d34;
}

.pspm-tool-status-soon {
  background: #f0f6fc;
  color: #0b5cab;
}

.pspm-tool-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
  padding-top: 4px;
}

.pspm-tool-metric {
  display: inline-flex;
  flex-direction: column;
  align-self: flex-start;
  min-width: 110px;
  padding: 10px 12px;
  border-radius: 4px;
  background: #f6f7f7;
  border: 1px solid #dcdcde;
}

.pspm-tool-metric strong {
  margin-top: 4px;
  font-size: 22px;
  line-height: 1.1;
}

.pspm-tool-metric-label {
  color: #50575e;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.pspm-tool-check {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  font-weight: 600;
}

.pspm-tool-check-ok {
  background: #ecfdf3;
  color: #0a7d34;
}

.pspm-tool-check-missing {
  background: #fef2f2;
  color: #b42318;
}

.pspm-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.pspm-summary-item {
  padding: 14px;
  border: 1px solid #dcdcde;
  border-radius: 4px;
  background: #f6f7f7;
}

.pspm-summary-item strong {
  display: block;
  margin-top: 6px;
  font-size: 18px;
}

.pspm-summary-label {
  display: block;
  color: #50575e;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.pspm-threshold-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}

.pspm-threshold-form input[type="number"] {
  width: 110px;
}

.pspm-favicon-form {
  margin-top: 16px;
}

.pspm-site-icon-preview {
  margin-bottom: 16px;
}

.pspm-site-icon-image {
  display: block;
  width: 96px;
  height: 96px;
  object-fit: contain;
  border: 1px solid #dcdcde;
  border-radius: 12px;
  background: #fff;
  padding: 8px;
}

.pspm-favicon-meta {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pspm-taxonomy-list {
  margin-top: 8px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 6px;
}

.pspm-progress {
  margin-top: 12px;
  font-weight: 600;
}

.pspm-results {
  margin-top: 12px;
}

.pspm-message {
  padding: 10px 12px;
  border-radius: 3px;
  border: 1px solid transparent;
}

.pspm-info {
  background: #f0f6fc;
  border-color: #b6d4fe;
}

.pspm-success {
  background: #ecfdf3;
  border-color: #7fd8a7;
}

.pspm-error {
  background: #fef2f2;
  border-color: #f5a6a6;
}

.pspm-ok {
  color: #0a7d34;
}

.pspm-fail {
  color: #b42318;
}

.pspm-author-row {
  margin: 8px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.pspm-import-action-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.pspm-import-active {
  min-height: 24px;
}

.pspm-active-indicator {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #1d2327;
}

.pspm-spinner {
  width: 14px;
  height: 14px;
  border: 2px solid #c3c4c7;
  border-top-color: #2271b1;
  border-radius: 50%;
  animation: pspm-spin 0.9s linear infinite;
}

@keyframes pspm-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 782px) {
}
