/* 特约商户进件系统 —— 极简黑白，单列竖版 */
:root{
  --ink:#111; --ink-2:#444; --ink-3:#777; --ink-4:#a8a8a8;
  --line:#e4e4e4; --line-2:#f0f0f0;
  --bg:#fff; --bg-2:#fafafa;
  --red:#c0392b; --green:#1f7a4d; --orange:#a86a00; --blue:#2a5aa8;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font:14px/1.7 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  color:var(--ink); background:var(--bg); -webkit-font-smoothing:antialiased;
}
a{color:var(--ink);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}

/* 顶栏 */
.top{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}
.top-in{display:flex;align-items:center;gap:24px;height:56px}
.brand{display:flex;align-items:center;gap:8px;font-weight:600;letter-spacing:.02em}
.brand .dot{width:8px;height:8px;background:var(--ink);border-radius:50%;display:inline-block}
.nav{display:flex;gap:2px;margin-left:auto}
.nav a{padding:6px 12px;border-radius:4px;color:var(--ink-2);font-size:13px}
.nav a.on{background:var(--ink);color:#fff}
.nav a:hover{text-decoration:none;background:var(--line-2)}
.nav a.on:hover{background:var(--ink)}
.me{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-3);padding-left:16px;border-left:1px solid var(--line)}

/* 通用 */
main{padding:28px 20px 60px;min-height:60vh}
.foot{font-size:12px;color:var(--ink-4);padding-bottom:40px;text-align:center}
h1.page{font-size:20px;font-weight:600;margin:0 0 4px}
.sub{color:var(--ink-3);font-size:13px;margin:0 0 24px}
.flash{padding:11px 14px;border-radius:4px;margin-bottom:20px;font-size:13px;border:1px solid var(--line)}
.flash.ok{background:#f6faf7;border-color:#d6ead9;color:var(--green)}
.flash.err{background:#fdf6f5;border-color:#f0d9d5;color:var(--red)}

.card{border:1px solid var(--line);border-radius:6px;padding:20px;margin-bottom:16px;background:#fff}
.card h2{font-size:14px;font-weight:600;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line-2)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.grid .full{grid-column:1/-1}
label{display:block;font-size:12px;color:var(--ink-2);margin-bottom:5px}
label .req{color:var(--red)}
input[type=text],input[type=password],input[type=email],input[type=date],select,textarea{
  width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:4px;font:inherit;color:var(--ink);background:#fff;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink)}
textarea{min-height:70px;resize:vertical}
.hint{font-size:11px;color:var(--ink-4);margin-top:4px}

.btn{display:inline-block;padding:8px 16px;border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:4px;
  font:inherit;cursor:pointer;line-height:1.5}
.btn:hover{opacity:.85;text-decoration:none}
.btn.g{background:#fff;color:var(--ink)}
.btn.s{padding:4px 10px;font-size:12px}
.btn.d{border-color:var(--red);background:#fff;color:var(--red)}
.bar{display:flex;gap:10px;align-items:center;margin-bottom:20px;flex-wrap:wrap}
.bar form{display:flex;gap:8px;align-items:center}

/* 列表 */
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;font-weight:500;color:var(--ink-3);font-size:12px;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:11px 10px;border-bottom:1px solid var(--line-2);vertical-align:middle}
tr:hover td{background:var(--bg-2)}
td.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--ink-2)}
.empty{text-align:center;color:var(--ink-4);padding:60px 0;font-size:13px}

/* 状态标签 */
.st{display:inline-block;padding:2px 8px;border-radius:3px;font-size:12px;border:1px solid var(--line);background:var(--bg-2);color:var(--ink-2);white-space:nowrap}
.st-green{border-color:#cfe6da;background:#f4faf7;color:var(--green)}
.st-red{border-color:#f0d9d5;background:#fdf7f6;color:var(--red)}
.st-blue{border-color:#d5e0f0;background:#f5f8fc;color:var(--blue)}
.st-orange{border-color:#f0e2cb;background:#fdfaf4;color:var(--orange)}

/* 详情键值 */
.kv{display:grid;grid-template-columns:150px 1fr;gap:10px 16px;font-size:13px}
.kv dt{color:var(--ink-3);font-size:12px}
.kv dd{margin:0;word-break:break-all}
.sep{height:1px;background:var(--line-2);margin:16px 0}

/* 上传 */
.up{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.up .thumb{width:64px;height:64px;border:1px solid var(--line);border-radius:4px;object-fit:cover;background:var(--bg-2)}
.up .mid{font-size:11px;color:var(--ink-4);font-family:ui-monospace,Menlo,monospace}
.up .uerr{font-size:12px;color:var(--red)}

/* 自检 */
.check{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-2);font-size:13px;align-items:baseline}
.check .ic{width:18px;flex:none}
.check .nm{flex:none;min-width:190px;color:var(--ink-2)}
.check .dt{color:var(--ink-4);font-size:12px;word-break:break-all}
.OK{color:var(--green)} .FAIL{color:var(--red)} .WARN{color:var(--orange)}

/* 登录 */
.login{max-width:340px;margin:12vh auto;padding:0 20px}
.login h1{font-size:18px;font-weight:600;text-align:center;margin-bottom:4px}
.login .sub{text-align:center;margin-bottom:28px}

@media (max-width:680px){
  .grid{grid-template-columns:1fr}
  .kv{grid-template-columns:110px 1fr}
  .top-in{gap:12px;overflow-x:auto}
  .me span{display:none}
}
