*{box-sizing:border-box;margin:0;padding:0}
:root{
  /* V4.1 配色重做：原来三层灰(#0f1319/#161c25/#232c38)对比太弱，整体发闷；
     状态色(#c00000 暗红 / #375623 暗绿)在深底上几乎看不清。
     这里改为：更深的底 + 更高的层次差 + 更鲜明的强调色与状态色。 */
  --navy:#1f3864;--blue:#2e5c8a;--light:#dce6f1;--accent:#f2f6fb;
  --bg:#0b0e14;            /* 页面底：近黑蓝，让内容浮起来 */
  --panel:#141a24;         /* 卡片 */
  --panel2:#10161f;        /* 卡片内嵌小块（原 #12181f） */
  --line:#222b38;          /* 常规边框 */
  --line2:#2f3b4c;         /* hover / 强调边框 */
  --txt:#e2e8f0;           /* 主文字，提亮 */
  --sub:#8b9bb0;           /* 次要文字 */
  --a1:#4da3ff;            /* 品牌蓝（原 #5aa9e6） */
  --a2:#6ee7d0;            /* 青绿（原 #7fb3a0） */
  --gold:#f5c46b;          /* 金（原 #e8c07a） */
  --ok:#4ade80;--okf:#12241a;
  --warn:#ff9f43;--warnf:#2a1f12;
  --err:#ff6b6b;--errf:#2a1414;
}
body{background:var(--bg);color:var(--txt);font-family:"Noto Sans CJK SC","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.6}
header{background:linear-gradient(135deg,#1f3864,#2e5c8a);padding:14px 24px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:50}
header h1{font-size:18px;color:#fff;font-weight:700;letter-spacing:1px}
header .tag{font-size:11px;color:#b8c6d9;border:1px solid #6b86a8;padding:2px 10px;border-radius:12px}
header .sp{flex:1}
.nav{display:flex;gap:4px;flex-wrap:wrap}
.nav button{background:transparent;border:0;color:#cfe0f2;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}
.nav button:hover{background:rgba(255,255,255,.1)}
.nav button.on{background:rgba(255,255,255,.2);color:#fff;font-weight:600}
.wrap{max-width:1440px;margin:0 auto;padding:20px}
.pane{display:none}.pane.on{display:block}
.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:16px}
.card h3{font-size:15px;color:#e8eef6;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.card h3 .n{font-size:11px;color:var(--sub);font-weight:400}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
input,select,textarea{background:#0f151d;border:1px solid var(--line);color:var(--txt);border-radius:6px;font-size:13px;font-family:inherit;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--blue)}
textarea{resize:vertical;line-height:1.7}
label{display:block;font-size:12px;color:var(--sub);margin:10px 0 4px}
button.btn{background:var(--blue);color:#fff;border:0;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}
button.btn:hover{background:#3a6fa5}
button.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--txt)}
button.btn.ghost:hover{border-color:var(--blue);color:#9ec5e8}
button.btn.sm{padding:4px 10px;font-size:12px}
button.btn.danger{background:#8b3a3a}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px;text-align:center}
.stat b{display:block;font-size:24px;color:#5aa9e6;line-height:1.2}
.stat span{font-size:11px;color:var(--sub)}
table{border-collapse:collapse;font-size:12px}
th{background:var(--blue);color:#fff;padding:8px 10px;text-align:left;font-weight:600;white-space:nowrap;position:sticky;top:0}
td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
tr:nth-child(even) td{background:rgba(255,255,255,.02)}
.tbl-wrap{overflow:auto;max-height:60vh;border:1px solid var(--line);border-radius:8px}
.pill{display:inline-block;border-radius:10px;font-size:11px;white-space:nowrap}
.p-pending{background:#2a3240;color:#9fb0c4}
.p-running{background:#1e3a5f;color:#7fb3e8}
.p-done{background:var(--okf);color:var(--ok)}
.p-failed{background:var(--errf);color:var(--err)}
.p-review{background:var(--warnf);color:var(--warn)}
.bar{background:#232c38;border-radius:3px;overflow:hidden;margin-top:6px}
.bar i{display:block;height:100%;background:linear-gradient(90deg,#2e5c8a,#5aa9e6)}
.step{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px;background:#12181f}
.step .no{width:28px;height:28px;border-radius:50%;background:#232c38;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}
.step.done .no{background:var(--ok);color:#fff}
.step.running .no{background:var(--blue);color:#fff}
.step .body{flex:1;min-width:0}
.step .nm{font-size:13px;color:#e2e8f0;font-weight:600}
.step .nt{font-size:11px;color:var(--sub);margin-top:2px}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px}
.muted{color:var(--sub);font-size:12px}
.copy{cursor:pointer;color:#5aa9e6;font-size:11px}
.copy:hover{text-decoration:underline}
.alert{padding:10px 14px;border-radius:6px;font-size:12px;margin-bottom:12px}
.alert.warn{background:var(--warnf);color:var(--warn);border:1px solid #f0c39a}
.alert.err{background:var(--errf);color:var(--err);border:1px solid #e8a8ae}
.alert.ok{background:var(--okf);color:var(--ok);border:1px solid #b8d9a5}
.empty{text-align:center;color:var(--sub);font-size:13px}
.chk{display:flex;gap:8px;align-items:flex-start;padding:8px;border-bottom:1px solid var(--line)}
.chk:last-child{border:0}
.chk input{width:16px;height:16px;flex-shrink:0;margin-top:2px}
.chk .t{flex:1;font-size:12px}
.chk .t small{display:block;color:var(--sub);margin-top:2px}
.score-row{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.score-row .d{width:110px;font-size:12px}
.score-row input[type=range]{flex:1}
.score-row .v{width:40px;text-align:right;font-size:13px;font-weight:600;color:#5aa9e6}
dialog{border:1px solid var(--line);background:var(--panel);color:var(--txt);border-radius:10px;padding:0;max-width:720px;width:92%}
dialog::backdrop{background:rgba(0,0,0,.6)}

footer{text-align:center;color:#4d5b6d;font-size:11px;padding:30px 0}
::-webkit-scrollbar-thumb{background:#2a3240;border-radius:4px}


/* ===== 手机 / 窄屏适配（局域网访问时使用） ===== */
@media (max-width: 900px) {
  /* 头与工具栏换行 */
  header { flex-wrap: wrap; gap: 8px; padding: 10px 12px; }
  header h1 { font-size: 15px; }
  .tag { font-size: 11px; }
  .row { flex-wrap: wrap; gap: 8px; }

  /* 移动端左右留白收紧 */
  .wrap{padding:12px 10px;}
  /* 图片/canvas 不超出屏幕 */
  img,canvas{max-width:100%;height:auto;}
  /* 表格在小屏也尽量贴合，不强制太宽 */
  table{min-width:0;}
  /* 防止双指缩放/横屏时整体横向溢出 */
  html,body{max-width:100%;overflow-x:hidden;}
  .wrap{max-width:100%;}
  /* 导航：手机端改成一行横向滑动，不再折成 4 行 */
  .nav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .nav button{flex:0 0 auto;white-space:nowrap;}
  /* 多列网格改单列（实际类名 g2 / g4 / grid） */
  .grid, .g2, .g3, .g4 { grid-template-columns: 1fr !important; }

  /* 表格横向滚动 */
  .tbl-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  table { min-width: 640px; }
  th, td { padding: 6px 8px; font-size: 12px; }

  /* 统计块缩小 */
  .stat { padding: 10px 8px; }
  .stat b { font-size: 18px; }

  /* 底部留空，避免浮动登出胶囊遮挡最后一块内容 */
  body{padding-bottom:72px;}
  /* 卡片内边距收紧 */
  .card { padding: 12px; margin-bottom: 10px; }
  .card h3 { font-size: 14px; }

  /* 按钮更易点 */
  .btn, button { padding: 8px 14px; font-size: 13px; min-height: 34px; }

  /* 输入框 16px 防止 iOS 自动放大 */
  input, select, textarea { font-size: 16px !important; }
  input[type="number"], input[type="text"] { width: 100%; }

  /* 弹层占满并居中 */
  .dlg-b { max-height: 80vh; overflow-y: auto; }
  .mono { font-size: 11px; word-break: break-all; }
}

/* ===== 分镜画布 ===== */
.cv-card { transition: border-color .15s, box-shadow .15s; }
.cv-card:hover { border-color:#3a4a5e !important; }
.cv-card.sel { box-shadow:0 0 0 2px rgba(90,169,230,.35); }
.cv-card input[type=checkbox]{ width:14px; height:14px; accent-color:#5aa9e6; }

/* ===== 文档中心 ===== */
#docList .chk, #noteList .chk{ display:flex; gap:9px; padding:8px 10px;
  border:1px solid #232c38; border-radius:6px; margin-bottom:7px; background:#12181f; }
#docList .chk:hover, #noteList .chk:hover{ border-color:#3a4a5e; }
#docList .chk .t, #noteList .chk .t{ flex:1; font-size:13px; }

/* ===== Markdown 阅读区 ===== */
.md{ font-size:13.5px; line-height:1.85; color:#c8d2de; }
.md h1,.md h2,.md h3,.md h4{ margin:14px 0 8px; }
.md p{ margin:7px 0; }
.md li{ margin:3px 0; }
.md table{ margin:9px 0; }
.md pre{ margin:9px 0; }
.md blockquote{ margin:9px 0; color:#8496ab; }
.md a{ color:#5aa9e6; }

/* ===== 视觉风格库 ===== */
.vs-card{ transition:border-color .15s, transform .12s; }
.vs-card:hover{ border-color:#3a4a5e !important; transform:translateY(-1px); }
.vs-card .pill{ padding:1px 7px; border-radius:9px; }

/* ============================================================
   V3.1 UI 美化：说明按钮 / 步骤条 / 画布连线 / 提示 / 卡片质感
   ============================================================ */

/* ---- 说明按钮 ---- */
.help-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;margin-left:8px;padding:0;
  border-radius:50%;border:1px solid #3d566e;
  background:#182231;color:#8fa8c2;font-size:12px;font-weight:700;
  cursor:pointer;vertical-align:middle;transition:.15s;line-height:1;
}
.help-btn:hover{border-color:#5aa9e6;color:#5aa9e6;background:#1e2c3d;transform:scale(1.08)}

/* ---- 说明弹窗内容 ---- */
.help-desc{
  padding:9px 12px;margin-bottom:12px;border-radius:6px;
  background:#152030;border-left:3px solid #5aa9e6;
  color:#b9c9da;font-size:13px;line-height:1.6;
}
.help-item{
  padding:9px 0 9px 12px;margin-bottom:4px;
  border-left:2px solid #2a3644;
}
.help-item:hover{border-left-color:#5aa9e6;background:#12181f}
.help-k{font-size:13px;font-weight:600;color:#e8eef6;margin-bottom:4px}
.help-v{font-size:12.5px;color:#9fb0c4;line-height:1.75}
.help-tip{
  margin-top:12px;padding:9px 12px;border-radius:6px;
  background:#1a2320;border-left:3px solid #7fb3a0;
  font-size:12.5px;color:#c3d4c8;line-height:1.6;
}

/* ---- 自动推导提示条 ---- */
.auto-note{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:9px 12px;margin-bottom:12px;border-radius:6px;
  background:#141d28;border:1px solid #24384c;border-left:3px solid #5aa9e6;
  font-size:12px;color:#9fb6cc;line-height:1.7;
}
.auto-note b{color:#e8eef6}

/* ---- 步骤条 ---- */
.step-row{
  display:flex;gap:12px;align-items:flex-start;
  padding:11px 13px;margin-bottom:8px;border-radius:8px;
  background:#131a23;border:1px solid #232c38;
  cursor:pointer;transition:.15s;
}
.step-row:hover{border-color:#3d566e;background:#17202b}
.step-row.done{border-left:3px solid #7fb3a0}
.step-row.running{border-left:3px solid #e8c07a}
.step-row.pending.step-row.pending{border-left:3px solid #3a4553}
.step-ic{
  width:26px;height:26px;flex-shrink:0;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:700;
  background:#1c2734;color:#8496ab;
}
.step-row.done .step-ic{background:#1e3a2e;color:#7fb3a0}
.step-row.running .step-ic{background:#3a2f18;color:#e8c07a}
.step-main{flex:1;min-width:0}
.step-hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px}
.step-hd b{color:#e8eef6}
.step-st{font-size:11px;color:#8496ab}
.step-pct{font-size:13px;font-weight:700;color:#5aa9e6;font-variant-numeric:tabular-nums}
.step-bar{
  height:5px;margin:7px 0 6px;border-radius:3px;background:#1c2734;overflow:hidden;
}
.step-bar-in{
  height:100%;border-radius:3px;
  background:linear-gradient(90deg,#2f6f9e,#5aa9e6);transition:width .4s ease;
}
.step-row.done .step-bar-in{background:linear-gradient(90deg,#3d7a5f,#7fb3a0)}
.step-row.running .step-bar-in{background:linear-gradient(90deg,#8a6a2a,#e8c07a)}
.step-basis{font-size:11px;color:#6d7f93;line-height:1.6}

/* ---- 画布连线 ---- */
.cv-stage{position:relative;padding:2px}
.cv-links{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:visible}
.cv-link{fill:none;stroke-width:1.6;opacity:.75}
.lk-cont{stroke:#3d566e}
.lk-cut{stroke:#6b5433;stroke-dasharray:4 3}
.lk-pending{stroke:#6d3a3a;stroke-dasharray:2 3}
.cv-legend{
  display:flex;gap:14px;align-items:center;flex-wrap:wrap;
  margin-top:10px;padding:8px 11px;border-radius:6px;
  background:#131a23;border:1px solid #232c38;font-size:11.5px;color:#8496ab;
}
.cv-legend .lg{display:inline-block;width:16px;height:2px;margin-right:5px;vertical-align:middle}
.cv-legend .lg-cont{background:#3d566e}
.cv-legend .lg-cut{background:repeating-linear-gradient(90deg,#6b5433 0 4px,transparent 4px 7px)}
.cv-legend .lg-pending{background:repeating-linear-gradient(90deg,#6d3a3a 0 2px,transparent 2px 5px)}

/* ---- 轻提示 toast ---- */
.toast{
  position:fixed;left:50%;bottom:34px;transform:translateX(-50%) translateY(14px);
  padding:10px 18px;border-radius:8px;z-index:9999;
  background:#1e2a38;border:1px solid #3d566e;color:#dbe4ee;
  font-size:13px;box-shadow:0 8px 26px rgba(0,0,0,.5);
  opacity:0;pointer-events:none;transition:.22s;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ---- 卡片与表格质感提升 ---- */
.card{
  background:linear-gradient(180deg,#151c26,#131920);
  border:1px solid #232c38;border-radius:10px;
  padding:14px 16px;margin-bottom:14px;
  box-shadow:0 1px 3px rgba(0,0,0,.25);
}
.card h3{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:15px;margin:0 0 12px;padding-bottom:9px;
  border-bottom:1px solid #212a36;color:#eef3f8;
}
.card h3 .n{font-size:11.5px;font-weight:400;color:#7f91a6}

table{width:100%;border-collapse:collapse;font-size:12.5px}
thead th,table tr:first-child th{
  background:#1a2330;color:#9fb6cc;font-weight:600;
  padding:9px 10px;text-align:left;
  border-bottom:1px solid #2a3542;white-space:nowrap;
  position:sticky;top:0;z-index:2;
}
table td{padding:8px 10px;border-bottom:1px solid #1c242e;color:#c7d2de;vertical-align:middle}
table tr:hover td{background:#161e28}

input,select,textarea{
  background:#0f151d;border:1px solid #2a3542;border-radius:6px;
  color:#dbe4ee;font-size:13px;transition:.15s;
}
input:focus,select:focus,textarea:focus{
  outline:none;border-color:#5aa9e6;box-shadow:0 0 0 2px rgba(90,169,230,.14);
}
.btn{
  background:linear-gradient(180deg,#2f6f9e,#28597f);
  border:none;color:#fff;padding:8px 15px;border-radius:6px;
  font-size:13px;font-weight:600;cursor:pointer;transition:.15s;
}
.btn:hover{filter:brightness(1.12);transform:translateY(-1px)}
.btn.ghost{background:#1c2734;border:1px solid #33404f;color:#b9c9da}
.btn.ghost:hover{border-color:#5aa9e6;color:#5aa9e6;background:#1e2c3d}
.btn.sm{padding:5px 11px;font-size:12px}

.nav button{
  background:transparent;border:none;color:#8496ab;
  padding:11px 14px;font-size:13.5px;cursor:pointer;
  border-bottom:2px solid transparent;transition:.15s;
}
.nav button:hover{color:#c7d6e6;background:#141b24}
.nav button.on{color:#5aa9e6;border-bottom-color:#5aa9e6;background:#141b24}

.pill{padding:2px 8px;border-radius:10px;font-size:11px;background:#1e2a38;color:#9fb0c4}
.pill.p-done{background:#1e3a2e;color:#7fb3a0}
.pill.p-running{background:#3a2f18;color:#e8c07a}
.pill.p-failed{background:#3a1e1e;color:#e08a8a}
.pill.p-review{background:#3a2a18;color:#e8b07a}

/* ---- 弹窗：说明内容较长，需更高更宽且可滚动 ---- */
#dlg{
  /* 显式居中：部分浏览器下 dialog 会贴左上角，不能只依赖 UA 默认样式 */
  position:fixed;
  left:50%; top:50%;
  transform:translate(-50%,-50%);
  margin:0;
  width:min(720px,92vw);
  max-height:84vh;
  border:1px solid #33404f;border-radius:12px;
  background:#141b25;color:#dbe4ee;padding:0;
  box-shadow:0 20px 60px rgba(0,0,0,.6);
}
#dlg::backdrop{background:rgba(0,0,0,.62)}
.dlg-h{
  padding:14px 18px;font-size:16px;font-weight:600;color:#eef3f8;
  border-bottom:1px solid #232c38;background:#182231;border-radius:12px 12px 0 0;
}
.dlg-b{
  padding:14px 18px;max-height:calc(84vh - 118px);overflow-y:auto;
  font-size:13px;line-height:1.7;
}
.dlg-f{
  display:flex;gap:10px;justify-content:flex-end;
  padding:12px 18px;border-top:1px solid #232c38;background:#161e28;
  border-radius:0 0 12px 12px;
}

/* ===== 内容前端（可选模块）补充样式 ===== */
.subpane{display:none}
.subpane.on{display:block}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:8px}
.tabs button{background:none;border:none;color:var(--muted);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px}
.tabs button.on{background:var(--acc);color:#fff}
.tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;background:#1e2a38;color:#9fb0c4}
.tag-opt{background:#3a2f18;color:#e8c07a}
.tag-ok{background:#1e3a2e;color:#7fb3a0}
.tag-warn{background:#3a2f18;color:#e8c07a}
.tag-bad{background:#3a1e1e;color:#e06c6c}
.note{padding:10px 12px;border-radius:8px;background:#141d28;border-left:3px solid var(--acc);
  font-size:12.5px;line-height:1.7;margin-bottom:10px}
.note-info{border-left-color:var(--acc)}
.note-warn{border-left-color:#e8c07a}
.note-ok{border-left-color:#7fb3a0}
.row-between{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.empty{text-align:center;color:var(--muted);font-size:13px;padding:26px 0}
label{display:block;font-size:12px;color:var(--muted);margin:10px 0 4px}
input,select,textarea{width:100%;background:var(--bg);border:1px solid var(--line);
  border-radius:7px;color:var(--txt);padding:9px 11px;font-size:14px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--acc)}
.tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.tbl th{background:#1a2330;color:#9fb6cc;padding:8px 9px;text-align:left;font-weight:600}
.tbl td{padding:8px 9px;border-bottom:1px solid var(--line);color:var(--txt)}
.tbl-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--line)}

/* 工作流画布右键菜单 */
.fm-item{padding:7px 12px;font-size:12.5px;border-radius:5px;cursor:pointer;color:#c9d4e2}
.fm-item:hover{background:#1e2836;color:#fff}
.fm-sep{height:1px;background:#2a3543;margin:4px 2px}

/* ============================================================
   V4.1 视觉升级 · 只增强观感，不改任何布局属性
   （display/flex/grid/定位一律未动，避免破坏既有排版）
   ============================================================ */

/* ---- 页面底：极轻的径向光晕，避免大面积死黑 ---- */
body{
  background:
    radial-gradient(1200px 600px at 15% -10%, rgba(77,163,255,.07), transparent 60%),
    radial-gradient(900px 500px at 95% 0%, rgba(110,231,208,.05), transparent 55%),
    var(--bg);
  background-attachment: fixed;
}

/* ---- 顶栏：更细腻的渐变 + 底部发光线 ---- */
header{
  background:linear-gradient(120deg,#12203a 0%,#1b3554 45%,#1a2b46 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset, 0 6px 22px rgba(0,0,0,.45);
  backdrop-filter:saturate(1.2);
}
header h1{letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.4)}
header .tag{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  color:#cfe0f2;
}

/* ---- 导航：选中态改为渐变胶囊，带一点光 ---- */
.nav{gap:6px}
.nav button{
  border:1px solid transparent;transition:background .16s,color .16s,border-color .16s;
  letter-spacing:.2px;
}
.nav button:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.10)}
.nav button.on{
  background:linear-gradient(180deg,rgba(77,163,255,.32),rgba(77,163,255,.16));
  border-color:rgba(77,163,255,.55);
  color:#fff;font-weight:600;
  box-shadow:0 2px 10px rgba(77,163,255,.22);
}

/* ---- 卡片：渐变底 + 柔和阴影 + hover 微抬 ---- */
.card{
  background:linear-gradient(180deg,#151c27 0%,#121822 100%);
  border:1px solid var(--line);
  box-shadow:0 1px 2px rgba(0,0,0,.28), 0 8px 24px -18px rgba(0,0,0,.7);
  transition:border-color .18s, box-shadow .18s, transform .18s;
}
.card:hover{
  border-color:var(--line2);
  box-shadow:0 1px 2px rgba(0,0,0,.28), 0 14px 30px -20px rgba(0,0,0,.85);
}
.card h3{color:#eef3fa;letter-spacing:.2px}
.card h3 .n{color:var(--sub)}

/* ---- 表格：表头改为深色渐变（原来是刺眼的纯蓝块） ---- */
th{
  background:linear-gradient(180deg,#1b2532,#161f2b);
  color:#cfe0f2;
  border-bottom:1px solid var(--line2);
  font-size:11.5px;letter-spacing:.4px;
}
tr:nth-child(even) td{background:rgba(255,255,255,.018)}
tr:hover td{background:rgba(77,163,255,.055)}
td{border-bottom:1px solid #1a222d}

/* ---- 状态标签：半透明彩底 + 彩字（原来是浅色底，深底上像贴白胶布） ---- */
.pill{font-weight:600;letter-spacing:.2px;border:1px solid transparent}
.p-pending{background:rgba(139,155,176,.13);color:#a9b8cc;border-color:rgba(139,155,176,.22)}
.p-running{background:rgba(77,163,255,.15);color:var(--a1);border-color:rgba(77,163,255,.3)}
.p-done   {background:rgba(74,222,128,.13);color:var(--ok);border-color:rgba(74,222,128,.28)}
.p-failed {background:rgba(255,107,107,.13);color:var(--err);border-color:rgba(255,107,107,.3)}
.p-review {background:rgba(255,159,67,.14);color:var(--warn);border-color:rgba(255,159,67,.3)}

/* ---- 按钮：渐变 + hover 上浮 ---- */
button.btn{
  background:linear-gradient(180deg,#3f8fd8,#2e6fae);
  box-shadow:0 1px 3px rgba(0,0,0,.35);
  transition:filter .16s, transform .12s, box-shadow .16s;
}
button.btn:hover{filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 4px 12px rgba(46,111,174,.35)}
button.btn:active{transform:translateY(0)}
button.btn.ghost{
  background:rgba(255,255,255,.03);border:1px solid var(--line2);color:#cfdae8;
  box-shadow:none;
}
button.btn.ghost:hover{
  border-color:var(--a1);color:var(--a1);background:rgba(77,163,255,.09);
  transform:translateY(-1px);
}

/* ---- 输入框：focus 光晕 ---- */
input,select,textarea{
  background:#0e141d;border:1px solid var(--line);
  transition:border-color .16s, box-shadow .16s, background .16s;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--a1);
  box-shadow:0 0 0 3px rgba(77,163,255,.16);
  background:#101822;
}
label{color:#93a3b8;letter-spacing:.2px}

/* ---- 进度条：流光 ---- */
.bar{height:7px;background:#1a222d;border-radius:999px}
.bar i{
  background:linear-gradient(90deg,#2e6fae,#4da3ff 60%,#6ee7d0);
  box-shadow:0 0 8px rgba(77,163,255,.5);
  transition:width .5s cubic-bezier(.4,0,.2,1);
}

/* ---- 步骤条 ---- */
.step{background:linear-gradient(180deg,#131923,#111721);transition:border-color .18s,box-shadow .18s}
.step:hover{border-color:var(--line2);box-shadow:0 6px 18px -14px rgba(0,0,0,.9)}
.step .no{background:#212b38;color:#a9b8cc}
.step.done .no{background:linear-gradient(180deg,#4ade80,#2fa862);box-shadow:0 2px 8px rgba(74,222,128,.3)}
.step.running .no{background:linear-gradient(180deg,#4da3ff,#2e6fae);box-shadow:0 2px 8px rgba(77,163,255,.35)}

/* ---- 统计块 ---- */
.stat{
  background:linear-gradient(180deg,#151c27,#121822);
  border:1px solid var(--line);
  box-shadow:0 1px 2px rgba(0,0,0,.28);
}
.stat b{color:var(--a1);text-shadow:0 0 14px rgba(77,163,255,.35)}

/* ---- 提示条 ---- */
.alert{border-left:3px solid currentColor}
.alert.warn{background:rgba(255,159,67,.10);color:#ffb870;border-color:rgba(255,159,67,.3)}
.alert.err {background:rgba(255,107,107,.10);color:#ff8f8f;border-color:rgba(255,107,107,.3)}
.alert.ok  {background:rgba(74,222,128,.10);color:#7ce8a4;border-color:rgba(74,222,128,.3)}

/* ---- 弹窗 ---- */
dialog{
  background:linear-gradient(180deg,#161d29,#131a25);
  border:1px solid var(--line2);
  box-shadow:0 24px 70px rgba(0,0,0,.7);
}
dialog::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(2px)}

/* ---- 滚动条 ---- */
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:#0e141d}
::-webkit-scrollbar-thumb{background:#2b3644;border-radius:6px;border:2px solid #0e141d}
::-webkit-scrollbar-thumb:hover{background:#3c4b5e}

/* ---- 链接/复制 ---- */
.copy{color:var(--a1)}
.copy:hover{color:#8ec5ff}
footer{color:#5a6b80}

/* ---- 标题装饰线 ----
   ⚠ 不要用 flex:1 的伪元素撑开：很多 h3 里有 float:right 的按钮，
   flex:1 会把按钮挤到换行，破坏既有排版。这里只给下边框加一道渐变光。 */
.card h3{
  border-bottom:1px solid transparent;
  border-image:linear-gradient(90deg,var(--line2),transparent 70%) 1;
}

/* 开关（用户启用/停用） */
.switch{position:relative;display:inline-block;width:40px;height:22px;flex:0 0 auto}
.switch input{opacity:0;width:0;height:0}
.switch .slider{position:absolute;inset:0;background:#2a3543;transition:.2s;border-radius:22px;cursor:pointer}
.switch .slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;top:3px;background:#cdd8e5;transition:.2s;border-radius:50%}
.switch input:checked + .slider{background:var(--a2)}
.switch input:checked + .slider:before{transform:translateX(18px)}

/* 横屏手机：导航横向滑动、栅格单列，避免两列挤成一团 */
@media (orientation: landscape) and (max-height: 560px) {
  .nav{flex-wrap:nowrap !important;overflow-x:auto !important;-webkit-overflow-scrolling:touch;}
  .grid, .g2, .g3, .g4{grid-template-columns:1fr !important;}
  .wrap{padding:10px 12px;}
  .card{margin-top:10px;}
}
/* 工作流画布：触摸拖动时不让页面跟着滚 */
#flowWrap{touch-action:none;overscroll-behavior:contain;}
/* 用户管理等表格：手机竖屏可顺滑横滑，不卡死 */
#acctUsers .tbl-wrap, #acctUsers table{ -webkit-overflow-scrolling: touch; }
#acctUsers{ overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:4px; }

/* 固定悬浮胶囊不挡底部按钮 */
/* safe-area handled below */
#p-compose #cpStage{ max-height: 42vh; }
@media (min-width: 900px){ #p-compose #cpStage{ max-height: min(58vh,460px); } }

/* ===== 移动 Web App 标准适配（全端同步）===== */
/* iPhone 底部安全区：固定悬浮元素避让 home 指示条 */
body{ padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
/* 触摸热区最小 44px（移动端可点性标准） */
.btn, button, .switch, input[type=checkbox]{ min-height: 44px; }
/* 横向滑动容器惯性滚动 */
.nav, .tbl-wrap, #acctUsers, .row[style*="overflow-x"]{
  -webkit-overflow-scrolling: touch; scroll-behavior: smooth;
}
/* 窄屏按钮自动换行不溢出 */
.row{ flex-wrap: wrap; }
input, select, textarea{ max-width: 100%; box-sizing: border-box; }
/* 防双击缩放 */
html{ touch-action: manipulation; }
/* 用户管理卡片 */
.user-list{display:flex;flex-direction:column;gap:8px}
.user-card{background:var(--panel2,#1a2230);border:1px solid var(--line,#2a3543);border-radius:10px;padding:10px 12px}
.user-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.user-actions{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}
.char-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.char-card{background:var(--panel2,#1a2230);border:1px solid var(--line,#2a3543);border-radius:10px;overflow:hidden}
.char-info{padding:10px 12px}
.char-nopic{height:110px;display:flex;align-items:center;justify-content:center;color:#667;background:linear-gradient(135deg,#223,#1a2535);font-size:13px}

/* ===== V5 意式轻奢金色主题（仅覆盖样式，不改功能） ===== */
:root{
  --bg:#0c0e13;
  --panel:#151922;
  --panel2:#10131b;
  --line:#262c3a;
  --line2:#3a4358;
  --txt:#ece4d4;
  --sub:#9a9080;
  --a1:#d4af37;
  --a2:#e8c07a;
  --gold:#d4af37;
  --gold-soft:#f5d67b;
  --ok:#4ade80;--okf:#12241a;
  --warn:#ffb347;--warnf:#2a1f12;
  --err:#ff6b6b;--errf:#2a1414;
}
body{
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(212,175,55,.08), transparent 60%),
    radial-gradient(900px 500px at -10% 110%, rgba(212,175,55,.05), transparent 60%),
    #0c0e13;
  color:var(--txt);
}
header{
  background:linear-gradient(135deg,#1a1408 0%,#1f1a10 40%,#0c0e13 100%);
  border-bottom:1px solid rgba(212,175,55,.25);
  backdrop-filter:blur(12px);
}
header h1{
  background:linear-gradient(90deg,#f5d67b,#d4af37 60%,#b8860b);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  letter-spacing:2px;
}
header .tag{
  border-color:rgba(212,175,55,.45);color:#e8c07a;
  background:rgba(212,175,55,.08);
}
.nav button{color:#c8bfa8}
.nav button:hover{background:rgba(212,175,55,.12);color:#f5d67b}
.nav button.on{
  background:linear-gradient(90deg,rgba(212,175,55,.22),rgba(212,175,55,.08));
  color:#f5d67b;font-weight:600;
  box-shadow:inset 0 -2px 0 #d4af37;
}
.card{
  background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 40%), var(--panel);
  border:1px solid rgba(212,175,55,.18);
  border-radius:14px;
  box-shadow:0 4px 20px rgba(0,0,0,.35);
}
.card h3{color:#f0e6cc}
.card h3 .n{color:#9a9080}
button.btn{
  background:linear-gradient(135deg,#d4af37,#b8860b);
  color:#1a1408;font-weight:600;border-radius:8px;
  box-shadow:0 2px 12px rgba(212,175,55,.25);
}
button.btn:hover{filter:brightness(1.1)}
button.btn.ghost{
  background:transparent;border:1px solid rgba(212,175,55,.35);color:#e8c07a;
  box-shadow:none;
}
button.btn.ghost:hover{border-color:#d4af37;background:rgba(212,175,55,.1)}
button.btn.danger{background:linear-gradient(135deg,#8b3a3a,#6b2828)}
input,select,textarea{
  background:#0f1218;border:1px solid #2a3040;color:var(--txt);border-radius:8px;
}
input:focus,select:focus,textarea:focus{
  border-color:#d4af37;box-shadow:0 0 0 3px rgba(212,175,55,.15);
}
.stat{
  background:var(--panel);border:1px solid rgba(212,175,55,.15);border-radius:12px;
}
.stat b{color:#f5d67b}
th{background:linear-gradient(90deg,#2a2210,#1f1a10);color:#f5d67b}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#3a3020;border-radius:6px}
::-webkit-scrollbar-thumb:hover{background:#5a4a28}

/* ===== V5.1 交互动画 ===== */
button.btn{
  transition:transform .15s ease, box-shadow .2s ease, filter .2s ease;
}
button.btn:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 16px rgba(212,175,55,.4);
}
button.btn:active{transform:translateY(0) scale(.98)}
.nav button{transition:all .18s ease}
.card{transition:border-color .25s ease, box-shadow .25s ease}
.card:hover{border-color:rgba(212,175,55,.35)}
input,select,textarea{transition:border-color .2s, box-shadow .2s}
a{transition:color .2s}

/* 登录加载转圈 */
@keyframes spin{to{transform:rotate(360deg)}}
.login-spin{
  width:34px;height:34px;border:3px solid rgba(212,175,55,.25);
  border-top-color:#d4af37;border-radius:50%;
  animation:spin .8s linear infinite;
  margin:0 auto;
}
/* 登录框淡入 */
@keyframes fadeUp{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}
#loginMask > div{animation:fadeUp .35s ease}
/* 卡片入场 */
@keyframes cardIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.card{animation:cardIn .3s ease}

/* ===== V5.2 更夸张的动效 ===== */
@keyframes slideIn{
  from{opacity:0;transform:translateX(24px)}
  to{opacity:1;transform:translateX(0)}
}
.pane.on{animation:slideIn .35s cubic-bezier(.2,.8,.2,1)}
.nav{position:relative}
.nav button{position:relative;transition:all .25s cubic-bezier(.2,.8,.2,1)}
.nav button.on{
  transform:translateY(-2px);
  box-shadow:0 4px 14px rgba(212,175,55,.35);
}
.card{transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease}
.card:hover{transform:translateY(-2px);border-color:rgba(212,175,55,.4);box-shadow:0 8px 28px rgba(212,175,55,.12)}
button.btn{transition:all .2s cubic-bezier(.2,.8,.2,1)}
button.btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px rgba(212,175,55,.5)}
button.btn:active{transform:translateY(0) scale(.97)}
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(212,175,55,.5)}
  50%{box-shadow:0 0 0 8px rgba(212,175,55,0)}
}
.online-dot{
  display:inline-block;width:8px;height:8px;border-radius:50%;
  background:#4ade80;margin-right:4px;animation:pulse 1.6s infinite;
}
.offline-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#666;margin-right:4px}
#loginMask input{
  background:#0f1218 !important;
  color:#ece4d4 !important;
  border:1px solid #2a3040 !important;
}
#loginMask input::placeholder{color:#666}

/* ===== 移动端底部 Tab + 更多抽屉（不删功能，仅移动端骨架） ===== */
.btab{display:none}
.moreSheet{display:none}
.moreSheet.open{display:block}
@media (max-width:900px){
  header .nav{display:none !important}
  .btab{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9000;
    background:rgba(13,17,24,.97);border-top:1px solid var(--gold);
    backdrop-filter:blur(10px);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));
    justify-content:space-around}
  .btab button{flex:1;background:transparent;border:0;color:#9fb0c4;font-size:11px;
    display:flex;flex-direction:column;align-items:center;gap:2px;min-height:48px;
    justify-content:center;cursor:pointer;font-family:inherit}
  .btab button .ic{font-size:20px;line-height:1.1}
  .btab button.on{color:var(--gold);font-weight:700}
  body{padding-bottom:64px}
  button.btn{min-height:40px}
  .moreMask{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9500}
  .morePanel{position:fixed;left:0;right:0;bottom:0;z-index:9501;background:#141a24;
    border-top:2px solid var(--gold);border-radius:16px 16px 0 0;padding:16px;
    max-height:76vh;overflow:auto;animation:slideUp .22s ease;
    padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}
  @keyframes slideUp{from{transform:translateY(40px);opacity:.6}to{transform:none;opacity:1}}
  .moreH{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;
    font-size:15px;color:#eef3fa;font-weight:700}
  .moreGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
  .moreGrid button{background:#1c2532;border:1px solid var(--line);color:#dbe4ef;
    border-radius:10px;padding:14px 6px;font-size:12.5px;min-height:56px;cursor:pointer;font-family:inherit}
  .moreGrid button:active{border-color:var(--gold);color:var(--gold)}
}
@media (min-width:901px){ body{padding-bottom:0} }

/* ===== 全局横向防溢出 + 右上角账号 + 用户卡片换行 ===== */
html,body{overflow-x:hidden;max-width:100%}
.wrap,.card,.user-card{max-width:100%}
.acctTopBtn{flex:0 0 auto;background:linear-gradient(135deg,#f5c46b,#b8860b);color:#1a1408;border:0;width:40px;height:40px;border-radius:50%;font-size:18px;cursor:pointer;box-shadow:0 2px 8px rgba(245,196,107,.35)}
.acctTopBtn:active{transform:scale(.94)}
.user-card{overflow:hidden}
.user-actions{gap:6px}
.user-actions>*{flex:0 0 auto}
.user-actions .muted{flex:1 1 100%}
@media (max-width:900px){
  .user-row b{max-width:100%;white-space:normal}
  .user-actions button.btn{flex:1 1 auto;min-width:90px}
}

/* ===== 开屏动画 ===== */
#splash{position:fixed;inset:0;z-index:99999;background:radial-gradient(120% 120% at 50% 20%,#241c0c 0%,#0b0e14 65%);display:flex;align-items:center;justify-content:center;transition:opacity .6s ease,visibility .6s}
#splash.hide{opacity:0;visibility:hidden}
.splash-in{display:flex;flex-direction:column;align-items:center;gap:10px;animation:spPop .7s cubic-bezier(.2,.8,.2,1)}
.splash-logo .spl-ring{stroke-dasharray:290;stroke-dashoffset:290;animation:spRing 1.3s ease forwards}
.splash-logo g rect{transform:scaleY(0);transform-origin:bottom;animation:spBar .6s ease forwards}
.splash-logo g rect:nth-child(2){animation-delay:.15s}
.splash-logo g rect:nth-child(3){animation-delay:.3s}
.splash-logo g rect:nth-child(4){animation-delay:.45s}
.splash-name{font-size:26px;font-weight:800;letter-spacing:4px;background:linear-gradient(90deg,#f5d67b,#b8860b);-webkit-background-clip:text;background-clip:text;color:transparent}
.splash-sub{font-size:12px;color:#9fb0c4;letter-spacing:2px}
.splash-bar{width:120px;height:3px;background:#2a2114;border-radius:3px;overflow:hidden;margin-top:8px}
.splash-bar span{display:block;height:100%;width:40%;background:linear-gradient(90deg,#f5d67b,#b8860b);animation:spLoad 1.3s ease forwards}
@keyframes spRing{to{stroke-dashoffset:0}}
@keyframes spBar{to{transform:scaleY(1)}}
@keyframes spPop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@keyframes spLoad{0%{transform:translateX(-120%)}100%{transform:translateX(300%)}}
/* ===== 重设计登录卡 ===== */
.loginCard{width:min(380px,92vw);position:relative;background:linear-gradient(160deg,#1d1710,#14100a);
  border:1px solid rgba(201,162,39,.45);border-radius:18px;padding:30px 26px;
  box-shadow:0 24px 70px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.4) inset}
.loginCard:before{content:"";position:absolute;inset:0;border-radius:18px;padding:1px;
  background:linear-gradient(140deg,rgba(245,214,123,.6),transparent 40%,rgba(184,134,11,.3));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.lc-logo{display:flex;justify-content:center;margin-bottom:8px}
.lc-name{font-size:22px;font-weight:800;text-align:center;letter-spacing:3px;color:#f5e6c0}
.lc-sub{text-align:center;color:#8b9bb0;font-size:12px;letter-spacing:2px;margin-bottom:22px}
.lc-label{display:block;font-size:12px;color:#cbb87a;margin:10px 0 5px}
.lc-input{width:100%;background:#0f0c07;border:1px solid #3a2f1a;color:#f0e6c8;border-radius:10px;padding:11px 13px;font-size:14px;outline:none;transition:border-color .2s}
.lc-input:focus{border-color:#c9a227;box-shadow:0 0 0 3px rgba(201,162,39,.15)}
.lc-err{color:#e06c6c;font-size:12px;margin-top:8px;min-height:16px}
.lc-btn{width:100%;margin-top:12px;padding:12px;border:0;border-radius:10px;cursor:pointer;
  font-size:15px;font-weight:700;letter-spacing:4px;color:#1a1408;
  background:linear-gradient(135deg,#f5d67b,#c9a227);transition:filter .2s,transform .1s}
.lc-btn:hover{filter:brightness(1.08)}
.lc-btn:active{transform:scale(.98)}
.lc-contact{text-align:center;margin-top:18px;font-size:12px;color:#c9a227;line-height:1.7}
/* ===== 底栏 SVG 图标 ===== */
.btab button svg{display:block;margin:0 auto 2px}
.btab button .ic{display:none}
@media (prefers-reduced-motion: reduce){
  #splash,.splash-in *{animation:none!important;transition:none!important}
}

/* ===== LAU 全局最终覆盖层：高级简洁轻奢（追加在末尾，统一此前重复定义） ===== */
:root{--gold:#C9A227;--gold2:#f5d67b}
body{background:#0b0e14;color:#dbe4ef;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
.card{background:linear-gradient(160deg,#161d29,#12171f);border:1px solid #222d3b;border-radius:14px;
  padding:16px 16px;margin-bottom:14px;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.card:hover{border-color:#2c3a4c;box-shadow:0 8px 26px rgba(0,0,0,.35)}
.card h3{font-size:15px;color:#eef3fa;letter-spacing:.3px;display:flex;align-items:center;gap:8px;
  padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid rgba(201,162,39,.14)}
.card h3:before{content:"";width:3px;height:15px;border-radius:2px;background:linear-gradient(#f5d67b,#b8860b);flex:0 0 auto}
.card h3 .n{font-size:11.5px;font-weight:400;color:#7f91a6;letter-spacing:0}
/* 按钮统一金色轻奢 */
button.btn{background:linear-gradient(135deg,#f5d67b,#c9a227);color:#1a1408;border:0;
  padding:9px 16px;border-radius:9px;cursor:pointer;font-size:13px;font-weight:600;
  transition:filter .18s,transform .12s,box-shadow .18s;box-shadow:0 3px 10px rgba(201,162,39,.25)}
button.btn:hover{filter:brightness(1.07);transform:translateY(-1px)}
button.btn:active{transform:translateY(0) scale(.98)}
button.btn.ghost{background:#1a2230;border:1px solid #33404f;color:#c2d0df;box-shadow:none}
button.btn.ghost:hover{border-color:var(--gold);color:var(--gold2);background:#1d2634}
button.btn.danger{background:linear-gradient(135deg,#a24a4a,#7a2f2f);color:#fff;box-shadow:0 3px 10px rgba(122,47,47,.3)}
button.btn.sm{padding:5px 11px;font-size:12px}
input,select,textarea{background:#0f151e;border:1px solid #2a3543;border-radius:8px;color:#e6edf5;
  padding:9px 11px;outline:none;transition:border-color .18s,box-shadow .18s}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.14)}
label{font-size:12.5px;color:#b9c6d6}
/* 抽屉背景压暗 */
.moreMask{background:rgba(0,0,0,.72)}
/* 页面切换动画 */
#view{animation:pageIn .28s ease}
@keyframes pageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* 顶栏优化 */
header{background:linear-gradient(180deg,#17130a,#101319)}
header .tag{border:1px solid rgba(201,162,39,.4);color:#e8c07a;background:rgba(201,162,39,.08)}
@media (prefers-reduced-motion: reduce){
  #view{animation:none}
}

/* 右上角账号徽章 */
.acctTopBtn{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#f5d67b,#b8860b);
  display:flex;align-items:center;justify-content:center;position:relative;border:0;cursor:pointer;
  box-shadow:0 2px 10px rgba(245,196,107,.4);transition:transform .15s,box-shadow .15s}
.acctTopBtn:hover{transform:scale(1.06);box-shadow:0 4px 14px rgba(245,196,107,.55)}
.acctDot{position:absolute;right:0;top:0;width:11px;height:11px;border-radius:50%;background:#3ddc84;
  border:2px solid #101319}

/* ===== LAU 最终金调统一：把蓝/青强调色整体换成金色轻奢 ===== */
:root{
  --a1:#C9A227;            /* 原品牌蓝 → 金 */
  --a2:#e8c07a;            /* 原青绿 → 暖金 */
  --gold:#C9A227;--gold2:#f5d67b;
  --line:#2a2418;--line2:#3a3018;
  --panel:#17130c;--panel2:#120e08;
}
body{background:radial-gradient(140% 100% at 50% 0%,#1a1508 0%,#0b0e14 55%) !important}
.wrap{max-width:980px;margin:0 auto;padding:14px 14px 90px}
@media (min-width:901px){.wrap{padding:24px 24px 40px}}
/* 卡片：深色木 + 金边，去掉廉价硬色条 */
.card{background:linear-gradient(165deg,#1c1710,#120e08);
  border:1px solid rgba(201,162,39,.22);border-radius:16px;padding:18px;
  box-shadow:0 10px 30px rgba(0,0,0,.35)}
.card:hover{border-color:rgba(201,162,39,.4)}
.card h3{font-size:15.5px;color:#f0e6cc;letter-spacing:.3px}
/* 大数字金色 */
.card div[style*="font-size:26px"]{color:var(--gold2) !important}
/* 顶栏 */
header{background:linear-gradient(180deg,#241c0c,#101319);border-bottom:1px solid rgba(201,162,39,.25)}
header .tag{border:1px solid rgba(201,162,39,.45);color:#e8c07a}
/* 导航当前项金 */
.nav button.on{color:var(--gold2);border-bottom-color:var(--gold)}
/* 表格行 */
table th{color:#e8c07a}
/* 按钮主金 */
button.btn{background:linear-gradient(135deg,#f5d67b,#c9a227);color:#1a1408}
/* 滚动条 */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#3a3018;border-radius:6px}
::-webkit-scrollbar-track{background:transparent}
