/*! v7工作室AI版 · OEM 档案卡 + 通道活性 + OEM 适配编辑器 [R103] · 纯皮肤层，删 index.html 两行引用即回退 */
.mkr103-card{
  position:fixed; z-index:8700;
  --r103-bg:var(--card,#fff); --r103-fg:var(--text,#111827); --r103-mut:var(--muted,#6b7280);
  --r103-bd:var(--border,#e5e7eb);
  background:var(--r103-bg); color:var(--r103-fg);
  border:1px solid var(--r103-bd); border-radius:14px;
  padding:12px 14px 14px; margin:0 0 12px; box-sizing:border-box;
  box-shadow:0 1px 2px rgba(16,24,40,.04);
  font-size:13px; line-height:1.45;
  /* [R228] 自检结果可能比视口高：卡片内部滚动，避免结果被截在屏幕外 */
  overflow-y:auto; overscroll-behavior:contain;
}
.mkr103-card *{box-sizing:border-box}
.mkr103-hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.mkr103-t{font-weight:700;font-size:14px;letter-spacing:.2px}
.mkr103-badge{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid transparent;white-space:nowrap}
.mkr103-badge.is-ok{background:rgba(16,185,129,.12);color:#047857;border-color:rgba(16,185,129,.35)}
.mkr103-badge.is-off{background:rgba(107,114,128,.12);color:#4b5563;border-color:rgba(107,114,128,.3)}
.mkr103-src{color:var(--r103-mut);font-size:11px;margin-right:auto;overflow:hidden;text-overflow:ellipsis;max-width:46%}
.mkr103-act{display:flex;gap:6px;align-items:center}
.mkr103-act button{
  font:inherit;font-size:12px;padding:4px 10px;border-radius:8px;cursor:pointer;
  border:1px solid var(--r103-bd);background:transparent;color:var(--r103-fg);transition:.15s;
}
.mkr103-act button:hover{border-color:#6366f1;color:#4f46e5}
.mkr103-x{cursor:pointer;font-size:18px;line-height:1;padding:0 6px;color:var(--r103-mut)}
.mkr103-x:hover{color:#ef4444}
.mkr103-empty{color:var(--r103-mut);font-size:12px;padding:8px 2px}
.mkr103-na{color:var(--r103-mut);font-size:12px}

/* ---- 通道活性条 ---- */
.mkr103-chan{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  border-radius:10px;padding:7px 10px;margin-bottom:10px;font-size:12px;border:1px solid transparent}
.mkr103-chan b{font-size:12px;font-weight:700}
.mkr103-chan span{opacity:.92}
.mkr103-chan em{font-style:normal;opacity:.7;margin-left:auto;font-family:ui-monospace,Consolas,monospace;font-size:11px}
.mkr103-chan.is-live{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.4);color:#065f46}
.mkr103-chan.is-warm{background:rgba(245,158,11,.14);border-color:rgba(245,158,11,.45);color:#92400e}
.mkr103-chan.is-cold{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.4);color:#1e40af}
.mkr103-chan.is-burned{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.5);color:#991b1b}

/* ---- 页面级红条（只在通道真烧断时出现） ---- */
.mkr103-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.5);color:#991b1b;
  border-radius:12px;padding:8px 12px;margin:0 0 10px;font-size:12.5px}
.mkr103-banner b{font-weight:700}
.mkr103-banner button{margin-left:auto;font:inherit;font-size:12px;padding:3px 10px;border-radius:8px;
  border:1px solid rgba(239,68,68,.5);background:transparent;color:#991b1b;cursor:pointer}

/* ---- 档案网格 ---- */
.mkr103-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2px 14px}
.mkr103-row{display:flex;gap:8px;align-items:baseline;padding:3px 0;border-bottom:1px dashed rgba(148,163,184,.25)}
.mkr103-k{color:var(--r103-mut);font-size:11.5px;min-width:96px;flex:0 0 auto}
.mkr103-v{font-size:12px;word-break:break-all}
.mkr103-v.mkr103-mono{font-family:ui-monospace,Consolas,monospace;font-size:11px;opacity:.85}

/* ---- OEM 项 chips ---- */
.mkr103-items{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.mkr103-item{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:3px 8px;border-radius:8px;
  border:1px solid var(--r103-bd);background:rgba(148,163,184,.08)}
.mkr103-item b{font-weight:600;font-size:10.5px;opacity:.85}
.mkr103-item.is-on{background:rgba(16,185,129,.14);border-color:rgba(16,185,129,.4);color:#047857}
.mkr103-item.is-off{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.4);color:#b91c1c}
.mkr103-item.is-na{background:rgba(107,114,128,.1);border-color:rgba(107,114,128,.3);color:#6b7280}
.mkr103-item.is-unknown{color:var(--r103-mut)}

/* ---- 侧栏标签 ---- */
.ctrl-nav-item.mkr103-tab{display:flex;align-items:center;gap:8px;cursor:pointer}
.ctrl-nav-item.mkr103-tab svg{width:16px;height:16px;flex:0 0 auto}

/* ---- 内嵌 OEM 适配页 ---- */
.mkr103-host{position:fixed;z-index:8800;display:none;background:var(--card,#fff);color:var(--text,#111827);
  border:1px solid var(--border,#e5e7eb);border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.18);
  padding:12px 14px;overflow:auto;font-size:13px}
.mkr103-body{display:flex;gap:12px;align-items:stretch;min-height:220px}
.mkr103-fams{flex:0 0 150px;max-height:56vh;overflow:auto;border:1px solid var(--border,#e5e7eb);border-radius:10px;padding:4px}
.mkr103-fam{display:block;width:100%;text-align:left;font:inherit;font-size:12px;padding:5px 8px;border:0;
  border-radius:7px;background:transparent;color:inherit;cursor:pointer}
.mkr103-fam:hover{background:rgba(99,102,241,.1)}
.mkr103-fam.on{background:rgba(99,102,241,.16);color:#4f46e5;font-weight:600}
.mkr103-edit{flex:1 1 auto;min-width:280px}
.mkr103-field{margin-bottom:9px}
.mkr103-field label{display:block;font-size:11.5px;opacity:.7;margin-bottom:3px}
.mkr103-in{width:100%;font:inherit;font-size:12.5px;padding:6px 9px;border-radius:8px;
  border:1px solid var(--border,#e5e7eb);background:transparent;color:inherit}
.mkr103-steps{max-height:230px;overflow:auto;border:1px solid var(--border,#e5e7eb);border-radius:10px;padding:6px}
.mkr103-step{display:flex;gap:8px;font-size:11.5px;padding:3px 2px;border-bottom:1px dashed rgba(148,163,184,.25)}
.mkr103-step b{flex:0 0 150px;font-weight:600;font-family:ui-monospace,Consolas,monospace;font-size:11px}
.mkr103-step span{opacity:.8}
.mkr103-json{width:100%;height:56vh;font-family:ui-monospace,Consolas,monospace;font-size:11.5px;
  border:1px solid var(--border,#e5e7eb);border-radius:10px;padding:8px;resize:vertical;background:transparent;color:inherit}
.mkr103-foot{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:11.5px;opacity:.85}
.mkr103-foot button{margin-left:auto;font:inherit;font-size:12px;padding:5px 12px;border-radius:8px;
  border:1px solid var(--border,#e5e7eb);background:transparent;color:inherit;cursor:pointer}
.mkr103-foot button:hover{border-color:#6366f1;color:#4f46e5}

/* ---- toast ---- */
.mkr103-toast{position:fixed;left:50%;top:14px;transform:translate(-50%,-16px);z-index:9500;
  background:#111827;color:#f9fafb;font-size:12.5px;padding:8px 14px;border-radius:10px;
  opacity:0;pointer-events:none;transition:.22s;max-width:70vw;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.mkr103-toast.on{opacity:1;transform:translate(-50%,0)}
html[data-theme="light"] .mkr103-toast{background:#1f2937}

/* ---- [R228] OEM 自检（5 条链路勾选） ---- */
.mkr103-check{margin-top:10px}
.mkr103-check:empty{display:none}
.mkr103-ck-hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  border-top:1px solid var(--r103-bd);padding-top:9px;font-size:12px}
.mkr103-ck-hd b{font-weight:700;font-size:12.5px}
.mkr103-ck-hd u{text-decoration:none;font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid transparent}
.mkr103-ck-hd u.is-ok{background:rgba(16,185,129,.12);color:#047857;border-color:rgba(16,185,129,.35)}
.mkr103-ck-hd u.is-off{background:rgba(245,158,11,.14);color:#92400e;border-color:rgba(245,158,11,.45)}
.mkr103-ck-hd u.is-busy{color:var(--r103-mut)}
.mkr103-ck-hd button{margin-left:auto;font:inherit;font-size:12px;padding:3px 10px;border-radius:8px;
  border:1px solid var(--r103-bd);background:transparent;color:var(--r103-fg);cursor:pointer}
.mkr103-ck-hd button:hover{border-color:#6366f1;color:#4f46e5}
.mkr103-ck-list{margin-top:6px;display:flex;flex-direction:column;gap:4px}
.mkr103-ck{display:flex;gap:8px;align-items:flex-start;border-radius:9px;padding:6px 9px;
  border:1px solid transparent;font-size:12px}
.mkr103-ck.is-ok{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.35)}
.mkr103-ck.is-no{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.45)}
.mkr103-ck-i{flex:0 0 auto;font-weight:700;line-height:1.3}
.mkr103-ck.is-ok .mkr103-ck-i{color:#047857}
.mkr103-ck.is-no .mkr103-ck-i{color:#b45309}
.mkr103-ck-b{display:flex;flex-direction:column;gap:1px;min-width:0}
.mkr103-ck-b b{font-weight:600;font-size:12px}
.mkr103-ck-b em{font-style:normal;font-size:11px;opacity:.8;word-break:break-all}
.mkr103-ck-b u{text-decoration:none;font-size:11px;opacity:.85;color:#b45309}