:root { font-family: system-ui, -apple-system, Segoe UI, Roboto, "PingFang SC", "Microsoft YaHei", sans-serif; }
body { margin: 0; background: #f6f7f9; color:#111; }
.wrap { max-width: 1100px; margin: 18px auto; padding: 0 14px 40px; }
h1 { font-size: 20px; margin: 8px 0 14px; }
h2 { font-size: 16px; margin: 0 0 10px; }
.card { background: #fff; border-radius: 12px; padding: 14px; box-shadow: 0 1px 10px rgba(0,0,0,.06); margin: 12px 0; }
.grid { display: grid; grid-template-columns: 2fr 2fr 1.2fr 1.8fr 1.5fr; gap: 12px; align-items: start; }
label { display:block; font-size: 12px; color:#444; margin-bottom: 6px; }
input { width: 100%; box-sizing: border-box; padding: 10px; border-radius: 10px; border: 1px solid #d8dbe2; outline: none; }
input:focus { border-color: #7aa7ff; }
.row { display:flex; gap: 10px; flex-wrap: wrap; }
.radio { font-size: 12px; color:#333; }
.btns { display:flex; flex-direction: column; gap: 10px; }
button { padding: 10px 12px; border-radius: 10px; border: 1px solid #d8dbe2; background: #111; color: #fff; cursor: pointer; }
button[disabled] { opacity: .5; cursor: not-allowed; }
.hidden { display:none; }
.chart { height: 420px; }
.krow { display:grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 8px 0; }
.muted { color:#666; font-size: 12px; margin-top: 8px; }
.progress { position: relative; height: 10px; background:#e9ecf2; border-radius: 999px; overflow:hidden; }
.progress .bar { height: 100%; background:#111; }
table { width: 100%; border-collapse: collapse; font-size: 12px; }
th, td { border-bottom: 1px solid #eee; padding: 8px; text-align: left; }
thead th { background: #fafafa; }
@media (max-width: 980px) {
  .grid { grid-template-columns: 1fr; }
  .krow { grid-template-columns: 1fr; }
}
