/* =====================================================================
 * admin.css —— 医保智能客服管理后台（PC Web）专属样式
 * 依赖 styles.css 中的设计变量与通用组件（.btn / .ic / .toast 等）
 * ===================================================================== */

body.admin-body{
  height:100vh;overflow:hidden;background:#f5f8fc;
}

.admin{display:flex;height:100vh;min-height:0;}

/* ============ 左侧菜单 ============ */
.admin-side{
  flex:none;width:212px;background:#0f2744;display:flex;flex-direction:column;
  padding:0 12px 14px;overflow-y:auto;
}
.admin-brand{
  display:flex;align-items:center;gap:10px;padding:18px 8px 16px;margin-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.admin-brand-ic{
  width:36px;height:36px;flex:none;border-radius:10px;display:grid;place-items:center;
  background:linear-gradient(140deg,#12b8a6,#1668d8);color:#fff;
}
.admin-brand-txt{line-height:1.32;min-width:0;}
.admin-brand-txt b{display:block;font-size:13.5px;color:#fff;letter-spacing:.3px;}
.admin-brand-txt em{font-size:10.5px;color:#7d93ae;}

.admin-menu-caption{
  font-size:10.5px;letter-spacing:1.6px;color:#5c7490;
  padding:6px 10px 8px;font-weight:600;
}
.admin-menu{
  display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:9px;
  color:#a9bdd6;font-size:13.5px;text-align:left;transition:.15s;margin-bottom:4px;
}
.admin-menu:hover{background:rgba(255,255,255,.08);color:#fff;}
.admin-menu.is-active{
  background:linear-gradient(100deg,#1668d8,#0f7fa8);color:#fff;font-weight:600;
  box-shadow:0 3px 12px rgba(22,104,216,.36);
}
.admin-menu .ic{width:17px;height:17px;}

.admin-side-foot{margin-top:auto;padding:14px 10px 2px;border-top:1px solid rgba(255,255,255,.1);}
.side-stat{font-size:11.5px;color:#7d93ae;display:flex;justify-content:space-between;padding:3px 0;}
.side-stat b{color:#b9cbe2;font-weight:600;}

/* ============ 主区 ============ */
.admin-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;}

.admin-top{
  flex:none;height:54px;display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:0 22px;background:#fff;border-bottom:1px solid var(--line);
}
.admin-crumb{font-size:12.5px;color:var(--ink-4);}
.admin-crumb span{margin:0 6px;}
.admin-crumb b{color:var(--ink-2);font-weight:600;}
.admin-top-right{display:flex;align-items:center;gap:14px;}
.admin-status{
  display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-3);
}
.admin-status i{
  width:7px;height:7px;border-radius:50%;background:var(--green);flex:none;
  box-shadow:0 0 0 3px rgba(22,163,74,.16);
}
.admin-user{display:flex;align-items:center;gap:9px;padding-left:14px;border-left:1px solid var(--line);}
.admin-user-avatar{
  width:31px;height:31px;border-radius:50%;display:grid;place-items:center;flex:none;
  background:linear-gradient(140deg,#12b8a6,#1668d8);color:#fff;font-size:12.5px;font-weight:700;
}
.admin-user-meta{line-height:1.28;}
.admin-user-meta b{display:block;font-size:12.5px;color:var(--ink);}
.admin-user-meta em{font-size:10.5px;color:var(--ink-4);}

.admin-page{display:none;flex:1;min-height:0;overflow-y:auto;padding:20px 22px 24px;}
.admin-page.is-active{display:block;}

/* ============ 页头 ============ */
.page-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  margin-bottom:16px;flex-wrap:wrap;
}
.page-head h2{font-size:19px;margin-bottom:5px;}
.page-head p{font-size:12.5px;color:var(--ink-3);max-width:780px;line-height:1.7;}
.page-actions{display:flex;gap:9px;flex-wrap:wrap;}

/* ============ 统计卡 ============ */
.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px;}
.stat-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;
  display:flex;align-items:center;gap:13px;box-shadow:var(--shadow-s);transition:.16s;
}
.stat-card:hover{box-shadow:var(--shadow);transform:translateY(-1px);}
.stat-ic{
  width:40px;height:40px;flex:none;border-radius:11px;display:grid;place-items:center;
  background:var(--blue-100);color:var(--blue-700);
}
.stat-ic.teal{background:var(--teal-100);color:var(--teal-700);}
.stat-ic.amber{background:var(--amber-100);color:#96650a;}
.stat-ic.green{background:var(--green-100);color:#137a3c;}
.stat-meta{line-height:1.3;min-width:0;}
.stat-meta b{display:block;font-size:22px;color:var(--ink);}
.stat-meta em{font-size:11.5px;color:var(--ink-3);}

/* ============ 面板 ============ */
.panel{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  margin-bottom:16px;box-shadow:var(--shadow-s);overflow:hidden;
}
.panel-head{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:13px 16px;border-bottom:1px solid var(--line-2);flex-wrap:wrap;
}
.panel-head h3{font-size:14px;display:flex;align-items:center;gap:7px;}
.panel-head h3 .ic{color:var(--blue-600);}
.panel-hint{font-size:11.5px;color:var(--ink-4);}
.panel-hint b{color:var(--blue-700);}
.panel-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}

.input-wrap{position:relative;display:flex;align-items:center;}
.input-wrap .ic{position:absolute;left:10px;color:var(--ink-4);pointer-events:none;width:14px;height:14px;}
.input-wrap input{
  height:33px;width:220px;border:1px solid var(--line);border-radius:7px;background:#f7fafd;
  padding:0 11px 0 32px;font-size:12.5px;outline:none;transition:.15s;
}
.input-wrap input:focus{border-color:var(--blue-500);background:#fff;box-shadow:0 0 0 3px rgba(43,130,238,.12);}
.sel{
  height:33px;border:1px solid var(--line);border-radius:7px;background:#f7fafd;
  padding:0 9px;font-size:12.5px;color:var(--ink-2);outline:none;cursor:pointer;
}
.sel:focus{border-color:var(--blue-500);}

/* ============ 上传区 ============ */
.dropzone{
  margin:16px;border:2px dashed var(--blue-200);border-radius:var(--radius-l);
  background:linear-gradient(160deg,var(--blue-50),#f0fbf9);
  padding:28px 20px;text-align:center;cursor:pointer;transition:.18s;
}
.dropzone:hover{border-color:var(--blue-500);background:linear-gradient(160deg,#e9f3ff,#e9faf7);}
.dropzone.is-over{border-color:var(--teal-600);background:#e6f9f5;}
.dropzone .ic-xl{color:var(--blue-600);display:block;margin:0 auto 10px;}
.dropzone b{display:block;font-size:14px;color:var(--ink);margin-bottom:6px;}
.dropzone em{display:block;font-size:11.5px;color:var(--ink-4);line-height:1.65;}
.dz-tags{display:flex;gap:8px;justify-content:center;margin-top:13px;}
.file-tag{font-size:11px;font-weight:700;letter-spacing:.6px;padding:3px 12px;border-radius:5px;}
.ft-pdf{background:var(--red-100);color:var(--red);}
.ft-txt{background:var(--blue-100);color:var(--blue-700);}
.ft-docx{background:var(--teal-100);color:var(--teal-700);}

/* ============ 表格 ============ */
.table-wrap{overflow-x:auto;}
.data-table{width:100%;border-collapse:collapse;font-size:13px;min-width:840px;}
.data-table th{
  background:#f6f9fd;color:var(--ink-3);font-weight:600;font-size:11.5px;
  text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap;
}
.data-table td{padding:12px 14px;border-bottom:1px solid var(--line-2);color:var(--ink-2);vertical-align:middle;}
.data-table tbody tr{transition:.13s;}
.data-table tbody tr:hover{background:var(--blue-50);}
.data-table tbody tr.is-new{animation:rowIn .6s ease both;}
@keyframes rowIn{from{background:#e6f9f5;}to{background:transparent;}}
.cell-strong{font-weight:600;color:var(--ink);}
.cell-file{display:flex;align-items:center;gap:9px;}
.file-badge{
  width:28px;height:28px;flex:none;border-radius:6px;display:grid;place-items:center;
  font-size:8.5px;font-weight:700;letter-spacing:.3px;
}
.file-badge.pdf{background:var(--red-100);color:var(--red);}
.file-badge.txt{background:var(--blue-100);color:var(--blue-700);}
.file-badge.docx{background:var(--teal-100);color:var(--teal-700);}
.cell-sub{font-size:11px;color:var(--ink-4);}
.row-actions{display:flex;gap:6px;flex-wrap:wrap;}

/* 状态徽标 */
.st-badge{
  display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;
  padding:3px 10px;border-radius:20px;white-space:nowrap;
}
.st-badge i{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none;}
.st-uploading{background:var(--blue-100);color:var(--blue-700);}
.st-parsing{background:var(--amber-100);color:#96650a;}
.st-done{background:var(--green-100);color:#137a3c;}
.st-fail{background:var(--red-100);color:var(--red);}
.st-uploading i,.st-parsing i{animation:blink .9s infinite;}

/* 进度条 */
.bar{height:5px;border-radius:3px;background:var(--line-2);overflow:hidden;margin-top:6px;width:100%;max-width:140px;}
.bar-fill{height:100%;border-radius:3px;transition:width .4s ease;background:linear-gradient(90deg,#1668d8,#12b8a6);}
.bar-fill.warn{background:linear-gradient(90deg,#f0a020,#f5c451);}
.bar-fill.err{background:var(--red);}
.bar-fill.ok{background:var(--green);}

/* 分页 */
.pager{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 16px;border-top:1px solid var(--line-2);flex-wrap:wrap;
}
.pager-info{font-size:12px;color:var(--ink-4);}
.pager-btns{display:flex;gap:5px;align-items:center;}
.pg{
  min-width:30px;height:30px;padding:0 8px;border-radius:6px;border:1px solid var(--line);
  background:#fff;font-size:12.5px;color:var(--ink-2);transition:.14s;
}
.pg:hover:not(:disabled){border-color:var(--blue-500);color:var(--blue-700);background:var(--blue-50);}
.pg.is-active{background:var(--blue-600);color:#fff;border-color:var(--blue-600);font-weight:600;}
.pg:disabled{opacity:.42;cursor:not-allowed;}

/* 空表格提示 */
.empty-row td{text-align:center;padding:38px 14px;color:var(--ink-4);font-size:13px;line-height:1.8;}

/* =====================================================================
 * AI 工作流
 * ===================================================================== */
.wf-layout{
  display:grid;grid-template-columns:176px minmax(0,1fr) 278px;gap:13px;
  height:calc(100vh - 190px);min-height:480px;
}

.wf-palette,.wf-right{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-s);display:flex;flex-direction:column;min-height:0;overflow:hidden;
}
.wf-panel-head{
  flex:none;display:flex;align-items:center;gap:7px;padding:12px 14px;
  border-bottom:1px solid var(--line-2);font-size:13.5px;background:#fafcfe;
}
.wf-panel-head .ic{color:var(--blue-600);}
.wf-panel-head-2{border-top:1px solid var(--line-2);}
.wf-panel-head-2 .wf-mini-btn{margin-left:auto;}
.wf-panel-tip{font-size:11px;color:var(--ink-4);padding:10px 14px 5px;line-height:1.6;}
.palette-list{flex:1;overflow-y:auto;padding:8px 10px 14px;display:flex;flex-direction:column;gap:7px;}
.palette-item{
  display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:8px;
  border:1px solid var(--line);background:#fff;cursor:grab;transition:.15s;user-select:none;
}
.palette-item:hover{border-color:var(--blue-500);background:var(--blue-50);transform:translateX(2px);}
.palette-item:active{cursor:grabbing;}
.pal-ic{
  width:28px;height:28px;flex:none;border-radius:7px;display:grid;place-items:center;
  color:#fff;font-size:11px;font-weight:700;
}
.pal-txt{line-height:1.32;min-width:0;}
.pal-txt b{font-size:13.5px;display:block;color:var(--ink);}
.pal-txt em{
  font-size:11px;color:var(--ink-4);display:block;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;
}

/* 画布 */
.wf-canvas-wrap{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-s);display:flex;flex-direction:column;min-width:0;overflow:hidden;
}
.wf-canvas-head{
  flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:11px 14px;border-bottom:1px solid var(--line-2);background:#fafcfe;flex-wrap:wrap;
}
.wf-flow-name{font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:7px;color:var(--ink);}
.wf-flow-name .ic{color:var(--teal-600);}
.wf-canvas-tools{display:flex;align-items:center;gap:7px;}
.wf-chip{
  font-size:11px;padding:3px 10px;border-radius:12px;background:var(--blue-50);
  color:var(--blue-700);border:1px solid var(--blue-100);font-weight:600;
}
.wf-mini-btn{
  width:28px;height:28px;border-radius:7px;display:grid;place-items:center;
  border:1px solid var(--line);background:#fff;color:var(--ink-3);transition:.14s;
}
.wf-mini-btn:hover{border-color:var(--blue-500);color:var(--blue-700);background:var(--blue-50);}
.wf-canvas-scroll{flex:1;overflow:auto;min-height:0;background:#f8fbfe;position:relative;}
.wf-canvas-sizer{position:relative;}
.wf-canvas{
  position:relative;transform-origin:0 0;
  background-image:
    linear-gradient(rgba(22,104,216,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(22,104,216,.055) 1px,transparent 1px),
    linear-gradient(rgba(22,104,216,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(22,104,216,.03) 1px,transparent 1px);
  background-size:100px 100px,100px 100px,20px 20px,20px 20px;
}
.wf-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;}
.wf-svg .edge{pointer-events:stroke;cursor:pointer;}
.wf-empty{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  color:var(--ink-4);font-size:13px;display:none;
}
.wf-empty.show{display:block;}

/* 节点 */
.wf-node{
  position:absolute;width:172px;border-radius:11px;background:#fff;
  border:1.5px solid var(--line);box-shadow:0 2px 9px rgba(18,42,80,.09);
  user-select:none;transition:box-shadow .16s,border-color .16s;
}
.wf-node:hover{box-shadow:0 5px 16px rgba(18,42,80,.15);}
.wf-node.is-sel{border-color:var(--blue-600);box-shadow:0 0 0 3px rgba(22,104,216,.16),0 5px 16px rgba(22,104,216,.2);}
.wf-node.is-drag{opacity:.92;box-shadow:0 14px 32px rgba(10,40,90,.26);}
.wf-node-head{
  display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:9px 9px 0 0;
  background:#f4f8fd;border-bottom:1px solid var(--line-2);cursor:grab;
}
.wf-node-head:active{cursor:grabbing;}
.wf-node-ic{
  width:23px;height:23px;flex:none;border-radius:6px;display:grid;place-items:center;
  color:#fff;font-size:9.5px;font-weight:700;
}
.wf-node-title{
  font-size:14px;font-weight:700;color:var(--ink);flex:1;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.wf-node-body{padding:8px 11px 10px;font-size:12px;color:var(--ink-3);line-height:1.6;min-height:38px;}
.wf-node-body b{color:var(--ink-2);font-weight:600;}
.wf-node-status{
  position:absolute;top:-8px;right:-8px;width:18px;height:18px;border-radius:50%;
  display:none;place-items:center;font-size:10px;color:#fff;border:2px solid #fff;z-index:4;
}
.wf-node-status .ic{width:10px;height:10px;stroke-width:3;}
.wf-node.is-running .wf-node-status{display:grid;background:var(--amber);animation:blink .7s infinite;}
.wf-node.is-done .wf-node-status{display:grid;background:var(--green);}
.wf-node.is-running{border-color:var(--amber);box-shadow:0 0 0 3px rgba(240,160,32,.2);}
.wf-node.is-done{border-color:var(--green);}

/* 端口 */
.wf-port{
  position:absolute;width:13px;height:13px;border-radius:50%;background:#fff;
  border:2.5px solid var(--blue-500);cursor:crosshair;top:50%;transform:translateY(-50%);
  transition:.15s;z-index:3;
}
.wf-port:hover{background:var(--blue-600);transform:translateY(-50%) scale(1.25);}
.wf-port.in{left:-8px;}
.wf-port.out{right:-8px;}
.wf-port.is-armed{
  background:var(--teal-600);border-color:var(--teal-600);
  box-shadow:0 0 0 4px rgba(18,184,166,.24);animation:blink .8s infinite;
}

/* 属性面板 */
.wf-props{flex:none;overflow-y:auto;padding:12px 14px;max-height:262px;}
.wf-empty-prop{font-size:12.5px;color:var(--ink-4);line-height:1.75;padding:12px 0;text-align:center;}
.prop-node-head{
  display:flex;align-items:center;gap:9px;padding-bottom:11px;margin-bottom:11px;
  border-bottom:1px dashed var(--line);
}
.prop-node-head .pal-ic{width:27px;height:27px;font-size:10.5px;}
.prop-node-head b{font-size:13px;display:block;}
.prop-node-head em{font-size:10.5px;color:var(--ink-4);}
.prop-item{margin-bottom:12px;}
.prop-label{font-size:11.5px;color:var(--ink-3);font-weight:600;margin-bottom:5px;display:block;}
.prop-input,.prop-select{
  width:100%;height:32px;border:1px solid var(--line);border-radius:7px;background:#f7fafd;
  padding:0 10px;font-size:12.5px;outline:none;transition:.15s;
}
.prop-select{cursor:pointer;}
.prop-input:focus,.prop-select:focus{
  border-color:var(--blue-500);background:#fff;box-shadow:0 0 0 3px rgba(43,130,238,.12);
}
.prop-tip{font-size:10.5px;color:var(--ink-4);margin-top:5px;line-height:1.6;}
.prop-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);}

/* 运行日志 */
.wf-log{
  flex:1;min-height:100px;overflow-y:auto;padding:11px 14px;background:#0f1c2e;
  font-family:"Cascadia Mono",Consolas,Monaco,monospace;font-size:11.5px;line-height:1.8;
}
.log-line{display:flex;gap:9px;color:#9fb6d0;animation:msgIn .25s ease both;}
.log-time{color:#5d7a9c;flex:none;}
.log-ok{color:#4fd18b;}
.log-run{color:#f0c674;}
.log-info{color:#79b8ff;}
.log-err{color:#ff7b81;}
.log-line b{color:#e6f1ff;font-weight:600;}
.wf-log .log-empty{color:#5d7a9c;font-size:11.5px;}

/* 运行结果 */
.wf-result{flex:none;max-height:250px;overflow-y:auto;padding:12px 14px;}
.res-empty{font-size:12px;color:var(--ink-4);text-align:center;padding:16px 0;line-height:1.75;}
.run-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:11px;}
.run-kpi{background:var(--blue-50);border:1px solid var(--blue-100);border-radius:8px;padding:8px 10px;}
.run-kpi b{display:block;font-size:15px;color:var(--blue-700);line-height:1.3;}
.run-kpi em{font-size:10.5px;color:var(--ink-3);}
.run-pick{
  border:1.5px solid var(--teal-600);background:linear-gradient(150deg,#f1fdfa,#fff);
  border-radius:10px;padding:11px;
}
.run-pick-tag{
  font-size:10px;font-weight:700;color:#fff;background:var(--teal-600);
  padding:2px 8px;border-radius:9px;display:inline-block;margin-bottom:7px;
}
.run-pick b{font-size:13.5px;display:block;margin-bottom:6px;}
.run-pick .kv-row{font-size:11.5px;}
.run-pick .kv-k{width:72px;font-size:11.5px;}
.run-pick .kv-v{font-size:11.5px;}
.run-reason{
  font-size:11.5px;color:var(--ink-3);line-height:1.68;margin-top:8px;
  padding-top:8px;border-top:1px dashed var(--line);
}

/* =====================================================================
 * 后台弹窗
 * ===================================================================== */
.modal{position:fixed;inset:0;z-index:500;display:none;}
.modal.is-open{display:block;}
.modal-mask{position:absolute;inset:0;background:rgba(10,26,48,.5);animation:fade .2s ease both;}
.modal-box{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(640px,92vw);max-height:86vh;background:#fff;border-radius:var(--radius-l);
  box-shadow:var(--shadow-l);display:flex;flex-direction:column;overflow:hidden;
  animation:modalIn .24s cubic-bezier(.22,.9,.3,1) both;
}
@keyframes modalIn{
  from{opacity:0;transform:translate(-50%,-46%) scale(.96);}
  to{opacity:1;transform:translate(-50%,-50%) scale(1);}
}
.modal-head{
  flex:none;display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;border-bottom:1px solid var(--line);
  background:linear-gradient(100deg,#f5f9ff,#f1fbf9);
}
.modal-head b{font-size:15.5px;}
.modal-x{color:var(--ink-4);padding:4px;border-radius:6px;transition:.14s;}
.modal-x:hover{background:var(--line-2);color:var(--ink);}
.modal-body{flex:1;overflow-y:auto;padding:19px 20px;}
.modal-foot{
  flex:none;display:flex;justify-content:flex-end;gap:9px;padding:14px 20px;
  border-top:1px solid var(--line);background:#fafcfe;
}

/* 弹窗内容组件 */
.md-h{
  font-size:13.5px;font-weight:700;color:var(--blue-700);margin:16px 0 9px;
  display:flex;align-items:center;gap:7px;
}
.md-h:first-child{margin-top:0;}
.md-p{font-size:13px;color:var(--ink-2);line-height:1.8;}
.md-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
.md-card{border:1px solid var(--line);border-radius:9px;padding:12px 14px;background:#fff;transition:.15s;}
.md-card:hover{border-color:var(--blue-500);box-shadow:var(--shadow-s);}
.md-card h4{font-size:13px;margin-bottom:6px;color:var(--ink);display:flex;align-items:center;gap:8px;}
.md-card p{font-size:12px;color:var(--ink-3);line-height:1.68;}
.md-num{
  width:20px;height:20px;flex:none;border-radius:6px;background:var(--blue-600);color:#fff;
  font-size:11px;font-weight:700;display:grid;place-items:center;
}
.md-list{display:flex;flex-direction:column;gap:7px;}
.md-list li{display:flex;gap:9px;font-size:12.5px;color:var(--ink-2);line-height:1.72;}
.md-list li::before{
  content:"";width:5px;height:5px;border-radius:50%;background:var(--teal-600);flex:none;margin-top:8px;
}
.md-steps{counter-reset:ms;display:flex;flex-direction:column;gap:9px;}
.md-steps li{counter-increment:ms;display:flex;gap:10px;font-size:12.5px;color:var(--ink-2);line-height:1.72;}
.md-steps li::before{
  content:counter(ms);width:21px;height:21px;flex:none;border-radius:50%;background:var(--blue-100);
  color:var(--blue-700);font-size:11px;font-weight:700;display:grid;place-items:center;margin-top:1px;
}
.md-note{
  background:var(--amber-100);border:1px solid #f6e0b4;border-left:3px solid var(--amber);
  border-radius:0 8px 8px 0;padding:10px 13px;font-size:12.5px;color:#7c5406;line-height:1.72;
}
.md-stat{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.md-stat > div{background:var(--blue-50);border:1px solid var(--blue-100);border-radius:8px;padding:10px 12px;}
.md-stat b{display:block;font-size:18px;color:var(--blue-700);}
.md-stat em{font-size:11px;color:var(--ink-3);}
.md-form-item{margin-bottom:14px;}
.md-form-item label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-2);margin-bottom:6px;}
.md-form-item input,.md-form-item select{
  width:100%;height:36px;border:1px solid var(--line);border-radius:8px;background:#f7fafd;
  padding:0 12px;font-size:13px;outline:none;transition:.15s;
}
.md-form-item input:focus,.md-form-item select:focus{
  border-color:var(--blue-500);background:#fff;box-shadow:0 0 0 3px rgba(43,130,238,.12);
}

/* 响应式 */
@media (max-width:1340px){
  .wf-layout{grid-template-columns:164px minmax(0,1fr) 258px;}
}
@media (max-width:1160px){
  .admin-side{width:70px;padding:0 8px 14px;}
  .admin-brand-txt,.admin-menu span,.admin-menu-caption,.admin-side-foot{display:none;}
  .admin-brand{justify-content:center;padding:16px 0 14px;}
  .admin-menu{justify-content:center;padding:12px 8px;}
  .stat-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .wf-layout{grid-template-columns:160px minmax(0,1fr);height:auto;min-height:0;}
  .wf-canvas-wrap{height:460px;}
  .wf-right{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:320px;}
}
@media (max-width:820px){
  .wf-layout{grid-template-columns:1fr;}
  .wf-palette{height:150px;}
  .admin-user-meta{display:none;}
  .input-wrap input{width:160px;}
}
