/* 行水云同步 · 蓝白 SaaS 风格 */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,"Microsoft YaHei","PingFang SC",sans-serif;background:linear-gradient(180deg,#eaf3ff 0%,#f5f9ff 40%,#f8fbff 100%);color:#24324a;min-height:100vh}
a{color:#1a6ee0;text-decoration:none}

/* 顶部 */
.hero{padding:64px 20px 28px;text-align:center}
.brand{font-size:30px;font-weight:700;color:#123c7a;letter-spacing:1px;display:flex;align-items:center;justify-content:center;gap:10px}
.brand img{width:34px;height:34px;border-radius:8px}
.brand-sub{color:#6b83a8;font-size:14px;margin-top:8px;letter-spacing:2px}
.topbar{background:#fff;box-shadow:0 1px 8px rgba(26,110,224,.08);position:sticky;top:0;z-index:10}
.topbar-in{max-width:1000px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between}
.topbar .brand{font-size:17px;color:#123c7a}
.top-right{display:flex;align-items:center;gap:10px}
.pill{background:#e8f1ff;color:#1a6ee0;font-size:12px;padding:4px 12px;border-radius:12px;font-weight:600}

/* 登录卡 */
.login-card{max-width:400px;margin:10px auto 60px;background:#fff;border-radius:16px;box-shadow:0 8px 30px rgba(26,110,224,.12);padding:32px}
.login-card h2{font-size:17px;color:#123c7a;margin-bottom:16px}
.login-card label{display:block;font-size:12px;color:#6b83a8;margin:12px 0 5px}
.login-card input{width:100%;height:38px;border:1px solid #d5e2f5;border-radius:8px;padding:0 12px;font-size:14px;outline:none;transition:border .15s}
.login-card input:focus{border-color:#1a6ee0;box-shadow:0 0 0 3px rgba(26,110,224,.12)}
.divider{color:#9db2cf;font-size:12px;text-align:center;margin:18px 0 6px;border-top:1px solid #eef3fb;padding-top:14px}

/* 按钮 */
.btn{display:inline-block;border:none;border-radius:8px;padding:10px 20px;font-size:14px;cursor:pointer;font-family:inherit;transition:all .15s ease;text-align:center}
.btn.primary{background:linear-gradient(135deg,#1a6ee0,#3b8bff);color:#fff;box-shadow:0 3px 10px rgba(26,110,224,.3)}
.btn.primary:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(26,110,224,.4)}
.btn.ghost{background:#fff;color:#1a6ee0;border:1px solid #bcd4f5}
.btn.ghost:hover{background:#f0f6ff}
.btn.sm{padding:5px 12px;font-size:12px}
.login-card .btn{width:100%;margin-top:14px}

/* 提示 */
.banner{padding:11px 14px;border-radius:9px;font-size:13px;margin-bottom:14px}
.banner.ok{background:#e6f6ec;color:#128a4c}
.banner.err{background:#fdeceb;color:#d9382c}
.tip{color:#8aa0bd;font-size:12.5px;line-height:1.7;margin-top:10px}
.tip code,.token-row code{background:#f0f6ff;color:#1554a8;padding:2px 7px;border-radius:5px;font-size:12px}

/* 控制台 */
.wrap{max-width:1000px;margin:24px auto 60px;padding:0 24px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:22px}
.stat{background:#fff;border-radius:14px;box-shadow:0 2px 10px rgba(26,110,224,.08);padding:18px 20px;transition:transform .15s ease,box-shadow .15s ease}
.stat:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(26,110,224,.14)}
.stat .num{font-size:24px;font-weight:700;color:#1a6ee0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stat .lbl{font-size:12px;color:#8aa0bd;margin-top:4px}
.card{background:#fff;border-radius:14px;box-shadow:0 2px 10px rgba(26,110,224,.08);padding:20px 24px;margin-bottom:20px}
.card h3{font-size:15px;color:#123c7a;margin-bottom:10px}
.token-row{display:flex;gap:10px;align-items:center;margin-top:8px}
.token-row code{flex:1;padding:9px 12px;word-break:break-all;font-size:12px}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th{background:#f0f6ff;color:#4a628a;text-align:left;padding:9px 12px;font-weight:600;white-space:nowrap}
td{padding:8px 12px;border-bottom:1px solid #f2f6fc}
tr:hover td{background:#f8fbff}
td.nm{font-weight:600;color:#24324a;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
td.fld{color:#8aa0bd;font-size:12px;white-space:nowrap}
td.url{color:#1a6ee0;font-size:12px;max-width:300px}
@media(max-width:640px){.wrap{padding:0 12px}.card{padding:14px}}
