/* ===== MIP Design Tokens ===== */
:root{
  /* 背景 / 表面 */
  --bg:#f4f6fa; --surface:#ffffff; --surface-2:#f7f9fc; --surface-3:#eef2f8;
  --line:#e4e9f1; --line-strong:#d3dbe7;
  /* 文字 */
  --ink:#0f1d2e; --ink-2:#334156; --muted:#6c788a; --faint:#9aa6b6;
  /* 品牌 */
  --blue:#2367e8; --blue-600:#1d57cf; --blue-soft:#eaf1ff; --blue-ink:#1f53b8;
  --navy:#0e1a2a; --navy-2:#15263c; --navy-line:rgba(255,255,255,.08);
  /* 语义 */
  --green:#12805c; --green-soft:#e7f6f0;
  --amber:#b67710; --amber-soft:#fdf3e0;
  --red:#c24646; --red-soft:#fdeeee;
  --diff:#ff8a00; --diff-soft:#fff3e3;
  --purple:#7c5cfc; --purple-soft:#f0ecff;
  --cyan:#0e8a9e;
  /* 尺寸 */
  --r-sm:8px; --r:12px; --r-lg:16px;
  --shadow-sm:0 1px 2px rgba(15,29,46,.05);
  --shadow:0 2px 10px rgba(20,38,60,.06);
  --shadow-lg:0 18px 48px rgba(13,28,48,.18);
  --sidebar-w:248px; --topbar-h:60px;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;color:var(--ink);background:var(--bg);
  font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  font-size:13.5px;line-height:1.55;-webkit-font-smoothing:antialiased;
}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
input,select,textarea{border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;
  padding:9px 11px;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(35,103,232,.12)}
label{display:block}
a{color:var(--blue-ink);text-decoration:none}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#cdd6e3;border-radius:8px;border:2px solid var(--bg)}
::-webkit-scrollbar-track{background:transparent}
.hidden{display:none!important}
.muted{color:var(--muted)}
.faint{color:var(--faint)}
.mono{font-family:var(--mono)}
.nowrap{white-space:nowrap}
.right{text-align:right}
.center{text-align:center}
.two{display:flex;gap:10px;align-items:center}
.spread{display:flex;align-items:center;justify-content:space-between;gap:12px}
.grow{flex:1;min-width:0}
.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}
.grid{display:grid;gap:14px}
.g-2{grid-template-columns:repeat(2,1fr)}.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}.g-5{grid-template-columns:repeat(5,1fr)}
.section-title{font-size:13px;font-weight:700;color:var(--ink);margin:0 0 10px}
