/* ?? ?????????? (v2.0) * ?????outpost-light?Harbor??????+ ?????????? themes.ts ?? * ?????design-system/outpost.md / MASTER.md */ /* JetBrains Mono ? KPI / coords / IDs (tabular-nums) */ @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap'); :root { /* ?? ??????????????????? ?? */ --mg-status-success: #22c55e; --mg-status-success-rgb: 34, 197, 94; --mg-status-warning: #f59e0b; --mg-status-warning-rgb: 245, 158, 11; --mg-status-danger: #ef4444; --mg-status-danger-rgb: 239, 68, 68; --mg-status-info: #3b82f6; --mg-status-info-rgb: 59, 130, 246; --mg-status-idle: #94a3b8; --mg-status-idle-rgb: 148, 163, 184; /* ?? ????????ECharts / Progress ?? ?? */ --mg-data-c1: #3b82f6; --mg-data-c2: #22c55e; --mg-data-c3: #a855f7; --mg-data-c4: #f59e0b; --mg-data-c5: #ef4444; --mg-data-c6: #06b6d4; --mg-data-c7: #ec4899; --mg-data-c8: #84cc16; /* ?? ????Outpost?Inter ?????? */ --mg-font-sans: 'Inter', 'PingFang SC', 'Microsoft YaHei', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --mg-font-mono: 'JetBrains Mono', 'Cascadia Mono', 'SF Mono', Menlo, Consolas, monospace; /* ?? ????/ ???? ???????????????????????? * ?????????????????????????????????????????? * ??????#7c5cff ????(periwinkle) #5e7cff ?????????????? / ????*/ --lg-primary: #7d4dff; --lg-primary-rgb: 125, 77, 255; --lg-primary-hover: #9c79ff; --lg-primary-hover-rgb: 156, 121, 255; --lg-primary-deep: #5a2fc4; /* accent ????????????????????????/????????????*/ --lg-accent: #8b5cff; --lg-accent-rgb: 139, 92, 255; --lg-deep-rgb: 14, 9, 28; --lg-aside-rgb: 30, 20, 58; --lg-card-rgb: 36, 23, 68; --lg-text: #eef0ff; --lg-text-soft: rgba(220, 220, 250, 0.82); --lg-text-dim: rgba(196, 198, 235, 0.58); /* default = outpost-light pure white (themes.ts overrides at runtime) */ --mg-primary: #7c3aed; --mg-primary-rgb: 124, 58, 237; --mg-primary-hover: #8b5cf6; --mg-primary-hover-rgb: 139, 92, 246; --mg-primary-active: #5b21b6; --mg-accent: #a855f7; --mg-accent-rgb: 168, 85, 247; --mg-primary-light-3: #a78bfa; --mg-primary-light-5: #c4b5fd; --mg-primary-light-7: #ddd6fe; --mg-primary-light-8: #ede9fe; --mg-primary-light-9: #f5f3ff; --mg-primary-dark-2: #6d28d9; --mg-bg-app-1: #ffffff; --mg-bg-app-2: #ffffff; --mg-bg-app-3: #ffffff; --mg-bg-app-deep-rgb: 255, 255, 255; --mg-bg-aside-1: #ffffff; --mg-bg-aside-2: #fafafa; --mg-bg-aside-rgb: 255, 255, 255; --mg-bg-card-rgb: 38, 24, 78; --mg-bg-card-hi-rgb: 58, 38, 110; --mg-bg-card-darker-rgb: 20, 12, 48; --mg-shadow-rgb: 8, 2, 24; --mg-text-tint-rgb: 242, 232, 255; --mg-text-hi-rgb: 220, 200, 252; --mg-orb-a-opacity: 0.55; --mg-orb-b-opacity: 0.50; --mg-orb-c-opacity: 0.40; /* ?? ???????????????????????? ?? */ --mg-glass-bg: rgba(255, 255, 255, 0.06); --mg-glass-bg-hover: rgba(255, 255, 255, 0.10); --mg-glass-bg-active: rgba(255, 255, 255, 0.14); --mg-glass-border: rgba(255, 255, 255, 0.18); --mg-glass-border-hi: rgba(255, 255, 255, 0.28); --mg-glass-shadow: 0 10px 28px rgba(var(--mg-shadow-rgb), 0.55), 0 0 22px rgba(var(--mg-primary-rgb), 0.18), 0 0 0 1px rgba(255, 255, 255, 0.06) inset, 0 1px 0 rgba(255, 255, 255, 0.12) inset; --mg-glass-shadow-hi: 0 18px 44px rgba(var(--mg-shadow-rgb), 0.70), 0 0 36px rgba(var(--mg-primary-hover-rgb), 0.30), 0 0 0 1px rgba(var(--mg-accent-rgb), 0.25) inset, 0 1px 0 rgba(255, 255, 255, 0.22) inset; --mg-glass-blur: blur(20px) saturate(160%); --mg-glass-blur-hi: blur(30px) saturate(180%); --mg-radius-sm: 8px; --mg-radius: 14px; --mg-radius-lg: 20px; --mg-radius-xl: 24px; /* ?? ?? ?? */ --mg-text-light: #ffffff; --mg-text-muted: rgba(255, 255, 255, 0.7); --mg-text-dim: rgba(255, 255, 255, 0.5); --mg-text-faint: rgba(255, 255, 255, 0.35); --mg-divider: rgba(255, 255, 255, 0.08); /* ?? Element Plus ???? ?? */ --el-color-primary: var(--mg-primary); --el-color-primary-rgb: var(--mg-primary-rgb); --el-color-primary-light-3: var(--mg-primary-light-3); --el-color-primary-light-5: var(--mg-primary-light-5); --el-color-primary-light-7: var(--mg-primary-light-7); --el-color-primary-light-8: var(--mg-primary-light-8); --el-color-primary-light-9: var(--mg-primary-light-9); --el-color-primary-dark-2: var(--mg-primary-dark-2); --mg-transition: all .25s cubic-bezier(.25, .8, .25, 1); /* ?? ????????veil ?? ?? * ????????/ ?? / ??????rgba(255,255,255,.0x) ????????? * ??????????????????fame-lavender ????????????veil * ????????????????????????????fame-lavender ?????? * ??????????????????? 6 ?????????*/ --mg-veil-1: rgba(255, 255, 255, 0.05); --mg-veil-2: rgba(255, 255, 255, 0.08); --mg-veil-3: rgba(255, 255, 255, 0.12); --mg-veil-border: rgba(255, 255, 255, 0.12); --mg-veil-border-hi: rgba(255, 255, 255, 0.20); /* ?? ???? chrome????Harbor ????/???? themes.ts ???? ?? * ???? themes.ts applyThemeVars ???????????*/ --me-chrome-1: #ffffff; --me-chrome-2: #ffffff; --me-chrome-rgb: 255, 255, 255; --me-border: rgba(15, 23, 42, 0.10); --me-text: rgba(15, 23, 42, 0.92); --me-text-muted: rgba(15, 23, 42, 0.52); --me-surface: rgba(15, 23, 42, 0.03); --me-hover: rgba(30, 58, 95, 0.06); --me-active-glow: rgba(30, 58, 95, 0.14); --me-card-bg: #ffffff; --me-card-border: #e5e7eb; --me-inset: #f8fafc; /* ?? ????????????? * ???????????? + ???fame-lavender??????+ ??????????*/ --mg-action-bg: rgba(76, 29, 149, 0.45); --mg-action-bg-hover: rgba(109, 40, 217, 0.75); --mg-action-border: rgba(167, 139, 250, 0.55); --mg-action-border-hi: rgba(196, 181, 253, 0.9); } html { --el-color-primary: var(--mg-primary) !important; --el-color-primary-rgb: var(--mg-primary-rgb) !important; --el-color-primary-light-3: var(--mg-primary-light-3) !important; --el-color-primary-light-5: var(--mg-primary-light-5) !important; --el-color-primary-light-7: var(--mg-primary-light-7) !important; --el-color-primary-light-8: var(--mg-primary-light-8) !important; --el-color-primary-light-9: var(--mg-primary-light-9) !important; --el-color-primary-dark-2: var(--mg-primary-dark-2) !important; } body { margin: 0; font-family: var(--mg-font-sans); color: var(--mg-text-light); background: radial-gradient(ellipse at 20% 0%, rgba(var(--mg-primary-hover-rgb), 0.45) 0%, transparent 55%), radial-gradient(ellipse at 80% 100%, rgba(var(--mg-bg-card-rgb), 0.65) 0%, transparent 55%), linear-gradient(135deg, var(--mg-bg-app-1) 0%, var(--mg-bg-app-2) 50%, var(--mg-bg-app-3) 100%); background-attachment: fixed; min-height: 100vh; transition: background-color .35s ease; } #app { min-height: 100vh; position: relative; } /* ?? ????????(????????????? ?? */ #app::before { content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0; background-image: linear-gradient(rgba(var(--mg-accent-rgb), 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--mg-accent-rgb), 0.05) 1px, transparent 1px); background-size: 48px 48px, 48px 48px; mask-image: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.85) 0%, transparent 75%); -webkit-mask-image: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.85) 0%, transparent 75%); opacity: 0.55; } /* ?? ???????????? ?? */ #app::after { content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0; background-image: repeating-linear-gradient( 0deg, rgba(255, 255, 255, 0.018) 0, rgba(255, 255, 255, 0.018) 1px, transparent 1px, transparent 3px ); mix-blend-mode: overlay; } /* ????router ???????? */ .app-shell, .login-page { position: relative; z-index: 1; } /* ?? ?????????? */ .mg-glass { background: var(--mg-glass-bg); border: 1px solid var(--mg-glass-border); border-radius: var(--mg-radius); backdrop-filter: var(--mg-glass-blur); -webkit-backdrop-filter: var(--mg-glass-blur); box-shadow: var(--mg-glass-shadow); transition: var(--mg-transition); } .mg-glass:hover { background: var(--mg-glass-bg-hover); border-color: var(--mg-glass-border-hi); box-shadow: var(--mg-glass-shadow-hi); transform: translateY(-2px); } .mg-glass-lg { background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.22); border-radius: var(--mg-radius-lg); backdrop-filter: var(--mg-glass-blur-hi); -webkit-backdrop-filter: var(--mg-glass-blur-hi); box-shadow: 0 30px 80px rgba(var(--mg-shadow-rgb), 0.55), 0 0 0 1px rgba(255, 255, 255, 0.25) inset, 0 1px 0 rgba(255, 255, 255, 0.4) inset; } /* ?? ????? ?? */ .el-button--primary { --el-button-bg-color: var(--mg-primary); --el-button-border-color: var(--mg-primary); --el-button-hover-bg-color: var(--mg-primary-hover); --el-button-hover-border-color: var(--mg-primary-hover); --el-button-active-bg-color: var(--mg-primary-active); --el-button-active-border-color: var(--mg-primary-active); } /* ?? ?????? */ ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-thumb { background: rgba(var(--mg-accent-rgb), 0.4); border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { background: rgba(var(--mg-accent-rgb), 0.7); } ::-webkit-scrollbar-track { background: transparent; } ::selection { background: rgba(var(--mg-accent-rgb), 0.4); color: #fff; } a { color: var(--mg-accent); } a:hover { color: rgba(var(--mg-accent-rgb), 0.85); } /* ?? ??????Element Plus ????/??????????N+2 UI ????? * ??????industrial-purple (???? ????`.mg-content` ??`--el-text-color-primary` * ???? (line ~290) ????Table ????????????element-plus ?????? * `var(--el-fill-color-light)` (#f5f7fa)?`var(--el-bg-color)` (#fff) ???????? * ?????? FieldMemberEditor `.fme-desc`?ProjectPropertiesView .pp-desc?? * `background: var(--el-fill-color-light)` + `color: var(--el-text-color-primary)` ???? * ???? + ???????? * * ???? element-plus ??/???????? `--mg-bg-card-rgb` ?????? * - industrial-purple ??--mg-bg-card-rgb = "38, 24, 78" ???? 35-55% ???????? OK?? * - fame-lavender ??--mg-bg-card-rgb = "255, 255, 255" ???? 35-55% ???? fame-lavender * ??#2d1b69 ???line ~1069 ???????? * ????????????????????*/ .mg-content { --el-fill-color-blank: transparent; --el-fill-color-light: rgba(var(--mg-bg-card-rgb), 0.45); --el-fill-color-lighter: rgba(var(--mg-bg-card-rgb), 0.35); --el-fill-color: rgba(var(--mg-bg-card-rgb), 0.55); --el-fill-color-dark: rgba(var(--mg-bg-card-rgb), 0.65); --el-fill-color-darker: rgba(var(--mg-bg-card-rgb), 0.75); --el-bg-color: rgba(var(--mg-bg-card-rgb), 0.55); --el-bg-color-page: transparent; --el-bg-color-overlay: rgba(var(--mg-bg-card-rgb), 0.92); /* ??/???????? alpha ????????????? */ --el-dialog-bg-color: rgb(var(--mg-bg-card-rgb)); --el-drawer-bg-color: rgb(var(--mg-bg-card-rgb)); --el-border-color: rgba(255, 255, 255, 0.14); --el-border-color-light: rgba(255, 255, 255, 0.10); --el-border-color-lighter: rgba(255, 255, 255, 0.08); --el-border-color-extra-light: rgba(255, 255, 255, 0.06); --el-text-color-secondary: rgba(var(--mg-text-hi-rgb), 0.7); --el-text-color-placeholder: rgba(255, 255, 255, 0.40); --el-text-color-disabled: rgba(255, 255, 255, 0.30); } /* el-drawer????????????????? ? * EP ????background-color: var(--el-drawer-bg-color)?? .el-drawer ?????? * ????????var(--el-dialog-bg-color, var(--el-bg-color))??????0.55 ????? * ?????? modal-class="tm-detail-drawer-modal"?? el-drawer ??class ???? * ??????inheritAttrs=false + Teleport ????????? theme ?????? * ?? alpha ??rgb() ?????????*/ .mg-content .el-drawer, .tm-detail-drawer-modal .el-drawer { --el-drawer-bg-color: rgb(var(--mg-bg-card-rgb)) !important; --el-dialog-bg-color: rgb(var(--mg-bg-card-rgb)) !important; background: rgb(var(--mg-bg-card-rgb)) !important; background-color: rgb(var(--mg-bg-card-rgb)) !important; opacity: 1 !important; } .tm-detail-drawer-modal .el-drawer::before { content: ''; position: absolute; inset: 0; background: rgb(var(--mg-bg-card-rgb)) !important; z-index: 0; pointer-events: none; } .tm-detail-drawer-modal .el-drawer > * { position: relative; z-index: 1; } /* FieldMemberEditor / ProjectPropertiesView ????????????? * ?? scoped css ??`background: var(--el-fill-color-light)` + `color: var(--el-text-color-primary)`?? * ???? `.mg-content` ???????? --mg-bg-card-rgb??????????Vue scoped ???? * ????????????????? `.fme-desc` ??.mg-content ???????????????*/ .mg-content .fme-desc { background: rgba(var(--mg-bg-card-rgb), 0.55) !important; color: var(--mg-text-light) !important; border-left-color: var(--mg-accent) !important; } .mg-content .fme-path { color: var(--mg-text-light) !important; } .mg-content .fme-path-empty { color: var(--mg-text-muted) !important; } /* ??? ?admin ?? tabs???????? N+2 ?????????????????????????????????? * ????????SceneManagerView) ?? type="border-card" + ???? tabs ?? * ?? .admin-tabs ????????/ ???? / ???????? tab ???????? * * ????el-tabs class="admin-tabs" type="border-card"> ... * - ??????? + ???????? * - tab ???? + ?????? * - tab ?????????hover ????????????+ ?????? * ?? .mg-content ???????????????????*/ .mg-content .admin-tabs.el-tabs--border-card { height: 100%; background: rgba(var(--mg-bg-card-rgb), 0.45) !important; border: 1px solid rgba(255, 255, 255, 0.10) !important; border-radius: var(--mg-radius); box-shadow: var(--mg-glass-shadow); backdrop-filter: var(--mg-glass-blur); -webkit-backdrop-filter: var(--mg-glass-blur); overflow: hidden; display: flex; flex-direction: column; } .mg-content .admin-tabs.el-tabs--border-card > .el-tabs__header { background: rgba(var(--mg-bg-card-darker-rgb), 0.35) !important; border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important; margin: 0; } .mg-content .admin-tabs.el-tabs--border-card > .el-tabs__header .el-tabs__nav { border: 0 !important; } .mg-content .admin-tabs.el-tabs--border-card > .el-tabs__header .el-tabs__item { background: transparent !important; color: rgba(220, 200, 240, 0.75) !important; border: 0 !important; height: 42px; line-height: 42px; font-size: 13.5px; letter-spacing: 0.5px; padding: 0 18px !important; transition: background .2s ease, color .2s ease; } .mg-content .admin-tabs.el-tabs--border-card > .el-tabs__header .el-tabs__item:hover { background: rgba(var(--mg-accent-rgb), 0.10) !important; color: #fff !important; } .mg-content .admin-tabs.el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active { background: rgba(var(--mg-accent-rgb), 0.18) !important; color: #fff !important; font-weight: 600; box-shadow: inset 0 -2px 0 0 var(--mg-accent); } .mg-content .admin-tabs.el-tabs--border-card > .el-tabs__content { flex: 1; padding: 14px; overflow: auto; background: transparent !important; } .mg-content .admin-tabs.el-tabs--border-card .el-tab-pane { height: 100%; } /* fame-lavender ????admin-tabs ?????? + ????+ ???? */ :root[data-shell="outpost"] .mg-content .admin-tabs.el-tabs--border-card { background: #ffffff !important; border: 1px solid rgba(124, 58, 237, 0.18) !important; box-shadow: 0 8px 24px rgba(124, 58, 237, 0.06) !important; } :root[data-shell="outpost"] .mg-content .admin-tabs.el-tabs--border-card > .el-tabs__header { background: rgba(124, 58, 237, 0.04) !important; border-bottom: 1px solid rgba(124, 58, 237, 0.14) !important; } :root[data-shell="outpost"] .mg-content .admin-tabs.el-tabs--border-card > .el-tabs__header .el-tabs__item { color: #4a3d6e !important; } :root[data-shell="outpost"] .mg-content .admin-tabs.el-tabs--border-card > .el-tabs__header .el-tabs__item:hover { background: rgba(124, 58, 237, 0.08) !important; color: #7c3aed !important; } :root[data-shell="outpost"] .mg-content .admin-tabs.el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active { background: rgba(124, 58, 237, 0.14) !important; color: #7c3aed !important; } /* Style A ? Ops Console?underline tabs?????????? border-card ??*/ .mg-content .admin-tabs.admin-tabs--ops { height: 100%; background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0; display: flex; flex-direction: column; overflow: hidden; } .mg-content .admin-tabs.admin-tabs--ops > .el-tabs__header { background: transparent !important; border-bottom: 1px solid var(--mg-veil-border, rgba(124, 58, 237, 0.14)) !important; margin: 0 0 8px; flex: none; } .mg-content .admin-tabs.admin-tabs--ops > .el-tabs__header .el-tabs__nav { border: 0 !important; } .mg-content .admin-tabs.admin-tabs--ops > .el-tabs__header .el-tabs__item { background: transparent !important; border: 0 !important; height: 36px; line-height: 36px; font-size: 13.5px; letter-spacing: 0.2px; padding: 0 16px !important; color: var(--mg-text-muted, #756d85) !important; font-weight: 500; box-shadow: none !important; } .mg-content .admin-tabs.admin-tabs--ops > .el-tabs__header .el-tabs__item:hover { color: var(--mg-primary, #7c3aed) !important; background: transparent !important; } .mg-content .admin-tabs.admin-tabs--ops > .el-tabs__header .el-tabs__item.is-active { color: var(--mg-primary, #7c3aed) !important; font-weight: 700; background: transparent !important; } .mg-content .admin-tabs.admin-tabs--ops > .el-tabs__header .el-tabs__active-bar { background: var(--mg-primary, #7c3aed); height: 2px; } .mg-content .admin-tabs.admin-tabs--ops > .el-tabs__content { flex: 1; padding: 0; overflow: hidden; background: transparent !important; min-height: 0; } .mg-content .admin-tabs.admin-tabs--ops .el-tab-pane { height: 100%; } :root[data-shell="outpost"] .mg-content .admin-tabs.admin-tabs--ops > .el-tabs__header .el-tabs__item { color: #4a3d6e !important; } :root[data-shell="outpost"] .mg-content .admin-tabs.admin-tabs--ops > .el-tabs__header .el-tabs__item:hover, :root[data-shell="outpost"] .mg-content .admin-tabs.admin-tabs--ops > .el-tabs__header .el-tabs__item.is-active { color: #7c3aed !important; } /* ?? ??????Element Plus ?????????? */ .mg-content .el-card { background: linear-gradient(135deg, rgba(var(--mg-bg-card-rgb), 0.55) 0%, rgba(var(--mg-bg-app-deep-rgb), 0.6) 100%) !important; border: 1px solid rgba(255, 255, 255, 0.14); border-radius: var(--mg-radius); backdrop-filter: var(--mg-glass-blur); -webkit-backdrop-filter: var(--mg-glass-blur); box-shadow: var(--mg-glass-shadow); color: var(--mg-text-light); transition: var(--mg-transition); overflow: hidden; } .mg-content .el-card:hover { background: linear-gradient(135deg, rgba(var(--mg-bg-card-hi-rgb), 0.65) 0%, rgba(var(--mg-bg-card-darker-rgb), 0.67) 100%) !important; border-color: rgba(255, 255, 255, 0.22); box-shadow: var(--mg-glass-shadow-hi); transform: translateY(-2px); } .mg-content .el-card.no-hover:hover { transform: none; } .mg-content .el-card__header { background: rgba(255, 255, 255, 0.04); border-bottom: 1px solid rgba(255, 255, 255, 0.1); color: var(--mg-text-light); font-weight: 600; padding: 14px 18px; } .mg-content .el-card__body { background: transparent !important; color: var(--mg-text-light); } /* ????card?? ConfigPageBase ????????????*/ .mg-content .el-card .el-card { background: rgba(255, 255, 255, 0.04) !important; border-color: rgba(255, 255, 255, 0.1); box-shadow: none; } .mg-content .el-card .el-card:hover { background: rgba(255, 255, 255, 0.06) !important; transform: none; box-shadow: none; } .mg-content h1, .mg-content h2, .mg-content h3 { color: var(--mg-text-light); margin-top: 0; } .mg-content p { color: var(--mg-text-muted); } /* el-statistic ?????? */ .mg-content .el-statistic__head { color: var(--mg-text-muted); } .mg-content .el-statistic__number { color: var(--mg-text-light); } .mg-content .el-statistic__content { color: var(--mg-text-light); } /* el-tabs ?????SimpleLite ??????/??/???? */ .mg-content .el-tabs { --el-text-color-primary: #fff; } .mg-content .el-tabs__item { color: rgba(255, 255, 255, 0.82) !important; } .mg-content .el-tabs__item:hover { color: #fff !important; } .mg-content .el-tabs__item.is-active { color: #fff !important; font-weight: 600; } .mg-content .el-tabs__active-bar { background-color: var(--mg-accent) !important; } .mg-content .el-tabs__nav-wrap::after { background-color: rgba(255, 255, 255, 0.14) !important; } /* el-table ?????? */ .mg-content .el-table, .mg-content .el-table tr, .mg-content .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell { background: transparent !important; } .mg-content .el-table { --el-table-bg-color: transparent; --el-table-tr-bg-color: transparent; --el-table-header-bg-color: transparent; --el-table-row-hover-bg-color: rgba(var(--mg-accent-rgb), 0.18); --el-table-border-color: rgba(255, 255, 255, 0.1); --el-table-header-text-color: rgba(255, 255, 255, 0.7); --el-table-text-color: var(--mg-text-light); --el-fill-color-blank: transparent; --el-fill-color-light: rgba(255, 255, 255, 0.04); color: var(--mg-text-light) !important; } .mg-content .el-table th.el-table__cell { background: rgba(255, 255, 255, 0.06) !important; color: rgba(255, 255, 255, 0.75) !important; border-bottom-color: rgba(255, 255, 255, 0.12) !important; } .mg-content .el-table td.el-table__cell { background: transparent !important; color: var(--mg-text-light) !important; border-bottom-color: rgba(255, 255, 255, 0.08) !important; } .mg-content .el-table--striped .el-table__body tr:nth-child(2n) td.el-table__cell { background: rgba(255, 255, 255, 0.03) !important; } .mg-content .el-table tr:hover > td.el-table__cell, .mg-content .el-table__body tr.hover-row > td.el-table__cell { background: rgba(var(--mg-accent-rgb), 0.18) !important; } .mg-content .el-table__empty-block { background: transparent; color: var(--mg-text-dim); } .mg-content .el-table__inner-wrapper::before, .mg-content .el-table::before { background: rgba(255, 255, 255, 0.1) !important; } /* el-input ?????? (admin ???? */ .mg-content .el-input__wrapper, .mg-content .el-textarea__inner { background: rgba(255, 255, 255, 0.06) !important; box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.18) inset !important; } .mg-content .el-input__wrapper.is-focus { box-shadow: 0 0 0 1px rgba(var(--mg-accent-rgb), 0.7) inset, 0 0 16px rgba(var(--mg-primary-hover-rgb), 0.35) !important; } .mg-content .el-input__inner { color: var(--mg-text-light) !important; } .mg-content .el-input__inner::placeholder { color: var(--mg-text-faint); } /* el-form-item label */ .mg-content .el-form-item__label { color: var(--mg-text-muted) !important; } /* el-divider */ .mg-content .el-divider__text { background: transparent !important; color: var(--mg-text-muted); } .mg-content .el-divider { background: var(--mg-divider); } /* el-tag ????????????*/ .mg-content .el-tag { background: rgba(var(--mg-accent-rgb), 0.18); color: rgba(var(--mg-text-tint-rgb), 1); border-color: rgba(var(--mg-accent-rgb), 0.4); } .mg-content .el-tag--success { background: rgba(111, 143, 76, 0.22); color: #c0d99c; border-color: rgba(111, 143, 76, 0.5); } .mg-content .el-tag--warning { background: rgba(201, 138, 29, 0.22); color: #f5cf85; border-color: rgba(201, 138, 29, 0.5); } .mg-content .el-tag--danger { background: rgba(179, 50, 79, 0.22); color: #ff9bb8; border-color: rgba(179, 50, 79, 0.5); } .mg-content .el-tag--info { background: rgba(122, 107, 135, 0.22); color: #c9bdd6; border-color: rgba(122, 107, 135, 0.5); } /* el-descriptions ??????*/ .mg-content .el-descriptions { --el-text-color-primary: #fff; --el-text-color-regular: var(--mg-text-muted); --el-border-color-lighter: rgba(255, 255, 255, 0.12); --el-fill-color-blank: transparent; color: var(--mg-text-light); } .mg-content .el-descriptions__body, .mg-content .el-descriptions__table { background: transparent !important; } .mg-content .el-descriptions__label, .mg-content .el-descriptions__cell.is-bordered-label { background: rgba(255, 255, 255, 0.05) !important; color: var(--mg-text-muted) !important; border-color: rgba(255, 255, 255, 0.12) !important; } .mg-content .el-descriptions__content, .mg-content .el-descriptions__cell.is-bordered-content { background: transparent !important; color: #fff !important; border-color: rgba(255, 255, 255, 0.12) !important; } .mg-content .el-descriptions__title { color: #fff; } /* el-progress ????*/ .mg-content .el-progress-bar__outer { background: rgba(255, 255, 255, 0.1); } .mg-content .el-progress-bar__inner { background: linear-gradient(90deg, var(--mg-primary-hover) 0%, var(--mg-accent) 100%); } /* el-alert ????*/ .mg-content .el-alert { background: rgba(255, 255, 255, 0.06) !important; border: 1px solid rgba(255, 255, 255, 0.14); color: var(--mg-text-light); } .mg-content .el-alert__title, .mg-content .el-alert__description { color: var(--mg-text-light) !important; } /* el-collapse ????*/ .mg-content .el-collapse { border-color: rgba(255, 255, 255, 0.1); --el-collapse-header-bg-color: transparent; --el-collapse-content-bg-color: transparent; --el-collapse-header-text-color: #fff; --el-collapse-content-text-color: var(--mg-text-light); } .mg-content .el-collapse-item__header, .mg-content .el-collapse-item__wrap { background: transparent !important; border-color: rgba(255, 255, 255, 0.1) !important; color: var(--mg-text-light) !important; } /* el-radio / el-checkbox ?????? */ .mg-content .el-radio__label, .mg-content .el-checkbox__label { color: var(--mg-text-light) !important; } .mg-content .el-radio__inner, .mg-content .el-checkbox__inner { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.32); } /* el-radio-button */ .mg-content .el-radio-button__inner { background: rgba(255, 255, 255, 0.06) !important; border-color: rgba(255, 255, 255, 0.18) !important; color: var(--mg-text-light) !important; } .mg-content .el-radio-button.is-active .el-radio-button__inner { background: var(--mg-primary) !important; border-color: var(--mg-primary) !important; color: #fff !important; } /* el-select ????*/ .mg-content .el-select .el-input__wrapper { background: rgba(255, 255, 255, 0.06) !important; box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.18) inset !important; } /* el-input-number ????*/ .mg-content .el-input-number .el-input-number__decrease, .mg-content .el-input-number .el-input-number__increase { background: rgba(255, 255, 255, 0.06) !important; color: var(--mg-text-muted) !important; border-color: rgba(255, 255, 255, 0.15) !important; } /* el-switch ????*/ .mg-content .el-switch.is-checked .el-switch__core { background: var(--mg-primary); border-color: var(--mg-primary); } /* el-statistic ???? */ .mg-content .el-statistic .el-statistic__head { color: var(--mg-text-muted); font-size: 13px; } .mg-content .el-statistic .el-statistic__number, .mg-content .el-statistic .el-statistic__content { color: #fff; font-weight: 600; text-shadow: 0 2px 8px rgba(var(--mg-primary-hover-rgb), 0.4); } /* KPI ??????el-row class="kpi-row"> ?? el-statistic ??????*/ .mg-content .kpi-row .el-statistic, .mg-content .kpi-card { background: linear-gradient(135deg, rgba(var(--mg-bg-card-rgb), 0.55) 0%, rgba(var(--mg-bg-app-deep-rgb), 0.6) 100%); border: 1px solid rgba(255, 255, 255, 0.14); border-radius: var(--mg-radius); padding: 16px 18px; backdrop-filter: var(--mg-glass-blur); -webkit-backdrop-filter: var(--mg-glass-blur); box-shadow: var(--mg-glass-shadow); transition: var(--mg-transition); } .mg-content .kpi-row .el-statistic:hover, .mg-content .kpi-card:hover { background: linear-gradient(135deg, rgba(var(--mg-bg-card-hi-rgb), 0.65) 0%, rgba(var(--mg-bg-card-darker-rgb), 0.67) 100%); transform: translateY(-2px); box-shadow: var(--mg-glass-shadow-hi); border-color: rgba(255, 255, 255, 0.22); } /* el-pagination ????*/ .mg-content .el-pagination { --el-pagination-bg-color: transparent; --el-pagination-button-bg-color: rgba(255, 255, 255, 0.06); --el-pagination-button-color: var(--mg-text-light); --el-pagination-hover-color: var(--mg-accent); color: var(--mg-text-muted); } /* el-dropdown-menu ?? */ .el-dropdown-menu { background: rgba(var(--mg-bg-aside-rgb), 0.92) !important; backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.12) !important; } .el-dropdown-menu__item { color: rgba(255, 255, 255, 0.8) !important; } .el-dropdown-menu__item:hover { background: rgba(var(--mg-accent-rgb), 0.18) !important; color: #fff !important; } /* el-message / ???????? Element Plus ?????????????? */ /* el-button default ???????? */ .mg-content .el-button:not(.el-button--primary):not(.el-button--success):not(.el-button--warning):not(.el-button--danger):not(.el-button--text) { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.2); color: var(--mg-text-light); } .mg-content .el-button:not(.el-button--primary):not(.el-button--success):not(.el-button--warning):not(.el-button--danger):not(.el-button--text):hover { background: rgba(var(--mg-accent-rgb), 0.18); border-color: rgba(var(--mg-accent-rgb), 0.5); color: #fff; } /* h2 ??????????????????*/ .el-dialog h2 { color: var(--mg-primary-active); } .el-dialog { border-radius: var(--mg-radius); } /* ??????????????? ??????????+ ???? + ???? ??????????????? */ :root[data-theme="industrial-purple"] { --mg-orb-a-opacity: 0.55; --mg-orb-b-opacity: 0.50; --mg-orb-c-opacity: 0.42; --mg-glass-bg: rgba(28, 14, 62, 0.62); --mg-glass-bg-hover: rgba(44, 22, 88, 0.72); --mg-glass-border: rgba(var(--mg-accent-rgb), 0.18); --mg-glass-border-hi: rgba(var(--mg-accent-rgb), 0.55); --mg-glass-shadow: 0 12px 32px rgba(0, 0, 0, 0.55), 0 0 24px rgba(var(--mg-primary-rgb), 0.25), 0 0 0 1px rgba(var(--mg-accent-rgb), 0.10) inset, 0 1px 0 rgba(255, 255, 255, 0.14) inset; --mg-glass-shadow-hi: 0 20px 50px rgba(0, 0, 0, 0.68), 0 0 42px rgba(var(--mg-primary-hover-rgb), 0.42), 0 0 0 1px rgba(var(--mg-accent-rgb), 0.32) inset, 0 1px 0 rgba(255, 255, 255, 0.24) inset; --mg-text-muted: rgba(255, 255, 255, 0.86); --mg-text-dim: rgba(220, 200, 252, 0.70); } :root[data-theme="industrial-purple"] body { background: radial-gradient(circle at 8% 8%, rgba(var(--mg-primary-hover-rgb), 0.55) 0%, transparent 48%), radial-gradient(ellipse at 92% 18%, rgba(var(--mg-accent-rgb), 0.28) 0%, transparent 42%), radial-gradient(circle at 78% 88%, rgba(var(--mg-primary-rgb), 0.55) 0%, transparent 46%), radial-gradient(ellipse at 18% 92%, rgba(99, 102, 241, 0.30) 0%, transparent 48%), linear-gradient(135deg, var(--mg-bg-app-1) 0%, var(--mg-bg-app-2) 48%, var(--mg-bg-app-3) 100%); } /* ??????:????,?????? */ :root[data-theme="industrial-purple"] #app::before { background-image: linear-gradient(rgba(var(--mg-accent-rgb), 0.07) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--mg-accent-rgb), 0.07) 1px, transparent 1px); opacity: 0.85; } :root[data-theme="industrial-purple"] #app::after { background-image: repeating-linear-gradient( 0deg, rgba(var(--mg-accent-rgb), 0.03) 0, rgba(var(--mg-accent-rgb), 0.03) 1px, transparent 1px, transparent 3px ); } /* ??????????*/ :root[data-theme="industrial-purple"] .mg-content .el-card, :root[data-theme="industrial-purple"] .mg-content .kpi-row .el-statistic, :root[data-theme="industrial-purple"] .mg-content .kpi-card { position: relative; background: linear-gradient(145deg, rgba(var(--mg-bg-card-rgb), 0.78) 0%, rgba(var(--mg-bg-app-deep-rgb), 0.86) 100%) !important; border: 1px solid rgba(var(--mg-accent-rgb), 0.14) !important; border-radius: var(--mg-radius) !important; box-shadow: 0 12px 30px rgba(0, 0, 0, 0.5), 0 0 22px rgba(var(--mg-primary-rgb), 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.10) !important; backdrop-filter: blur(18px) saturate(160%); -webkit-backdrop-filter: blur(18px) saturate(160%); overflow: hidden; } /* ?? 1px ??????????????*/ :root[data-theme="industrial-purple"] .mg-content .el-card::before, :root[data-theme="industrial-purple"] .mg-content .kpi-card::before { content: ''; position: absolute; top: 0; left: 10%; right: 10%; height: 1px; background: linear-gradient(90deg, transparent 0%, rgba(var(--mg-accent-rgb), 0.55) 30%, rgba(255, 255, 255, 0.85) 50%, rgba(var(--mg-accent-rgb), 0.55) 70%, transparent 100%); pointer-events: none; opacity: 0.7; } :root[data-theme="industrial-purple"] .mg-content .el-card:hover, :root[data-theme="industrial-purple"] .mg-content .kpi-row .el-statistic:hover, :root[data-theme="industrial-purple"] .mg-content .kpi-card:hover { background: linear-gradient(145deg, rgba(var(--mg-bg-card-hi-rgb), 0.85) 0%, rgba(var(--mg-bg-card-darker-rgb), 0.92) 100%) !important; border-color: rgba(var(--mg-accent-rgb), 0.42) !important; box-shadow: 0 18px 40px rgba(0, 0, 0, 0.6), 0 0 38px rgba(var(--mg-primary-hover-rgb), 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.18) !important; } :root[data-theme="industrial-purple"] .mg-content .el-card .el-card { background: rgba(var(--mg-bg-card-darker-rgb), 0.55) !important; } :root[data-theme="industrial-purple"] .mg-content .el-card .el-card::before { display: none; } :root[data-theme="industrial-purple"] .mg-content .el-statistic__head { color: rgba(255, 255, 255, 0.78) !important; } :root[data-theme="industrial-purple"] .mg-content .el-statistic__number, :root[data-theme="industrial-purple"] .mg-content .el-statistic__content { background: linear-gradient(135deg, #ffffff 0%, rgba(var(--mg-accent-rgb), 1) 100%); -webkit-background-clip: text; background-clip: text; color: transparent !important; text-shadow: 0 0 24px rgba(var(--mg-primary-hover-rgb), 0.5); } :root[data-theme="industrial-purple"] .mg-content .el-table th.el-table__cell { background: rgba(var(--mg-bg-card-darker-rgb), 0.75) !important; } :root[data-theme="industrial-purple"] .mg-content .el-input__wrapper, :root[data-theme="industrial-purple"] .mg-content .el-textarea__inner { background: rgba(var(--mg-bg-card-darker-rgb), 0.55) !important; box-shadow: 0 0 0 1px rgba(var(--mg-accent-rgb), 0.18) inset !important; } /* ?????????? */ :root[data-theme="industrial-purple"] .el-button--primary { background: linear-gradient(135deg, var(--mg-primary) 0%, var(--mg-primary-hover) 100%) !important; border: none !important; box-shadow: 0 8px 22px rgba(var(--mg-primary-rgb), 0.45), 0 0 0 1px rgba(255, 255, 255, 0.18) inset !important; position: relative; overflow: hidden; } :root[data-theme="industrial-purple"] .el-button--primary::after { content: ''; position: absolute; top: 0; left: -120%; width: 80%; height: 100%; background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.0) 30%, rgba(255, 255, 255, 0.35) 50%, rgba(255, 255, 255, 0.0) 70%, transparent 100%); transition: left .6s cubic-bezier(.25, .8, .25, 1); } :root[data-theme="industrial-purple"] .el-button--primary:hover::after { left: 120%; } :root[data-theme="industrial-purple"] .el-button--primary:hover { box-shadow: 0 12px 32px rgba(var(--mg-primary-rgb), 0.6), 0 0 28px rgba(var(--mg-primary-hover-rgb), 0.55), 0 0 0 1px rgba(var(--mg-accent-rgb), 0.4) inset !important; transform: translateY(-1px); } /* el-tag ??????*/ :root[data-theme="industrial-purple"] .mg-content .el-tag { background: linear-gradient(135deg, rgba(var(--mg-primary-rgb), 0.25), rgba(var(--mg-accent-rgb), 0.18)); color: #fff; border-color: rgba(var(--mg-accent-rgb), 0.45); } /* ??????????????KPI????? */ .mg-neon-text { background: linear-gradient(135deg, #ffffff 0%, var(--mg-accent) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: 0 0 18px rgba(var(--mg-primary-hover-rgb), 0.45); } /* ?????? orb ??????????????*/ @keyframes mg-pulse-glow { 0%, 100% { box-shadow: 0 0 0 0 rgba(var(--mg-accent-rgb), 0.35), 0 0 28px rgba(var(--mg-primary-hover-rgb), 0.35); } 50% { box-shadow: 0 0 0 6px rgba(var(--mg-accent-rgb), 0), 0 0 38px rgba(var(--mg-primary-hover-rgb), 0.55); } } /* ???????????????????????????????????????????????????????????????????? * ???? (fame-lavender) ? ???FAME ???????? * ?????????????????????????????? * ????????????????? * ?????orb / ?? / ????/ ?????? * ???????????????????????????????????????????????????????????????????? */ :root[data-shell="outpost"] { --mg-glass-bg: rgba(255, 255, 255, 0.95); --mg-glass-bg-hover: rgba(249, 246, 255, 1); --mg-glass-bg-active: rgba(245, 240, 251, 1); --mg-glass-border: rgba(124, 58, 237, 0.14); --mg-glass-border-hi: rgba(124, 58, 237, 0.35); --mg-glass-shadow: 0 4px 14px rgba(45, 27, 105, 0.06), 0 0 0 1px rgba(124, 58, 237, 0.06); --mg-glass-shadow-hi: 0 8px 24px rgba(45, 27, 105, 0.10), 0 0 0 1px rgba(124, 58, 237, 0.15); --mg-glass-blur: none; --mg-glass-blur-hi: none; /* ?????v2 ????????4.5:1 ?? 7-15:1????????????*/ --mg-text-light: #1a0f3d; /* ????/ KPI ?? ? ?? ~15:1 */ --mg-text-muted: #4a3d6e; /* ?? / ???? ? ?? ~9:1 (??#606266 ?????? 5:1) */ --mg-text-dim: #7a6b9a; /* ???? / ????/ ?? ? ?? ~5:1 */ --mg-text-faint: #a8a0c0; /* ?? / ???? ? ?? ~3:1 */ --mg-divider: #e8e1f0; /* ????/ ?????? #ebe5f4 ??????????*/ /* ??????? (WCAG AA ??) */ --mg-status-success: #15803d; --mg-status-success-rgb: 21, 128, 61; --mg-status-warning: #b45309; --mg-status-warning-rgb: 180, 83, 9; --mg-status-danger: #b91c1c; --mg-status-danger-rgb: 185, 28, 28; --mg-status-info: #1d4ed8; --mg-status-info-rgb: 29, 78, 216; --mg-status-idle: #64748b; --mg-status-idle-rgb: 100, 116, 139; /* ?? / ?????????? industrial-purple ?????? */ --mg-bg-card-rgb: 255, 255, 255; --mg-bg-card-hi-rgb: 249, 246, 255; --mg-bg-card-darker-rgb: 245, 240, 251; --mg-accent-rgb: 124, 58, 237; /* ???? veil????????????????????????/ ???? */ --mg-veil-1: rgba(124, 58, 237, 0.05); --mg-veil-2: rgba(124, 58, 237, 0.10); --mg-veil-3: rgba(124, 58, 237, 0.16); --mg-veil-border: rgba(124, 58, 237, 0.16); --mg-veil-border-hi: rgba(124, 58, 237, 0.32); /* ??????????+ ??????~6.9:1?WCAG AA ????*/ --mg-action-bg: #7c3aed; --mg-action-bg-hover: #6d28d9; --mg-action-border: #7c3aed; --mg-action-border-hi: #6d28d9; } /* outpost-light: pure white shell + indigo accents */ :root[data-theme="outpost-light"] { --mg-glass-bg: #ffffff; --mg-glass-bg-hover: #ffffff; --mg-glass-bg-active: #f8fafc; --mg-glass-border: rgba(15, 23, 42, 0.10); --mg-glass-border-hi: rgba(30, 58, 95, 0.22); --mg-glass-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 0 0 1px rgba(15, 23, 42, 0.06); --mg-glass-shadow-hi: 0 4px 16px rgba(15, 23, 42, 0.06), 0 0 0 1px rgba(30, 58, 95, 0.12); --mg-text-light: #0f172a; --mg-text-muted: #64748b; --mg-text-dim: #94a3b8; --mg-text-faint: #cbd5e1; --mg-divider: #e5e7eb; --mg-veil-1: rgba(15, 23, 42, 0.03); --mg-veil-2: rgba(15, 23, 42, 0.05); --mg-veil-3: rgba(15, 23, 42, 0.08); --mg-veil-border: rgba(15, 23, 42, 0.10); --mg-veil-border-hi: rgba(30, 58, 95, 0.22); --mg-action-bg: #7c3aed; --mg-action-bg-hover: #8b5cf6; --mg-action-border: #7c3aed; --mg-action-border-hi: #8b5cf6; } :root[data-theme="outpost-light"] body { background: #ffffff !important; } :root[data-theme="outpost-light"] .aside { background: #ffffff !important; border-right: 1px solid #e5e7eb !important; box-shadow: 1px 0 0 rgba(15, 23, 42, 0.04) !important; } :root[data-theme="outpost-light"] .aside .logo { border-bottom-color: #e5e7eb !important; background: #ffffff !important; } :root[data-theme="outpost-light"] .aside .logo-img-full, :root[data-theme="outpost-light"] .aside .logo-img-small { filter: brightness(0) saturate(100%) invert(27%) sepia(86%) saturate(2400%) hue-rotate(248deg) brightness(0.95); } :root[data-theme="outpost-light"] .aside .logo-title-zh { background: none !important; -webkit-text-fill-color: #7c3aed !important; color: #7c3aed !important; text-shadow: none !important; } :root[data-theme="outpost-light"] .aside .logo-title-en { color: #94a3b8 !important; } :root[data-theme="outpost-light"] .aside .logo-title-en b { color: #7c3aed !important; } :root[data-theme="outpost-light"] .aside .logo-abbr { color: #7c3aed !important; } :root[data-theme="outpost-light"] .aside .el-menu-item, :root[data-theme="outpost-light"] .aside .el-sub-menu__title { color: #475569 !important; } :root[data-theme="outpost-light"] .aside .el-menu-item:hover, :root[data-theme="outpost-light"] .aside .el-sub-menu__title:hover { background: #f8fafc !important; color: #0f172a !important; } :root[data-theme="outpost-light"] .aside .el-menu-item.is-active, :root[data-theme="outpost-light"] .aside .el-sub-menu.is-active > .el-sub-menu__title { background: #f5f3ff !important; color: #7c3aed !important; box-shadow: inset 3px 0 0 #7c3aed !important; font-weight: 700 !important; } :root[data-theme="outpost-light"] .aside .el-menu .el-menu-item.is-active { background: #f5f3ff !important; box-shadow: inset 2px 0 0 #7c3aed !important; color: #7c3aed !important; } :root[data-theme="outpost-light"] .aside .el-sub-menu .el-menu { background: #f8fafc !important; } :root[data-theme="outpost-light"] .aside-footer { border-top-color: #e5e7eb !important; color: #94a3b8 !important; } :root[data-theme="outpost-light"] .aside-footer-badge { background: #f5f3ff !important; border-color: #ddd6fe !important; color: #7c3aed !important; box-shadow: none !important; } :root[data-theme="outpost-light"] .header { background: #ffffff !important; border-bottom-color: #e5e7eb !important; box-shadow: none !important; } :root[data-theme="outpost-light"] .header .el-breadcrumb__inner { color: #64748b !important; } :root[data-theme="outpost-light"] .header .el-breadcrumb__item:last-child .el-breadcrumb__inner { color: #0f172a !important; } :root[data-theme="outpost-light"] .header .el-breadcrumb__separator { color: #cbd5e1 !important; } :root[data-theme="outpost-light"] .header .el-breadcrumb__inner:hover { color: #7c3aed !important; } :root[data-theme="outpost-light"] .header .user-name { color: #0f172a !important; } :root[data-theme="outpost-light"] .header .icon-btn:hover { color: #7c3aed !important; } :root[data-theme="outpost-light"] .header .el-radio-button.is-active .el-radio-button__inner { background: #7c3aed !important; border-color: #7c3aed !important; color: #fff !important; } :root[data-theme="outpost-light"] .mg-content h1, :root[data-theme="outpost-light"] .mg-content h2, :root[data-theme="outpost-light"] .mg-content h3 { color: #0f172a !important; } :root[data-theme="outpost-light"] .mg-content p { color: #64748b !important; } :root[data-theme="outpost-light"] .mg-content .el-tabs__item, :root[data-theme="outpost-light"] .el-tabs__item { color: #64748b !important; } :root[data-theme="outpost-light"] .mg-content .el-tabs__item:hover, :root[data-theme="outpost-light"] .el-tabs__item:hover { color: #7c3aed !important; } :root[data-theme="outpost-light"] .mg-content .el-tabs__item.is-active, :root[data-theme="outpost-light"] .el-tabs__item.is-active { color: #7c3aed !important; font-weight: 700; } :root[data-theme="outpost-light"] .el-tabs__active-bar { background-color: #7c3aed !important; } :root[data-theme="outpost-light"] .mg-content .el-form-item__label { color: #64748b !important; } :root[data-theme="outpost-light"] .mg-content .method-btn, :root[data-theme="outpost-light"] .mg-content .header-action-btn { background: #7c3aed !important; border-color: #7c3aed !important; } :root[data-theme="outpost-light"] .mg-content .method-btn:hover:not(:disabled), :root[data-theme="outpost-light"] .mg-content .header-action-btn:hover { background: #8b5cf6 !important; border-color: #8b5cf6 !important; } :root[data-theme="outpost-light"] .mg-content .add-field-btn { background: #ffffff !important; border: 1px dashed #cbd5e1 !important; color: #7c3aed !important; } :root[data-theme="outpost-light"] .mg-content .add-field-btn:hover { background: #f8fafc !important; border-color: #7c3aed !important; color: #0f172a !important; } /* body???????????--mg-bg-app-*??*/ :root[data-shell="outpost"] body { background: linear-gradient(160deg, var(--mg-bg-app-1) 0%, var(--mg-bg-app-2) 55%, var(--mg-bg-app-3) 100%) !important; color: var(--mg-text-light); } /* ???????????? */ :root[data-shell="outpost"] #app::before, :root[data-shell="outpost"] #app::after { display: none !important; } /* ?? AppShell ???? orb */ :root[data-shell="outpost"] .bg-orbs { display: none !important; } /* ?????? aside ???? plum / ??/ ?? */ :root[data-shell="outpost"] .aside { background: linear-gradient(180deg, var(--mg-bg-aside-1) 0%, var(--mg-bg-aside-2) 100%) !important; border-right: 1px solid rgba(0, 0, 0, 0.08) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; box-shadow: 4px 0 24px rgba(45, 27, 105, 0.18) !important; } :root[data-shell="outpost"] .aside::before { display: none !important; } :root[data-shell="outpost"] .aside .logo { background: transparent !important; border-bottom: 1px solid rgba(196, 181, 253, 0.12) !important; } :root[data-shell="outpost"] .aside .logo-title-zh { background: linear-gradient(135deg, #ffffff 0%, #c4b5fd 100%) !important; -webkit-background-clip: text !important; background-clip: text !important; -webkit-text-fill-color: transparent !important; color: transparent !important; text-shadow: none !important; font-weight: 700; } /* inactive menu item????????????????????? * ?? 14??????????Vue scoped ????:deep()???? css ????? * ?? :deep() ????????element-plus ???? .el-menu-item / .el-sub-menu__title ???*/ :root[data-shell="outpost"] .aside .el-menu { background: transparent !important; border-right: none !important; } :root[data-shell="outpost"] .aside .el-menu-item, :root[data-shell="outpost"] .aside .el-sub-menu__title { color: #d4cae8 !important; font-weight: 500 !important; background: transparent !important; } :root[data-shell="outpost"] .aside .el-menu-item:hover, :root[data-shell="outpost"] .aside .el-sub-menu__title:hover { background: rgba(196, 181, 253, 0.10) !important; color: #ffffff !important; } :root[data-shell="outpost"] .aside .el-menu-item.is-active, :root[data-shell="outpost"] .aside .el-sub-menu.is-active > .el-sub-menu__title { background: linear-gradient(90deg, rgba(168, 85, 247, 0.30) 0%, rgba(124, 58, 237, 0.16) 100%) !important; color: #ffffff !important; font-weight: 700 !important; box-shadow: inset 3px 0 0 #c4b5fd !important; text-shadow: none !important; } /* ????active ????????????*/ :root[data-shell="outpost"] .aside .el-menu .el-menu-item.is-active { background: linear-gradient(90deg, rgba(168, 85, 247, 0.22) 0%, transparent 100%) !important; box-shadow: inset 2px 0 0 #a855f7 !important; } /* outpost-light white sidebar wins over purple shell nav colors */ :root[data-shell="outpost"][data-theme="outpost-light"] .aside { background: #ffffff !important; border-right: 1px solid #e5e7eb !important; box-shadow: 1px 0 0 rgba(15, 23, 42, 0.04) !important; } :root[data-shell="outpost"][data-theme="outpost-light"] .aside .logo { border-bottom-color: #e5e7eb !important; background: #ffffff !important; } :root[data-shell="outpost"][data-theme="outpost-light"] .aside .logo-img-full, :root[data-shell="outpost"][data-theme="outpost-light"] .aside .logo-img-small { filter: brightness(0) saturate(100%) invert(27%) sepia(86%) saturate(2400%) hue-rotate(248deg) brightness(0.95); } :root[data-shell="outpost"][data-theme="outpost-light"] .aside .logo-title-zh { background: none !important; -webkit-background-clip: initial !important; background-clip: initial !important; -webkit-text-fill-color: #7c3aed !important; color: #7c3aed !important; } :root[data-shell="outpost"][data-theme="outpost-light"] .aside .el-menu-item, :root[data-shell="outpost"][data-theme="outpost-light"] .aside .el-sub-menu__title { color: #475569 !important; background: transparent !important; } :root[data-shell="outpost"][data-theme="outpost-light"] .aside .el-menu-item:hover, :root[data-shell="outpost"][data-theme="outpost-light"] .aside .el-sub-menu__title:hover { background: #f8fafc !important; color: #0f172a !important; } :root[data-shell="outpost"][data-theme="outpost-light"] .aside .el-menu-item.is-active, :root[data-shell="outpost"][data-theme="outpost-light"] .aside .el-sub-menu.is-active > .el-sub-menu__title { background: #f5f3ff !important; color: #7c3aed !important; box-shadow: inset 3px 0 0 #7c3aed !important; text-shadow: none !important; } :root[data-shell="outpost"][data-theme="outpost-light"] .aside .el-menu .el-menu-item.is-active { background: #f5f3ff !important; box-shadow: inset 2px 0 0 #7c3aed !important; color: #7c3aed !important; } :root[data-shell="outpost"][data-theme="outpost-light"] .aside .el-sub-menu .el-menu { background: #f8fafc !important; } :root[data-shell="outpost"][data-theme="outpost-light"] .header { border-bottom-color: #e5e7eb !important; box-shadow: none !important; } /* ?? header????????*/ :root[data-shell="outpost"] .header { background: #fff !important; border-bottom: 1px solid #ebe5f4 !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; box-shadow: 0 1px 6px rgba(45, 27, 105, 0.05) !important; } :root[data-shell="outpost"] .header::after { display: none !important; } /* ?? 14?????? Vue scoped ????:deep() ?????? css ???????? ?????? * ????AppShell.vue scoped ?????????? fame-lavender ?? header ???????? * ???? :deep()????????????????(0,4,0) + !important ???? scoped ??(0,2,0)?? * ?????????? "/" ????????rgba(255,255,255,.35)???????????*/ :root[data-shell="outpost"] .header .el-breadcrumb__inner { color: #4a3d6e !important; font-weight: 500; } :root[data-shell="outpost"] .header .el-breadcrumb__item:last-child .el-breadcrumb__inner { color: #7c3aed !important; font-weight: 700; } :root[data-shell="outpost"] .header .el-breadcrumb__separator { color: #a8a0c0 !important; } :root[data-shell="outpost"] .header .el-breadcrumb__inner:hover { color: #7c3aed !important; } :root[data-shell="outpost"] .header .icon-btn { border-color: #ebe5f4 !important; color: #7c3aed !important; background: #f8f4fc !important; } :root[data-shell="outpost"] .header .icon-btn:hover { background: #ede9fe !important; border-color: #c4b5fd !important; color: #5b21b6 !important; } :root[data-shell="outpost"] .header .runmode-tag { background: #f5f3ff !important; border-color: #ddd6fe !important; color: #5b21b6 !important; } :root[data-shell="outpost"] .header .runmode-tag.WebEnabled { background: #ecfdf5 !important; border-color: #bbf7d0 !important; color: #047857 !important; } /* ?? N+2?? WebOnly ??????????.runmode-tag.WebOnly ??var(--mg-accent) ?????? ??fame-lavender ?? header ?????? ???????????????????+ ??????*/ :root[data-shell="outpost"] .header .runmode-tag.WebOnly { background: #ede9fe !important; border-color: #c4b5fd !important; color: #6d28d9 !important; } /* ?? N+2?header ??ScopeSwitcher (el-radio-button) ??fame-lavender ???????? * ?????? .mg-content .el-radio-button ???????? header ?? .mg-content ?? * ???fame-lavender ???? header ??element-plus ???? (#fff ??+ #606266 ?? ???? * ???????? + ?????? ????????????? + ?????????????*/ :root[data-shell="outpost"] .header .el-radio-button__inner { background: #fff !important; border-color: #ddd6fe !important; color: #5b21b6 !important; font-weight: 500; } :root[data-shell="outpost"] .header .el-radio-button__inner:hover { color: #6d28d9 !important; border-color: #c4b5fd !important; background: #f5f3ff !important; } :root[data-shell="outpost"] .header .el-radio-button.is-active .el-radio-button__inner { background: #7c3aed !important; border-color: #7c3aed !important; color: #ffffff !important; box-shadow: 0 2px 6px rgba(124, 58, 237, 0.25); } :root[data-shell="outpost"] .header .user-link { background: #f8f4fc !important; border-color: #ebe5f4 !important; color: #2d1b69 !important; } :root[data-shell="outpost"] .header .user-link:hover { background: #ede9fe !important; border-color: #c4b5fd !important; } :root[data-shell="outpost"] .header .user-name { color: #2d1b69 !important; } /* ???????????+ ??????v2 ???????? */ :root[data-shell="outpost"] .main, :root[data-shell="outpost"] .mg-content { background: transparent !important; color: #1a0f3d !important; } :root[data-shell="outpost"] .mg-content h1, :root[data-shell="outpost"] .mg-content h2, :root[data-shell="outpost"] .mg-content h3 { color: #1a0f3d !important; font-weight: 700; } :root[data-shell="outpost"] .mg-content p { color: #4a3d6e !important; } :root[data-shell="outpost"] .mg-content small, :root[data-shell="outpost"] .mg-content .text-secondary { color: #7a6b9a !important; } /* footer */ :root[data-shell="outpost"] .footer { background: rgba(255, 255, 255, 0.7) !important; border-top: 1px solid #ebe5f4 !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; color: #909399 !important; } /* el-card?????? + ?????????????? */ :root[data-shell="outpost"] .mg-content .el-card { background: #ffffff !important; border: 1px solid #e2dbf0 !important; border-radius: 14px !important; box-shadow: 0 1px 2px rgba(45, 27, 105, 0.05), 0 10px 26px rgba(108, 71, 200, 0.10) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; color: #1a0f3d !important; overflow: hidden; } :root[data-shell="outpost"] .mg-content .el-card::before { display: none !important; } :root[data-shell="outpost"] .mg-content .el-card:hover { background: #ffffff !important; border-color: #c4b5fd !important; box-shadow: 0 4px 14px rgba(45, 27, 105, 0.10), 0 18px 40px rgba(108, 71, 200, 0.16) !important; transform: translateY(-2px) !important; } :root[data-shell="outpost"] .mg-content .el-card .el-card { background: #faf7fd !important; border-color: #f0eaf6 !important; box-shadow: none !important; } :root[data-shell="outpost"] .mg-content .el-card__header { background: #faf7fd !important; border-bottom: 1px solid #e8e1f0 !important; color: #1a0f3d !important; font-weight: 600; } :root[data-shell="outpost"] .mg-content .el-card__body { background: transparent !important; color: #1a0f3d !important; } /* KPI ???????? */ :root[data-shell="outpost"] .mg-content .kpi-row .el-statistic, :root[data-shell="outpost"] .mg-content .kpi-card { background: #fff !important; border: 1px solid #e2dbf0 !important; border-radius: 12px !important; box-shadow: 0 1px 2px rgba(45, 27, 105, 0.05), 0 8px 22px rgba(108, 71, 200, 0.10) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; padding: 16px 18px !important; } :root[data-shell="outpost"] .mg-content .kpi-row .el-statistic:hover, :root[data-shell="outpost"] .mg-content .kpi-card:hover { background: #fff !important; border-color: #c4b5fd !important; box-shadow: 0 4px 14px rgba(45, 27, 105, 0.09), 0 14px 32px rgba(108, 71, 200, 0.15) !important; transform: translateY(-2px) !important; } :root[data-shell="outpost"] .mg-content .el-statistic__head { color: #4a3d6e !important; font-weight: 500; } :root[data-shell="outpost"] .mg-content .el-statistic__number, :root[data-shell="outpost"] .mg-content .el-statistic__content { background: none !important; -webkit-background-clip: initial !important; background-clip: initial !important; color: #1a0f3d !important; text-shadow: none !important; font-family: var(--mg-font-mono); font-variant-numeric: tabular-nums; font-weight: 700; } /* el-table?????? + ?? hover */ :root[data-shell="outpost"] .mg-content .el-table { --el-table-bg-color: #ffffff; --el-table-tr-bg-color: #ffffff; --el-table-header-bg-color: #faf7fd; --el-table-row-hover-bg-color: #f5f3ff; --el-table-border-color: #e8e1f0; --el-table-header-text-color: #1a0f3d; --el-table-text-color: #1a0f3d; --el-fill-color-blank: #ffffff; --el-fill-color-light: #faf7fd; color: #1a0f3d !important; } :root[data-shell="outpost"] .mg-content .el-table, :root[data-shell="outpost"] .mg-content .el-table tr { background: #ffffff !important; } :root[data-shell="outpost"] .mg-content .el-table th.el-table__cell { background: #faf7fd !important; color: #1a0f3d !important; border-bottom-color: #e8e1f0 !important; font-weight: 600; } :root[data-shell="outpost"] .mg-content .el-table td.el-table__cell { background: #ffffff !important; color: #1a0f3d !important; border-bottom-color: #f0eaf6 !important; } :root[data-shell="outpost"] .mg-content .el-table--striped .el-table__body tr:nth-child(2n) td.el-table__cell { background: #faf7fd !important; } :root[data-shell="outpost"] .mg-content .el-table tr:hover > td.el-table__cell { background: #f5f3ff !important; } /* el-input / el-textarea / el-select????+ ?? + ??????*/ :root[data-shell="outpost"] .mg-content .el-input__wrapper, :root[data-shell="outpost"] .mg-content .el-textarea__inner, :root[data-shell="outpost"] .mg-content .el-select .el-input__wrapper { background: #ffffff !important; box-shadow: 0 0 0 1px #e0d4f5 inset !important; } :root[data-shell="outpost"] .mg-content .el-input__wrapper:hover { box-shadow: 0 0 0 1px #c4b5fd inset !important; } :root[data-shell="outpost"] .mg-content .el-input__wrapper.is-focus { box-shadow: 0 0 0 1px #7c3aed inset, 0 0 0 3px rgba(124, 58, 237, 0.15) !important; } :root[data-shell="outpost"] .mg-content .el-input__inner, :root[data-shell="outpost"] .mg-content .el-textarea__inner { color: #1a0f3d !important; font-weight: 500; } :root[data-shell="outpost"] .mg-content .el-input__inner::placeholder, :root[data-shell="outpost"] .mg-content .el-textarea__inner::placeholder { color: #a8a0c0 !important; } :root[data-shell="outpost"] .mg-content .el-form-item__label { color: #4a3d6e !important; font-weight: 500; } /* el-tabs??????+ ????*/ /* ??????el-tabs ???????????????????? primary?? ?? .mg-content .el-tabs { --el-text-color-primary: #fff } ????h2 / label ???????"????"???????????tabs ??.ref-mgr-title ?????*/ :root[data-shell="outpost"] .mg-content .el-tabs { --el-text-color-primary: #2d1b69 !important; --el-text-color-regular: #303133 !important; } :root[data-shell="outpost"] .mg-content .el-tabs__item { color: #4a3d6e !important; font-weight: 500; } :root[data-shell="outpost"] .mg-content .el-tabs__item:hover { color: #7c3aed !important; } :root[data-shell="outpost"] .mg-content .el-tabs__item.is-active { color: #7c3aed !important; font-weight: 700; } /* ???element-plus ?? css ????????el-tabs__item ?? .mg-content ????????? ???????.mg-content ??????????dialog / drawer ???? tabs ??????*/ :root[data-shell="outpost"] .el-tabs__item { color: #4a3d6e !important; } :root[data-shell="outpost"] .el-tabs__item:hover { color: #7c3aed !important; } :root[data-shell="outpost"] .el-tabs__item.is-active { color: #7c3aed !important; font-weight: 700; } :root[data-shell="outpost"] .mg-content .el-tabs__active-bar { background-color: #7c3aed !important; height: 3px !important; border-radius: 2px; } :root[data-shell="outpost"] .mg-content .el-tabs__nav-wrap::after { background-color: #e8e1f0 !important; } /* ????????????????????????????????????????????????????????????????????????? * ReflectionManagerPanel / CarPanelView ??tabs ????????N+2 UI ???? * ??????scoped CSS ??`color: var(--el-text-color-primary, #fff)`?? * ?? el-tab-pane ???????????????#fff ????????????? * ???? fame-lavender ??????????????? #2d1b69?? !important?? * ??????scoped css?????????????????????????? * ????????????????????????????????????????????????????????????????????????? */ :root[data-shell="outpost"] .mg-content .ref-mgr-page, :root[data-shell="outpost"] .mg-content .ref-mgr-title, :root[data-shell="outpost"] .mg-content .field-section-title, :root[data-shell="outpost"] .mg-content .detail-name { color: #2d1b69 !important; } :root[data-shell="outpost"] .mg-content .ref-mgr-title { font-weight: 700; } :root[data-shell="outpost"] .mg-content .detail-id, :root[data-shell="outpost"] .mg-content .ref-type-asm, :root[data-shell="outpost"] .mg-content .field-empty { color: #7a6b9a !important; } :root[data-shell="outpost"] .mg-content .ref-mgr-list-card, :root[data-shell="outpost"] .mg-content .ref-mgr-detail-card { background: #fffefd !important; border: 1px solid rgba(40, 33, 58, 0.10) !important; box-shadow: none !important; border-radius: 8px !important; } :root[data-shell="outpost"] .mg-content .ref-mgr-count, :root[data-shell="outpost"] .mg-content .col-mono, :root[data-shell="outpost"] .mg-content .col-type { color: #756d85 !important; } :root[data-shell="outpost"] .mg-content .ref-chip { background: #fffefd !important; border-color: rgba(40, 33, 58, 0.12) !important; color: #756d85 !important; } :root[data-shell="outpost"] .mg-content .ref-chip b { color: #28213a !important; } :root[data-shell="outpost"] .mg-content .ref-chip.is-active { color: #7c3aed !important; border-color: rgba(124, 58, 237, 0.4) !important; background: rgba(124, 58, 237, 0.08) !important; } :root[data-shell="outpost"] .mg-content .plugin-list-card { background: #fffefd !important; border: 1px solid rgba(40, 33, 58, 0.10) !important; box-shadow: none !important; } :root[data-shell="outpost"] .mg-content .ref-mgr-header, :root[data-shell="outpost"] .mg-content .detail-header { border-color: rgba(124, 58, 237, 0.18) !important; } :root[data-shell="outpost"] .mg-content .field-section { color: #303133; } :root[data-shell="outpost"] .mg-content .status-value { color: #303133 !important; } /* el-tag????*/ :root[data-shell="outpost"] .mg-content .el-tag { background: #ede9fe !important; color: #5b21b6 !important; border-color: #ddd6fe !important; } :root[data-shell="outpost"] .mg-content .el-tag--primary { background: #ede9fe !important; color: #5b21b6 !important; border-color: #c4b5fd !important; } :root[data-shell="outpost"] .mg-content .el-tag--success { background: #ecfdf5 !important; color: #047857 !important; border-color: #bbf7d0 !important; } :root[data-shell="outpost"] .mg-content .el-tag--warning { background: #fffbeb !important; color: #b45309 !important; border-color: #fde68a !important; } :root[data-shell="outpost"] .mg-content .el-tag--danger { background: #fef2f2 !important; color: #b91c1c !important; border-color: #fecaca !important; } :root[data-shell="outpost"] .mg-content .el-tag--info { background: #f3f4f6 !important; color: #4b5563 !important; border-color: #e5e7eb !important; } /* el-descriptions */ :root[data-shell="outpost"] .mg-content .el-descriptions { --el-text-color-primary: #2d1b69; --el-text-color-regular: #606266; --el-border-color-lighter: #ebe5f4; --el-fill-color-blank: #fff; color: #303133 !important; } :root[data-shell="outpost"] .mg-content .el-descriptions__label, :root[data-shell="outpost"] .mg-content .el-descriptions__cell.is-bordered-label { background: #faf7fd !important; color: #606266 !important; border-color: #ebe5f4 !important; } :root[data-shell="outpost"] .mg-content .el-descriptions__content, :root[data-shell="outpost"] .mg-content .el-descriptions__cell.is-bordered-content { background: #fff !important; color: #303133 !important; border-color: #ebe5f4 !important; } :root[data-shell="outpost"] .mg-content .el-descriptions__title { color: #2d1b69 !important; } /* el-alert / collapse / radio / checkbox ?? */ :root[data-shell="outpost"] .mg-content .el-alert { background: #faf7fd !important; border: 1px solid #ebe5f4 !important; color: #303133 !important; } :root[data-shell="outpost"] .mg-content .el-alert__title, :root[data-shell="outpost"] .mg-content .el-alert__description { color: #303133 !important; } :root[data-shell="outpost"] .mg-content .el-collapse { border-color: #ebe5f4 !important; --el-collapse-header-text-color: #2d1b69; --el-collapse-content-text-color: #303133; } :root[data-shell="outpost"] .mg-content .el-collapse-item__header, :root[data-shell="outpost"] .mg-content .el-collapse-item__wrap { background: #fff !important; border-color: #ebe5f4 !important; color: #303133 !important; } :root[data-shell="outpost"] .mg-content .el-radio__label, :root[data-shell="outpost"] .mg-content .el-checkbox__label { color: #303133 !important; } :root[data-shell="outpost"] .mg-content .el-radio__inner, :root[data-shell="outpost"] .mg-content .el-checkbox__inner { background: #fff !important; border-color: #7c3aed !important; border-width: 1.5px !important; } /* ???????????? !important???????????????????????*/ :root[data-shell="outpost"] .mg-content .el-checkbox__input.is-checked .el-checkbox__inner, :root[data-shell="outpost"] .mg-content .el-checkbox__input.is-indeterminate .el-checkbox__inner { background: #7c3aed !important; border-color: #7c3aed !important; } :root[data-shell="outpost"] .mg-content .el-checkbox__input.is-checked .el-checkbox__inner::after { border-color: #fff !important; } :root[data-shell="outpost"] .mg-content .el-checkbox__input.is-indeterminate .el-checkbox__inner::before { background-color: #fff !important; } :root[data-shell="outpost"] .mg-content .el-radio__input.is-checked .el-radio__inner { background: #7c3aed !important; border-color: #7c3aed !important; } :root[data-shell="outpost"] .mg-content .el-radio__input.is-checked .el-radio__inner::after { background: #fff !important; } :root[data-shell="outpost"] .mg-content .el-radio-button__inner { background: #fff !important; border-color: #ddd6fe !important; color: #5b21b6 !important; } :root[data-shell="outpost"] .mg-content .el-radio-button.is-active .el-radio-button__inner { background: #7c3aed !important; border-color: #7c3aed !important; color: #fff !important; } /* el-button--primary??????+ ???????????? */ :root[data-shell="outpost"] .el-button--primary { background: #7c3aed !important; border: 1px solid #7c3aed !important; color: #ffffff !important; font-weight: 600; box-shadow: 0 1px 2px rgba(45, 27, 105, 0.08), 0 2px 6px rgba(124, 58, 237, 0.22) !important; } :root[data-shell="outpost"] .el-button--primary::after { display: none !important; } :root[data-shell="outpost"] .el-button--primary:hover { background: #6d28d9 !important; border-color: #6d28d9 !important; box-shadow: 0 2px 6px rgba(45, 27, 105, 0.12), 0 4px 14px rgba(124, 58, 237, 0.32) !important; transform: translateY(-1px) !important; } :root[data-shell="outpost"] .el-button--primary:active { background: #5b21b6 !important; border-color: #5b21b6 !important; transform: translateY(0) !important; } /* default ???????? + hover ????*/ :root[data-shell="outpost"] .mg-content .el-button:not(.el-button--primary):not(.el-button--success):not(.el-button--warning):not(.el-button--danger):not(.el-button--text) { background: #ffffff !important; border-color: #ddd6fe !important; color: #5b21b6 !important; font-weight: 500; } :root[data-shell="outpost"] .mg-content .el-button:not(.el-button--primary):not(.el-button--success):not(.el-button--warning):not(.el-button--danger):not(.el-button--text):hover { background: #f5f3ff !important; border-color: #a78bfa !important; color: #5b21b6 !important; box-shadow: 0 2px 6px rgba(124, 58, 237, 0.10) !important; } /* el-progress */ :root[data-shell="outpost"] .mg-content .el-progress-bar__outer { background: #ede9fe !important; } :root[data-shell="outpost"] .mg-content .el-progress-bar__inner { background: linear-gradient(90deg, #7c3aed 0%, #a855f7 100%) !important; } /* el-pagination ?? */ :root[data-shell="outpost"] .mg-content .el-pagination { --el-pagination-bg-color: #fff; --el-pagination-button-bg-color: #faf7fd; --el-pagination-button-color: #2d1b69; --el-pagination-hover-color: #7c3aed; color: #606266 !important; } /* el-dropdown ?? ??????header ??????*/ :root[data-shell="outpost"] .el-dropdown-menu { background: #fff !important; backdrop-filter: none !important; border: 1px solid #ebe5f4 !important; box-shadow: 0 6px 16px rgba(45, 27, 105, 0.10) !important; } :root[data-shell="outpost"] .el-dropdown-menu__item { color: #303133 !important; } :root[data-shell="outpost"] .el-dropdown-menu__item:hover { background: #f5f3ff !important; color: #7c3aed !important; } /* el-switch */ :root[data-shell="outpost"] .mg-content .el-switch.is-checked .el-switch__core { background: #7c3aed !important; border-color: #7c3aed !important; } /* el-dialog ?? h2 */ :root[data-shell="outpost"] .el-dialog h2 { color: #2d1b69 !important; } :root[data-shell="outpost"] .el-dialog { background: #fff !important; } :root[data-shell="outpost"] .el-dialog__title { color: #2d1b69 !important; } :root[data-shell="outpost"] .el-dialog__body { color: #303133 !important; } /* ??????????? FAME ??? */ :root[data-shell="outpost"] ::-webkit-scrollbar-thumb { background: rgba(124, 58, 237, 0.25); } :root[data-shell="outpost"] ::-webkit-scrollbar-thumb:hover { background: rgba(124, 58, 237, 0.45); } /* ???????????????????????????????????????????????????????????????????? * ???????? design-system tokens ? ??design-system/MASTER.md?? * ???????????????????????????????????????????????????????????????????? */ /* ?????KPI ???/ ?? / ID / ????*/ .mg-mono, .mg-num { font-family: var(--mg-font-mono); font-variant-numeric: tabular-nums; letter-spacing: 0; } /* ?????pill ????????*/ .mg-pill { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 600; letter-spacing: 0.3px; border: 1px solid transparent; white-space: nowrap; } .mg-pill.is-success { background: rgba(var(--mg-status-success-rgb), 0.15); color: var(--mg-status-success); border-color: rgba(var(--mg-status-success-rgb), 0.40); } .mg-pill.is-warning { background: rgba(var(--mg-status-warning-rgb), 0.15); color: var(--mg-status-warning); border-color: rgba(var(--mg-status-warning-rgb), 0.40); } .mg-pill.is-danger { background: rgba(var(--mg-status-danger-rgb), 0.15); color: var(--mg-status-danger); border-color: rgba(var(--mg-status-danger-rgb), 0.40); } .mg-pill.is-info { background: rgba(var(--mg-status-info-rgb), 0.15); color: var(--mg-status-info); border-color: rgba(var(--mg-status-info-rgb), 0.40); } .mg-pill.is-idle { background: rgba(var(--mg-status-idle-rgb), 0.15); color: var(--mg-status-idle); border-color: rgba(var(--mg-status-idle-rgb), 0.40); } /* ???????? */ .mg-live-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--mg-status-info); position: relative; } .mg-live-dot::after { content: ''; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid currentColor; opacity: 0; animation: mg-live-pulse 1.6s ease-out infinite; } .mg-live-dot.is-success { background: var(--mg-status-success); color: var(--mg-status-success); } .mg-live-dot.is-warning { background: var(--mg-status-warning); color: var(--mg-status-warning); } .mg-live-dot.is-danger { background: var(--mg-status-danger); color: var(--mg-status-danger); } .mg-live-dot.is-info { background: var(--mg-status-info); color: var(--mg-status-info); } .mg-live-dot.is-idle { background: var(--mg-status-idle); color: var(--mg-status-idle); } .mg-live-dot.is-idle::after { animation: none; } @keyframes mg-live-pulse { 0% { transform: scale(0.6); opacity: 0.55; } 70% { transform: scale(1.5); opacity: 0; } 100% { transform: scale(1.8); opacity: 0; } } /* ????????????*/ @media (prefers-reduced-motion: reduce) { .mg-live-dot::after { animation: none; } .bg-orb, .hero-orb, .hero-scene .agv-1, .hero-scene .agv-2, .hero-scene .float-data, .tag-dot, .quick-item, .quick-item.primary .quick-icon { animation: none !important; } } /* ????????????????????????????????????????????????????????????????????????? * fame-lavender ??ReflectionManagerPanel ?????????? * * ??????scoped css ??.method-btn / .header-action-btn / .add-field-btn ?? * ?????? + ????rgba(170,110,250,0.30) ??#fff)????????????????? * fame-lavender ???????????????????????????????? * ??????~1.5:1???? / ??" ?????????????? N+3 ????????? * * ???? fame-lavender ??.el-button--primary ???????? * ?? #7c3aed ?? + #ffffff ?? + ?????????? ~6.9:1?WCAG AA ????? * ?? ??????.add-field-btn) ??????????????????default ??????? * * ????:root[data-theme] .mg-content .x = (0,3,0)?? !important ???? Vue * scoped css ??.x[data-v-xxx] = (0,2,0)?? * ????????????????????????????????????????????????????????????????????????? */ :root[data-shell="outpost"] .mg-content .method-btn, :root[data-shell="outpost"] .mg-content .header-action-btn { background: #7c3aed !important; border: 1px solid #7c3aed !important; color: #ffffff !important; font-weight: 600 !important; box-shadow: 0 1px 2px rgba(45, 27, 105, 0.08), 0 2px 6px rgba(124, 58, 237, 0.22) !important; } :root[data-shell="outpost"] .mg-content .method-btn:hover:not(:disabled), :root[data-shell="outpost"] .mg-content .header-action-btn:hover { background: #6d28d9 !important; border-color: #6d28d9 !important; color: #ffffff !important; box-shadow: 0 2px 6px rgba(45, 27, 105, 0.12), 0 4px 14px rgba(124, 58, 237, 0.32) !important; } :root[data-shell="outpost"] .mg-content .method-btn:active:not(:disabled) { background: #5b21b6 !important; border-color: #5b21b6 !important; } :root[data-shell="outpost"] .mg-content .method-btn:disabled { background: #c4b5fd !important; border-color: #c4b5fd !important; color: #ffffff !important; box-shadow: none !important; opacity: 0.85 !important; } :root[data-shell="outpost"] .mg-content .method-btn .method-btn-icon, :root[data-shell="outpost"] .mg-content .method-btn .method-btn-spin { color: rgba(255, 255, 255, 0.92) !important; } :root[data-shell="outpost"] .mg-content .method-btn .method-btn-tag { background: rgba(255, 255, 255, 0.24) !important; color: #ffffff !important; } /* ?? ????????????default ???????????????????? primary ????*/ :root[data-shell="outpost"] .mg-content .add-field-btn { background: #ffffff !important; border: 1px dashed #a78bfa !important; color: #5b21b6 !important; font-weight: 500 !important; } :root[data-shell="outpost"] .mg-content .add-field-btn:hover { background: #f5f3ff !important; border-color: #7c3aed !important; color: #5b21b6 !important; } /* ????????????????????????? */ :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .prop-add-field-btn, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .add-field-btn { background: transparent !important; border: 1px dashed rgba(var(--mg-primary-rgb), 0.5) !important; color: rgba(255, 255, 255, 0.88) !important; font-weight: 600 !important; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .prop-add-field-btn:hover, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .add-field-btn:hover { background: rgba(var(--mg-primary-rgb), 0.18) !important; border-color: var(--mg-primary) !important; color: #fff !important; } /* ????????????????????????????????????????????????????????????????????????? * fame-lavender ? ??????????UI?MapEditorView?? * ?? / ?????/ ???????? + ??????????? .mg-content ?? * el-form ???el-tabs ?????? (#4a3d6e)?????????????????? * ????????????????????????????????????????????????????????????????????????? */ :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page { --el-text-color-primary: rgba(232, 215, 245, 0.95); --el-text-color-regular: rgba(220, 200, 230, 0.88); --el-text-color-secondary: rgba(200, 180, 220, 0.72); color: rgba(232, 215, 245, 0.92); } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .el-form-item__label { color: rgba(220, 200, 230, 0.9) !important; font-weight: 500; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .el-tabs { --el-text-color-primary: rgba(232, 215, 245, 0.95) !important; --el-text-color-regular: rgba(220, 200, 240, 0.75) !important; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .el-tabs__item, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .map-editor-page .el-tabs__item { color: rgba(220, 200, 240, 0.72) !important; font-weight: 500; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .el-tabs__item:hover, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .map-editor-page .el-tabs__item:hover { color: rgba(240, 225, 255, 0.95) !important; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .el-tabs__item.is-active, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .map-editor-page .el-tabs__item.is-active { color: #ffffff !important; font-weight: 600; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .el-tabs__nav-wrap::after { background-color: rgba(255, 255, 255, 0.1) !important; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .el-tabs__active-bar { background: linear-gradient(90deg, rgba(170, 110, 250, 1) 0%, rgba(255, 110, 220, 1) 100%) !important; } /* ?? Tab?????????????chrome ???????????*/ :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .layer-table.el-table { --el-table-bg-color: rgba(0, 0, 0, 0.28); --el-table-tr-bg-color: transparent; --el-table-header-bg-color: rgba(var(--mg-primary-rgb), 0.16); --el-table-text-color: var(--me-text); --el-table-header-text-color: var(--me-text); --el-table-row-hover-bg-color: rgba(var(--mg-primary-rgb), 0.14); --el-table-border-color: var(--me-border); --el-fill-color-blank: transparent; --el-fill-color-light: rgba(255, 255, 255, 0.04); color: var(--me-text) !important; background: rgba(0, 0, 0, 0.22) !important; border-radius: 10px; overflow: hidden; box-shadow: inset 0 0 0 1px var(--me-border); } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .layer-table.el-table, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .layer-table.el-table tr, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .layer-table .el-table__inner-wrapper { background: transparent !important; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .layer-table th.el-table__cell { background: rgba(var(--mg-primary-rgb), 0.16) !important; color: var(--me-text) !important; font-weight: 600 !important; border-bottom-color: var(--me-border) !important; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .layer-table td.el-table__cell { background: transparent !important; color: var(--me-text) !important; font-weight: 500 !important; border-bottom-color: rgba(255, 255, 255, 0.06) !important; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .layer-table .cell { color: var(--me-text) !important; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .layer-table.el-table--striped .el-table__body tr:nth-child(2n) td.el-table__cell { background: rgba(255, 255, 255, 0.03) !important; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .layer-table tr:hover > td.el-table__cell { background: rgba(var(--mg-primary-rgb), 0.14) !important; } /* ?????????? */ :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .new-layer .el-input__inner { color: var(--me-text) !important; font-weight: 500; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .new-layer .el-input__inner::placeholder { color: var(--me-text-muted) !important; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .new-layer .el-input-group__append .el-button { background: rgba(var(--mg-primary-rgb), 0.18) !important; border-color: rgba(var(--mg-primary-rgb), 0.35) !important; color: #fff !important; font-weight: 600 !important; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .new-layer .el-input-group__append .el-button:hover { background: rgba(var(--mg-primary-rgb), 0.28) !important; border-color: var(--mg-primary) !important; color: #fff !important; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .el-checkbox__label { color: rgba(220, 200, 230, 0.88) !important; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .prop-card-flag, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .prop-card-flag-text { color: rgba(200, 220, 255, 0.88) !important; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .prop-card-flag.is-synced, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .prop-card-flag.is-synced .prop-card-flag-text { color: rgba(220, 255, 230, 0.98) !important; } /* ?????????????Outpost ?????????? chrome ??? */ :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .el-input__wrapper, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .el-textarea__inner, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .el-select .el-input__wrapper, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .el-select__wrapper, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .el-input-number .el-input__wrapper { background: rgba(0, 0, 0, 0.32) !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12) !important; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .el-input__wrapper:hover, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .el-select__wrapper:hover, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .el-select .el-input__wrapper:hover { box-shadow: inset 0 0 0 1px rgba(var(--mg-primary-rgb), 0.5) !important; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .el-input__wrapper.is-focus, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .el-select__wrapper.is-focused, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .el-select .el-input__wrapper.is-focus { box-shadow: inset 0 0 0 1px var(--mg-primary), 0 0 0 3px rgba(var(--mg-primary-rgb), 0.18) !important; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .el-input__inner, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .el-textarea__inner, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .el-select__placeholder, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .el-select__selected-item { color: var(--me-text) !important; font-weight: 500; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .el-input__inner::placeholder, :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .el-textarea__inner::placeholder { color: var(--me-text-muted) !important; } :root[data-shell="outpost"]:not([data-theme="outpost-light"]) .mg-content .map-editor-page .edit-property-panel .el-form-item__label { color: var(--me-text-muted) !important; } /* ????????????????????????????????????????????????????????????????????????? * Harbor ?? ? ????????? + ?????????? * ????????????????????????????????????????????????????????????????????????? */ :root[data-theme="outpost-light"] .mg-content .map-editor-page { --el-text-color-primary: #0b1220; --el-text-color-regular: #64748b; --el-text-color-secondary: #94a3b8; color: var(--me-text); } :root[data-theme="outpost-light"] .mg-content .map-editor-page .el-tabs__item { color: var(--me-text-muted) !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .el-tabs__item:hover { color: var(--mg-primary) !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .el-tabs__item.is-active { color: var(--mg-primary) !important; font-weight: 700; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .el-tabs__active-bar { background: linear-gradient(90deg, #7c3aed 0%, #64748b 100%) !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .el-tabs__nav-wrap::after { background-color: var(--me-border) !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .el-input__wrapper, :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .el-textarea__inner, :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .el-select .el-input__wrapper, :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .el-select__wrapper, :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .el-input-number .el-input__wrapper { background: #ffffff !important; box-shadow: inset 0 0 0 1px rgba(30, 58, 95, 0.14) !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .el-input__wrapper:hover, :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .el-select__wrapper:hover { box-shadow: inset 0 0 0 1px rgba(30, 58, 95, 0.32) !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .el-input__wrapper.is-focus, :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .el-select__wrapper.is-focused { box-shadow: inset 0 0 0 1px #7c3aed, 0 0 0 3px rgba(30, 58, 95, 0.12) !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .el-input__inner, :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .el-textarea__inner, :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .el-select__selected-item { color: #0b1220 !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .el-input__inner::placeholder, :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .el-textarea__inner::placeholder, :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .el-select__placeholder { color: #94a3b8 !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .prop-add-field-btn { background: #f5f3ff !important; border: 1px dashed rgba(124, 58, 237, 0.42) !important; color: #7c3aed !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .prop-add-field-btn:hover { background: #ede9fe !important; border-color: #7c3aed !important; border-style: solid !important; color: #5b21b6 !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .custom-field-item { background: #f8fafc !important; border: 1px solid #e5e7eb !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .custom-field-key { color: rgba(45, 27, 105, 0.88) !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .custom-field-input .el-input__wrapper { background: #ffffff !important; box-shadow: inset 0 0 0 1px rgba(124, 58, 237, 0.16) !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .custom-field-input .el-input__inner { color: #1a0f3d !important; font-weight: 550 !important; -webkit-text-fill-color: #1a0f3d !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .prop-action-btn { background: #7c3aed !important; border: 1px solid #7c3aed !important; color: #ffffff !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .prop-action-btn .prop-action-icon, :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .prop-action-btn .prop-action-label { color: #ffffff !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .prop-action-btn:nth-child(2n) { background: #ffffff !important; border-color: rgba(124, 58, 237, 0.4) !important; color: #7c3aed !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .prop-action-btn:nth-child(2n) .prop-action-icon, :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .prop-action-btn:nth-child(2n) .prop-action-label { color: #7c3aed !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .prop-action-btn:hover:not(:disabled) { background: #8b5cf6 !important; border-color: #8b5cf6 !important; color: #ffffff !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .prop-action-btn:nth-child(2n):hover:not(:disabled) { background: #f5f3ff !important; border-color: #7c3aed !important; color: #5b21b6 !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .prop-action-btn:nth-child(2n):hover:not(:disabled) .prop-action-icon, :root[data-theme="outpost-light"] .mg-content .map-editor-page .edit-property-panel .prop-action-btn:nth-child(2n):hover:not(:disabled) .prop-action-label { color: #5b21b6 !important; } :root[data-theme="outpost-light"] .mg-content .map-editor-page .el-checkbox__label { color: #64748b !important; }