/* 沿用 order-ocr 设计系统：canvas/surface/ink 语义 token、15/17/11 字号档、边框分层无阴影、状态三重编码 */
:root{
  --canvas:#F5F5F4; --surface:#fff; --ink:#1A1A1A;
  --ink-2:rgba(0,0,0,.65); --ink-3:rgba(0,0,0,.35);
  --line:rgba(0,0,0,.10); --line-strong:#D4D4D4; --sub:rgba(0,0,0,.05);
  --accent:#2563eb; --success:#059669; --error:#dc2626; --warning:#d97706;
  --text-title:17px; --text-heading:15px; --text-label:11px;
  --font-sans:"Noto Sans SC","Inter",ui-sans-serif,system-ui,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,monospace;
}
@media (prefers-color-scheme:dark){:root{
  --canvas:#09090b; --surface:#18181b; --ink:#f4f4f5;
  --ink-2:rgba(255,255,255,.65); --ink-3:rgba(255,255,255,.35);
  --line:rgba(255,255,255,.10); --line-strong:#3f3f46; --sub:rgba(255,255,255,.05);
  --success:#34d399; --error:#f87171; --warning:#fbbf24; --accent:#60a5fa;
}}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{background:var(--canvas);color:var(--ink);font:var(--text-heading)/1.55 var(--font-sans);-webkit-font-smoothing:antialiased}
.mono{font-family:var(--font-mono);letter-spacing:-.01em}
button,select,input{font:inherit;color:inherit}
svg.i{width:14px;height:14px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* 按钮 */
.btn-primary,.btn-ghost{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:12px;font-weight:700;cursor:pointer;transition:background .2s,opacity .2s,border-color .2s;white-space:nowrap}
.btn-primary{background:var(--ink);color:var(--canvas);border:1px solid var(--ink)}
.btn-ghost{background:transparent;border:1px solid var(--line-strong)}
.btn-ghost:hover:not(:disabled){background:var(--sub)}
button:disabled{opacity:.35;cursor:not-allowed}
.btn-primary:hover:not(:disabled){opacity:.85}

/* 表单 */
.field-label{font-size:var(--text-label);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);font-weight:600}
.input-line{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-strong);padding:8px 2px;outline:0;transition:border-color .2s}
.input-line:focus{border-bottom-color:var(--accent)}
.select{height:34px;padding:0 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);cursor:pointer;outline:0}
.select:focus{border-color:var(--accent)}
.check{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);cursor:pointer}

/* 状态：色 + 图标 + 文字 */
.status-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:6px;font-size:var(--text-label);font-weight:700;background:var(--sub);color:var(--ink-2);white-space:nowrap}
.status-pill.success{color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent)}
.status-pill.error{color:var(--error);background:color-mix(in srgb,var(--error) 12%,transparent)}
.status-pill.warning{color:var(--warning);background:color-mix(in srgb,var(--warning) 14%,transparent)}
.status-pill.info{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}

.panel{background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;min-height:0;display:flex;flex-direction:column}
.panel-head{padding:10px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none}
.panel-title{font-size:var(--text-title);font-weight:700}
.panel-body{overflow:auto;min-height:0;flex:1}
.empty{color:var(--ink-3);padding:24px 16px;text-align:center}
.meta{font-size:var(--text-label);color:var(--ink-3)}
