:root {
  font-family: Inter, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #172033;
  background: #f5f7fb;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
}

button,
input,
select {
  font: inherit;
}

button,
a.download {
  border: 1px solid #cfd7e6;
  background: #ffffff;
  color: #172033;
  border-radius: 6px;
  padding: 10px 14px;
  cursor: pointer;
  text-decoration: none;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

button:hover,
a.download:hover {
  border-color: #9ba9bd;
}

.risk-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.risk-badge.normal {
  color: #1f7a3e;
  background: #eaf8ef;
  border-color: #b9e5c6;
}

.risk-badge.low {
  color: #1c5fb8;
  background: #eaf2ff;
  border-color: #bed4ff;
}

.risk-badge.medium {
  color: #b35a00;
  background: #fff2e5;
  border-color: #ffd2a6;
}

.risk-badge.high {
  color: #b42318;
  background: #ffeceb;
  border-color: #ffc8c5;
}

.risk-badge.pending {
  color: #5f6c80;
  background: #f1f4f9;
  border-color: #d8dee9;
}
