/*! v7工作室AI版 · 控制页「权限管理」标签 + 内嵌面板（mk-perm.css） [R54]
 * 搭配 mk-perm.js。纯皮肤层，删掉 index.html 的两行引用即可完全回退。
 * 配色跟随当前「简约白」主题：#7c5cf0 主色 / 白底 / rgba(24,43,77,.12) 描边。
 */

/* ---------- 标签（与 mk-ai-ctltab 同款） ---------- */
.ctrl-layout > .ctrl-sidebar > .ctrl-nav-item.mk-perm-tab { position: relative; }
.ctrl-layout > .ctrl-sidebar > .ctrl-nav-item.mk-perm-tab .mk-i { color: #1f9d63 !important; }
.ctrl-layout > .ctrl-sidebar > .ctrl-nav-item.mk-perm-tab:hover {
  border-color: rgba(31, 157, 99, .40) !important;
  color: #148753 !important;
  background: rgba(31, 157, 99, .08) !important;
}
.ctrl-layout > .ctrl-sidebar > .ctrl-nav-item.mk-perm-tab.active {
  background: linear-gradient(135deg, #148753 0%, #1f9d63 100%) !important;
  border-color: transparent !important;
  color: #ffffff !important;
  box-shadow: 0 8px 20px -12px rgba(20, 135, 83, .75) !important;
}
.ctrl-layout > .ctrl-sidebar > .ctrl-nav-item.mk-perm-tab.active .mk-i { color: #ffffff !important; }

/* ---------- 内嵌面板 ---------- */
#mkPermHost {
  position: fixed !important;
  z-index: 9118 !important;
  display: none;
  flex-direction: column !important;
  min-width: 420px !important;
  min-height: 260px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(24, 43, 77, .12) !important;
  background: #ffffff !important;
  box-shadow: 0 24px 60px -26px rgba(24, 43, 77, .48), 0 0 0 1px rgba(24, 43, 77, .05) !important;
  overflow: hidden !important;
  font-family: "PingFang SC", "Microsoft YaHei UI", "Segoe UI", system-ui, sans-serif !important;
}
#mkPermHost.on { display: flex !important; }

#mkPermHost .mkp-head {
  flex: 0 0 auto !important;
  display: flex !important; align-items: center !important; gap: 9px !important;
  height: 42px !important; min-height: 42px !important; padding: 0 8px 0 12px !important;
  background: linear-gradient(180deg, #ffffff, #f7f8fc) !important;
  border-bottom: 1px solid rgba(24, 43, 77, .12) !important;
  user-select: none !important;
}
#mkPermHost .mkp-dot {
  width: 8px !important; height: 8px !important; border-radius: 50% !important;
  background: #1f9d63 !important; box-shadow: 0 0 0 3px rgba(31, 157, 99, .16) !important;
  flex: 0 0 auto !important;
}
#mkPermHost .mkp-title { font-size: 12.5px !important; font-weight: 700 !important; color: #1f2937 !important; letter-spacing: .03em !important; }
#mkPermHost .mkp-sub { font-size: 11px !important; font-weight: 400 !important; color: #6f7d92 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
#mkPermHost .mkp-sp { flex: 1 1 auto !important; }
#mkPermHost .mkp-btn {
  height: 26px !important; padding: 0 11px !important; flex: 0 0 auto !important;
  border-radius: 8px !important; cursor: pointer !important;
  border: 1px solid rgba(24, 43, 77, .14) !important;
  background: #ffffff !important; color: #4d5b70 !important;
  font-size: 11.5px !important; line-height: 1 !important; font-family: inherit !important;
  transition: background .15s, color .15s, border-color .15s !important;
}
#mkPermHost .mkp-btn:hover { background: rgba(124, 92, 240, .08) !important; border-color: rgba(124, 92, 240, .40) !important; color: #6d4df0 !important; }
#mkPermHost .mkp-btn.acc:hover { background: rgba(31, 157, 99, .09) !important; border-color: rgba(31, 157, 99, .42) !important; color: #148753 !important; }
#mkPermHost .mkp-btn[disabled] { opacity: .45 !important; cursor: default !important; }
/* [R82b] 每行权限的「重新获取」按钮：主色次级样式，和绿色「获取」区分 */
#mkPermHost .mkp-get.mkp-re { border-color: rgba(124, 92, 240, .40) !important; background: rgba(124, 92, 240, .07) !important; color: #6d4df0 !important; }
#mkPermHost .mkp-get.mkp-re:hover { background: rgba(124, 92, 240, .16) !important; border-color: rgba(124, 92, 240, .60) !important; }
#mkPermHost .mkp-x { width: 28px !important; padding: 0 !important; }

#mkPermHost .mkp-body {
  flex: 1 1 auto !important; min-height: 0 !important; overflow: auto !important;
  padding: 10px 12px 14px !important; background: #fbfcfe !important;
}
#mkPermHost .mkp-stats { display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important; margin-bottom: 9px !important; }
#mkPermHost .mkp-chip {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  height: 24px !important; padding: 0 10px !important; border-radius: 999px !important;
  font-size: 11.5px !important; font-weight: 600 !important;
  border: 1px solid rgba(24, 43, 77, .12) !important; background: #ffffff !important; color: #4d5b70 !important;
}
#mkPermHost .mkp-chip b { font-size: 12.5px !important; }
#mkPermHost .mkp-chip.on { border-color: rgba(31, 157, 99, .35) !important; color: #148753 !important; background: rgba(31, 157, 99, .07) !important; }
#mkPermHost .mkp-chip.off { border-color: rgba(214, 91, 91, .35) !important; color: #b84040 !important; background: rgba(214, 91, 91, .07) !important; }
#mkPermHost .mkp-chip.mut { color: #8a94a8 !important; }
#mkPermHost .mkp-tip { font-size: 11px !important; color: #8a94a8 !important; margin-bottom: 10px !important; }

#mkPermHost .mkp-sec {
  display: flex !important; align-items: center !important; gap: 8px !important;
  margin: 4px 0 8px !important; font-size: 11.5px !important; font-weight: 700 !important; color: #4d5b70 !important;
}
#mkPermHost .mkp-sec::after { content: ""; flex: 1 1 auto; height: 1px; background: rgba(24, 43, 77, .10); }

#mkPermHost .mkp-list { display: flex !important; flex-direction: column !important; gap: 6px !important; }
#mkPermHost .mkp-row {
  display: flex !important; align-items: center !important; gap: 10px !important;
  height: 42px !important; padding: 0 10px !important;
  border-radius: 10px !important; border: 1px solid rgba(24, 43, 77, .10) !important;
  background: #ffffff !important;
  transition: border-color .15s, box-shadow .15s, transform .15s !important;
}
#mkPermHost .mkp-row:hover { border-color: rgba(124, 92, 240, .30) !important; box-shadow: 0 6px 16px -12px rgba(24, 43, 77, .5) !important; }
#mkPermHost .mkp-ico {
  width: 26px !important; height: 26px !important; flex: 0 0 auto !important;
  border-radius: 8px !important; display: flex !important; align-items: center !important; justify-content: center !important;
  background: rgba(124, 92, 240, .10) !important; color: #6d4df0 !important;
}
#mkPermHost .mkp-ico svg { width: 15px !important; height: 15px !important; }
#mkPermHost .mkp-meta { flex: 1 1 auto !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; gap: 1px !important; }
#mkPermHost .mkp-name { font-size: 12.5px !important; font-weight: 600 !important; color: #1f2937 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
#mkPermHost .mkp-raw { font-size: 10.5px !important; color: #93a0b4 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; font-family: Consolas, Menlo, monospace !important; }
#mkPermHost .mkp-badge {
  flex: 0 0 auto !important; height: 22px !important; padding: 0 9px !important;
  display: inline-flex !important; align-items: center !important; gap: 5px !important;
  border-radius: 999px !important; font-size: 11px !important; font-weight: 700 !important;
  border: 1px solid transparent !important;
}
#mkPermHost .mkp-badge.g { color: #148753 !important; background: rgba(31, 157, 99, .10) !important; border-color: rgba(31, 157, 99, .30) !important; }
#mkPermHost .mkp-badge.n { color: #b84040 !important; background: rgba(214, 91, 91, .10) !important; border-color: rgba(214, 91, 91, .30) !important; }
/* [R89] 「未申请」第三态：本包清单没有声明这条权限（灰蓝，区别于已开启/未开启） */
#mkPermHost .mkp-badge.u { color: #5b6b86 !important; background: rgba(91, 107, 134, .10) !important; border-color: rgba(91, 107, 134, .32) !important; }

/* [R93] ?????????OEM ???????? / ????????? */
.mkp-badge.d { color: #8a7a3f !important; background: rgba(160, 137, 58, .12) !important; border-color: rgba(160, 137, 58, .38) !important; border-style: dashed !important; }
.mkp-badge.d i { background: transparent !important; border: 1px solid currentColor !important; }
#mkPermHost .mkp-chip.u { border-color: rgba(91, 107, 134, .35) !important; color: #5b6b86 !important; background: rgba(91, 107, 134, .07) !important; }
#mkPermHost .mkp-badge i { width: 6px !important; height: 6px !important; border-radius: 50% !important; background: currentColor !important; font-style: normal !important; }
#mkPermHost .mkp-get {
  flex: 0 0 auto !important; height: 26px !important; padding: 0 12px !important;
  border-radius: 8px !important; cursor: pointer !important;
  border: 1px solid rgba(31, 157, 99, .38) !important;
  background: rgba(31, 157, 99, .08) !important; color: #148753 !important;
  font-size: 11.5px !important; font-weight: 700 !important; line-height: 1 !important; font-family: inherit !important;
}
#mkPermHost .mkp-get:hover { background: rgba(31, 157, 99, .16) !important; }
#mkPermHost .mkp-get[disabled] { opacity: .5 !important; cursor: default !important; }
#mkPermHost .mkp-empty { padding: 28px 10px !important; text-align: center !important; font-size: 12px !important; color: #8a94a8 !important; }
#mkPermHost .mkp-toast {
  position: absolute !important; left: 50% !important; bottom: 16px !important; transform: translateX(-50%) !important;
  max-width: 88% !important; padding: 8px 14px !important; border-radius: 10px !important;
  background: rgba(31, 41, 55, .94) !important; color: #fff !important; font-size: 11.5px !important;
  box-shadow: 0 12px 30px -14px rgba(0, 0, 0, .6) !important;
  opacity: 0 !important; pointer-events: none !important; transition: opacity .2s !important; white-space: nowrap !important;
  overflow: hidden !important; text-overflow: ellipsis !important;
}
#mkPermHost .mkp-toast.on { opacity: 1 !important; }
/* ---------- [R54-C] 分组：标准权限（中文名）在前 / 应用自定义·未识别权限折叠在后 ---------- */
#mkPermHost .mkp-group {
  display: flex !important; align-items: center !important; gap: 8px !important;
  margin: 12px 0 8px !important; padding: 0 2px !important;
}
#mkPermHost .mkp-gt { order: 1 !important; font-size: 11.5px !important; font-weight: 700 !important; color: #4d5b70 !important; white-space: nowrap !important; }
#mkPermHost .mkp-group::after { content: "" !important; order: 2 !important; flex: 1 1 auto !important; height: 1px !important; background: rgba(24, 43, 77, .10) !important; }
#mkPermHost .mkp-gc { order: 3 !important; font-size: 11px !important; font-weight: 600 !important; color: #8a94a8 !important; white-space: nowrap !important; }
#mkPermHost .mkp-gb {
  order: 4 !important; flex: 0 0 auto !important;
  height: 24px !important; padding: 0 11px !important; border-radius: 8px !important; cursor: pointer !important;
  border: 1px solid rgba(24, 43, 77, .14) !important; background: #ffffff !important; color: #4d5b70 !important;
  font-size: 11px !important; font-weight: 600 !important; line-height: 1 !important; font-family: inherit !important;
}
#mkPermHost .mkp-gb:hover { background: rgba(124, 92, 240, .08) !important; border-color: rgba(124, 92, 240, .40) !important; color: #6d4df0 !important; }
#mkPermHost .mkp-others { display: flex !important; flex-direction: column !important; gap: 6px !important; }
#mkPermHost .mkp-others[hidden] { display: none !important; }
#mkPermHost .mkp-others .mkp-row { opacity: .94 !important; height: 38px !important; }
#mkPermHost .mkp-others .mkp-ico { background: rgba(138, 148, 168, .13) !important; color: #7b8798 !important; }
#mkPermHost .mkp-others .mkp-raw { color: #a9b3c4 !important; }
#mkPermHost .mkp-others .mkp-badge { opacity: .85 !important; }
/* [R96] 每行「重新获取」后高亮该行 + 双按钮排布收紧（一行要放 获取 + 重新获取 两个按钮） */
#mkPermHost .mkp-row.mkp-flash { border-color: rgba(124, 92, 240, .60) !important; box-shadow: 0 0 0 3px rgba(124, 92, 240, .15) !important; }
#mkPermHost .mkp-get { padding: 0 9px !important; }
#mkPermHost .mkp-get.mkp-re { padding: 0 9px !important; }
#mkPermHost .mkp-row .mkp-badge { padding: 0 7px !important; }
@media (max-width: 780px) {
  #mkPermHost .mkp-get { padding: 0 6px !important; font-size: 11px !important; }
  #mkPermHost .mkp-badge { display: none !important; }
}
.mkp-get.is-off{opacity:.42;cursor:not-allowed;filter:grayscale(.5)}
.mkp-get.is-off:hover{border-color:var(--mkp-line,#26303d)}