/* ElcTrade 前端样式（手写，无框架） */
:root {
  --fg: #1c2430; --muted: #66707e; --line: #d7dde5;
  --accent: #1f6feb; --accent-dark: #1a5fd0;
  --ok: #1a7f37; --bad: #b42318; --bg: #f5f7fa; --card: #ffffff;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
       color: var(--fg); background: var(--bg); }
button { font: inherit; cursor: pointer; background: var(--accent); color: #fff;
         border: 0; border-radius: 6px; padding: 6px 14px; }
button:hover { background: var(--accent-dark); }
button.ghost { background: #fff; color: var(--accent); border: 1px solid var(--accent); }
button.danger { background: var(--bad); }
button:disabled { background: #a9b4c2; cursor: not-allowed; }
input, select { font: inherit; padding: 5px 8px; border: 1px solid var(--line);
                border-radius: 6px; background: #fff; }
table { border-collapse: collapse; width: 100%; }
th, td { border: 1px solid var(--line); padding: 6px 10px; text-align: left;
         font-size: 14px; }
th { background: #eef2f7; }
/* 数值列：右对齐 + 等宽数字（千分位对齐易读；单位放表头） */
td.num, th.num { text-align: right; font-variant-numeric: tabular-nums; }

#header { display: flex; align-items: center; gap: 16px; padding: 10px 20px;
          background: var(--card); border-bottom: 1px solid var(--line); }
#header h1 { font-size: 18px; margin: 0; }
#nav { display: flex; gap: 8px; }
#nav a { color: var(--accent); text-decoration: none; padding: 4px 8px; border-radius: 6px; }
#nav a.active { background: var(--accent); color: #fff; }
#userbox { margin-left: auto; display: flex; align-items: center; gap: 10px;
           font-size: 14px; color: var(--muted); }

#error-banner { display: none; margin: 10px 20px 0; padding: 10px 14px;
                border: 1px solid var(--bad); border-left-width: 5px; border-radius: 6px;
                background: #fef3f2; color: var(--bad); white-space: pre-wrap; }
#error-banner.show { display: block; }

#main { padding: 16px 20px; display: flex; flex-direction: column; gap: 16px; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 8px;
        padding: 14px 16px; }
.card h2 { margin: 0 0 10px; font-size: 16px; }
.card h3 { margin: 12px 0 6px; font-size: 14px; color: var(--muted); }
.muted { color: var(--muted); font-size: 13px; }
.row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.ok-text { color: var(--ok); }
.bad-text { color: var(--bad); }

#seg-table input { width: 110px; }
.seg-err { color: var(--bad); font-size: 13px; margin-top: 6px; }
.limit-line { font-size: 14px; padding: 6px 10px; background: #eef6ff;
              border: 1px solid #bfdbfe; border-radius: 6px; }
.badge { display: inline-block; padding: 1px 8px; border-radius: 10px; font-size: 12px;
         background: #eef2f7; border: 1px solid var(--line); }
.badge.st-bidding { background: #fff7e6; border-color: #f5c26b; }
.badge.st-cleared, .badge.st-settled { background: #e9f7ef; border-color: #7bc8a4; }
.badge.st-finished { background: #eceff3; }

/* S10 复盘页 */
.scroll-table { max-height: 420px; overflow-y: auto; border: 1px solid var(--line);
                border-radius: 6px; }
.scroll-table table th { position: sticky; top: 0; }
td.attr-formula { font-size: 12px; color: var(--muted); max-width: 320px; }
td.attr-inputs { font-size: 12px; max-width: 320px; word-break: break-all; }
.ghost-link { color: var(--accent); text-decoration: none; font-size: 14px; }
