/* MiniMax H3 App — 简洁浅色主题 */
* { box-sizing: border-box; }
body {
  margin: 0; font-family: "Segoe UI", "Microsoft YaHei", system-ui, sans-serif;
  background: #f4f6f8; color: #1f2933;
}
header {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 24px; background: #1f2933; color: #fff;
}
header h1 { margin: 0; font-size: 18px; font-weight: 600; }
.header-right { display: flex; align-items: center; gap: 14px; }
.link { color: #7fd1ff; text-decoration: none; }
main { max-width: 1080px; margin: 20px auto; padding: 0 16px; }
.card {
  background: #fff; border: 1px solid #e1e6eb; border-radius: 8px;
  padding: 18px; margin-bottom: 18px; box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.card h2 { margin: 0 0 12px; font-size: 15px; }
label { display: block; margin-bottom: 10px; font-size: 13px; color: #52606d; }
textarea, select, input[type="text"], input[type="search"] {
  display: block; width: 100%; margin-top: 4px; padding: 8px;
  border: 1px solid #ccd4db; border-radius: 6px; font: inherit; background: #fff;
}
.row { display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap; }
.row > label { flex: 1; min-width: 140px; }
.row.between { justify-content: space-between; align-items: center; }
.row.actions { margin-top: 10px; align-items: center; }
fieldset { border: 1px dashed #ccd4db; border-radius: 6px; margin: 8px 0; }
button {
  padding: 8px 16px; border: 1px solid #ccd4db; border-radius: 6px;
  background: #fff; cursor: pointer; font: inherit; font-size: 13px;
}
button.primary { background: #1f6feb; border-color: #1f6feb; color: #fff; }
button:hover { filter: brightness(.96); }
button:disabled { opacity: .5; cursor: not-allowed; }
.msg { font-size: 13px; }
.msg.ok { color: #1a7f37; }
.msg.err { color: #c62828; }

table { width: 100%; border-collapse: collapse; font-size: 13px; }
th, td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #eef1f4; vertical-align: top; }
th { color: #52606d; font-weight: 600; background: #fafbfc; white-space: nowrap; }
td { word-break: break-all; }
.muted { color: #7b8794; font-size: 12px; }
pre.err { white-space: pre-wrap; margin: 0; max-width: 260px; }

.badge {
  display: inline-block; padding: 2px 8px; border-radius: 10px;
  font-size: 12px; color: #fff; white-space: nowrap;
}
.badge.queued { background: #9aa5b1; }
.badge.running { background: #1f6feb; }
.badge.completed { background: #1a7f37; }
.badge.failed { background: #c62828; }
.badge.cancelled { background: #6b7280; }
.badge.needs_login { background: #f29900; }
.badge.not_started, .badge.unknown { background: #9aa5b1; }
.badge.logged_out, .badge.expired { background: #f29900; }
.badge.submitting, .badge.submitted { background: #2f80ed; }
.badge.rh-running { background: #1f6feb; }
.badge.rh-completed { background: #1a7f37; }
.badge.rh-failed, .badge.error { background: #c62828; }

.banner { padding: 10px 14px; border-radius: 6px; margin-bottom: 14px; font-size: 13px; }
.banner.danger { background: #fff3cd; border: 1px solid #f0c36d; color: #7a5b00; }
.banner.hidden { display: none; }
.chip { padding: 3px 10px; border-radius: 12px; font-size: 12px; color: #fff; }
.chip.ok { background: #1a7f37; }
.chip.logged_out, .chip.expired { background: #f29900; }
.chip.error { background: #c62828; }
.chip.unknown { background: #6b7280; }
.stat-row { display: flex; gap: 10px; flex-wrap: wrap; }
.stat { background: #fafbfc; border: 1px solid #e1e6eb; border-radius: 6px;
        padding: 10px 16px; text-align: center; min-width: 90px; }
.stat b { display: block; font-size: 20px; }
.stat span { font-size: 12px; color: #52606d; }
.legend { margin-top: 10px; }
