/* 全站共用的底子：配色、字体、表单控件、按钮。取自 docs/design/style-samples.html 第 1 套「流水台」。
   所有颜色只从这里的变量取；外壳和各页的样式在 css/app.css。 */
:root {
  --ground: #e6eaee;     /* 冷灰底，带一点蓝 */
  --sheet: #ffffff;      /* 白色工作面 */
  --ink: #16212c;
  --muted: #5f6d7a;
  --line: #d3dae1;
  --hover: #f1f4f7;      /* 鼠标经过、选中列的底 */
  --act: #2747c9;        /* 可操作的东西才用钴蓝 */
  --gain: #1c7a52;       /* 利润 */
  --loss: #b6361f;       /* 亏损、出错 */
  --wait: #b07a00;       /* 待确认 */
  --wait-bg: #fbf4e2;
  /* 成本分类的默认颜色（实际颜色取分类设置，见 contract.md） */
  --c-card: #3b5b8c; --c-proxy: #6f8fbf; --c-acct: #a7b9d6; --c-labor: #c98b4a; --c-other: #b9b2a6;
  --num: "Barlow Semi Condensed", "PingFang SC", "Hiragino Sans GB", sans-serif;
  --text: -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }
body {
  background: var(--ground); color: var(--ink);
  font: 13px/1.45 var(--text);
  font-variant-numeric: tabular-nums;
}
button, input, select { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--act); outline-offset: 1px; }
input, select {
  border: 1px solid var(--line); background: var(--sheet); padding: 5px 8px;
  font-size: 14px; color: var(--ink); border-radius: 0; min-width: 0; width: 100%;
}
input:focus { border-color: var(--ink); outline: none; }
input.bad { border-color: var(--loss); }
input:disabled { background: var(--ground); color: var(--muted); }
label { display: flex; flex-direction: column; gap: 3px; font-size: 12px; color: var(--muted); }
kbd { font: inherit; }
a { color: var(--act); text-decoration: none; }
a:hover { text-decoration: underline; }
.num { font-family: var(--num); }

/* 主操作按钮：钴蓝，文字靠左，快捷键靠右 */
.go {
  background: var(--act); color: #fff; border: 0; padding: 9px 12px; text-align: left;
  font-weight: 600; display: flex; justify-content: space-between; cursor: pointer; width: 100%;
}
.go kbd { font-weight: 400; opacity: .75; }
.go:disabled { background: var(--muted); cursor: default; }
/* 次要按钮：细边框 */
.sec {
  background: none; border: 1px solid var(--line); padding: 5px 10px; cursor: pointer;
  display: inline-flex; gap: 8px; align-items: baseline;
}
.sec:hover { border-color: var(--muted); }
.sec kbd { color: var(--muted); }
.err { color: var(--loss); font-size: 13px; min-height: 19px; }
