* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: "Microsoft YaHei", system-ui, sans-serif; background: #f0f2f5; color: #222; }
.topbar { background: #16324f; color: #fff; padding: 14px 28px; display: flex; justify-content: space-between; align-items: center; }
.topbar .logo { font-size: 20px; font-weight: bold; letter-spacing: 2px; }
.topbar a { color: #9fd6ff; text-decoration: none; }
.wrap { max-width: 1100px; margin: 24px auto; padding: 0 16px; }
.card { background: #fff; border-radius: 10px; padding: 20px 24px; margin-bottom: 22px; box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.card h3 { margin-bottom: 14px; border-left: 4px solid #2f7dd1; padding-left: 10px; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 9px 8px; border-bottom: 1px solid #eee; text-align: left; font-size: 14px; }
th { background: #f7f9fb; }
.mono { font-family: Consolas, monospace; letter-spacing: 1px; }
.ok  { color: #1a9e5c; font-weight: bold; }
.bad { color: #d33; font-weight: bold; }
.bar { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
input, select { padding: 9px 12px; border: 1px solid #ccc; border-radius: 6px; font-size: 14px; }
button { padding: 9px 18px; background: #2f7dd1; color: #fff; border: 0; border-radius: 6px; cursor: pointer; font-size: 14px; }
button:hover { background: #2568b3; }
button.mini { padding: 5px 10px; font-size: 12px; }
button.warn { background: #d9534f; } button.warn:hover { background: #b93f3b; }
button.good { background: #1a9e5c; } button.good:hover { background: #138045; }
.msg { background: #e8f4ff; border: 1px solid #b5dcff; color: #17537f; padding: 10px 16px; border-radius: 8px; margin-bottom: 14px; }
.err { background: #ffecec; border: 1px solid #ffc1c1; color: #a33; padding: 10px; border-radius: 6px; margin-bottom: 12px; }
.empty { text-align: center; color: #999; padding: 20px; }
.result { background: #f2fbf6; border: 1px solid #bfe8d2; }
.result .big { font-size: 26px; font-weight: bold; }
.result .code { color: #d35400; letter-spacing: 6px; }
.tip { color: #777; font-size: 13px; margin-top: 6px; }
.inline-pwd input { width: 120px; padding: 4px 8px; font-size: 12px; }
.login-box { width: 360px; margin: 10vh auto; background: #fff; border-radius: 12px; padding: 34px; box-shadow: 0 6px 24px rgba(0,0,0,.12); }
.login-box h2 { text-align: center; margin-bottom: 22px; color: #16324f; }
.login-box input { width: 100%; margin-bottom: 14px; }
.login-box button { width: 100%; padding: 11px; font-size: 16px; }
