* { box-sizing: border-box; }
body { font-family: "Microsoft YaHei", "PingFang SC", sans-serif; background: #f2f4f8; margin: 0; color: #222; }
.wrap { max-width: 860px; margin: 24px auto; padding: 0 12px; }
h1 { font-size: 22px; }
h3 { margin-top: 0; }
.card { background: #fff; border-radius: 10px; padding: 16px 20px; margin: 14px 0; box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.help { color: #444; }
label { display: block; font-size: 13px; color: #666; margin: 8px 0 4px; }
input[type=text], input[type=password] { padding: 8px 10px; border: 1px solid #ccd; border-radius: 6px; width: 320px; max-width: 100%; font-size: 14px; }
table input[type=text] { width: auto; }
.btn { background: #2563eb; color: #fff; border: 0; border-radius: 6px; padding: 8px 16px; font-size: 14px; cursor: pointer; text-decoration: none; display: inline-block; }
.btn:hover { background: #1d4ed8; }
form.inline { display: inline-block; margin: 0 4px 4px 0; }
table { border-collapse: collapse; width: 100%; font-size: 13px; }
th, td { border-bottom: 1px solid #e5e7eb; padding: 8px 6px; text-align: left; vertical-align: top; }
th { background: #f8fafc; }
.err { background: #fee2e2; color: #991b1b; border-radius: 8px; padding: 10px 14px; margin: 10px 0; }
.ok { background: #dcfce7; color: #14532d; border-radius: 8px; padding: 12px 16px; margin: 10px 0; }
.lic { word-break: break-all; background: #0b1020; color: #a5f3a5; padding: 12px; border-radius: 8px; font-size: 11px; }
.tip { color: #888; font-size: 12px; }
