diff --git a/build.gradle b/build.gradle
index caf39d3644..5e9743fd1f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -95,7 +95,6 @@ allprojects {
// messenger
implementation 'com.fr.messenger:fine-messenger:' + carinaVersion
implementation 'com.install4j:install4j-runtime:8.0.4'
- implementation 'com.fr.third:jxbrowser:6.23'
implementation "com.fr.third:jxbrowser-v7:${jxBrowserVersion}"
implementation "com.fr.third:jxbrowser-swing-v7:${jxBrowserVersion}"
implementation 'com.fr.third.server:servlet-api:3.0'
@@ -131,18 +130,14 @@ allprojects {
// 目前开发工程适配 mac_x64, mac_aarch64, windows_x64
if (OperatingSystem.current().isMacOsX() && "aarch64".equals(System.getProperty("os.arch"))) {
dependencies {
- // jxbrowser 6.23不支持M1,因此没有本地库,但是6.23jar还是需要留着,用来兼容
- implementation 'com.fr.third:jxbrowser-mac:6.23'
implementation "com.fr.third:jxbrowser-mac-arm-v7:${jxBrowserVersion}"
}
} else if (OperatingSystem.current().isMacOsX()) {
dependencies {
- implementation 'com.fr.third:jxbrowser-mac:6.23'
implementation "com.fr.third:jxbrowser-mac-v7:${jxBrowserVersion}"
}
} else if (OperatingSystem.current().isWindows()) {
dependencies {
- implementation 'com.fr.third:jxbrowser-win64:6.23'
implementation "com.fr.third:jxbrowser-win64-v7:${jxBrowserVersion}"
}
}
diff --git a/designer-base/src/main/java/com/fine/theme/light/ui/FineOptionPaneUI.java b/designer-base/src/main/java/com/fine/theme/light/ui/FineOptionPaneUI.java
index 517db0f72b..6d19ef966b 100644
--- a/designer-base/src/main/java/com/fine/theme/light/ui/FineOptionPaneUI.java
+++ b/designer-base/src/main/java/com/fine/theme/light/ui/FineOptionPaneUI.java
@@ -1,14 +1,33 @@
package com.fine.theme.light.ui;
+import com.fine.swing.ui.layout.Layouts;
+import com.fine.theme.icon.LazyIcon;
+import com.fine.theme.utils.FineUIScale;
import com.fine.theme.utils.FineUIStyle;
import com.formdev.flatlaf.ui.FlatOptionPaneUI;
+import com.fr.design.gui.ilable.UILabel;
+import sun.swing.DefaultLookup;
+import javax.swing.Icon;
import javax.swing.JButton;
import javax.swing.JComponent;
+import javax.swing.JPanel;
+import javax.swing.SwingConstants;
import javax.swing.UIManager;
+import javax.swing.border.Border;
import javax.swing.plaf.ComponentUI;
+import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
+import java.awt.Dimension;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+
+import static com.fine.swing.ui.layout.Layouts.cell;
+import static com.fine.swing.ui.layout.Layouts.column;
+import static com.fine.swing.ui.layout.Layouts.flex;
+import static com.fine.swing.ui.layout.Layouts.row;
/**
* @author Renekton
@@ -35,4 +54,92 @@ public class FineOptionPaneUI extends FlatOptionPaneUI {
}
}
}
+
+ protected void installComponents() {
+ optionPane.setLayout(new BorderLayout());
+ optionPane.add(createMessageArea());
+ optionPane.add(createButtonArea(), BorderLayout.SOUTH);
+ optionPane.applyComponentOrientation(optionPane.getComponentOrientation());
+ }
+
+ protected Container createMessageArea() {
+ JPanel top = new JPanel();
+ Border topBorder = (Border) DefaultLookup.get(optionPane, this,
+ "OptionPane.messageAreaBorder");
+ if (topBorder != null) {
+ top.setBorder(topBorder);
+ }
+ top.setLayout(new BorderLayout());
+
+ /* Fill the body. */
+ Container body = new JPanel(new GridBagLayout());
+ Container realBody = new JPanel(new BorderLayout());
+
+ body.setName("OptionPane.body");
+ realBody.setName("OptionPane.realBody");
+ realBody.add(body, BorderLayout.NORTH);
+
+ GridBagConstraints cons = new GridBagConstraints();
+ cons.gridx = cons.gridy = 0;
+ cons.gridwidth = GridBagConstraints.REMAINDER;
+ cons.gridheight = 1;
+ cons.anchor = DefaultLookup.getInt(optionPane, this,
+ "OptionPane.messageAnchor", GridBagConstraints.CENTER);
+ cons.insets = new Insets(0,0,3,0);
+
+ addMessageComponents(body, cons, getMessage(),
+ getMaxCharactersPerLineCount(), false);
+ top.add(realBody, BorderLayout.CENTER);
+
+ addIcon(top);
+ top.setAlignmentX(Component.CENTER_ALIGNMENT);
+ return row(flex(), column(flex(), cell(top), flex()), flex()).getComponent();
+ }
+
+ @Override
+ protected void addIcon(Container top) {
+ Icon sideIcon = getIcon();
+
+ if (sideIcon != null) {
+ UILabel iconLabel = new UILabel(sideIcon);
+ iconLabel.setName("OptionPane.iconLabel");
+ iconLabel.setVerticalAlignment(SwingConstants.TOP);
+ top.add(row(cell(iconLabel), Layouts.fix(10)).getComponent(), BorderLayout.BEFORE_LINE_BEGINS);
+ }
+ }
+
+ @Override
+ protected Icon getIconForType(int messageType) {
+ String iconId = null;
+ switch (messageType) {
+ case 0:
+ iconId = "error";
+ break;
+ case 1:
+ iconId = "information";
+ break;
+ case 2:
+ iconId = "warning";
+ break;
+ case 3:
+ iconId = "question";
+ break;
+ default:
+ break;
+ }
+ if (iconId != null) {
+ return new LazyIcon(iconId, 20);
+ }
+ return null;
+ }
+
+ public Dimension getPreferredSize(JComponent c) {
+ if (c == optionPane) {
+ Dimension size = super.getPreferredSize(c);
+ size.width = Math.max(FineUIScale.scale(360), size.width);
+ size.height = Math.max(FineUIScale.scale(130), size.height);
+ return size;
+ }
+ return null;
+ }
}
diff --git a/designer-base/src/main/java/com/fine/theme/light/ui/FineToggleButtonUI.java b/designer-base/src/main/java/com/fine/theme/light/ui/FineToggleButtonUI.java
index ad28f76f8c..49df9d63d1 100644
--- a/designer-base/src/main/java/com/fine/theme/light/ui/FineToggleButtonUI.java
+++ b/designer-base/src/main/java/com/fine/theme/light/ui/FineToggleButtonUI.java
@@ -22,6 +22,7 @@ import java.awt.Shape;
import java.awt.Rectangle;
import static com.fine.theme.utils.FineClientProperties.BUTTON_TYPE_GROUP;
+import static com.fine.theme.utils.FineClientProperties.BUTTON_TYPE_GROUP_FIT;
import static com.fine.theme.utils.FineClientProperties.BUTTON_TYPE;
import static com.fine.theme.utils.FineClientProperties.BUTTON_TYPE_TAB;
import static com.fine.theme.utils.FineClientProperties.BUTTON_GROUP_POSITION;
@@ -96,12 +97,20 @@ public class FineToggleButtonUI extends FlatToggleButtonUI {
}
static boolean isGroupButton(Component c) {
+ if (!(c instanceof UIButton)) {
+ return false;
+ }
+ String buttonType = getButtonTypeStr((UIButton) c);
+ return BUTTON_TYPE_GROUP.equals(buttonType) || BUTTON_TYPE_GROUP_FIT.equals(buttonType);
+ }
+
+ static boolean isGroupButtonNotFit(Component c) {
return c instanceof UIButton && BUTTON_TYPE_GROUP.equals(getButtonTypeStr((UIButton) c));
}
@Override
public void paint(Graphics g, JComponent c) {
- if (isGroupButton(c) || isTabButton(c)) {
+ if (isGroupButtonNotFit(c) || isTabButton(c)) {
((AbstractButton)c).setMargin(FineUIUtils.getUIInsets("ToggleButton.compact.margin", "ToggleButton.margin"));
}
super.paint(g, c);
diff --git a/designer-base/src/main/java/com/fine/theme/utils/FineClientProperties.java b/designer-base/src/main/java/com/fine/theme/utils/FineClientProperties.java
index 3b1e5933b2..da8e252ca5 100644
--- a/designer-base/src/main/java/com/fine/theme/utils/FineClientProperties.java
+++ b/designer-base/src/main/java/com/fine/theme/utils/FineClientProperties.java
@@ -13,6 +13,7 @@ public interface FineClientProperties extends FlatClientProperties {
//--------------------------- ButtonGroup -----------------------
String BUTTON_TYPE_GROUP = "group";
+ String BUTTON_TYPE_GROUP_FIT = "groupFit";
String BUTTON_BORDER = "buttonBorder";
String BUTTON_BORDER_LEFT_ROUND_RECT = "leftRoundRect";
diff --git a/designer-base/src/main/java/com/fine/theme/utils/FineUIScale.java b/designer-base/src/main/java/com/fine/theme/utils/FineUIScale.java
index 6297166c78..ddde68539b 100644
--- a/designer-base/src/main/java/com/fine/theme/utils/FineUIScale.java
+++ b/designer-base/src/main/java/com/fine/theme/utils/FineUIScale.java
@@ -83,4 +83,16 @@ public class FineUIScale {
public static Insets scale(Insets insets) {
return UIScale.scale(insets);
}
+
+ /**
+ * Creates a scaled {@link Dimension} object based on the specified width and height.
+ *
+ * This method uses the current user scale factor to adjust the provided width and height values:
+ * - If the user scale factor is 1 (no scaling), the original width and height values are returned unchanged.
+ * - If the user scale factor is different from 1, a new {@link Dimension} instance is created and returned,
+ * with the width and height values scaled according to the user scale factor.
+ */
+ public static Dimension createScaleDimension(int width, int height) {
+ return scale(new Dimension(width, height));
+ }
}
diff --git a/designer-base/src/main/java/com/fine/theme/utils/FineUIStyle.java b/designer-base/src/main/java/com/fine/theme/utils/FineUIStyle.java
index 925c0a438d..0dc3c2df29 100644
--- a/designer-base/src/main/java/com/fine/theme/utils/FineUIStyle.java
+++ b/designer-base/src/main/java/com/fine/theme/utils/FineUIStyle.java
@@ -28,6 +28,7 @@ public interface FineUIStyle {
String BRAND_COLOR_LABEL = "brandColorLabel";
String BUTTON_TAB_ACTION = "tabAction";
String LABEL_BOLD = "boldLabel";
+ String LABEL_TIP_WINDOW_TITLE = "tipWindowTitleLabel";
String LABEL_SECONDARY = "secondaryLabel";
String LABEL_TIP = "tipLabel";
String LABEL_WARNING_TIP = "warningTipLabel";
@@ -51,6 +52,7 @@ public interface FineUIStyle {
String WHITE_BUTTON = "whiteButton";
String ORIGINAL_BUTTON = "originalButton";
String DETAIL_LABEL = "detailLabel";
+ String WIDGET_EVENT_LABEL = "widgetEventLabel";
/**
diff --git a/designer-base/src/main/java/com/fine/theme/utils/FineUIUtils.java b/designer-base/src/main/java/com/fine/theme/utils/FineUIUtils.java
index bf48c66c6d..c749bf5f3c 100644
--- a/designer-base/src/main/java/com/fine/theme/utils/FineUIUtils.java
+++ b/designer-base/src/main/java/com/fine/theme/utils/FineUIUtils.java
@@ -6,6 +6,8 @@ import com.fr.design.border.FineBorderFactory;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.gui.icontainer.UIScrollPane;
import com.fr.design.gui.ilable.UILabel;
+import com.fr.design.mainframe.theme.edit.ui.LabelUtils;
+import com.fr.design.i18n.DesignSizeI18nManager;
import com.fr.stable.os.OperatingSystem;
import com.fr.value.AtomicClearableLazyValue;
@@ -13,9 +15,11 @@ import javax.swing.JLabel;
import javax.swing.JLayer;
import javax.swing.ScrollPaneConstants;
import javax.swing.UIManager;
+import javax.swing.JTextArea;
import java.awt.Color;
import java.awt.Component;
import java.awt.Composite;
+import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
@@ -435,4 +439,23 @@ public class FineUIUtils {
Font newSizeFont = font.deriveFont(font.getStyle(), scale(size));
c.setFont(newSizeFont);
}
+
+ /**
+ * 获取缩放后的国际化尺寸
+ *
+ * @param i18nDimensionKey 国际化key值
+ * @return 缩放后的国际化尺寸
+ */
+ public static Dimension getScaledI18nDimension(String i18nDimensionKey) {
+ return FineUIScale.scale(DesignSizeI18nManager.getInstance().i18nDimension(i18nDimensionKey));
+ }
+
+ /**
+ * 创建一个支持自动换行的提示文本
+ * @param text 显示的文本内容
+ * @return 自动换行提示文本
+ */
+ public static JTextArea createAutoWrapTipLabel(String text) {
+ return LabelUtils.createAutoWrapLabel(text, FineUIUtils.getUIColor("Label.tipColor", "inactiveCaption"));
+ }
}
diff --git a/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java b/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java
index 68e22fd2a9..387c01bb9b 100644
--- a/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java
+++ b/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java
@@ -1020,22 +1020,6 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter, AsyncXmlReada
designerLoginConfigManager.setPluginRemindOnFirstLaunch(pluginRemindOnFirstLaunch);
}
- public boolean isUseOldVersionLogin() {
- return designerLoginConfigManager.isUseOldVersionLogin();
- }
-
- public void setUseOldVersionLogin(boolean useOldVersionLogin) {
- designerLoginConfigManager.setUseOldVersionLogin(useOldVersionLogin);
- }
-
- public boolean isUseNewPluginFirst() {
- return designerLoginConfigManager.isUseNewPluginFirst();
- }
-
- public void setUseNewPluginFirst(boolean useNewPluginFirst) {
- designerLoginConfigManager.setUseNewPluginFirst(useNewPluginFirst);
- }
-
/**
* 内置服务器是否使用时启动
*
diff --git a/designer-base/src/main/java/com/fr/design/actions/TableDataSourceAction.java b/designer-base/src/main/java/com/fr/design/actions/TableDataSourceAction.java
index dbc72adbd7..ce5534daad 100644
--- a/designer-base/src/main/java/com/fr/design/actions/TableDataSourceAction.java
+++ b/designer-base/src/main/java/com/fr/design/actions/TableDataSourceAction.java
@@ -13,6 +13,7 @@ import com.fr.design.mainframe.JTemplate;
import com.fr.design.menu.KeySetUtils;
import javax.swing.SwingUtilities;
+import java.awt.Dimension;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@@ -42,7 +43,7 @@ public class TableDataSourceAction extends TemplateComponentAction it.setVisible(!OperatingSystem.isLinux() && JdkVersion.LE_8.support())),
- // 登录选项
- cell(createLoginSelectorPane()).with(it -> it.setVisible(SupportOSImpl.DESIGNER_LOGIN.support())),
// Oracle设置
cell(createOraclePane()),
// 内存设置
@@ -346,6 +342,7 @@ public class PreferencePane extends BasicPane {
.addTab(i18nText("Fine-Design_Basic_General"), generalScrollPane)
.addTab(i18nText("Fine-Design_Basic_Advanced"), adviceScrollPane)
.addTab(i18nText("Fine-Design_Vcs_Title"), vcsParentPane)
+ .withAdaptiveFit()
.build();
contentPane.add(tabbedPane, BorderLayout.CENTER);
@@ -731,10 +728,10 @@ public class PreferencePane extends BasicPane {
private Component createColorSettingPane() {
// Color Setting Pane
- gridLineColorTBButton = new UINoThemeColorButton(IOUtils.readIcon("/com/fr/design/images/gui/color/foreground.png"));
+ gridLineColorTBButton = new UINoThemeColorButton(new LazyIcon("foreground"));
gridLineColorTBButton.setEnabled(this.isEnabled());
- paginationLineColorTBButton = new UINoThemeColorButton(IOUtils.readIcon("/com/fr/design/images/gui/color/foreground.png"));
+ paginationLineColorTBButton = new UINoThemeColorButton(new LazyIcon("foreground"));
paginationLineColorTBButton.setEnabled(this.isEnabled());
JPanel colorPanel = row(10,
@@ -967,11 +964,7 @@ public class PreferencePane extends BasicPane {
this.portEditor.setValue(new Integer(designerEnvManager.getEmbedServerPort()));
if (useOptimizedUPMCheckbox != null) {
- useOptimizedUPMCheckbox.setSelected(checkOptimizedUPMUse());
- }
-
- if (useNewVersionLoginCheckbox != null) {
- useNewVersionLoginCheckbox.setSelected(!DesignerEnvManager.getEnvManager().isUseOldVersionLogin());
+ useOptimizedUPMCheckbox.setSelected(true);
}
useUniverseDBMCheckbox.setSelected(ServerPreferenceConfig.getInstance().isUseUniverseDBM());
@@ -1010,15 +1003,6 @@ public class PreferencePane extends BasicPane {
this.startupPageEnabledCheckBox.setSelected(designerEnvManager.isStartupPageEnabled());
}
- private boolean checkOptimizedUPMUse() {
- //如果是没手动配置过则默认开启
- //isUseNewPluginFirst如果为true说明没手动配置过,直接开启
- //走到这里说明checkBox不为空,机型肯定符合
- return DesignerEnvManager.getEnvManager().isUseNewPluginFirst()
- || ServerPreferenceConfig.getInstance().isUseOptimizedUPM()
- || DesignerEnvManager.getEnvManager().isUseOptimizedUPM4Adapter();
- }
-
private int chooseCase(int sign) {
switch (sign) {
case 0:
@@ -1085,8 +1069,6 @@ public class PreferencePane extends BasicPane {
designerEnvManager.setImageCompress(this.imageCompressPanelCheckBox.isSelected());
boolean optimizedUPMFlag = this.useOptimizedUPMCheckbox != null && this.useOptimizedUPMCheckbox.isSelected();
designerEnvManager.setUseOptimizedUPM4Adapter(optimizedUPMFlag);
- //只有取消掉使用新插件管理器这个选项才需要把useNewPluginFirst置false(意味着用户手动配置了,如果勾选着的话,这个useNewPluginFirst为true就行了)
- designerEnvManager.setUseNewPluginFirst(optimizedUPMFlag);
boolean cloudDelayFlag = this.cloudAnalyticsDelayCheckBox.isSelected();
designerEnvManager.setCloudAnalyticsDelay(cloudDelayFlag);
// cloudDelayFlag默认为true,如果用户手动配置过才会是false,则后续的云端运维配置都按照用户意愿来
@@ -1124,10 +1106,6 @@ public class PreferencePane extends BasicPane {
designerEnvManager.setAutoPushUpdateEnabled(this.autoPushUpdateCheckBox.isSelected());
}
- if (useNewVersionLoginCheckbox != null) {
- designerEnvManager.setUseOldVersionLogin(!this.useNewVersionLoginCheckbox.isSelected());
- }
-
designerEnvManager.setUndoLimit(maxUndoLimit.getSelectedIndex() * SELECTED_INDEX_5);
if (maxUndoLimit.getSelectedIndex() == SELECTED_INDEX_5) {
designerEnvManager.setUndoLimit(MAX_UNDO_LIMIT_50);
@@ -1251,7 +1229,7 @@ public class PreferencePane extends BasicPane {
@Override
public BasicDialog showWindow(Window window, DialogActionListener l) {
- return showWindowWithCustomSize(window, l, new Dimension(BasicDialog.DEFAULT.width, BasicDialog.DEFAULT.height + OFFSET_HEIGHT));
+ return showWindowWithCustomSize(window, l, new Dimension(BasicDialog.DEFAULT.width + OFFSET_HEIGHT, BasicDialog.DEFAULT.height + OFFSET_HEIGHT));
}
private void tryGc() {
diff --git a/designer-base/src/main/java/com/fr/design/actions/file/export/AbstractExportAction.java b/designer-base/src/main/java/com/fr/design/actions/file/export/AbstractExportAction.java
index f62243a8c4..7dc25799f3 100644
--- a/designer-base/src/main/java/com/fr/design/actions/file/export/AbstractExportAction.java
+++ b/designer-base/src/main/java/com/fr/design/actions/file/export/AbstractExportAction.java
@@ -15,8 +15,8 @@ import com.fr.file.filter.ChooseFileFilter;
import com.fr.io.exporter.DesignExportType;
import com.fr.io.exporter.ExporterKey;
import com.fr.log.FineLoggerFactory;
-import com.fanruan.product.ProductConstants;
import com.fr.stable.StringUtils;
+import com.fr.stable.project.ProjectConstants;
import com.fr.third.jodd.io.FileNameUtil;
import com.fr.workspace.WorkContext;
import com.fr.workspace.server.exporter.TemplateExportOperator;
@@ -211,19 +211,15 @@ public abstract class AbstractExportAction> extends JT
}
private void dealExporter(OutputStream outputStream, String path, final Map para) throws Exception {
+ if (path.startsWith(ProjectConstants.REPORTLETS_NAME)) {
+ path = path.substring(ProjectConstants.REPORTLETS_NAME.length());
+ }
- // 没有办法处理这个 isLocal 判断,因为一个是修改参数传递结果,一个是返回值做结果
- // todo 后续想想办法
- if (WorkContext.getCurrent().isLocal()) {
- WorkContext.getCurrent().get(TemplateExportOperator.class)
- .export(exportKey(), exportType(), outputStream, path, para);
- } else {
- byte[] contents =
- WorkContext.getCurrent().get(TemplateExportOperator.class)
- .export(exportKey(), exportType(), null, path, para);
+ byte[] contents =
+ WorkContext.getCurrent().get(TemplateExportOperator.class)
+ .export(exportKey(), exportType(), null, path, para);
- outputStream.write(contents);
- }
+ outputStream.write(contents);
}
@Override
diff --git a/designer-base/src/main/java/com/fr/design/backup/DesignContext.java b/designer-base/src/main/java/com/fr/design/backup/DesignContext.java
index e2aebc14db..ef5f99e396 100644
--- a/designer-base/src/main/java/com/fr/design/backup/DesignContext.java
+++ b/designer-base/src/main/java/com/fr/design/backup/DesignContext.java
@@ -7,6 +7,7 @@ import com.fr.stable.StringUtils;
import javax.servlet.ServletContext;
+import java.io.File;
import java.util.Properties;
/**
@@ -17,7 +18,7 @@ import java.util.Properties;
* Created on 2024/5/14
*/
public class DesignContext extends CarinaApplicationContext {
- public static final String WEB_INF = "\\WEB-INF";
+ public static final String WEB_INF = "WEB-INF";
private String designWebInfPath;
private String designDataPath;
@@ -39,7 +40,7 @@ public class DesignContext extends CarinaApplicationContext {
public void setDesignWebInfPath(String designWebInfPath) {
this.designWebInfPath = designWebInfPath;
if (StringUtils.isNotEmpty(this.designWebInfPath)) {
- this.designDataPath = this.designWebInfPath.replace(WEB_INF, StringUtils.EMPTY);
+ this.designDataPath = this.designWebInfPath.replace(File.separatorChar + WEB_INF, StringUtils.EMPTY);
}
FineLoggerFactory.getLogger().info("[DesignContext] designWebInfPath:{}, designDataPath:{}", this.designWebInfPath, this.designDataPath);
}
diff --git a/designer-base/src/main/java/com/fr/design/components/notification/NotificationDialog.java b/designer-base/src/main/java/com/fr/design/components/notification/NotificationDialog.java
index d9a1cf0c21..190cafe6fe 100644
--- a/designer-base/src/main/java/com/fr/design/components/notification/NotificationDialog.java
+++ b/designer-base/src/main/java/com/fr/design/components/notification/NotificationDialog.java
@@ -1,5 +1,8 @@
package com.fr.design.components.notification;
+import com.fine.theme.icon.LazyIcon;
+import com.fine.theme.utils.FineUIScale;
+import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.base.function.ThrowableRunnable;
import com.fr.base.svg.IconUtils;
import com.fr.design.components.page.PageControlModel;
@@ -53,7 +56,7 @@ public class NotificationDialog extends JDialog {
*/
private static final int CONTENT_SCROLL_WIDTH = 280;
- private static final int CONTENT_WIDTH = 300;
+ private static final int CONTENT_WIDTH = 360;
private static final int CONTENT_HEIGHT = 100;
/**
* 通知框的外部宽高
@@ -148,21 +151,20 @@ public class NotificationDialog extends JDialog {
protected JPanel createContentPanel() {
JPanel contentPanel = FRGUIPaneFactory.createBorderLayout_S_Pane();
- contentPanel.setBorder(BorderFactory.createEmptyBorder(8, 10, 8, 10));
+ contentPanel.setBorder(new ScaledEmptyBorder(8, 10, 8, 10));
contentPanel.setName("contentPanel");
NotificationModel model = getCurrentModel();
UILabel icon = new UILabel(getIconForType(model.getType()));
- icon.setPreferredSize(new Dimension(16, 16));
JPanel iconPanel = FRGUIPaneFactory.createBorderLayout_L_Pane();
- iconPanel.setBorder(BorderFactory.createEmptyBorder(0, 5, 10, 8));
+ iconPanel.setBorder(new ScaledEmptyBorder(0, 5, 10, 8));
iconPanel.add(icon, BorderLayout.NORTH);
contentPanel.add(iconPanel, BorderLayout.WEST);
JPanel centerPanel = FRGUIPaneFactory.createBorderLayout_S_Pane();
- centerPanel.setBorder(BorderFactory.createEmptyBorder(0, 0, 5, 5));
+ centerPanel.setBorder(new ScaledEmptyBorder(0, 0, 5, 5));
NotificationMessage[] messages = model.getMessages();
List extends JComponent> messageComponents = Arrays.stream(messages)
@@ -213,7 +215,7 @@ public class NotificationDialog extends JDialog {
jScrollPane.setBorder(BorderFactory.createEmptyBorder());
centerPanel.add(jScrollPane, BorderLayout.CENTER);
- centerPanel.setPreferredSize(CONTENT_SIZE);
+ centerPanel.setPreferredSize(FineUIScale.scale(CONTENT_SIZE));
contentPanel.add(centerPanel, BorderLayout.CENTER);
@@ -282,7 +284,7 @@ public class NotificationDialog extends JDialog {
NotificationAction action = currentModel.getAction();
if (action != null) {
UIButton actionButton = new UIButton(action.name());
- actionButton.setPreferredSize(BUTTON_DIMENSION);
+ actionButton.setPreferredSize(FineUIScale.scale(BUTTON_DIMENSION));
actionButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
@@ -293,7 +295,7 @@ public class NotificationDialog extends JDialog {
}
UIButton knowButton = new UIButton(Toolkit.i18nText("Fine-Design_Basic_Know"));
- knowButton.setPreferredSize(BUTTON_DIMENSION);
+ knowButton.setPreferredSize(FineUIScale.scale(BUTTON_DIMENSION));
knowButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
@@ -359,21 +361,21 @@ public class NotificationDialog extends JDialog {
protected Icon getIconForType(NotificationType type) {
- String iconPath;
+ String iconId;
switch (type) {
case ERROR:
- iconPath = "/com/fr/design/standard/reminder/reminder_error.svg";
+ iconId = "error";
break;
case INFO:
- iconPath = "/com/fr/design/standard/reminder/reminder_success.svg";
+ iconId = "success";
break;
case WARNING:
- iconPath = "/com/fr/design/standard/reminder/reminder_warning.svg";
+ iconId = "warning";
break;
default:
return null;
}
- return IconUtils.readIcon(iconPath);
+ return new LazyIcon(iconId, 20);
}
private void destroy() {
diff --git a/designer-base/src/main/java/com/fr/design/condition/DSColumnLiteConditionPane.java b/designer-base/src/main/java/com/fr/design/condition/DSColumnLiteConditionPane.java
index cee0410a95..825be9e635 100644
--- a/designer-base/src/main/java/com/fr/design/condition/DSColumnLiteConditionPane.java
+++ b/designer-base/src/main/java/com/fr/design/condition/DSColumnLiteConditionPane.java
@@ -123,8 +123,8 @@ public class DSColumnLiteConditionPane extends LiteConditionPane it.setToolTipText(Toolkit.i18nText("Fine-Design_Basic_Dbcp_Test_On_Borrow"))).weight(1),
cell(DBCP_TEST_ON_BORROW).weight(1.5),
flex(2)
),
diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionListPane.java b/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionListPane.java
index 2a6a43cd0d..3dd4a62318 100644
--- a/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionListPane.java
+++ b/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionListPane.java
@@ -222,12 +222,22 @@ public class ConnectionListPane extends JListControlPane implements ConnectionSh
removedConnNames.add(s);
break;
case ADDED:
- addConnections.add(ConnectionInfoBeanHelper.createConnectionInfoBean(s, connection, true));
- validConnection.add(connection);
+ ConnectionInfoBean add = ConnectionInfoBeanHelper.createConnectionInfoBean(s, connection, true);
+ if (StringUtils.isNotEmpty(add.getConnectionData())) {
+ addConnections.add(add);
+ validConnection.add(connection);
+ } else {
+ FineLoggerFactory.getLogger().error("Unable to find the corresponding processor : {}", connection.getClass());
+ }
break;
case UPDATED:
- updateConnection.add(ConnectionInfoBeanHelper.createConnectionInfoBean(s, connection, true));
- validConnection.add(connection);
+ ConnectionInfoBean update = ConnectionInfoBeanHelper.createConnectionInfoBean(s, connection, true);
+ if (StringUtils.isNotEmpty(update.getConnectionData())) {
+ updateConnection.add(update);
+ validConnection.add(connection);
+ } else {
+ FineLoggerFactory.getLogger().error("Unable to find the corresponding processor : {}", connection.getClass());
+ }
break;
default:
break;
@@ -251,7 +261,8 @@ public class ConnectionListPane extends JListControlPane implements ConnectionSh
* @return
*/
private boolean needUpdate0(Connection origin, Connection connection) {
- return !connection.equals(origin) || !isEmbedConnection(connection);
+ // 先不考虑插件
+ return !connection.equals(origin);
}
/**
diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionTableProcedurePane.java b/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionTableProcedurePane.java
index 4d8540fe95..e441b0266a 100644
--- a/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionTableProcedurePane.java
+++ b/designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionTableProcedurePane.java
@@ -22,7 +22,6 @@ import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.general.GeneralContext;
import com.fr.stable.ArrayUtils;
-import javax.swing.BorderFactory;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JPanel;
import javax.swing.ToolTipManager;
@@ -171,6 +170,7 @@ public class ConnectionTableProcedurePane extends BasicPane {
searchField = new UITextField();
searchField.setPlaceholder(Toolkit.i18nText("Fine-Design_Basic_Table_Search"));
searchField.getDocument().addDocumentListener(searchListener);
+ searchField.setToolTipText(Toolkit.i18nText("Fine-Design_Basic_Table_Search"));
// 搜索图标
UILabel searchLabel = new UILabel(new LazyIcon("search"));
searchLabel.setBorder(new ScaledEmptyBorder(0, 3, 0, 3));
diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/connect/DBCPAttrPane.java b/designer-base/src/main/java/com/fr/design/data/datapane/connect/DBCPAttrPane.java
index 5d54d907ee..d114f64544 100644
--- a/designer-base/src/main/java/com/fr/design/data/datapane/connect/DBCPAttrPane.java
+++ b/designer-base/src/main/java/com/fr/design/data/datapane/connect/DBCPAttrPane.java
@@ -1,8 +1,8 @@
package com.fr.design.data.datapane.connect;
import com.fine.swing.ui.layout.Layouts;
+import com.fine.theme.utils.FineUIStyle;
import com.fine.theme.utils.FineUIUtils;
-import com.formdev.flatlaf.ui.FlatUIUtils;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.data.core.db.dialect.DialectFactory;
import com.fr.data.impl.JDBCDatabaseConnection;
@@ -15,13 +15,12 @@ import com.fr.design.gui.icombobox.UIComboBox;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.i18n.Toolkit;
+import com.fr.design.mainframe.theme.edit.ui.LabelUtils;
import com.fr.general.ComparatorUtils;
import com.fr.stable.StringUtils;
import javax.swing.JPanel;
-import javax.swing.JTextField;
import java.awt.BorderLayout;
-import java.awt.Color;
import java.awt.Window;
import java.awt.event.InputMethodEvent;
import java.awt.event.InputMethodListener;
@@ -78,35 +77,14 @@ public class DBCPAttrPane extends BasicPane {
// JPanel northFlowPane
northFlowPane = Layouts.column(LayoutConstants.VERTICAL_GAP,
cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_ConnectionPool_Attr"))).with(FineUIUtils::wrapBoldLabelWithUnderline),
- row(
- cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_Dbcp_Initial_Size"))).weight(1),
- cell(DBCP_INITIAL_SIZE).weight(1), flex(1.2)
- ),
- row(
- cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_Dbcp_Min_Idle"))).weight(1),
- cell(DBCP_MIN_IDLE).weight(1), flex(1.2)
- ),
- row(
- cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_Dbcp_Test_On_Return"))).weight(1),
- cell(DBCP_TESTONRETURN).weight(1), flex(1.2)
- ),
- row(
- cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_Dbcp_Test_While_Idle"))).weight(1),
- cell(DBCP_TESTWHILEIDLE).weight(1), flex(1.2)
- ),
- row(
- cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_Connection_Pool_Evictionruns_millis"))).weight(1),
- cell(DBCP_TIMEBETWEENEVICTIONRUNSMILLS).weight(1), flex(1.2)
- ),
- row(
- cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_Dbcp_Num_Test_Per_Evction_Run"))).weight(1),
- cell(DBCP_NUMTESTSPEREVICTIONRUN).weight(1), flex(1.2)
- ),
- row(
- cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_Connection_Pool_Mix_Evictable_Idle_Time_Millis"))).weight(1),
- cell(DBCP_MINEVICTABLEIDLETIMEMILLIS).weight(1), flex(1.2)
- ),
- cell(new UILabel(Toolkit.i18nText("Fine-Design_Dbcp_Warning"))).with(it -> it.setForeground(FlatUIUtils.getUIColor("Label.strongHintColor", Color.RED)))
+ row(cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_Dbcp_Initial_Size"))).weight(1), cell(DBCP_INITIAL_SIZE).weight(1)),
+ row(cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_Dbcp_Min_Idle"))).weight(1), cell(DBCP_MIN_IDLE).weight(1)),
+ row(cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_Dbcp_Test_On_Return"))).weight(1), cell(DBCP_TESTONRETURN).weight(1)),
+ row(cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_Dbcp_Test_While_Idle"))).weight(1), cell(DBCP_TESTWHILEIDLE).weight(1)),
+ row(cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_Connection_Pool_Evictionruns_millis"))).weight(1), cell(DBCP_TIMEBETWEENEVICTIONRUNSMILLS).weight(1)),
+ row(cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_Dbcp_Num_Test_Per_Evction_Run"))).weight(1), cell(DBCP_NUMTESTSPEREVICTIONRUN).weight(1)),
+ row(cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_Connection_Pool_Mix_Evictable_Idle_Time_Millis"))).weight(1), cell(DBCP_MINEVICTABLEIDLETIMEMILLIS).weight(1)),
+ cell(LabelUtils.createAutoWrapLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Dbcp_Warning"), FineUIUtils.getUIColor("Label.warningColor", "Label.warningColor")))
).getComponent();
defaultPane.add(northFlowPane);
this.add(defaultPane);
diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/connect/DatabaseConnectionPane.java b/designer-base/src/main/java/com/fr/design/data/datapane/connect/DatabaseConnectionPane.java
index abc1decc5f..60a3df8463 100644
--- a/designer-base/src/main/java/com/fr/design/data/datapane/connect/DatabaseConnectionPane.java
+++ b/designer-base/src/main/java/com/fr/design/data/datapane/connect/DatabaseConnectionPane.java
@@ -5,7 +5,6 @@ package com.fr.design.data.datapane.connect;
import com.fine.swing.ui.layout.Layouts;
import com.fine.theme.icon.LazyIcon;
-import com.fine.theme.light.ui.FineRoundBorder;
import com.fine.theme.utils.FineUIScale;
import com.fine.theme.utils.FineUIStyle;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
@@ -13,7 +12,6 @@ import com.fr.data.driver.util.JarFileParseUtil;
import com.fr.data.impl.Connection;
import com.fr.data.impl.JDBCDatabaseConnection;
import com.fr.data.impl.JNDIDatabaseConnection;
-import com.fr.data.operator.DataOperatorProvider;
import com.fr.data.security.ssl.impl.NormalSsl;
import com.fr.data.solution.ExceptionSolutionSelector;
import com.fr.data.solution.entity.DriverPage;
@@ -31,14 +29,12 @@ import com.fr.design.i18n.DesignSizeI18nManager;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.log.FineLoggerFactory;
-import com.fr.rpc.ExceptionHandler;
-import com.fr.rpc.RPCInvokerExceptionInfo;
import com.fr.stable.ArrayUtils;
import com.fr.stable.EncodeConstants;
import com.fr.stable.StringUtils;
import com.fr.workspace.WorkContext;
+import com.fr.workspace.engine.exception.DriverUnExistException;
import org.jetbrains.annotations.NotNull;
-import com.fr.workspace.server.entity.connection.ConnectionBean;
import com.fr.workspace.server.repository.connection.ConnectionRepository;
import javax.swing.JDialog;
@@ -479,6 +475,9 @@ public abstract class DatabaseConnectionPane jdbcMap = new HashMap();
+ // 用于映射connection的database字段
+ private static Map dbTypeMap = new HashMap<>();
private JPanel linkPanel;
static {
+ dbTypeMap.put(ORACLE, DefaultDatabaseType.ORACLE.getType());
+ dbTypeMap.put(DB2, DefaultDatabaseType.IBM_DB2.getType());
+ dbTypeMap.put(SQL_SERVER, DefaultDatabaseType.MICROSOFT_SQL_SERVER.getType());
+ dbTypeMap.put(MYSQL, DefaultDatabaseType.MYSQL.getType());
+ dbTypeMap.put(SYBASE, DefaultDatabaseType.SAP_ASE.getType());
+ dbTypeMap.put(ACCESS, DefaultDatabaseType.OTHER.getType());
+ dbTypeMap.put(DERBY, DefaultDatabaseType.DERBY.getType());
+ dbTypeMap.put(POSTGRE, DefaultDatabaseType.POSTGRESQL.getType());
+ dbTypeMap.put(SQLITE, DefaultDatabaseType.SQLITE.getType());
+ dbTypeMap.put(INCEPTOR, DefaultDatabaseType.TRANSWARP_INCEPTOR.getType());
+
jdbcMap.put(OTHER_DB, new DriverURLName[]{new DriverURLName("sun.jdbc.odbc.JdbcOdbcDriver", "jdbc:odbc:"),
new DriverURLName("org.hsqldb.jdbcDriver", "jdbc:hsqldb:file:[PATH_TO_DB_FILES]"), new DriverURLName("com.inet.tds.TdsDriver", "jdbc:inetdae7:localhost:1433/"),
new DriverURLName("COM.cloudscape.JDBCDriver", "jdbc:cloudscape:/cloudscape/"),
@@ -104,7 +131,7 @@ public class JDBCDefPane extends JPanel {
private ReactiveCardPane centerPanel;
private ReactiveCardPane driverSelectRow;
// 请不要改动dbtype,只应该最后添加
- private final String[] dbtype = {"Oracle", "DB2", "SQL Server", "MySQL", "Sybase", "Access", "Derby", "Postgre", "SQLite", "Inceptor", OTHER_DB};
+ private final String[] dbtype = {ORACLE, DB2, SQL_SERVER, MYSQL, SYBASE, ACCESS, DERBY, POSTGRE, SQLITE, INCEPTOR, OTHER_DB};
private JDBCDatabaseConnection jdbcDatabase;
@@ -151,6 +178,7 @@ public class JDBCDefPane extends JPanel {
if (needRefresh) {
jdbcDatabase.setDatabase(StringUtils.EMPTY);
}
+ jdbcDatabase.setDatabase(dbTypeMap.getOrDefault(GeneralUtils.objectToString(dbtypeComboBox.getSelectedItem()), DefaultDatabaseType.OTHER.getType()));
changePane(dbtypeComboBox.getSelectedItem());
JDBCConnectionDef.getInstance().setConnection((String) dbtypeComboBox.getSelectedItem(), jdbcDatabase);
DatabaseConnectionPane.JDBC.getAdvancedAttrPane().populate(jdbcDatabase);
@@ -331,7 +359,13 @@ public class JDBCDefPane extends JPanel {
}
private void initMap() {
- Map driverLoaders = DriverLoaderConfig.getInstance().getDriverLoaders();
+ Map driverLoaders = null;
+ try {
+ driverLoaders = ConnectionRepository.getInstance().getDriverLoaders();
+ } catch (Exception e) {
+ FineLoggerFactory.getLogger().error(e.getMessage(), e);
+ driverLoaders = new HashMap<>();
+ }
nameAndRepresent = getDriverLoaderAndRepresent(driverLoaders);
}
diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/connect/LocalConnectionSource.java b/designer-base/src/main/java/com/fr/design/data/datapane/connect/LocalConnectionSource.java
index 25e9da20d6..54f4c3c048 100644
--- a/designer-base/src/main/java/com/fr/design/data/datapane/connect/LocalConnectionSource.java
+++ b/designer-base/src/main/java/com/fr/design/data/datapane/connect/LocalConnectionSource.java
@@ -3,10 +3,12 @@ package com.fr.design.data.datapane.connect;
import com.fr.data.driver.DriverClassNotFoundException;
import com.fr.data.impl.Connection;
import com.fr.decision.webservice.bean.datasource.ConnectionInfoBean;
+import com.fr.decision.webservice.exception.general.DriverNotFoundException;
import com.fr.decision.webservice.v10.datasource.connection.processor.impl.ConnectionProcessorFactory;
import com.fr.design.i18n.Toolkit;
import com.fr.log.FineLoggerFactory;
import com.fr.security.encryption.transmission.TransmissionEncryptionManager;
+import com.fr.workspace.engine.exception.DriverUnExistException;
import com.fr.workspace.server.repository.connection.BaseConnectionSource;
import java.sql.SQLException;
@@ -25,6 +27,8 @@ public class LocalConnectionSource extends BaseConnectionSource {
// 暂时这么处理,后续最好拉到外层包装一下
TransmissionEncryptionManager.setTransEncryptionLevel(1);
ConnectionProcessorFactory.testConnectionWithSchemaReturn(database);
+ } catch (DriverNotFoundException e) {
+ throw new DriverUnExistException();
} finally {
TransmissionEncryptionManager.removeTransEncryptionLevel();
}
@@ -36,6 +40,8 @@ public class LocalConnectionSource extends BaseConnectionSource {
Connection connection = ConnectionProcessorFactory.createConnection(bean);
validate(bean.getConnectionName(), connection);
ConnectionProcessorFactory.addConnection(bean);
+ } catch (DriverNotFoundException e) {
+ throw new DriverUnExistException();
} finally {
TransmissionEncryptionManager.removeTransEncryptionLevel();
}
@@ -54,6 +60,8 @@ public class LocalConnectionSource extends BaseConnectionSource {
Connection connection = ConnectionProcessorFactory.createConnection(bean);
validate(bean.getConnectionName(), connection);
ConnectionProcessorFactory.updateConnection(bean.getConnectionName(), bean);
+ } catch (DriverNotFoundException e) {
+ throw new DriverUnExistException();
} finally {
TransmissionEncryptionManager.removeTransEncryptionLevel();
}
diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/management/search/pane/FineSearchPane.java b/designer-base/src/main/java/com/fr/design/data/datapane/management/search/pane/FineSearchPane.java
index ccfd7be6be..e1dadc6131 100644
--- a/designer-base/src/main/java/com/fr/design/data/datapane/management/search/pane/FineSearchPane.java
+++ b/designer-base/src/main/java/com/fr/design/data/datapane/management/search/pane/FineSearchPane.java
@@ -159,7 +159,6 @@ public class FineSearchPane extends JPanel implements HoverAware {
@Override
public void requestFocus() {
- super.requestFocus();
searchTextField.requestFocus();
}
}
diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/PreviewTablePane.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/PreviewTablePane.java
index ded29560fe..be39360327 100644
--- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/PreviewTablePane.java
+++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/PreviewTablePane.java
@@ -102,7 +102,7 @@ public class PreviewTablePane extends BasicPane {
private PreviewTableDesensitizationPane desensitizationPane;
private static final int PREVIEW_TABLE_MIN_COLUMN_WIDTH = FineUIScale.scale(75);
- private static final int PREVIEW_TABLE_WIDTH = FineUIScale.scale(600);
+ private static final int PREVIEW_TABLE_WIDTH = FineUIScale.scale(610);
/**
* 用于refreshLabel的鼠标监听
diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/sqlpane/SQLEditPane.java b/designer-base/src/main/java/com/fr/design/data/datapane/sqlpane/SQLEditPane.java
index 7f5d083004..c0849032d3 100644
--- a/designer-base/src/main/java/com/fr/design/data/datapane/sqlpane/SQLEditPane.java
+++ b/designer-base/src/main/java/com/fr/design/data/datapane/sqlpane/SQLEditPane.java
@@ -57,6 +57,7 @@ public class SQLEditPane extends RSyntaxTextArea {
if (requestDroptarget) {
new SQLPaneDropTarget(this);
}
+ setBorder(null);
}
diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/LocalTableDataSource.java b/designer-base/src/main/java/com/fr/design/data/tabledata/LocalTableDataSource.java
index bcb717e81a..12a8a0c0ef 100644
--- a/designer-base/src/main/java/com/fr/design/data/tabledata/LocalTableDataSource.java
+++ b/designer-base/src/main/java/com/fr/design/data/tabledata/LocalTableDataSource.java
@@ -1,8 +1,10 @@
package com.fr.design.data.tabledata;
import com.fanruan.config.impl.data.TableDataConfigProviderFactory;
+import com.fr.decision.webservice.bean.dataset.FileDataSetBean;
import com.fr.decision.webservice.bean.entry.FileNodeBean;
import com.fr.decision.webservice.v10.datasource.dataset.processor.impl.FileProcessor;
+import com.fr.log.FineLoggerFactory;
import com.fr.stable.StringUtils;
import com.fr.workspace.server.repository.tabledata.BaseTableDataSource;
@@ -49,4 +51,14 @@ public class LocalTableDataSource extends BaseTableDataSource {
public List getFileList(String fileType) {
return FileProcessor.KEY.getFileList(fileType, StringUtils.EMPTY);
}
+
+ @Override
+ public boolean testFilePath(FileDataSetBean fileDataSetBean) {
+ try {
+ return FileProcessor.KEY.testFilePath(fileDataSetBean);
+ } catch (Exception e) {
+ FineLoggerFactory.getLogger().error(e.getMessage(), e);
+ return false;
+ }
+ }
}
diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/DatacentersJSBridge.java b/designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/DCTableDataJSBridge.java
similarity index 91%
rename from designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/DatacentersJSBridge.java
rename to designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/DCTableDataJSBridge.java
index f8e164dccf..c5f25d68aa 100644
--- a/designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/DatacentersJSBridge.java
+++ b/designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/DCTableDataJSBridge.java
@@ -4,6 +4,7 @@ import com.fr.base.BaseFormula;
import com.fr.datacenters.tabledata.bean.DCFilterQueryBean;
import com.fr.datacenters.tabledata.bean.DCTableDataBean;
import com.fr.datacenters.tabledata.filter.DCFilter;
+import com.fr.datacenters.tabledata.parameter.DCParameter;
import com.fr.design.bridge.exec.JSBridge;
import com.fr.design.dialog.DialogActionListener;
import com.fr.design.dialog.UIDialog;
@@ -37,7 +38,7 @@ import java.util.stream.Collectors;
* Created on 2024/6/17
*/
@JsAccessible
-public class DatacentersJSBridge {
+public class DCTableDataJSBridge {
private static final String EVENT_FORMULA_UPDATE = "OK";
private static final String EVENT_FORMULA_CANCEL = "CANCEL";
@@ -47,25 +48,25 @@ public class DatacentersJSBridge {
* @param window js环境的window对象
* @return 桥接实例
*/
- public static DatacentersJSBridge getBridge(JsObject window) {
- return new DatacentersJSBridge(window);
+ public static DCTableDataJSBridge getBridge(JsObject window) {
+ return new DCTableDataJSBridge(window);
}
private final JsObject window;
- private DatacentersJSBridge(JsObject window) {
+ private DCTableDataJSBridge(JsObject window) {
this.window = window;
}
- private static DatacentersPane relationPanel;
+ private static DCTableDataPane relationPanel;
/**
* 设置窗口,用于打开对话框的层级
*
* @param panel 面板
*/
- public static void relationPanel(DatacentersPane panel) {
+ public static void relationPanel(DCTableDataPane panel) {
relationPanel = panel;
}
@@ -161,7 +162,9 @@ public class DatacentersJSBridge {
JxUIPane.DEFAULT_EXECUTOR.submit(() -> {
try {
DCTableDataBean decoded = EmbedJson.decodeValue(tableData, DCTableDataBean.class);
- DCFilter dcFilter = decoded.getFilter().evalValue(decoded.getParameters(), Calculator.createCalculator());
+ DCParameter[] dcParameters = Arrays.stream(decoded.getParameters())
+ .map(DCParameter::fromBean).toArray(DCParameter[]::new);
+ DCFilter dcFilter = decoded.getFilter().evalValue(dcParameters, Calculator.createCalculator());
DCFilterQueryBean queryBean = dcFilter.toQueryBean();
String encode = EmbedJson.encode(queryBean);
callback.invoke(window, encode);
diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/DatacentersPane.java b/designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/DCTableDataPane.java
similarity index 79%
rename from designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/DatacentersPane.java
rename to designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/DCTableDataPane.java
index 62679018d4..766e57ec20 100644
--- a/designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/DatacentersPane.java
+++ b/designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/DCTableDataPane.java
@@ -4,6 +4,7 @@ import com.fanruan.workplace.http.ServiceType;
import com.fr.datacenters.tabledata.DCTableData;
import com.fr.datacenters.tabledata.bean.DCNameBean;
import com.fr.datacenters.tabledata.bean.DCTableDataBean;
+import com.fr.design.data.DesignTableDataManager;
import com.fr.design.data.tabledata.tabledatapane.AbstractTableDataPane;
import com.fr.design.dialog.DialogActionListener;
import com.fr.design.dialog.UIDialog;
@@ -14,10 +15,15 @@ import com.fr.json.revise.EmbedJson;
import com.fr.stable.StringUtils;
import com.fr.third.guava.collect.ImmutableMap;
import com.fr.workspace.WorkContext;
+import com.teamdev.jxbrowser.browser.callback.InjectJsCallback;
import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import java.awt.Window;
+import java.util.Arrays;
+
+import static com.fr.design.ui.ModernUIConstants.DOT;
+import static com.fr.design.ui.ModernUIConstants.WINDOW;
/**
* 数据中心数据集面板
@@ -26,7 +32,7 @@ import java.awt.Window;
* @since 11.0
* Created on 2024/6/17
*/
-public class DatacentersPane extends AbstractTableDataPane {
+public class DCTableDataPane extends AbstractTableDataPane {
private static final JxEngine JX_ENGINE = JxEngine.newInstance(false);
@@ -37,31 +43,7 @@ public class DatacentersPane extends AbstractTableDataPane {
// 用于复制粘贴场景
private DCTableData dcTableData;
- /**
- * 借用,只运行一次
- */
- private void addDialogActionListener() {
-
- // 保证在窗口加载完成后执行
- SwingUtilities.invokeLater(() -> {
- Window ancestor = SwingUtilities.getWindowAncestor(DatacentersPane.this);
- if (ancestor instanceof UIDialog) {
- ((UIDialog) ancestor).addDialogActionListener(new DialogActionListener() {
- @Override
- public void doOk() {
- dataCenterJxUIPane.disposeBrowser();
- }
-
- @Override
- public void doCancel() {
- dataCenterJxUIPane.disposeBrowser();
- }
- });
- }
- });
- }
-
- public DatacentersPane() {
+ public DCTableDataPane() {
setLayout(new BorderLayout());
dataCenterJxUIPane = getJxUIPane();
add(dataCenterJxUIPane, BorderLayout.CENTER);
@@ -73,7 +55,7 @@ public class DatacentersPane extends AbstractTableDataPane {
return new JxUIPane.Builder()
.engine(JX_ENGINE)
.namespace(DATA_CENTER)
- .bindWindow(DATA_CENTER_HELPER, DatacentersJSBridge::getBridge)
+ .bindWindow(DATA_CENTER_HELPER, DCTableDataJSBridge::getBridge)
.withEMB("com/fr/design/data/tabledata/datacenter/web/data-choose.prod.html",
ImmutableMap.of("fineServletURL", getDatacentersUrl()))
.build();
@@ -96,9 +78,11 @@ public class DatacentersPane extends AbstractTableDataPane {
@Override
public void populateBean(DCTableData ob) {
- DatacentersJSBridge.relationPanel(this);
+ DCTableDataJSBridge.relationPanel(this);
dcTableData = ob;
dataCenterJxUIPane.populate(EmbedJson.encode(ob.toBean()));
+ String[] allDSNames = DesignTableDataManager.getAllDSNames(DesignTableDataManager.getEditingTableDataSource());
+ dataCenterJxUIPane.executeJS(DATA_CENTER + DOT + "datasetNames=" + EmbedJson.encode(allDSNames));
}
diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ClassTableDataPane.java b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ClassTableDataPane.java
index 312f5291f4..191b3312e2 100644
--- a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ClassTableDataPane.java
+++ b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ClassTableDataPane.java
@@ -55,7 +55,6 @@ public class ClassTableDataPane extends AbstractTableDataPane {
//类名
classNameTextField = new UITextField();
UIButton browserButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Select"));
- browserButton.setPreferredSize(new Dimension(browserButton.getPreferredSize().width, classNameTextField.getPreferredSize().height));
browserButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
final ClassNameSelectPane bPane = new ClassNameSelectPane();
diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java
index 32dc440a3d..c8c827260e 100644
--- a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java
+++ b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java
@@ -208,6 +208,7 @@ public class DBTableDataPane extends AbstractTableDataPane implemen
@Override
public void keyPressed(KeyEvent e) {
+ searchField.setToolTipText(searchField.getText());
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
e.setKeyCode(KeyEvent.VK_UP);
DBTableDataPane.this.connectionTableProcedurePane.requestFocus();
diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/EmbeddedTableDataPane.java b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/EmbeddedTableDataPane.java
index 8ab58d8603..ab0ba9da8b 100644
--- a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/EmbeddedTableDataPane.java
+++ b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/EmbeddedTableDataPane.java
@@ -1,5 +1,6 @@
package com.fr.design.data.tabledata.tabledatapane;
+import com.fine.theme.light.ui.FineTableHeaderUI;
import com.fine.theme.utils.FineUIScale;
import com.fr.data.impl.EmbeddedTableData;
import com.fr.design.constants.LayoutConstants;
@@ -17,6 +18,7 @@ import com.fr.stable.StringUtils;
import javax.swing.DefaultCellEditor;
import javax.swing.JPanel;
import javax.swing.JTable;
+import javax.swing.UIManager;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableCellRenderer;
@@ -25,6 +27,7 @@ import javax.swing.table.TableColumn;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
+import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
@@ -42,7 +45,7 @@ import static com.fine.swing.ui.layout.Layouts.flex;
public class EmbeddedTableDataPane extends AbstractTableDataPane {
private static final int MIN_CELL_WIDTH = 30;
private static final int PREVIEW_TABLE_MIN_COLUMN_WIDTH = FineUIScale.scale(75);
- private static final int PREVIEW_TABLE_WIDTH = FineUIScale.scale(600);
+ private static final int PREVIEW_TABLE_WIDTH = FineUIScale.scale(860);
private JTable dataJTable ;
private UITableScrollPane scrollPane;
private UILabel coordinatelabel;
@@ -69,6 +72,8 @@ public class EmbeddedTableDataPane extends AbstractTableDataPane 1) {
+ dataJTable.getTableHeader().setPreferredSize(new Dimension(super.getWidth(), FineUIScale.scale((Integer) UIManager.get("Table.rowHeight"))));
+ } else {
+ dataJTable.getTableHeader().setPreferredSize(new Dimension(super.getWidth(), FineUIScale.scale(4)));
+ }
}
- private class DoubleRenderer extends DefaultTableCellRenderer {
+ private class DoubleRenderer extends FineTableHeaderUI.TableRenderer {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
setHorizontalAlignment(RIGHT);
return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
}
}
- private class DateRenderer extends DefaultTableCellRenderer {
+ private class DateRenderer extends FineTableHeaderUI.TableRenderer {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Date date2Format = DateUtils.object2Date(value, true);
return super.getTableCellRendererComponent(table, date2Format == null ? StringUtils.EMPTY : DateUtils.DATEFORMAT1.format(date2Format), isSelected, hasFocus, row,
diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/FileTableDataPane.java b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/FileTableDataPane.java
index 3ad4c40678..7efe6f7196 100644
--- a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/FileTableDataPane.java
+++ b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/FileTableDataPane.java
@@ -14,6 +14,7 @@ import com.fr.data.impl.ExcelTableData;
import com.fr.data.impl.FileTableData;
import com.fr.data.impl.TextTableData;
import com.fr.data.impl.XMLTableData;
+import com.fr.decision.webservice.bean.dataset.FileDataSetBean;
import com.fr.design.actions.UpdateAction;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.data.datapane.preview.PreviewTablePane;
@@ -47,6 +48,7 @@ import com.fr.stable.ParameterProvider;
import com.fr.stable.StringUtils;
import com.fr.stable.xml.XMLReadable;
import com.fr.stable.xml.XMLableReader;
+import com.fr.workspace.server.repository.tabledata.TableDataRepository;
import javax.swing.ButtonGroup;
import javax.swing.JOptionPane;
@@ -194,16 +196,18 @@ public class FileTableDataPane extends AbstractTableDataPane {
urlText.setEditable(false);
// 选择按钮
chooseFile = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Selection"));
+ chooseFile.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Selection"));
chooseFile.addActionListener(chooseFileListener);
// 测试连接按钮
testConnection = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Datasource_Test_Connection"));
+ testConnection.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Datasource_Test_Connection"));
testConnection.setEnabled(false);
testConnection.addActionListener(testConnectionListener);
// 提示信息
tipPanel = column(
- cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Type_Parameter_Desc"), FineUIStyle.LABEL_TIP)),
- cell(new UILabel("reportlets/excel/FineReport${abc}." + "txt", FineUIStyle.LABEL_TIP)),
- cell(new UILabel("http://192.168.100.120:8080/XXServer/Report/excel${abc}.jsp", FineUIStyle.LABEL_TIP))
+ cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Type_Parameter"), FineUIStyle.LABEL_TIP)),
+ cell(new UILabel("assets/file_dataset/FineReport${abc}." + "txt", FineUIStyle.LABEL_TIP)),
+ cell(new UILabel("http://192.168.100.120:8080/webroot/help/excel${abc}.jsp", FineUIStyle.LABEL_TIP))
).getComponent();
return column(
LayoutConstants.VERTICAL_GAP,
@@ -233,22 +237,20 @@ public class FileTableDataPane extends AbstractTableDataPane {
}
params = getEditorPaneParameter();
URLDataSource url = new URLDataSource(urlText.getText().trim(), params);
- InputStream in = null;
+ boolean result = false;
try {
- in = url.getSourceStream(params);
+ String urlText = ParameterHelper.analyze4Templatee(url.getUrl(), params);
+ FileDataSetBean bean = new FileDataSetBean();
+ bean.setFilePath(urlText);
+ result = TableDataRepository.getInstance().testFilePath(bean);
} catch (Throwable e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e);
}
- if (in == null) {
+ if (!result) {
FineJOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Database_Connection_Failed"),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Error"), JOptionPane.ERROR_MESSAGE, UIManager.getIcon("OptionPane.errorIcon"));
} else {
FineJOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Datasource_Connection_Successfully"));
- try {
- in.close();
- } catch (IOException e) {
- in = null;
- }
}
}
};
diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/MultiTDTableDataPane.java b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/MultiTDTableDataPane.java
index 25964be6d8..219b4bdb37 100644
--- a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/MultiTDTableDataPane.java
+++ b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/MultiTDTableDataPane.java
@@ -102,8 +102,12 @@ public class MultiTDTableDataPane extends AbstractTableDataPane it.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Multi_Dataset_Name")))
+ .weight(0.2),
+ cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Multi_Dataset_Conditions")))
+ .with(it -> it.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Multi_Dataset_Conditions")))
+ .weight(0.2),
flex(0.6)
).getComponent());
@@ -329,7 +333,7 @@ public class MultiTDTableDataPane extends AbstractTableDataPane it.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Conditions_Formula") + "=")).weight(0.15),
row(5, cell(formulaContentTextField).weight(0.95), cell(formulaButton).weight(0.05)).weight(0.85)
).weight(0.77),
flex(0.03)
diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/TableDataFactory.java b/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/TableDataFactory.java
index 096fcc420d..6d87a2c1bc 100644
--- a/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/TableDataFactory.java
+++ b/designer-base/src/main/java/com/fr/design/data/tabledata/wrapper/TableDataFactory.java
@@ -15,7 +15,7 @@ import com.fr.data.impl.storeproc.StoreProcedure;
import com.fr.datacenters.tabledata.DCTableData;
import com.fr.decision.webservice.bean.dataset.ServerDataSetBean;
import com.fr.design.data.datapane.TableDataNameObjectCreator;
-import com.fr.design.data.tabledata.datacenter.DatacentersPane;
+import com.fr.design.data.tabledata.datacenter.DCTableDataPane;
import com.fr.design.data.tabledata.tabledatapane.AbstractTableDataPane;
import com.fr.design.data.tabledata.tabledatapane.ClassTableDataPane;
import com.fr.design.data.tabledata.tabledatapane.DBTableDataPane;
@@ -79,7 +79,7 @@ public abstract class TableDataFactory {
i18nText("Fine-Design_Basic_DS_Datacenters"),
new LazyIcon("datacenter"),
DCTableData.class,
- DatacentersPane.class));
+ DCTableDataPane.class));
map.putAll(defaultMap);
}
diff --git a/designer-base/src/main/java/com/fr/design/dialog/BasicScrollPane.java b/designer-base/src/main/java/com/fr/design/dialog/BasicScrollPane.java
index 5c80e2b167..5434e71ce9 100644
--- a/designer-base/src/main/java/com/fr/design/dialog/BasicScrollPane.java
+++ b/designer-base/src/main/java/com/fr/design/dialog/BasicScrollPane.java
@@ -5,6 +5,7 @@ import com.fr.design.gui.iscrollbar.UIScrollBar;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
+import javax.swing.SwingUtilities;
import java.awt.AWTEvent;
import java.awt.Color;
import java.awt.Component;
@@ -111,6 +112,15 @@ public abstract class BasicScrollPane extends BasicBeanPane{
doLayout();
}
+ /**
+ * 插入图表后单元格元素使用cardLayout布局,需要滚动效果获取高度在子类中重新计算
+ *
+ * @return height
+ */
+ protected int getMaxHeight(){
+ return getHeight();
+ }
+
protected class BarLayout implements LayoutManager {
@Override
@@ -135,7 +145,7 @@ public abstract class BasicScrollPane extends BasicBeanPane{
@Override
public void layoutContainer(Container parent) {
- if(getHeight() >= leftcontentPane.getPreferredSize().height) {
+ if(getMaxHeight() >= leftcontentPane.getPreferredSize().height) {
scrollBar.setEnabled(false);
scrollBar.setVisible(false);
} else {
@@ -143,7 +153,7 @@ public abstract class BasicScrollPane extends BasicBeanPane{
scrollBar.setEnabled(show);
scrollBar.setVisible(show);
}
- maxheight = getHeight() - DET_HEIGHT;
+ maxheight = getMaxHeight() - DET_HEIGHT;
if ((MAXVALUE - scrollBar.getVisibleAmount()) == 0) {
beginY = 0;
} else {
diff --git a/designer-base/src/main/java/com/fr/design/dialog/FineJOptionPane.java b/designer-base/src/main/java/com/fr/design/dialog/FineJOptionPane.java
index a5f890de6d..387dafec02 100644
--- a/designer-base/src/main/java/com/fr/design/dialog/FineJOptionPane.java
+++ b/designer-base/src/main/java/com/fr/design/dialog/FineJOptionPane.java
@@ -1,5 +1,6 @@
package com.fr.design.dialog;
+import com.fine.theme.icon.LazyIcon;
import com.fr.invoke.Reflect;
import com.fr.stable.StringUtils;
@@ -31,6 +32,8 @@ public class FineJOptionPane extends JOptionPane {
//选项类型optionType 和 选项字符串数组 一一对应
private final static Map OPTION_MAP = new HashMap<>();
+ public Icon successMessageIcon;
+
static {
OPTION_MAP.put(DEFAULT_OPTION, OPTION_DEFAULT);
OPTION_MAP.put(YES_NO_OPTION, OPTION_YES_NO);
@@ -42,6 +45,17 @@ public class FineJOptionPane extends JOptionPane {
private final static String CONFIRM_DIALOG_TITLE = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Dialog_Prompt");
private final static String INPUT_DIALOG_TITLE = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Tool_Tips");
+ public FineJOptionPane(Object message, int messageType, int optionType,
+ Icon icon, Object[] options, Object initialValue,
+ boolean successMessage) {
+ super(message, messageType, optionType, icon, options, initialValue);
+ if (successMessage) {
+ successMessageIcon = new LazyIcon("success", 20);
+ }
+ }
+
+
+
/**
* 使用默认 标题 和 消息类型 的消息提示弹出框
* @param parentComponent 父容器
@@ -54,6 +68,34 @@ public class FineJOptionPane extends JOptionPane {
INFORMATION_MESSAGE);
}
+ /**
+ * 使用 success 图标、 默认 标题 和 消息类型 的消息提示弹出框
+ * @param parentComponent 父容器
+ * @param message 具体的提示消息
+ * @throws HeadlessException
+ */
+ public static void showSuccessMessageDialog(Component parentComponent, Object message)
+ throws HeadlessException {
+ showMessageDialog(parentComponent, message, MESSAGE_DIALOG_TITLE, INFORMATION_MESSAGE, true);
+ }
+
+
+ /**
+ * 使用默认 标题 和 消息类型 的消息提示弹出框
+ * @param parentComponent 父容器
+ * @param message 具体的提示消息
+ * @param title 标题
+ * @param messageType 消息类型
+ * @param isSuccessMessage 是否使用 success 图标,如果不是则根据消息类型生成图标
+ * @throws HeadlessException
+ */
+ public static void showMessageDialog(Component parentComponent, Object message,
+ String title, int messageType, boolean isSuccessMessage)
+ throws HeadlessException {
+ showOptionDialog(parentComponent, message, title, DEFAULT_OPTION,
+ messageType, null, OPTION_DEFAULT, null, isSuccessMessage);
+ }
+
/**
* 使用默认 Icon 的消息提示弹出框
* @param parentComponent 父容器
@@ -101,7 +143,7 @@ public class FineJOptionPane extends JOptionPane {
Icon icon, Object[] options, Object initialValue)
throws HeadlessException {
showOptionDialog(parentComponent, message, title, optionType,
- messageType, icon, options, initialValue);
+ messageType, icon, options, initialValue, false);
}
/**
@@ -182,7 +224,7 @@ public class FineJOptionPane extends JOptionPane {
Object[] options, Object initialValue)
throws HeadlessException {
return showOptionDialog(parentComponent, message, title, optionType,
- messageType, icon, options, initialValue);
+ messageType, icon, options, initialValue, false);
}
/**
@@ -199,7 +241,7 @@ public class FineJOptionPane extends JOptionPane {
String title, Icon icon, Object initialValue, ActionListener listener)
throws HeadlessException {
int val = showOptionDialog(parentComponent, message, title, JOptionPane.DEFAULT_OPTION,
- FineJOptionPane.WARNING_MESSAGE, icon, OPTION_OK_CANCEL, initialValue);
+ FineJOptionPane.WARNING_MESSAGE, icon, OPTION_OK_CANCEL, initialValue, false);
if (val == JOptionPane.OK_OPTION && listener!=null) {
listener.actionPerformed(null);
}
@@ -315,4 +357,71 @@ public class FineJOptionPane extends JOptionPane {
return value;
}
+ /**
+ * 根据 message type 生成 icon
+ * @return
+ */
+ public Icon getIcon() {
+ if (successMessageIcon != null) {
+ return successMessageIcon;
+ }
+ switch (messageType) {
+ case ERROR_MESSAGE:
+ return new LazyIcon("error", 20);
+ case WARNING_MESSAGE:
+ return new LazyIcon("warning", 20);
+ case INFORMATION_MESSAGE:
+ return new LazyIcon("information", 20);
+ case QUESTION_MESSAGE:
+ return new LazyIcon("question", 20);
+ default:
+ return icon;
+ }
+ }
+
+ /**
+ * 自定义的确认弹出框
+ * @param parentComponent 父容器
+ * @param message 具体的提示消息
+ * @param title 标题
+ * @param optionType 选项类型
+ * @param messageType 消息类型
+ * @param icon 图标
+ * @param options 选项
+ * @param initialValue 初始选项
+ * @param isSuccessMessage 是否使用 success 图标
+ */
+ public static int showOptionDialog(Component parentComponent, Object message,
+ String title, int optionType, int messageType,
+ Icon icon, Object[] options, Object initialValue,
+ boolean isSuccessMessage) {
+ FineJOptionPane pane = new FineJOptionPane(message, messageType, optionType, icon, options, initialValue, isSuccessMessage);
+ pane.setInitialValue(initialValue);
+ pane.setComponentOrientation(((parentComponent == null) ? getRootFrame() : parentComponent).getComponentOrientation());
+
+ JDialog dialog = pane.createDialog(parentComponent, title);
+ pane.selectInitialValue();
+ dialog.show();
+ dialog.dispose();
+
+ Object selectedValue = pane.getValue();
+
+ if (selectedValue == null){
+ return CLOSED_OPTION;
+ }
+ if (options == null) {
+ if (selectedValue instanceof Integer) {
+ return ((Integer) selectedValue).intValue();
+ }
+ return CLOSED_OPTION;
+ }
+ for(int counter = 0, maxCounter = options.length;
+ counter < maxCounter; counter++) {
+ if (options[counter].equals(selectedValue)) {
+ return counter;
+ }
+ }
+ return CLOSED_OPTION;
+ }
+
}
diff --git a/designer-base/src/main/java/com/fr/design/dialog/TipDialog.java b/designer-base/src/main/java/com/fr/design/dialog/TipDialog.java
index 35f9c3c0fb..7822ee7f0e 100644
--- a/designer-base/src/main/java/com/fr/design/dialog/TipDialog.java
+++ b/designer-base/src/main/java/com/fr/design/dialog/TipDialog.java
@@ -5,6 +5,7 @@ import com.fr.design.gui.ilable.UILabel;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.utils.gui.GUICoreUtils;
+import com.fr.design.utils.gui.UIComponentUtils;
import com.fr.general.IOUtils;
import com.fr.stable.StringUtils;
@@ -36,6 +37,7 @@ public abstract class TipDialog extends JDialog implements ActionListener {
iconPane.setPreferredSize(new Dimension(50, 50));
JPanel tipPane = FRGUIPaneFactory.createBorderLayout_L_Pane();
UILabel tipLabel = new UILabel(tip);
+ UIComponentUtils.setLineWrap(tipLabel);
tipPane.add(tipLabel);
northPane.add(iconPane, BorderLayout.WEST);
northPane.add(tipPane, BorderLayout.CENTER);
diff --git a/designer-base/src/main/java/com/fr/design/dialog/UIDetailErrorLinkDialog.java b/designer-base/src/main/java/com/fr/design/dialog/UIDetailErrorLinkDialog.java
index 24ff7e10c7..ac4298fba8 100644
--- a/designer-base/src/main/java/com/fr/design/dialog/UIDetailErrorLinkDialog.java
+++ b/designer-base/src/main/java/com/fr/design/dialog/UIDetailErrorLinkDialog.java
@@ -1,5 +1,9 @@
package com.fr.design.dialog;
+import com.fine.theme.icon.LazyIcon;
+import com.fine.theme.utils.FineUIScale;
+import com.fine.theme.utils.FineUIStyle;
+import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.base.GraphHelper;
import com.fr.design.dialog.link.MessageWithLink;
import com.fr.design.gui.ibutton.UIButton;
@@ -7,6 +11,7 @@ import com.fr.design.gui.icontainer.UIScrollPane;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.itextarea.UITextArea;
import com.fr.design.i18n.Toolkit;
+import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.utils.DesignUtils;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.general.IOUtils;
@@ -30,6 +35,11 @@ import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
+import static com.fine.swing.ui.layout.Layouts.cell;
+import static com.fine.swing.ui.layout.Layouts.column;
+import static com.fine.swing.ui.layout.Layouts.fix;
+import static com.fine.swing.ui.layout.Layouts.row;
+
/**
* 带链接的错误详情弹窗
*
@@ -40,13 +50,13 @@ import javax.swing.SwingUtilities;
public class UIDetailErrorLinkDialog extends UIDialog {
private static final Color LINK_COLOR = new Color(51, 152, 253);
- private static final int GAP_5 = 5;
+ private static final int GAP_8 = 8;
private static final int GAP_10 = 10;
private static final String TAG_A_START = "";
private static final String TAG_A_END = "";
private static final double SCALE = 1.2;
- private final Dimension dimension = new Dimension(300, 180);
+ private final Dimension dimension = new Dimension(360, 180);
public static Builder newBuilder() {
return new Builder();
@@ -65,15 +75,12 @@ public class UIDetailErrorLinkDialog extends UIDialog {
private void init(Builder builder) {
this.setTitle(builder.title);
// 顶部 图标和提示
- UILabel errorIcon = new UILabel(IOUtils.readIcon("com/fr/design/images/lookandfeel/Information_Icon_Error_32x32.png"));
+ UILabel errorIcon = new UILabel(new LazyIcon("error", 20));
UILabel errorInfo= new UILabel(builder.reason);
- JPanel topPane = new JPanel(new FlowLayout(FlowLayout.LEFT, GAP_10, GAP_5));
- topPane.add(errorIcon);
- topPane.add(errorInfo);
+ FineUIStyle.setStyle(errorInfo, FineUIStyle.LABEL_TIP_WINDOW_TITLE);
// 中部 详细内容
- JPanel contentPane = new JPanel(new BorderLayout());
- contentPane.setBorder(BorderFactory.createEmptyBorder(0, GAP_5,0,0));
+ JPanel contentPane = new JPanel(FRGUIPaneFactory.createScaledBorderLayout(GAP_10, GAP_10));
UILabel errorCodeLabel = new UILabel(Toolkit.i18nText("Fine_Design_Basic_Error_Code", builder.errorCode));
UILabel link = new UILabel(Toolkit.i18nText("Fine_Design_Basic_Show_Error_Stack"));
link.setForeground(LINK_COLOR);
@@ -92,13 +99,17 @@ public class UIDetailErrorLinkDialog extends UIDialog {
contentPane.add(link, BorderLayout.SOUTH);
// 确定 + 取消
- JPanel actionPane = new JPanel(new FlowLayout(FlowLayout.RIGHT, GAP_10, GAP_5));
+ JPanel actionPane = new JPanel(new FlowLayout(FlowLayout.RIGHT, GAP_10, GAP_8));
actionPane.add(createButton(Toolkit.i18nText("Fine-Design_Report_OK")));
actionPane.add(createButton(Toolkit.i18nText("Fine-Design_Basic_Cancel")));
- this.getContentPane().add(topPane, BorderLayout.NORTH);
- this.getContentPane().add(contentPane, BorderLayout.CENTER);
+
+ this.getContentPane().add(column(10,
+ row(10, cell(errorIcon), cell(errorInfo)),
+ row(10, fix(20), cell(contentPane))
+ ).with(it -> it.setBorder(new ScaledEmptyBorder(GAP_10, GAP_10, GAP_10, GAP_10))).getComponent());
+
this.getContentPane().add(actionPane, BorderLayout.SOUTH);
- this.setSize(dimension);
+ this.setSize(FineUIScale.scale(dimension));
this.setResizable(false);
this.setModal(true);
GUICoreUtils.centerWindow(this);
diff --git a/designer-base/src/main/java/com/fr/design/editor/ValueEditorPane.java b/designer-base/src/main/java/com/fr/design/editor/ValueEditorPane.java
index 5822570e1a..cbfe35b0ff 100644
--- a/designer-base/src/main/java/com/fr/design/editor/ValueEditorPane.java
+++ b/designer-base/src/main/java/com/fr/design/editor/ValueEditorPane.java
@@ -58,7 +58,7 @@ public class ValueEditorPane extends BasicPane implements UIObserver, GlobalName
}
public ValueEditorPane(Editor[] cards, String popupName, String textEditorValue) {
- initComponents(cards, popupName, textEditorValue, 200);
+ initComponents(cards, popupName, textEditorValue, FineUIScale.scale(200));
}
public ValueEditorPane(Editor[] cards, String popupName, String textEditorValue, int centerPaneWidth) {
diff --git a/designer-base/src/main/java/com/fr/design/env/HttpWorkspaceConnector.java b/designer-base/src/main/java/com/fr/design/env/HttpWorkspaceConnector.java
index 3687735601..ce2cdab889 100644
--- a/designer-base/src/main/java/com/fr/design/env/HttpWorkspaceConnector.java
+++ b/designer-base/src/main/java/com/fr/design/env/HttpWorkspaceConnector.java
@@ -6,6 +6,8 @@ import com.fanruan.workplace.http.RepositoryManager;
import com.fanruan.workplace.http.info.Stub;
import com.fr.log.FineLoggerFactory;
import com.fr.stable.StringUtils;
+import com.fr.workspace.engine.exception.RemoteDesignConnectionException;
+import com.fr.workspace.engine.exception.RemoteDesignNoAuthException;
import com.fr.workspace.server.repository.authority.RemoteAuthorityRepository;
import com.fr.workspace.server.repository.compatible.register.CompatibleRegister;
import com.fr.workspace.server.repository.connect.FineWorkspaceHttpClient;
@@ -43,7 +45,8 @@ public class HttpWorkspaceConnector implements WorkspaceConnector {
FineWorkspaceHttpClient client = FineWorkspaceHttpClient.create("Http-Client", connectionInfo);
LoginResponseInfoBean bean;
try {
- bean = RemoteAuthorityRepository.getInstance().login(createLoginBean(connectionInfo));
+ bean = RemoteAuthorityRepository.getInstance().login(createLoginBean(connectionInfo));
+ checkValidAndUpdateInfo(client, connectionInfo, bean);
} finally {
client.closePool();
}
@@ -65,12 +68,7 @@ public class HttpWorkspaceConnector implements WorkspaceConnector {
throw new RuntimeException("Empty token, try connect again and check server");
}
FineLoggerFactory.getLogger().info("[connector] infos:{}", bean.getAccessToken());
- WorkspaceConnection connection = new WorkspaceConnection(
- UUID.randomUUID().toString(),
- connectionInfo.getUserName(),
- HttpConstants.AUTHORIZATION_PREFIX + bean.getAccessToken(),
- InetAddress.getLocalHost().getHostAddress());
- client.updateConnection(connection);
+ checkValidAndUpdateInfo(client, connectionInfo, bean);
client.startHeartBeat();
} catch (Exception e) {
client.closePool();
@@ -81,6 +79,30 @@ public class HttpWorkspaceConnector implements WorkspaceConnector {
return client;
}
+ private void checkValidAndUpdateInfo(FineWorkspaceHttpClient client, WorkspaceConnectionInfo connectionInfo, LoginResponseInfoBean bean) throws Exception {
+ WorkspaceConnection connection = new WorkspaceConnection(
+ UUID.randomUUID().toString(),
+ connectionInfo.getUserName(),
+ HttpConstants.AUTHORIZATION_PREFIX + bean.getAccessToken(),
+ InetAddress.getLocalHost().getHostAddress());
+ client.updateConnection(connection);
+ // 检查远程权限
+ if (!checkRemoteAuthority(connection)) {
+ // 无权限则抛出无权限的错
+ throw new RemoteDesignNoAuthException();
+ }
+ }
+
+ private boolean checkRemoteAuthority(WorkspaceConnection connection) {
+ try {
+ return RemoteAuthorityRepository.getInstance().isRoot(connection.getUserName()) || RemoteAuthorityRepository.getInstance().hasAuthority(connection.getUserName());
+ } catch (Exception e) {
+ // 如果这里出现异常,就认为fr服务没启动
+ throw new RemoteDesignConnectionException(e, StringUtils.EMPTY);
+ }
+
+ }
+
private LoginRequestInfoBean createLoginBean(WorkspaceConnectionInfo connectionInfo) {
LoginRequestInfoBean bean = new LoginRequestInfoBean();
bean.setUsername(connectionInfo.getUserName());
diff --git a/designer-base/src/main/java/com/fr/design/extra/LoginDialog.java b/designer-base/src/main/java/com/fr/design/extra/LoginDialog.java
deleted file mode 100644
index 8fbb2d2a5d..0000000000
--- a/designer-base/src/main/java/com/fr/design/extra/LoginDialog.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.fr.design.extra;
-
-import com.fr.design.dialog.UIDialog;
-import com.fr.design.utils.gui.GUICoreUtils;
-import com.fr.stable.StableUtils;
-
-import javax.swing.*;
-import java.awt.*;
-
-/**
- * Created by vito on 2017/5/5.
- */
-public class LoginDialog extends UIDialog {
- private static final Dimension DEFAULT_SHOP = new Dimension(401, 301);
-
- public LoginDialog(Frame frame, Component pane) {
- super(frame);
- init(pane);
- }
-
- public LoginDialog(Dialog dialog, Component pane) {
- super(dialog);
- init(pane);
- }
-
- private void init(Component pane) {
- if (StableUtils.getMajorJavaVersion() >= 8) {
- setUndecorated(true);
- }
- JPanel panel = (JPanel) getContentPane();
- panel.setLayout(new BorderLayout());
- add(pane, BorderLayout.CENTER);
- setSize(DEFAULT_SHOP);
- GUICoreUtils.centerWindow(this);
- setResizable(false);
- }
-
- @Override
- public void checkValid() throws Exception {
- // do nothing
- }
-}
diff --git a/designer-base/src/main/java/com/fr/design/extra/LoginWebBridge.java b/designer-base/src/main/java/com/fr/design/extra/LoginWebBridge.java
deleted file mode 100644
index 212cf2cae7..0000000000
--- a/designer-base/src/main/java/com/fr/design/extra/LoginWebBridge.java
+++ /dev/null
@@ -1,200 +0,0 @@
-package com.fr.design.extra;
-
-import com.fanruan.carina.Carina;
-import com.fanruan.cloud.FanruanCloud;
-import com.fanruan.config.bbs.FineBBSConfigProvider;
-import com.fr.concurrent.NamedThreadFactory;
-import com.fr.design.DesignerEnvManager;
-import com.fr.design.dialog.UIDialog;
-import com.fr.design.extra.exe.PluginLoginExecutor;
-import com.fr.design.gui.ilable.UILabel;
-import com.fr.design.locale.impl.BbsRegisterMark;
-import com.fr.design.locale.impl.BbsResetMark;
-import com.fr.design.login.service.DesignerLoginClient;
-import com.fr.design.login.service.DesignerLoginResult;
-import com.fr.general.CloudCenter;
-import com.fr.general.http.HttpClient;
-import com.fr.general.locale.LocaleCenter;
-import com.fr.general.locale.LocaleMark;
-import com.fr.log.FineLoggerFactory;
-import com.fr.stable.StringUtils;
-import javafx.concurrent.Task;
-import javafx.scene.web.WebEngine;
-import netscape.javascript.JSObject;
-
-import javax.swing.*;
-import java.awt.*;
-import java.net.URI;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-/**
- * @author vito
- */
-public class LoginWebBridge {
-
- //最低消息的条数
- private static final int MIN_MESSAGE_COUNT = 0;
- //网络连接失败
- private static final String NET_FAILED = "-4";
- //用户名,密码为空
- private static final String LOGIN_INFO_EMPTY = "-5";
- private static final Color LOGIN_BACKGROUND = new Color(184, 220, 242);
- private static LoginWebBridge helper;
- //消息条数
- private int messageCount;
- private UIDialog uiDialog;
- private UIDialog qqDialog;
- private UILabel uiLabel;
- private WebEngine webEngine;
-
- private LoginWebBridge() {
- }
-
- public static LoginWebBridge getHelper() {
- if (helper != null) {
- return helper;
- }
- synchronized (LoginWebBridge.class) {
- if (helper == null) {
- helper = new LoginWebBridge();
- }
- return helper;
- }
- }
-
- public static LoginWebBridge getHelper(WebEngine webEngine) {
- getHelper();
- helper.setWebEngine(webEngine);
- return helper;
- }
-
- public void setWebEngine(WebEngine webEngine) {
- this.webEngine = webEngine;
- }
-
- public int getMessageCount() {
- return messageCount;
- }
-
- /**
- * 设置获取的消息长度,并设置显示
- *
- * @param count
- */
- public void setMessageCount(int count) {
- if (count == MIN_MESSAGE_COUNT) {
- Carina.config(FineBBSConfigProvider.class).setBbsUsername(DesignerEnvManager.getEnvManager().getDesignerLoginUsername());
- return;
- }
- this.messageCount = count;
- StringBuilder sb = new StringBuilder();
- sb.append(StringUtils.BLANK).append(DesignerEnvManager.getEnvManager().getDesignerLoginUsername())
- .append("(").append(this.messageCount)
- .append(")").append(StringUtils.BLANK);
- Carina.config(FineBBSConfigProvider.class).setBbsUsername(sb.toString());
- }
-
- public void setQQDialog(UIDialog qqDialog) {
- closeQQWindow();
- this.qqDialog = qqDialog;
- }
-
- public void setDialogHandle(UIDialog uiDialog) {
- closeWindow();
- this.uiDialog = uiDialog;
- }
-
- public void setUILabel(UILabel uiLabel) {
- this.uiLabel = uiLabel;
- }
-
- /**
- * 测试论坛网络连接
- *
- * @return
- */
- private boolean testConnection() {
- HttpClient client = new HttpClient(CloudCenter.getInstance().acquireUrlByKind("bbs.test"));
- return client.isServerAlive();
- }
-
- /**
- * 注册页面
- */
- public void registerHref() {
- try {
- LocaleMark registerMark = LocaleCenter.getMark(BbsRegisterMark.class);
- Desktop.getDesktop().browse(new URI(registerMark.getValue()));
- } catch (Exception e) {
- FineLoggerFactory.getLogger().error(e.getMessage(), e);
- }
- }
-
- /**
- * 忘记密码
- */
- public void forgetHref() {
- try {
- LocaleMark resetMark = LocaleCenter.getMark(BbsResetMark.class);
- Desktop.getDesktop().browse(new URI(resetMark.getValue()));
- } catch (Exception e) {
- FineLoggerFactory.getLogger().error(e.getMessage(), e);
- }
- }
-
- /**
- * 设计器端的用户登录
- *
- * @param username 用户名
- * @param password 密码
- * @return 登录信息标志
- */
- public void defaultLogin(String username, String password, final JSObject callback) {
- Task task = new PluginTask<>(webEngine, callback, new PluginLoginExecutor(username, password));
- ExecutorService es = Executors.newSingleThreadExecutor(new NamedThreadFactory("bbsDefaultLogin"));
- es.submit(task);
- es.shutdown();
- }
-
- /**
- * 登录操作
- *
- * @param userInfo 登录信息
- * @param password 密码
- * @return 登录信息标志
- */
- public String login(String userInfo, String password) {
- DesignerLoginClient client = new DesignerLoginClient();
- DesignerLoginResult result = client.login(userInfo, password);
- int uid = result.getUid();
- if (uid > 0) {
- closeWindow();
- }
- return String.valueOf(uid);
- }
-
- /**
- * 关闭窗口
- */
- public void closeWindow() {
- if (uiDialog != null) {
- uiDialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
- uiDialog.setVisible(false);
- }
- }
-
- /**
- * 关闭QQ授权窗口
- */
- public void closeQQWindow() {
- if (qqDialog != null) {
- qqDialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
- qqDialog.setVisible(false);
- }
- }
-
- public void openUrlAtLocalWebBrowser(WebEngine eng, String url) {
- // do nothing
- }
-}
\ No newline at end of file
diff --git a/designer-base/src/main/java/com/fr/design/extra/LoginWebPane.java b/designer-base/src/main/java/com/fr/design/extra/LoginWebPane.java
deleted file mode 100644
index d0a155a582..0000000000
--- a/designer-base/src/main/java/com/fr/design/extra/LoginWebPane.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.fr.design.extra;
-
-import com.fr.design.dialog.FineJOptionPane;
-import javafx.application.Platform;
-import javafx.embed.swing.JFXPanel;
-import javafx.event.EventHandler;
-import javafx.scene.Scene;
-import javafx.scene.layout.BorderPane;
-import javafx.scene.web.WebEngine;
-import javafx.scene.web.WebEvent;
-import javafx.scene.web.WebView;
-import netscape.javascript.JSObject;
-
-import javax.swing.*;
-
-/**
- * Created by zhaohehe on 16/7/26.
- */
-public class LoginWebPane extends JFXPanel {
-
- public LoginWebPane(final String installHome) {
- Platform.setImplicitExit(false);
- Platform.runLater(new Runnable() {
- @Override
- public void run() {
- BorderPane root = new BorderPane();
- Scene scene = new Scene(root);
- LoginWebPane.this.setScene(scene);
- WebView webView = new WebView();
- WebEngine webEngine = webView.getEngine();
- webEngine.load("file:///" + installHome + "/scripts/login.html");
- webEngine.setOnAlert(new EventHandler>() {
- @Override
- public void handle(WebEvent event) {
- showAlert(event.getData());
- }
- });
- JSObject obj = (JSObject) webEngine.executeScript("window");
- obj.setMember("LoginHelper", LoginWebBridge.getHelper(webEngine));
- webView.setContextMenuEnabled(false);//屏蔽右键
- root.setCenter(webView);
- }
- });
- }
-
- private void showAlert(final String message) {
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- FineJOptionPane.showMessageDialog(LoginWebPane.this, message);
- }
- });
- }
-}
diff --git a/designer-base/src/main/java/com/fr/design/extra/PluginOperateUtils.java b/designer-base/src/main/java/com/fr/design/extra/PluginOperateUtils.java
index aa506e679f..89110cb256 100644
--- a/designer-base/src/main/java/com/fr/design/extra/PluginOperateUtils.java
+++ b/designer-base/src/main/java/com/fr/design/extra/PluginOperateUtils.java
@@ -30,13 +30,11 @@ import com.fr.plugin.view.PluginView;
import com.fr.plugin.xml.PluginElementName;
import com.fr.plugin.xml.PluginXmlElement;
import com.fr.stable.StringUtils;
-import com.teamdev.jxbrowser.chromium.JSArray;
import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;
import java.io.File;
import java.net.HttpURLConnection;
-import java.util.ArrayList;
import java.util.List;
diff --git a/designer-base/src/main/java/com/fr/design/extra/PluginWebBridge.java b/designer-base/src/main/java/com/fr/design/extra/PluginWebBridge.java
deleted file mode 100644
index 58b731cf79..0000000000
--- a/designer-base/src/main/java/com/fr/design/extra/PluginWebBridge.java
+++ /dev/null
@@ -1,601 +0,0 @@
-package com.fr.design.extra;
-
-import com.fanruan.carina.Carina;
-import com.fanruan.cloud.FanruanCloud;
-import com.fanruan.config.bbs.FineBBSConfigProvider;
-import com.fr.config.MarketConfig;
-import com.fr.design.DesignerEnvManager;
-import com.fr.design.RestartHelper;
-import com.fr.design.bridge.exec.JSCallback;
-import com.fr.design.dialog.UIDialog;
-import com.fr.design.extra.exe.GetInstalledPluginsExecutor;
-import com.fr.design.extra.exe.GetPluginCategoriesExecutor;
-import com.fr.design.extra.exe.GetPluginFromStoreExecutor;
-import com.fr.design.extra.exe.GetPluginPrefixExecutor;
-import com.fr.design.extra.exe.PluginLoginExecutor;
-import com.fr.design.extra.exe.ReadUpdateOnlineExecutor;
-import com.fr.design.extra.exe.SearchOnlineExecutor;
-import com.fr.design.locale.impl.BbsRegisterMark;
-import com.fr.design.locale.impl.BbsResetMark;
-import com.fr.design.locale.impl.BbsSpaceMark;
-import com.fr.design.login.DesignerLoginSource;
-import com.fr.design.plugin.DesignerPluginContext;
-import com.fr.design.utils.concurrent.ThreadFactoryBuilder;
-import com.fr.general.locale.LocaleCenter;
-import com.fr.general.locale.LocaleMark;
-import com.fr.json.JSONObject;
-import com.fr.log.FineLoggerFactory;
-import com.fr.plugin.context.PluginMarker;
-import com.fr.stable.ArrayUtils;
-import com.fr.stable.StringUtils;
-import javafx.concurrent.Task;
-import javafx.scene.web.WebEngine;
-import javafx.stage.FileChooser;
-import javafx.stage.Stage;
-import netscape.javascript.JSObject;
-
-import javax.swing.*;
-import java.awt.*;
-import java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
-
-/**
- * 开放给Web组件的接口,用于安装,卸载,更新以及更改插件可用状态
- */
-public class PluginWebBridge {
- private static final String THREAD_NAME_TEMPLATE = "pluginbridge-thread-%s";
- private static final String ACTION = "action";
- private static final String KEYWORD = "keyword";
- private static final String PLUGIN_INFO = "pluginInfo";
- private static final int COREPOOLSIZE = 3;
- private static final int MAXPOOLSIZE = 5;
-
- private static PluginWebBridge helper;
-
- private UIDialog uiDialog;
- private ACTIONS actions;
-
- private Map config;
- private WebEngine webEngine;
-
- private ExecutorService threadPoolExecutor = new ThreadPoolExecutor(COREPOOLSIZE, MAXPOOLSIZE,
- 0L, TimeUnit.MILLISECONDS,
- new LinkedBlockingQueue(COREPOOLSIZE),
- new ThreadFactoryBuilder().setNameFormat(THREAD_NAME_TEMPLATE).build());
-
- private PluginWebBridge() {
- }
-
- public static PluginWebBridge getHelper() {
- if (helper != null) {
- return helper;
- }
- synchronized (PluginWebBridge.class) {
- if (helper == null) {
- helper = new PluginWebBridge();
- }
- return helper;
- }
- }
-
- public static PluginWebBridge getHelper(WebEngine webEngine) {
- getHelper();
- helper.setEngine(webEngine);
- return helper;
- }
-
- /**
- * 获取打开动作配置
- *
- * @return 配置信息
- */
- public String getRunConfig() {
- if (actions != null) {
- JSONObject jsonObject = new JSONObject();
- try {
- jsonObject.put(ACTION, actions.getContext());
- Set keySet = config.keySet();
- for (String key : keySet) {
- jsonObject.put(key, config.get(key).toString());
- }
- } catch (Exception e) {
- FineLoggerFactory.getLogger().error(e.getMessage(), e);
- }
- return jsonObject.toString();
- }
- return StringUtils.EMPTY;
- }
-
- /**
- * 配置打开动作
- *
- * @param action 动作
- * @param config 参数
- */
- public void setRunConfig(ACTIONS action, Map config) {
- this.actions = action;
- this.config = config;
- }
-
- /**
- * 清楚打开动作
- */
- public void clearRunConfig() {
- this.actions = null;
- this.config = null;
- }
-
- /**
- * 打开时搜索
- *
- * @param keyword 关键词
- */
-
- public void openWithSearch(String keyword) {
- HashMap map = new HashMap(2);
- map.put(KEYWORD, keyword);
- setRunConfig(ACTIONS.SEARCH, map);
- }
-
- /**
- * 根据插件信息跳转到应用中心
- *
- * @param keyword
- * @param pluginInfo
- */
- public void showResultInStore(String keyword, String pluginInfo) {
- HashMap map = new HashMap<>();
- map.put(KEYWORD, keyword);
- map.put(PLUGIN_INFO, pluginInfo);
- setRunConfig(ACTIONS.SHOW_RESULT, map);
- }
-
- public void setEngine(WebEngine webEngine) {
- this.webEngine = webEngine;
- }
-
- public void setDialogHandle(UIDialog uiDialog) {
- closeWindow();
- this.uiDialog = uiDialog;
- }
-
- /**
- * 从插件服务器上安装插件
- *
- * @param pluginInfo 插件的ID
- * @param callback 回调函数
- */
- public void installPluginOnline(final String pluginInfo, final JSObject callback) {
- JSCallback jsCallback = new JSCallback(PluginJavaFxExecutor.create(webEngine, callback));
- PluginMarker pluginMarker = PluginUtils.createPluginMarker(pluginInfo);
- PluginOperateUtils.installPluginOnline(pluginMarker, jsCallback);
- }
-
- /**
- * 从磁盘上选择插件安装包进行安装
- *
- * @param filePath 插件包的路径
- */
- public void installPluginFromDisk(final String filePath, final JSObject callback) {
- JSCallback jsCallback = new JSCallback(PluginJavaFxExecutor.create(webEngine, callback));
- File file = new File(filePath);
- PluginOperateUtils.installPluginFromDisk(file, jsCallback);
- }
-
- /**
- * 卸载当前选中的插件
- *
- * @param pluginInfo 插件信息
- */
- public void uninstallPlugin(final String pluginInfo, final boolean isForce, final JSObject callback) {
- JSCallback jsCallback = new JSCallback(PluginJavaFxExecutor.create(webEngine, callback));
- PluginOperateUtils.uninstallPlugin(pluginInfo, isForce, jsCallback);
- }
-
- /**
- * 从插件服务器上更新选中的插件
- *
- * @param pluginIDs 插件集合
- */
- public void updatePluginOnline(JSObject pluginIDs, final JSObject callback) {
- JSCallback jsCallback = new JSCallback(PluginJavaFxExecutor.create(webEngine, callback));
- String[] pluginInfos = jsObjectToStringArray(pluginIDs);
- List pluginMarkerList = new ArrayList();
- for (int i = 0; i < pluginInfos.length; i++) {
- pluginMarkerList.add(PluginUtils.createPluginMarker(pluginInfos[i]));
- }
- PluginOperateUtils.updatePluginOnline(pluginMarkerList, jsCallback);
- }
-
- /**
- * 从磁盘上选择插件安装包进行插件升级
- *
- * @param filePath 插件包的路径
- */
- public void updatePluginFromDisk(String filePath, final JSObject callback) {
- JSCallback jsCallback = new JSCallback(PluginJavaFxExecutor.create(webEngine, callback));
- File file = new File(filePath);
- PluginOperateUtils.updatePluginFromDisk(file, jsCallback);
- }
-
- /**
- * 修改选中的插件的活跃状态
- *
- * @param pluginID 插件ID
- */
- public void setPluginActive(String pluginID, final JSObject callback) {
- JSCallback jsCallback = new JSCallback(PluginJavaFxExecutor.create(webEngine, callback));
- PluginOperateUtils.setPluginActive(pluginID, jsCallback);
- }
-
- /**
- * 已安装插件检查更新
- */
- public void readUpdateOnline(final JSObject callback) {
- Task task = new PluginTask<>(webEngine, callback, new ReadUpdateOnlineExecutor());
- threadPoolExecutor.submit(task);
- }
-
- /**
- * 选择文件对话框
- *
- * @return 选择的文件的路径
- */
- public String showFileChooser() {
- return showFileChooserWithFilter(StringUtils.EMPTY, StringUtils.EMPTY);
- }
-
- /**
- * 选择文件对话框
- *
- * @param des 过滤文件描述
- * @param filter 文件的后缀
- * @return 选择的文件的路径
- * 这里换用JFileChooser会卡死,不知道为什么
- */
- public String showFileChooserWithFilter(String des, String filter) {
- FileChooser fileChooser = new FileChooser();
-
- if (StringUtils.isNotEmpty(filter)) {
- fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter(des, filter));
- }
-
- File selectedFile = fileChooser.showOpenDialog(new Stage());
- if (selectedFile == null) {
- return null;
- }
- return selectedFile.getAbsolutePath();
- }
-
- /**
- * 选择文件对话框
- *
- * @param des 过滤文件描述
- * @param args 文件的后缀
- * @return 选择的文件的路径
- */
- public String showFileChooserWithFilters(String des, JSObject args) {
- FileChooser fileChooser = new FileChooser();
- String[] filters = jsObjectToStringArray(args);
- if (ArrayUtils.isNotEmpty(filters)) {
- fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter(des, filters));
- }
-
- File selectedFile = fileChooser.showOpenDialog(new Stage());
- if (selectedFile == null) {
- return null;
- }
- return selectedFile.getAbsolutePath();
- }
-
- /**
- * 获取已经安装的插件的数组
- *
- * @return 已安装的插件组成的数组
- */
- public void getInstalledPlugins(final JSObject callback) {
- Task task = new PluginTask<>(webEngine, callback, new GetInstalledPluginsExecutor());
- threadPoolExecutor.submit(task);
- }
-
- private String[] jsObjectToStringArray(JSObject obj) {
- if (obj == null) {
- return ArrayUtils.EMPTY_STRING_ARRAY;
- }
- int len = (int) obj.getMember("length");
- List list = new ArrayList<>();
- for (int i = 0; i < len; i++) {
- list.add(obj.getSlot(i).toString());
- }
- return list.toArray(new String[len]);
- }
-
- /**
- * 搜索在线插件
- *
- * @param keyword 关键字
- */
- public void searchPlugin(String keyword, final JSObject callback) {
- Task task = new PluginTask<>(webEngine, callback, new SearchOnlineExecutor(keyword));
- threadPoolExecutor.submit(task);
- }
-
- /**
- * 根据条件获取在线插件的
- *
- * @param category 分类
- * @param seller 卖家性质
- * @param fee 收费类型
- * @param callback 回调函数
- */
- public void getPluginFromStore(String category, String seller, String fee, final JSObject callback) {
- Task task = new PluginTask<>(webEngine, callback, new GetPluginFromStoreExecutor(category, seller, fee, ""));
- threadPoolExecutor.submit(task);
- }
-
- /**
- * 根据条件获取在线插件
- *
- * @param info 插件信息
- * @param callback 回调函数
- */
- public void getPluginFromStoreNew(String info, final JSObject callback) {
- try {
- Task task = new PluginTask<>(webEngine, callback, new GetPluginFromStoreExecutor(new JSONObject(info)));
- threadPoolExecutor.submit(task);
- } catch (Exception e) {
- FineLoggerFactory.getLogger().error(e.getMessage(), e);
- }
- }
-
-
- public void getPluginPrefix(final JSObject callback) {
- Task task = new PluginTask<>(webEngine, callback, new GetPluginPrefixExecutor());
- threadPoolExecutor.submit(task);
- }
-
- /**
- * 在线获取插件分类
- *
- * @param callback 回调函数
- */
- public void getPluginCategories(final JSObject callback) {
- Task task = new PluginTask<>(webEngine, callback, new GetPluginCategoriesExecutor());
- threadPoolExecutor.submit(task);
- }
-
- /**
- * 展示一个重启的对话框(少用,莫名其妙会有bug)
- *
- * @param message 展示的消息
- */
- public void showRestartMessage(String message) {
- int rv = JOptionPane.showOptionDialog(
- null,
- message,
- com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Plugin_Warning"),
- JOptionPane.YES_NO_OPTION,
- JOptionPane.INFORMATION_MESSAGE,
- null,
- new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Restart_Designer"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Restart_Designer_Later")},
- null
- );
- if (rv == JOptionPane.OK_OPTION) {
- RestartHelper.restart();
- }
- }
-
- /**
- * 关闭窗口
- */
- public void closeWindow() {
- if (uiDialog != null) {
- uiDialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
- uiDialog.setVisible(false);
- }
- if (uiDialog == DesignerPluginContext.getPluginDialog()) {
- DesignerPluginContext.setPluginDialog(null);
- }
- }
-
- /**
- * 窗口是否无装饰(判断是否使用系统标题栏)
- */
- public boolean isCustomTitleBar() {
- if (uiDialog != null) {
- return uiDialog.isUndecorated();
- }
- return false;
- }
-
- /**
- * 获取系统登录的用户名
- *
- * @param callback
- */
- public String getLoginInfo(final JSObject callback) {
- registerLoginInfo(callback);
- return DesignerEnvManager.getEnvManager().getDesignerLoginUsername();
- }
-
- /**
- * 系统登录注册
- *
- * @param callback
- */
- public void registerLoginInfo(final JSObject callback) {
- JSCallback jsCallback = new JSCallback(PluginJavaFxExecutor.create(webEngine, callback));
- PluginOperateUtils.getLoginInfo(jsCallback);
- }
-
- /**
- * 打开论坛消息界面
- */
- public void getPriviteMessage() {
- try {
- LocaleMark spaceMark = LocaleCenter.getMark(BbsSpaceMark.class);
- Desktop.getDesktop().browse(new URI(spaceMark.getValue()));
- } catch (Exception exp) {
- FineLoggerFactory.getLogger().info(exp.getMessage());
- }
- }
-
- /**
- * 打开登录页面
- */
- public void loginContent() {
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- UserLoginContext.fireLoginContextListener(DesignerLoginSource.NORMAL);
- }
- });
- }
-
- /**
- * 在本地浏览器里打开url
- * tips:重载的时候,需要给js调用的方法需要放在前面,否则可能不会被调用(此乃坑)
- * 所以最好的是不要重载在js可以访问的接口文件中
- *
- * @param url 要打开的地址
- */
- public void openShopUrlAtWebBrowser(String url) {
- openUrlAtLocalWebBrowser(webEngine, url);
- }
-
- /**
- * 在本地浏览器里打开url
- *
- * @param eng web引擎
- * @param url 要打开的地址
- */
- public void openUrlAtLocalWebBrowser(WebEngine eng, String url) {
- if (Desktop.isDesktopSupported()) {
- try {
- //创建一个URI实例,注意不是URL
- URI uri = URI.create(url);
- //获取当前系统桌面扩展
- Desktop desktop = Desktop.getDesktop();
- //判断系统桌面是否支持要执行的功能
- if (desktop.isSupported(Desktop.Action.BROWSE)) {
- //获取系统默认浏览器打开链接
- desktop.browse(uri);
- }
- } catch (NullPointerException e) {
- //此为uri为空时抛出异常
- FineLoggerFactory.getLogger().error(e.getMessage(), e);
- } catch (IOException e) {
- //此为无法获取系统默认浏览器
- FineLoggerFactory.getLogger().error(e.getMessage(), e);
- }
- }
- }
-
- /**
- * 注册页面
- */
- public void registerHref() {
- try {
- LocaleMark registerMark = LocaleCenter.getMark(BbsRegisterMark.class);
- Desktop.getDesktop().browse(new URI(registerMark.getValue()));
- } catch (Exception e) {
- FineLoggerFactory.getLogger().info(e.getMessage());
- }
- }
-
-
- /*-------------------------------登录部分的处理----------------------------------*/
-
- /**
- * 忘记密码
- */
- public void forgetHref() {
- try {
- LocaleMark resetMark = LocaleCenter.getMark(BbsResetMark.class);
- Desktop.getDesktop().browse(new URI(resetMark.getValue()));
- } catch (Exception e) {
- FineLoggerFactory.getLogger().info(e.getMessage());
- }
- }
-
- /**
- * 设计器端的用户登录
- *
- * @param username 用户名
- * @param password 密码
- * @return 登录信息标志
- */
- public void defaultLogin(String username, String password, final JSObject callback) {
- Task task = new PluginTask<>(webEngine, callback, new PluginLoginExecutor(username, password));
- threadPoolExecutor.submit(task);
- }
-
- /**
- * 通过QQ登录后通知登录
- */
- public void ucsynLogin(long uid, String username, String password, final JSONObject callback) {
-
- }
-
- /**
- * 清除用户信息
- */
- public void clearUserInfo() {
- Carina.config(FineBBSConfigProvider.class).setBbsUsername(StringUtils.EMPTY);
- }
-
- public void getPackInfo(final JSObject callback){
- JSCallback jsCallback = new JSCallback(PluginJavaFxExecutor.create(webEngine, callback));
- jsCallback.execute(StringUtils.EMPTY);
- }
-
- /**
- * 初始化设计器部分
- */
- public void initExtraDiff(final JSObject callback) {
- //todo 初始化设计器其他部分
- }
-
-
- /**
- * 国际化(用来做兼容,暂时不删)
- */
- public String parseI18(final String key) {
- return com.fr.design.i18n.Toolkit.i18nText(key);
- }
-
-
- /**
- * 是否是在设计器中操作
- */
- public boolean isDesigner() {
- return true;
- }
-
- /**
- * 动作枚举
- */
- public enum ACTIONS {
- SEARCH("search"), SHOW_RESULT("showResult");
- private String context;
-
- ACTIONS(String context) {
- this.context = context;
- }
-
- public String getContext() {
- return context;
- }
- }
-
-}
diff --git a/designer-base/src/main/java/com/fr/design/extra/PluginWebPane.java b/designer-base/src/main/java/com/fr/design/extra/PluginWebPane.java
deleted file mode 100644
index 002ac88bf1..0000000000
--- a/designer-base/src/main/java/com/fr/design/extra/PluginWebPane.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package com.fr.design.extra;
-
-import com.fr.base.TemplateUtils;
-import com.fr.design.dialog.FineJOptionPane;
-import com.fr.general.GeneralContext;
-import com.fr.general.IOUtils;
-import com.fr.log.FineLoggerFactory;
-import com.fr.stable.EncodeConstants;
-import com.fr.stable.StableUtils;
-import com.fr.stable.StringUtils;
-import javafx.application.Platform;
-import javafx.embed.swing.JFXPanel;
-import javafx.event.EventHandler;
-import javafx.scene.Scene;
-import javafx.scene.layout.BorderPane;
-import javafx.scene.web.WebEngine;
-import javafx.scene.web.WebEvent;
-import javafx.scene.web.WebView;
-import netscape.javascript.JSObject;
-
-import javax.swing.JOptionPane;
-import javax.swing.SwingUtilities;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URLEncoder;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Created by richie on 16/3/19.
- */
-public class PluginWebPane extends JFXPanel {
- private static final String RESOURCE_URL = "resourceURL";
- private static final String LANGUAGE = "language";
- private static final String URL_PLUS = "+";
- private static final String URL_SPACING = "%20";
- private static final String URL_PREFIX = "file:///";
- private WebEngine webEngine;
-
- public PluginWebPane(final String installHome, final String mainJs) {
- Platform.setImplicitExit(false);
- Platform.runLater(new Runnable() {
- @Override
- public void run() {
- BorderPane root = new BorderPane();
- Scene scene = new Scene(root);
- PluginWebPane.this.setScene(scene);
- WebView webView = new WebView();
- webEngine = webView.getEngine();
- try{
- String htmlString = getRenderedHtml(installHome, mainJs);
- webEngine.loadContent(htmlString);
- webEngine.setOnAlert(new EventHandler>() {
- @Override
- public void handle(WebEvent event) {
- showAlert(event.getData());
- }
- });
- JSObject obj = (JSObject) webEngine.executeScript("window");
- obj.setMember("PluginHelper", PluginWebBridge.getHelper(webEngine));
- webView.setContextMenuEnabled(false);//屏蔽右键
- root.setCenter(webView);
- }catch (Exception e){
- FineLoggerFactory.getLogger().error(e.getMessage(), e);
- }
-
- }
- });
- }
-
- private String getRenderedHtml(String installHome, String mainJs) throws IOException {
- InputStream inp = IOUtils.readResource(StableUtils.pathJoin(installHome, mainJs));
- if (inp == null) {
- throw new IOException("Not found template: " + mainJs);
- }
- BufferedReader reader = new BufferedReader(new InputStreamReader(inp, StableUtils.RESOURCE_ENCODER));
- BufferedReader read = new BufferedReader(reader);
- StringBuffer sb = new StringBuffer();
- String line;
- Map map4Tpl = new HashMap();
- //URL中关于空格的编码与空格所在位置相关:空格被编码成+的情况只能在查询字符串部分出现,而被编码成%20则可以出现在路径和查询字符串中
- //URLEncoder会将空格转成+,这边需要+转成%20
- map4Tpl.put(RESOURCE_URL, URL_PREFIX + URLEncoder.encode(installHome, EncodeConstants.ENCODING_UTF_8).replace(URL_PLUS, URL_SPACING));
- map4Tpl.put(LANGUAGE, GeneralContext.getLocale().toString());
- while ((line = read.readLine()) != null) {
- if (sb.length() > 0) {
- sb.append('\n');
- }
- sb.append(line);
- }
- String htmlString = StringUtils.EMPTY;
- try{
- htmlString = TemplateUtils.renderParameter4Tpl(sb.toString(), map4Tpl);
- }catch (Exception e){
- FineLoggerFactory.getLogger().error(e.getMessage(), e);
- }
- reader.close();
- inp.close();
- return htmlString;
- }
-
- private void showAlert(final String message) {
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- FineJOptionPane.showMessageDialog(PluginWebPane.this, message);
- }
- });
- }
-}
diff --git a/designer-base/src/main/java/com/fr/design/extra/QQLoginDialog.java b/designer-base/src/main/java/com/fr/design/extra/QQLoginDialog.java
deleted file mode 100644
index 3ba60054f2..0000000000
--- a/designer-base/src/main/java/com/fr/design/extra/QQLoginDialog.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.fr.design.extra;
-
-import com.fr.design.dialog.UIDialog;
-import com.fr.design.utils.gui.GUICoreUtils;
-
-import javax.swing.*;
-import java.awt.*;
-
-/**
- * Created by zhaohehe on 16/7/28.
- */
-public class QQLoginDialog extends UIDialog {
- private static final Dimension DEFAULT_SHOP = new Dimension(700, 500);
-
- public QQLoginDialog(Frame frame, Component pane) {
- super(frame);
- setUndecorated(true);
- JPanel panel = (JPanel) getContentPane();
- panel.setLayout(new BorderLayout());
- add(pane, BorderLayout.CENTER);
- setSize(DEFAULT_SHOP);
- GUICoreUtils.centerWindow(this);
- setResizable(false);
- setTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Plugin_Manager"));
- }
-
- @Override
- public void checkValid() throws Exception {
- // do nothing
- }
-
-}
\ No newline at end of file
diff --git a/designer-base/src/main/java/com/fr/design/extra/ShopDialog.java b/designer-base/src/main/java/com/fr/design/extra/ShopDialog.java
deleted file mode 100644
index fed3179894..0000000000
--- a/designer-base/src/main/java/com/fr/design/extra/ShopDialog.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.fr.design.extra;
-
-import com.fr.design.dialog.BasicPane;
-import com.fr.design.dialog.UIDialog;
-import com.fr.design.jdk.JdkVersion;
-import com.fr.design.plugin.DesignerPluginContext;
-import com.fr.design.utils.gui.GUICoreUtils;
-import com.fr.stable.StableUtils;
-
-import javax.swing.*;
-import java.awt.*;
-
-/**
- * Created by vito on 16/4/18.
- */
-public class ShopDialog extends UIDialog {
-
- public ShopDialog(Frame frame, BasicPane pane) {
- super(frame);
- if (StableUtils.getMajorJavaVersion() >= 8) {
- setUndecorated(true);
- }
- JPanel panel = (JPanel) getContentPane();
- panel.setLayout(new BorderLayout());
- add(pane, BorderLayout.CENTER);
- setSize(createDefaultDimension());
- GUICoreUtils.centerWindow(this);
- setResizable(false);
- DesignerPluginContext.setPluginDialog(this);
- }
-
- private Dimension createDefaultDimension() {
- Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
- // jdk11 分辨率较低 缩放较大时 屏幕高度小于或接近设定的高度 需要调整下
- if (JdkVersion.GE_9.support() && screenSize.height - 700 < 50) {
- return new Dimension(900, screenSize.height - 100);
- } else {
- return new Dimension(900, 700);
- }
- }
-
- @Override
- public void checkValid() throws Exception {
- // do nothing
- }
-}
diff --git a/designer-base/src/main/java/com/fr/design/extra/ShopManagerPane.java b/designer-base/src/main/java/com/fr/design/extra/ShopManagerPane.java
deleted file mode 100644
index c7d0894f95..0000000000
--- a/designer-base/src/main/java/com/fr/design/extra/ShopManagerPane.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.fr.design.extra;
-
-import com.fr.design.dialog.BasicPane;
-
-
-import java.awt.BorderLayout;
-import java.awt.Component;
-
-/**
- * @author richie
- * @date 2015-03-09
- * @since 8.0
- * 应用中心的构建采用JavaScript代码来动态实现,但是不总是依赖于服务器端的HTML
- * 采用JDK提供的JavaScript引擎,实际是用JavaScript语法实现Java端的功能,并通过JavaScript引擎动态调用
- * JavaScript放在安装目录下的scripts/store目录下,检测到新版本的时候,可以通过更新这个目录下的文件实现热更新
- * 不直接嵌入WebView组件的原因是什么呢?
- * 因为如果直接嵌入WebView,和设计器的交互就需要预先设定好,这样灵活性会差很多,而如果使用JavaScript引擎,
- * 就可以直接在JavaScript中和WebView组件做交互,而同时JavaScript中可以调用任何的设计器API.
- */
-public class ShopManagerPane extends BasicPane {
-
- public ShopManagerPane(Component webPane) {
- setLayout(new BorderLayout());
- add(webPane, BorderLayout.CENTER);
- }
-
- @Override
- protected String title4PopupWindow() {
- return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Plugin_Manager");
- }
-}
\ No newline at end of file
diff --git a/designer-base/src/main/java/com/fr/design/extra/ShopPaneConfig.java b/designer-base/src/main/java/com/fr/design/extra/ShopPaneConfig.java
deleted file mode 100644
index 9d265168db..0000000000
--- a/designer-base/src/main/java/com/fr/design/extra/ShopPaneConfig.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.fr.design.extra;
-
-import javafx.embed.swing.JFXPanel;
-
-/**
- * Created by vito on 2016/9/28.
- */
-public abstract class ShopPaneConfig {
- private String mainJS;
- private String scriptsId;
- private JFXPanel webPane;
-
- public ShopPaneConfig() {
- this.mainJS = setMainJS();
- this.scriptsId = setScriptsId();
- this.webPane = setWebPane();
- }
-
- abstract String setMainJS();
-
- abstract String setScriptsId();
-
- abstract JFXPanel setWebPane();
-
- public String getMainJS() {
- return mainJS;
- }
-
- public String getScriptsId() {
- return scriptsId;
- }
-
- public JFXPanel getWebPane() {
- return webPane;
- }
-}
diff --git a/designer-base/src/main/java/com/fr/design/extra/WebViewDlgHelper.java b/designer-base/src/main/java/com/fr/design/extra/WebViewDlgHelper.java
deleted file mode 100644
index 97e99f22b3..0000000000
--- a/designer-base/src/main/java/com/fr/design/extra/WebViewDlgHelper.java
+++ /dev/null
@@ -1,307 +0,0 @@
-package com.fr.design.extra;
-
-import com.fr.design.dialog.BasicPane;
-import com.fr.design.dialog.FineJOptionPane;
-import com.fr.design.dialog.UIDialog;
-import com.fr.design.gui.frpane.UITabbedPane;
-import com.fr.design.login.utils.DesignerLoginUtils;
-import com.fr.design.mainframe.DesignerContext;
-import com.fr.general.CloudCenter;
-import com.fr.general.CommonIOUtils;
-import com.fr.general.ComparatorUtils;
-import com.fr.general.GeneralContext;
-import com.fr.general.IOUtils;
-import com.fr.general.http.HttpToolbox;
-import com.fr.json.JSONObject;
-import com.fr.log.FineLoggerFactory;
-import com.fr.plugin.PluginStoreConfig;
-import com.fr.plugin.PluginStoreConstants;
-import com.fr.stable.CommonUtils;
-import com.fr.stable.EnvChangedListener;
-import com.fanruan.product.ProductConstants;
-import com.fr.stable.StableUtils;
-
-import javax.swing.JOptionPane;
-import javax.swing.SwingWorker;
-import java.awt.BorderLayout;
-import java.awt.Component;
-import java.awt.Dialog;
-import java.awt.Frame;
-import java.awt.Window;
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.Constructor;
-import java.util.concurrent.ExecutionException;
-
-/**
- * 在合适的 jre 环境下创建带有 WebView 的窗口
- *
- * @author vito
- * @date 2016/9/28
- */
-public class WebViewDlgHelper {
- private static final String LATEST = "latest";
- private static final String SHOP_SCRIPTS = "shop_scripts";
- private static final int VERSION_8 = 8;
- private static String installHome = PluginStoreConstants.getLocalInstallHome();
- private static final String MAIN_JS_PATH = "/scripts/plugin.html";
-
- static {
- GeneralContext.addEnvChangedListener(new EnvChangedListener() {
- @Override
- public void envChanged() {
- installHome = PluginStoreConstants.getLocalInstallHome();
- }
- });
- }
-
- public static void createPluginDialog() {
- if (StableUtils.getMajorJavaVersion() >= VERSION_8) {
- String mainJsPath = StableUtils.pathJoin(installHome, MAIN_JS_PATH);
- File file = new File(mainJsPath);
- if (!file.exists()) {
- int rv = FineJOptionPane.showConfirmDialog(
- null,
- com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Plugin_Shop_Need_Install"),
- com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Plugin_Warning"),
- JOptionPane.OK_CANCEL_OPTION,
- JOptionPane.INFORMATION_MESSAGE
- );
- if (rv == JOptionPane.OK_OPTION) {
- downloadShopScripts(SHOP_SCRIPTS);
- }
- return;
- }
- // 检测更新前先刷新一下版本号
- PluginStoreConstants.refreshProps();
-
- String jarVersion = PluginStoreConfig.getInstance().getEnvVersion();
- if (ComparatorUtils.equals(jarVersion, ProductConstants.VERSION)) {
- updateShopScripts(SHOP_SCRIPTS);
- showPluginDlg();
- } else {
- int rv = FineJOptionPane.showConfirmDialog(
- null,
- com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Plugin_Shop_Need_Install_Version"),
- com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Plugin_Warning"),
- JOptionPane.OK_CANCEL_OPTION,
- JOptionPane.INFORMATION_MESSAGE
- );
- if (rv == JOptionPane.OK_OPTION) {
- downloadShopScripts(SHOP_SCRIPTS);
- deleteExtraFile(StableUtils.pathJoin(installHome, "plugin.html"));
- }
- }
-
- } else {
- BasicPane traditionalStorePane = new BasicPane() {
- @Override
- protected String title4PopupWindow() {
- return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Plugin_Manager");
- }
- };
- traditionalStorePane.setLayout(new BorderLayout());
- traditionalStorePane.add(initTraditionalStore(), BorderLayout.CENTER);
- UIDialog dlg = new ShopDialog(DesignerContext.getDesignerFrame(), traditionalStorePane);
- dlg.setVisible(true);
- }
- }
-
- /**
- * 检查script文件夹中的plugin.html文件
- */
- public static void checkAndCopyMainFile(String indexPath, String mainJsPath) {
- File file = new File(indexPath);
- if (!file.exists()) {
- copyMainFile(mainJsPath);
- }
- }
-
- /**
- * 將script文件夹中的plugin.html文件复制到webreport下
- */
- private static void copyMainFile(String mainJsPath) {
- try {
- CommonIOUtils.copy(new File(mainJsPath), new File(installHome));
- } catch (IOException e) {
- FineLoggerFactory.getLogger().error(e.getMessage(), e);
- }
- }
-
-
- /**
- * 删除9.0工程下无用的plugin.html文件
- *
- * @param filePath 待删除文件路径
- */
- private static void deleteExtraFile(String filePath) {
- CommonIOUtils.deleteFile(new File(filePath));
- }
-
- /**
- * 以关键词打开设计器商店
- *
- * @param keyword 关键词
- */
- public static void createPluginDialog(String keyword) {
- PluginWebBridge.getHelper().openWithSearch(keyword);
- createPluginDialog();
- }
-
- /**
- * 以关键词打开设计器商店显示搜索结果
- *
- * @param keyword
- * @param data
- */
- @Deprecated
- public static void showPluginInStore(String keyword, String data) {
- PluginWebBridge.getHelper().showResultInStore(keyword, data);
- createPluginDialog();
- }
-
- public static void createLoginDialog() {
- if (StableUtils.getMajorJavaVersion() >= VERSION_8) {
- File file = new File(StableUtils.pathJoin(installHome, "scripts"));
- if (!file.exists()) {
- confirmDownLoadShopJS();
- } else {
- showLoginDlg(DesignerContext.getDesignerFrame());
- updateShopScripts(SHOP_SCRIPTS);
- }
- }
- }
-
-
- public static void createLoginDialog(Window parent) {
- if (StableUtils.getMajorJavaVersion() >= VERSION_8) {
- File file = new File(StableUtils.pathJoin(installHome, "scripts"));
- if (!file.exists()) {
- confirmDownLoadShopJS();
- } else {
- showLoginDlg(parent);
- updateShopScripts(SHOP_SCRIPTS);
- }
- }
- }
-
- private static void confirmDownLoadShopJS() {
- int rv = FineJOptionPane.showConfirmDialog(
- null,
- com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Plugin_Shop_Need_Install"),
- com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Plugin_Warning"),
- JOptionPane.OK_CANCEL_OPTION,
- JOptionPane.INFORMATION_MESSAGE
- );
- if (rv == JOptionPane.OK_OPTION) {
- downloadShopScripts(SHOP_SCRIPTS);
- }
- }
-
- private static void showPluginDlg() {
- try {
- Class> clazz = Class.forName("com.fr.design.extra.PluginWebPane");
- Constructor constructor = clazz.getConstructor(String.class, String.class);
- Component webPane = (Component) constructor.newInstance(installHome, MAIN_JS_PATH);
-
- BasicPane managerPane = new ShopManagerPane(webPane);
- UIDialog dlg = new ShopDialog(DesignerContext.getDesignerFrame(), managerPane);
- PluginWebBridge.getHelper().setDialogHandle(dlg);
- dlg.setVisible(true);
- DesignerLoginUtils.showPluginRemindOnFirstLaunch(dlg);
- } catch (Exception e) {
- // ignored
- FineLoggerFactory.getLogger().error(e.getMessage(), e);
- }
- }
-
- private static void showLoginDlg(Window window) {
- try {
- Class> clazz = Class.forName("com.fr.design.extra.LoginWebPane");
- Constructor constructor = clazz.getConstructor(String.class);
- Component webPane = (Component) constructor.newInstance(installHome);
- UIDialog qqdlg;
- if (window instanceof Dialog) {
- qqdlg = new LoginDialog((Dialog) window, webPane);
- } else {
- qqdlg = new LoginDialog((Frame) window, webPane);
- }
- LoginWebBridge.getHelper().setDialogHandle(qqdlg);
- qqdlg.setVisible(true);
- } catch (Throwable ignored) {
- // ignored
- }
- }
-
- private static Component initTraditionalStore() {
- UITabbedPane tabbedPane = new UITabbedPane();
- PluginInstalledPane installedPane = new PluginInstalledPane();
- tabbedPane.addTab(installedPane.tabTitle(), installedPane);
- tabbedPane.addTab(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Plugin_Update"), new PluginUpdatePane(tabbedPane));
- tabbedPane.addTab(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Plugin_All_Plugins"), new PluginFromStorePane(tabbedPane));
- return tabbedPane;
- }
-
- private static void downloadShopScripts(final String scriptsId) {
- new SwingWorker() {
- @Override
- protected Boolean doInBackground() throws Exception {
- return PluginUtils.downloadShopScripts(scriptsId, new Process() {
- @Override
- public void process(Double integer) {
- // 这个注释毫无意义,就是为了通过SonarQube
- }
- });
- }
-
- @Override
- protected void done() {
-
- try {
- if (get()) {
- File scriptZip = new File(StableUtils.pathJoin(PluginConstants.DOWNLOAD_PATH, PluginConstants.TEMP_FILE));
- if (scriptZip.exists()) {
- IOUtils.unzip(scriptZip, installHome);
- CommonUtils.deleteFile(scriptZip);
- }
- PluginStoreConstants.refreshProps(); // 下载完刷新一下版本号等
- FineJOptionPane.showMessageDialog(null, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Plugin_Shop_Installed"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Tool_Tips"), JOptionPane.INFORMATION_MESSAGE);
- }
- } catch (InterruptedException e) {
- FineLoggerFactory.getLogger().error(e.getMessage(), e);
- Thread.currentThread().interrupt();
- } catch (ExecutionException e) {
- FineLoggerFactory.getLogger().error(e.getMessage(), e);
- }
-
- }
- }.execute();
- }
-
- private static void updateShopScripts(final String scriptsId) {
- new SwingWorker() {
- @Override
- protected Void doInBackground() throws Exception {
- String url = CloudCenter.getInstance().acquireUrlByKind("shop.plugin.update");
- if (url != null) {
- String text = HttpToolbox.get(url + "?" + PluginUtils.FR_VERSION + "=" + ProductConstants.VERSION + "&version=" + PluginStoreConfig.getInstance().getVersion());
- JSONObject resultJSONObject = new JSONObject(text);
- String isLatest = resultJSONObject.optString("result");
- if (!ComparatorUtils.equals(isLatest, LATEST)) {
- int rv = FineJOptionPane.showConfirmDialog(
- null,
- com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Plugin_Shop_Need_Update"),
- com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Plugin_Warning"),
- JOptionPane.OK_CANCEL_OPTION,
- JOptionPane.INFORMATION_MESSAGE
- );
- if (rv == JOptionPane.OK_OPTION) {
- downloadShopScripts(scriptsId);
- }
- }
- }
- return null;
- }
- }.execute();
- }
-}
diff --git a/designer-base/src/main/java/com/fr/design/extra/exe/PluginLoginExecutor.java b/designer-base/src/main/java/com/fr/design/extra/exe/PluginLoginExecutor.java
index 7c6de0e06a..f31a71626e 100644
--- a/designer-base/src/main/java/com/fr/design/extra/exe/PluginLoginExecutor.java
+++ b/designer-base/src/main/java/com/fr/design/extra/exe/PluginLoginExecutor.java
@@ -1,6 +1,5 @@
package com.fr.design.extra.exe;
-import com.fr.design.extra.LoginWebBridge;
import com.fr.design.extra.Process;
import com.fr.design.login.service.DesignerPassportManager;
@@ -36,9 +35,6 @@ public class PluginLoginExecutor implements Executor {
@Override
public void run(Process process) {
int uid = DesignerPassportManager.getInstance().login(username, password);
- if (uid > 0) {
- LoginWebBridge.getHelper().closeWindow();
- }
result = String.valueOf(uid);
}
}
diff --git a/designer-base/src/main/java/com/fr/design/file/MultiTemplateTabPane.java b/designer-base/src/main/java/com/fr/design/file/MultiTemplateTabPane.java
index c063bdd26b..1ac3f12ead 100644
--- a/designer-base/src/main/java/com/fr/design/file/MultiTemplateTabPane.java
+++ b/designer-base/src/main/java/com/fr/design/file/MultiTemplateTabPane.java
@@ -847,7 +847,7 @@ public class MultiTemplateTabPane extends Row {
setIsCloseCurrent(true);
}
closeFormat(template);
- closeSpecifiedTemplate(template);
+ DesignCacheManager.processByCacheTableData(() -> closeSpecifiedTemplate(template));
DesignerContext.getDesignerFrame().getContentFrame().repaint();
isShowList = false;
} else {
diff --git a/designer-base/src/main/java/com/fr/design/formula/DefaultTinyFormulaPane.java b/designer-base/src/main/java/com/fr/design/formula/DefaultTinyFormulaPane.java
index 05053eec4f..7b69f306d5 100644
--- a/designer-base/src/main/java/com/fr/design/formula/DefaultTinyFormulaPane.java
+++ b/designer-base/src/main/java/com/fr/design/formula/DefaultTinyFormulaPane.java
@@ -1,6 +1,14 @@
package com.fr.design.formula;
+import com.fine.theme.utils.FineUIScale;
import com.fr.base.BaseFormula;
+import com.fr.design.gui.ilable.UILabel;
+import java.awt.Component;
+import java.awt.BorderLayout;
+
+import static com.fine.swing.ui.layout.Layouts.cell;
+import static com.fine.swing.ui.layout.Layouts.row;
+import static com.fine.swing.ui.layout.Layouts.flex;
/**
* @author Carlson
@@ -10,8 +18,44 @@ import com.fr.base.BaseFormula;
**/
public class DefaultTinyFormulaPane extends TinyFormulaPane{
+ /**
+ * 默认构造方法
+ * 一个输入框和一个F(x)按钮。
+ */
+ public DefaultTinyFormulaPane() {
+ this.initComponents();
+ this.initLayout();
+ }
+
+ /**
+ * 带标题的构造方法
+ * 当需要显示标题时使用此构造方法。
+ *
+ * @param title 要在布局中显示的标题
+ */
+ public DefaultTinyFormulaPane(String title) {
+ this.initComponents();
+ this.initLayout(title);
+ }
+
+ private void initLayout(String title) {
+ this.setLayout(new BorderLayout());
+ this.add(row(cell(new UILabel(title)).weight(1.2), cell(createDefaultTinyFormulaPane()).weight(3)).getComponent());
+ }
+
@Override
protected void populateTextField(BaseFormula fm) {
formulaTextField.setText(fm.getContent());
}
+
+ @Override
+ protected void initLayout() {
+ this.setLayout(new BorderLayout());
+ formulaTextFieldButton.setPreferredSize(FineUIScale.createScaleDimension(24, 24));
+ this.add(createDefaultTinyFormulaPane());
+ }
+
+ private Component createDefaultTinyFormulaPane() {
+ return row(cell(formulaTextField).weight(2), flex(0.1), cell(formulaTextFieldButton).weight(0.4)).getComponent();
+ }
}
diff --git a/designer-base/src/main/java/com/fr/design/formula/FormulaPane.java b/designer-base/src/main/java/com/fr/design/formula/FormulaPane.java
index 7c24d0636f..af825fb4a6 100644
--- a/designer-base/src/main/java/com/fr/design/formula/FormulaPane.java
+++ b/designer-base/src/main/java/com/fr/design/formula/FormulaPane.java
@@ -41,6 +41,7 @@ import com.fr.design.gui.itextarea.UITextArea;
import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.gui.syntax.ui.rsyntaxtextarea.RSyntaxTextArea;
import com.fr.design.gui.syntax.ui.rsyntaxtextarea.SyntaxConstants;
+import com.fr.design.i18n.DesignSizeI18nManager;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.mainframe.DesignerContext;
@@ -743,7 +744,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula {
}
public BasicDialog showLargeWindow(Window window, DialogActionListener l) {
- Dimension dimension = new Dimension(900, 640);
+ Dimension dimension = DesignSizeI18nManager.getInstance().i18nDimension("com.fr.design.formula.FormulaPane");
BasicDialog basicDialog = super.showWindowWithCustomSize(window, l, dimension);
basicDialog.setResizable(true);
return basicDialog;
@@ -915,7 +916,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula {
private void showMessageDialog(String message, boolean formulaValid, boolean calException) {
if (formulaValid && !calException) {
- FineJOptionPane.showMessageDialog(
+ FineJOptionPane.showSuccessMessageDialog(
FormulaPane.this,
message);
} else {
diff --git a/designer-base/src/main/java/com/fr/design/formula/JavaEditorPane.java b/designer-base/src/main/java/com/fr/design/formula/JavaEditorPane.java
index a34762a1fd..c5902c3cdc 100644
--- a/designer-base/src/main/java/com/fr/design/formula/JavaEditorPane.java
+++ b/designer-base/src/main/java/com/fr/design/formula/JavaEditorPane.java
@@ -32,6 +32,9 @@ import java.io.InputStream;
import java.util.ArrayList;
import java.util.concurrent.ExecutionException;
+import static com.fine.swing.ui.layout.Layouts.cell;
+import static com.fine.swing.ui.layout.Layouts.row;
+
public class JavaEditorPane extends BasicPane {
private RSyntaxTextArea javaText;
@@ -83,13 +86,12 @@ public class JavaEditorPane extends BasicPane {
}
UIScrollPane jt = new UIScrollPane(javaText);
- JPanel toolbarPane = new JPanel(new FlowLayout(FlowLayout.LEFT));
+ JPanel toolbarPane = new JPanel(new BorderLayout());
UIButton saveButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Save"));
saveButton.setAction(new SaveAction());
UIButton compileButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Compile"));
compileButton.setAction(new CompilerAction());
- toolbarPane.add(saveButton);
- toolbarPane.add(compileButton);
+ toolbarPane.add(row(8, cell(saveButton), cell(compileButton)).getComponent());
this.add(toolbarPane, BorderLayout.NORTH);
this.add(jt, BorderLayout.CENTER);
@@ -155,7 +157,7 @@ public class JavaEditorPane extends BasicPane {
private void saveTextToFile(String text) {
if (StringUtils.isEmpty(text)) {
- return;
+ return;
}
if (StringUtils.isEmpty(className)) {
return;
@@ -180,7 +182,7 @@ public class JavaEditorPane extends BasicPane {
@Override
protected JavaCompileInfo doInBackground() throws Exception {
-
+
return FRContext.getCommonOperator().compile(javaText.getText());
}
diff --git a/designer-base/src/main/java/com/fr/design/gui/controlpane/JListControlPane.java b/designer-base/src/main/java/com/fr/design/gui/controlpane/JListControlPane.java
index 5b6bc8cdea..7a1094ab17 100644
--- a/designer-base/src/main/java/com/fr/design/gui/controlpane/JListControlPane.java
+++ b/designer-base/src/main/java/com/fr/design/gui/controlpane/JListControlPane.java
@@ -374,25 +374,23 @@ public abstract class JListControlPane extends JControlPane implements ListContr
this.iconLabel.setBorder(new ScaledEmptyBorder(0, 4, 0, 0));
add(this.textLabel, BorderLayout.CENTER);
add(this.iconLabel, BorderLayout.WEST);
- this.iconLabel.setBackground(FlatUIUtils.getUIColor("List.cellRender.background", Color.WHITE));
- //iconLabel和textLabel的背景颜色不会被JList背景颜色覆盖,开发者自定义
- this.textLabel.setOpaque(true);
- this.iconLabel.setOpaque(true);
+ this.textLabel.setOpaque(false);
+ this.iconLabel.setOpaque(false);
}
@Override
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
- setPreferredSize(FineUIScale.scale(new Dimension(list.getWidth(), 24)));
+ setPreferredSize(new Dimension(list.getWidth(), FineUIScale.scale(24)));
if (value instanceof ListModelElement) {
ListModelElement element = ((ListModelElement) value);
Nameable nameable = element.wrapper;
this.textLabel.setText(nameable.getName());
boolean iconSet = false;
if(isSelected) {
- this.textLabel.setBackground(FlatUIUtils.getUIColor("List.selectionInactiveBackground", Color.GRAY));
+ setBackground(FlatUIUtils.getUIColor("List.selectionInactiveBackground", Color.GRAY));
} else {
- this.textLabel.setBackground(FlatUIUtils.getUIColor("List.cellRender.background", Color.WHITE));
+ setBackground(FlatUIUtils.getUIColor("List.cellRender.background", Color.WHITE));
}
for (NameableCreator creator : JListControlPane.this.creators()) {
if (creator.menuIcon() != null && creator.acceptObject2Populate(nameable) != null) {
diff --git a/designer-base/src/main/java/com/fr/design/gui/controlpane/ListControlPaneHelper.java b/designer-base/src/main/java/com/fr/design/gui/controlpane/ListControlPaneHelper.java
index 7fe1a27efe..701bdeefb7 100644
--- a/designer-base/src/main/java/com/fr/design/gui/controlpane/ListControlPaneHelper.java
+++ b/designer-base/src/main/java/com/fr/design/gui/controlpane/ListControlPaneHelper.java
@@ -1,5 +1,6 @@
package com.fr.design.gui.controlpane;
+import com.fine.theme.utils.FineUIScale;
import com.fr.design.beans.BasicBeanPane;
import com.fr.design.dialog.FineJOptionPane;
import com.fr.design.gui.ilist.JNameEdList;
@@ -38,6 +39,7 @@ import java.util.Map;
*/
class ListControlPaneHelper {
private static final int EDIT_RANGE = 25; // 编辑按钮的x坐标范围
+ private static final int DIALOG_GAP = 25; // 编辑按钮的x坐标范围
private ListControlPaneProvider listControlPane;
@@ -160,7 +162,7 @@ class ListControlPaneHelper {
// 不能太低
int maxY = frame.getLocationOnScreen().y + frame.getHeight() - popupEditDialog.getHeight();
if (resultPos.y > maxY) {
- resultPos.y = maxY;
+ resultPos.y = maxY - FineUIScale.scale(DIALOG_GAP);
}
// 也不能太高
int minY = frame.getLocationOnScreen().y + EDIT_RANGE;
diff --git a/designer-base/src/main/java/com/fr/design/gui/controlpane/UIListGroupControlPane.java b/designer-base/src/main/java/com/fr/design/gui/controlpane/UIListGroupControlPane.java
index 0e06bcd344..1c05823b24 100644
--- a/designer-base/src/main/java/com/fr/design/gui/controlpane/UIListGroupControlPane.java
+++ b/designer-base/src/main/java/com/fr/design/gui/controlpane/UIListGroupControlPane.java
@@ -2,6 +2,7 @@ package com.fr.design.gui.controlpane;
import com.fine.theme.light.ui.FineRoundBorder;
import com.fine.theme.utils.FineUIScale;
+import com.fine.theme.utils.FineUIStyle;
import com.fine.theme.utils.FineUIUtils;
import com.fr.design.beans.BasicBeanPane;
import com.fr.design.constants.UIConstants;
@@ -567,7 +568,7 @@ public abstract class UIListGroupControlPane extends UIControlPane implements Li
};
label.setBorder(BorderFactory.createMatteBorder(scale(1), 0, scale(1), 0, FineUIUtils.getUIColor("fill.hover", "fill.hover")));
- label.setForeground(UIManager.getColor("List.wrapper.text.fontColor"));
+ FineUIStyle.setStyle(label, FineUIStyle.WIDGET_EVENT_LABEL);
label.setFont(label.getFont().deriveFont(scale(11F)));
label.setPreferredSize(new Dimension(this.getPreferredSize().width, scale(24)));
this.nameEdList = nameEdList;
diff --git a/designer-base/src/main/java/com/fr/design/gui/controlpane/UISimpleListControlPane.java b/designer-base/src/main/java/com/fr/design/gui/controlpane/UISimpleListControlPane.java
index 79c96067fe..c6536e138b 100644
--- a/designer-base/src/main/java/com/fr/design/gui/controlpane/UISimpleListControlPane.java
+++ b/designer-base/src/main/java/com/fr/design/gui/controlpane/UISimpleListControlPane.java
@@ -2,13 +2,13 @@ package com.fr.design.gui.controlpane;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.actions.UpdateAction;
+import com.fr.design.border.FineBorderFactory;
import com.fr.design.constants.UIConstants;
import com.fr.design.dialog.BasicPane;
import com.fr.design.gui.icontainer.UIScrollPane;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ilist.ListModelElement;
import com.fr.design.gui.ilist.UIList;
-import com.fr.design.gui.itoolbar.UIToolBarUI;
import com.fr.design.gui.itoolbar.UIToolbar;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.menu.ShortCut;
@@ -22,7 +22,6 @@ import sun.swing.DefaultLookup;
import javax.swing.BorderFactory;
import javax.swing.DefaultListModel;
-import javax.swing.JComponent;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.ListCellRenderer;
@@ -33,8 +32,6 @@ import javax.swing.event.ListSelectionListener;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
-import java.awt.Graphics;
-import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
@@ -89,22 +86,14 @@ public class UISimpleListControlPane extends BasicPane {
toolbarDef.addShortCut(sj.getShortCut());
}
toolBar = ToolBarDef.createJToolBar();
- toolBar.setUI(new UIToolBarUI(){
- @Override
- public void paint(Graphics g, JComponent c) {
- Graphics2D g2 = (Graphics2D) g;
- g2.setColor(Color.WHITE);
- g2.fillRect(0, 0, c.getWidth(), c.getHeight());
- }
- });
toolbarDef.updateToolBar(toolBar);
// 封装一层,加边框
JPanel toolBarPane = new JPanel(new BorderLayout());
toolBarPane.add(toolBar, BorderLayout.CENTER);
- toolBarPane.setBorder(BorderFactory.createMatteBorder(1, 1, 0, 1, UIConstants.RULER_LINE_COLOR));
+ toolBarPane.setBorder(FineBorderFactory.createDefaultUnderlineBorder());
listPane.add(toolBarPane, BorderLayout.NORTH);
-
+ contentPane.setBorder(FineBorderFactory.createWrappedRoundBorder());
return contentPane;
}
@@ -420,7 +409,6 @@ public class UISimpleListControlPane extends BasicPane {
private void initComponents() {
label = new UILabel();
-// label.setBorder(BorderFactory.createEmptyBorder(3, 10, 3, 0));
initialLabelForeground = label.getForeground();
this.setLayout(new BorderLayout());
this.add(label, BorderLayout.CENTER);
diff --git a/designer-base/src/main/java/com/fr/design/gui/date/UICalendarPanel.java b/designer-base/src/main/java/com/fr/design/gui/date/UICalendarPanel.java
index 43b4704a55..f4b8a5b123 100644
--- a/designer-base/src/main/java/com/fr/design/gui/date/UICalendarPanel.java
+++ b/designer-base/src/main/java/com/fr/design/gui/date/UICalendarPanel.java
@@ -159,7 +159,7 @@ public class UICalendarPanel extends JPanel {
private JPanel createNorthPane() {
JPanel pNorth = FRGUIPaneFactory.createX_AXISBoxInnerContainer_S_Pane();
pNorth.setBackground(new Color(0xFFFFFF));
- pNorth.setPreferredSize(new Dimension(1, 22));
+ pNorth.setPreferredSize(scale(new Dimension(1, 22)));
pNorth.add(Box.createHorizontalStrut(5));
pNorth.add(createSkipButton(Calendar.YEAR, -1, new Icon[]{
diff --git a/designer-base/src/main/java/com/fr/design/gui/date/UIDayLabel.java b/designer-base/src/main/java/com/fr/design/gui/date/UIDayLabel.java
index 06f30e1aef..c4c8afc1d1 100644
--- a/designer-base/src/main/java/com/fr/design/gui/date/UIDayLabel.java
+++ b/designer-base/src/main/java/com/fr/design/gui/date/UIDayLabel.java
@@ -7,6 +7,8 @@ import java.awt.Dimension;
import java.text.SimpleDateFormat;
import java.util.Date;
+import static com.fine.theme.utils.FineUIScale.scale;
+
public class UIDayLabel extends UILabel {
@@ -29,7 +31,7 @@ public class UIDayLabel extends UILabel {
setHorizontalAlignment(UILabel.CENTER);
setFont(DesignUtils.getDefaultGUIFont());
this.date = date;
- setPreferredSize(new Dimension(30, 18));
+ setPreferredSize(scale(new Dimension(30, 18)));
if (isSmallLabel) {
setText(dayFormat.format(date));
} else {
diff --git a/designer-base/src/main/java/com/fr/design/gui/frpane/ClosableBubbleFloatPane.java b/designer-base/src/main/java/com/fr/design/gui/frpane/ClosableBubbleFloatPane.java
index 41a4471daa..7f6a7a59f0 100644
--- a/designer-base/src/main/java/com/fr/design/gui/frpane/ClosableBubbleFloatPane.java
+++ b/designer-base/src/main/java/com/fr/design/gui/frpane/ClosableBubbleFloatPane.java
@@ -1,10 +1,9 @@
package com.fr.design.gui.frpane;
-import com.fr.base.BaseUtils;
+import com.fine.theme.icon.LazyIcon;
import com.fr.design.beans.BasicBeanPane;
import com.fr.design.gui.ilable.UILabel;
-import javax.swing.Icon;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Point;
@@ -30,8 +29,7 @@ public abstract class ClosableBubbleFloatPane extends UIBubbleFloatPane {
protected JPanel initTopOptionMenu() {
JPanel menu = new JPanel(new BorderLayout());
- Icon icon = BaseUtils.readIcon("/com/fr/design/images/buttonicon/close_icon.png");
- UILabel label = new UILabel(icon);
+ UILabel label = new UILabel(new LazyIcon("close"));
label.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
diff --git a/designer-base/src/main/java/com/fr/design/gui/frpane/FineTabbedPane.java b/designer-base/src/main/java/com/fr/design/gui/frpane/FineTabbedPane.java
index 5ed4b5bcf3..1d4274bb99 100644
--- a/designer-base/src/main/java/com/fr/design/gui/frpane/FineTabbedPane.java
+++ b/designer-base/src/main/java/com/fr/design/gui/frpane/FineTabbedPane.java
@@ -4,9 +4,14 @@ import com.fine.swing.ui.layout.Box;
import com.fine.theme.utils.FineUIUtils;
import com.formdev.flatlaf.ui.FlatUIUtils;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
+import com.fr.design.gui.ibutton.FitUIButtonGroup;
import com.fr.design.gui.ibutton.UIButtonGroup;
+import com.fr.design.gui.ibutton.UIToggleButton;
import com.fr.design.utils.ColorUtils;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.util.List;
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.event.ChangeEvent;
@@ -42,15 +47,15 @@ public class FineTabbedPane extends Box {
private final UIButtonGroup tabGroup;
private final Map tabComponents;
private final int[] tabLayout;
+ private final boolean useFitTab ;
- private FineTabbedPane(Map tabComponents, float headRatio, int[] tabLayout) {
+ private FineTabbedPane(Map tabComponents, float headRatio, int[] tabLayout, boolean useFitTab) {
this.headRatio = headRatio;
this.tabComponents = tabComponents;
this.tabLayout = tabLayout;
-
+ this.useFitTab = useFitTab;
String[] titleArray = tabComponents.keySet().toArray(new String[0]);
- this.tabGroup = new UIButtonGroup<>(titleArray, titleArray, tabLayout);
-
+ this.tabGroup = useFitTab ? new FitUIButtonGroup<>(titleArray, titleArray, tabLayout) : new UIButtonGroup<>(titleArray, titleArray, tabLayout);
initLayout();
initListeners();
}
@@ -71,6 +76,7 @@ public class FineTabbedPane extends Box {
private int[] tabLayout;
private float headRatio = 0.5f;
private final Map tabComponents = new LinkedHashMap<>();
+ private boolean useFitTab = false;
/**
* 设置头部居中比例,0-1之间
@@ -94,6 +100,16 @@ public class FineTabbedPane extends Box {
return this;
}
+ /**
+ * 设置使用自适应文本Tab
+ *
+ * @return TabPaneBuilder
+ */
+ public TabPaneBuilder withAdaptiveFit() {
+ this.useFitTab = true;
+ return this;
+ }
+
/**
* 添加tab标签
*
@@ -122,7 +138,7 @@ public class FineTabbedPane extends Box {
} else if (Arrays.stream(tabLayout).sum() != tabComponents.size()) {
throw new IllegalArgumentException("illegal tab layout argument!");
}
- return new FineTabbedPane(tabComponents, headRatio, tabLayout);
+ return new FineTabbedPane(tabComponents, headRatio, tabLayout, useFitTab);
}
}
@@ -131,11 +147,10 @@ public class FineTabbedPane extends Box {
setMatchParentSize(true);
float flexRatio = (1 - headRatio) / 2;
int headHeight = FlatUIUtils.getUIInt("Component.defaultHeight",24) * tabLayout.length / 2;
+ Component component = useFitTab ? row(flex(), cell(tabGroup), flex()).getComponent() : row(flex(flexRatio), cell(tabGroup).weight(headRatio), flex(flexRatio)).getComponent();
add(
column(
- row(
- flex(flexRatio), cell(tabGroup).weight(headRatio), flex(flexRatio)
- ),
+ cell(component),
flex()
),
column(
@@ -170,6 +185,23 @@ public class FineTabbedPane extends Box {
});
tabGroup.setSelectedIndex(0);
cards.show(centerPane, String.valueOf(tabGroup.getSelectedItem()));
+ if (!useFitTab) {
+ initTabListeners();
+ }
+ }
+
+ private void initTabListeners() {
+ List tabs = tabGroup.getLabelButtonList();
+ for (UIToggleButton tab : tabs) {
+ tab.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mouseEntered(MouseEvent e) {
+ if (tab.getPreferredSize().width > tab.getWidth()) {
+ tab.setToolTipText(tab.getText());
+ }
+ }
+ });
+ }
}
private void fireStateChanged() {
diff --git a/designer-base/src/main/java/com/fr/design/gui/frpane/UINumberDragPane.java b/designer-base/src/main/java/com/fr/design/gui/frpane/UINumberDragPane.java
index 053b5a56d6..d024f247fd 100644
--- a/designer-base/src/main/java/com/fr/design/gui/frpane/UINumberDragPane.java
+++ b/designer-base/src/main/java/com/fr/design/gui/frpane/UINumberDragPane.java
@@ -38,9 +38,10 @@ public class UINumberDragPane extends BasicBeanPane implements GlobalNam
public UINumberDragPane(double minValue, double maxValue, double dierta) {
dragBar = new UISlider((int) minValue, (int) maxValue);
dragBar.setPaintLabels(true);
- dragBar.setMajorTickSpacing((int) maxValue);
+ dragBar.setMajorTickSpacing((int) maxValue - (int) minValue);
spinner = createUISpinner(minValue, maxValue, dierta);
spinner.setGlobalName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_StyleAlignment_Text_Rotation"));
+ spinner.setValue(dragBar.getValue());
this.setLayout(new BorderLayout());
this.add(Layouts.row(
cell(dragBar).weight(0.7), flex(0.1), cell(spinner).weight(0.7)
diff --git a/designer-base/src/main/java/com/fr/design/gui/frpane/UnitInputPane.java b/designer-base/src/main/java/com/fr/design/gui/frpane/UnitInputPane.java
index 5769fdacfe..415da6f1e8 100644
--- a/designer-base/src/main/java/com/fr/design/gui/frpane/UnitInputPane.java
+++ b/designer-base/src/main/java/com/fr/design/gui/frpane/UnitInputPane.java
@@ -24,6 +24,9 @@ import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.math.BigDecimal;
+import static com.fine.swing.ui.layout.Layouts.cell;
+import static com.fine.swing.ui.layout.Layouts.row;
+
/**
* For input Number.
*/
@@ -43,16 +46,13 @@ public abstract class UnitInputPane extends BasicPane {
this.setLayout(FRGUIPaneFactory.createBorderLayout());
JPanel centerPane = FRGUIPaneFactory.createTitledBorderPane("");
this.add(centerPane, BorderLayout.CENTER);
- centerPane.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 30));
+ centerPane.setLayout(new FlowLayout(FlowLayout.LEFT, 20, 30));
UILabel titleLabel = new UILabel(title + ":");
centerPane.add(titleLabel);
// Denny:在对话框中加入JSpinner对象
numberFieldSpinner = new UIBasicSpinner(new SpinnerNumberModel(0, 0, MAX_NUM, 1));
GUICoreUtils.setColumnForSpinner(numberFieldSpinner, 24);
- numberFieldSpinner.setPreferredSize(new Dimension(60, 20));
- numberFieldSpinner.setMinimumSize(new Dimension(60, 20));
- centerPane.add(numberFieldSpinner);
numberFieldSpinner.addChangeListener(new ChangeListener() {
@Override
@@ -64,7 +64,7 @@ public abstract class UnitInputPane extends BasicPane {
});
unitLabel = new UILabel("");
- centerPane.add(unitLabel);
+ centerPane.add(row(4, cell(numberFieldSpinner), cell(unitLabel)).getComponent());
}
public void setUnitText(String unit) {
diff --git a/designer-base/src/main/java/com/fr/design/gui/ibutton/FitUIButtonGroup.java b/designer-base/src/main/java/com/fr/design/gui/ibutton/FitUIButtonGroup.java
new file mode 100644
index 0000000000..25267feaaf
--- /dev/null
+++ b/designer-base/src/main/java/com/fr/design/gui/ibutton/FitUIButtonGroup.java
@@ -0,0 +1,53 @@
+package com.fr.design.gui.ibutton;
+
+import com.fine.swing.ui.layout.Row;
+
+import java.util.List;
+
+import static com.fine.theme.utils.FineClientProperties.BUTTON_GROUP_POSITION;
+import static com.fine.theme.utils.FineClientProperties.BUTTON_TYPE_GROUP_FIT;
+import static com.formdev.flatlaf.FlatClientProperties.BUTTON_TYPE;
+
+
+/**
+ * 自适应文案宽度的ButtonGroup
+ *
+ * @author Levy.Xie
+ * @since 11.0
+ * Created on 2024/08/28
+ */
+public class FitUIButtonGroup extends UIButtonGroup {
+
+ public FitUIButtonGroup(String[] textArray) {
+ super(textArray);
+ }
+
+ public FitUIButtonGroup(String[] textArray, T[] objects) {
+ super(textArray, objects);
+ }
+
+ public FitUIButtonGroup(String[] textArray, T[] objects, int[] customCols) {
+ super(textArray, objects, customCols);
+ }
+
+ @Override
+ protected void initLayout(int[] cols, boolean inToolbar) {
+ Row row = new Row();
+ List buttonList = getLabelButtonList();
+ for (int i = 0; i < buttonList.size(); i++) {
+ row.add(buttonList.get(i));
+ if (i != buttonList.size() - 1 && !inToolbar) {
+ row.add(createDivider());
+ }
+ }
+ add(row);
+ }
+
+ @Override
+ protected void initButton(UIToggleButton labelButton, int index) {
+ labelButton.setBorderPainted(false);
+ labelButton.putClientProperty(BUTTON_TYPE, BUTTON_TYPE_GROUP_FIT);
+ labelButton.putClientProperty(BUTTON_GROUP_POSITION, getGroupButtonPosition(index));
+ labelButtonList.add(labelButton);
+ }
+}
diff --git a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIButtonGroup.java b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIButtonGroup.java
index ddb402db2d..fd74f7d042 100644
--- a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIButtonGroup.java
+++ b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIButtonGroup.java
@@ -1,6 +1,7 @@
package com.fr.design.gui.ibutton;
import com.fine.swing.ui.layout.Column;
+import com.fine.swing.ui.layout.Layouts;
import com.fine.swing.ui.layout.Row;
import com.fine.swing.ui.layout.Spacer;
import com.fine.theme.light.ui.FineRoundBorder;
@@ -213,24 +214,24 @@ public class UIButtonGroup extends Column implements GlobalNameObserver, UIOb
int col = cols[row];
Row rowContainer = new Row();
for (int j = 0; j < col; j++) {
- rowContainer.add(cell(getLabelButtonList().get(currentIndex)).weight(1.0));
+ Layouts.populate(rowContainer, cell(getLabelButtonList().get(currentIndex)).weight(1.0));
currentIndex++;
if (j != col - 1 && !inToolbar) {
rowContainer.add(createDivider());
}
}
- add(rowContainer);
+ Layouts.populate(this, cell(rowContainer).weight(1.0));
if (row != cols.length - 1) {
add(createDivider());
}
}
}
- private List getLabelButtonList() {
+ public List getLabelButtonList() {
return labelButtonList;
}
- private Spacer createDivider() {
+ protected Spacer createDivider() {
Spacer spacer = new Spacer(FineUIScale.scale(1));
spacer.setBorder(new LineBorder(FineUIUtils.getUIColor("defaultBorderColor", "Component.borderColor")));
return spacer;
diff --git a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIHeadGroup.java b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIHeadGroup.java
index 4f6ee08cc8..715fd3e793 100644
--- a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIHeadGroup.java
+++ b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIHeadGroup.java
@@ -5,6 +5,8 @@ import com.fine.swing.ui.layout.Row;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.third.guava.collect.Streams;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
import javax.swing.AbstractButton;
import javax.swing.ButtonGroup;
import javax.swing.Icon;
@@ -72,6 +74,20 @@ public class UIHeadGroup extends Row {
add(buttonGroup());
setSelectedIndex(0);
setBorder(new ScaledEmptyBorder(2, 2, 2, 2));
+ initButtonListeners();
+ }
+
+ private void initButtonListeners() {
+ for (AbstractButton tab : btns) {
+ tab.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mouseEntered(MouseEvent e) {
+ if (tab.getPreferredSize().width > tab.getWidth()) {
+ tab.setToolTipText(tab.getText());
+ }
+ }
+ });
+ }
}
private Layouts.Cell>[] buttonGroup() {
diff --git a/designer-base/src/main/java/com/fr/design/gui/icombobox/ColorSchemeComboBox.java b/designer-base/src/main/java/com/fr/design/gui/icombobox/ColorSchemeComboBox.java
index 2ace77e344..1c7ced9ec6 100644
--- a/designer-base/src/main/java/com/fr/design/gui/icombobox/ColorSchemeComboBox.java
+++ b/designer-base/src/main/java/com/fr/design/gui/icombobox/ColorSchemeComboBox.java
@@ -233,7 +233,7 @@ public class ColorSchemeComboBox extends UIComboBox {
@Override
public Dimension getPreferredSize() {
Dimension preferredSize = super.getPreferredSize();
- preferredSize.setSize(super.getPreferredSize().getWidth(), FineUIScale.scale(HEIGHT));
+ preferredSize.setSize(ColorSchemeComboBox.this.getPreferredSize().width, FineUIScale.scale(HEIGHT));
return preferredSize;
}
diff --git a/designer-base/src/main/java/com/fr/design/gui/icombobox/FRTreeComboBox.java b/designer-base/src/main/java/com/fr/design/gui/icombobox/FRTreeComboBox.java
index 6f8589a104..6679b7d358 100644
--- a/designer-base/src/main/java/com/fr/design/gui/icombobox/FRTreeComboBox.java
+++ b/designer-base/src/main/java/com/fr/design/gui/icombobox/FRTreeComboBox.java
@@ -1,17 +1,13 @@
package com.fr.design.gui.icombobox;
import com.fine.theme.light.ui.FineComboBoxUI;
-import com.fr.design.constants.UIConstants;
-import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.general.ComparatorUtils;
import com.fr.general.NameObject;
-import com.fr.stable.Constants;
import com.fr.stable.StringUtils;
-import javax.swing.BorderFactory;
import javax.swing.DefaultListCellRenderer;
import javax.swing.JComboBox;
import javax.swing.JComponent;
@@ -25,7 +21,6 @@ import javax.swing.UIManager;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.event.PopupMenuListener;
-import javax.swing.plaf.basic.BasicComboBoxUI;
import javax.swing.plaf.basic.ComboPopup;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
@@ -34,13 +29,9 @@ import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;
import java.util.Enumeration;
import java.awt.BorderLayout;
-import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
-import java.awt.Graphics;
-import java.awt.Graphics2D;
import java.awt.IllegalComponentStateException;
-import java.awt.RenderingHints;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
@@ -50,10 +41,12 @@ import java.awt.event.MouseListener;
import java.awt.event.MouseMotionAdapter;
import java.awt.event.MouseMotionListener;
+import static com.fine.theme.utils.FineUIScale.scale;
+
public class FRTreeComboBox extends UIComboBox {
- private static final int PAGE_DIFF = 5;
- private static final int DEFAULT_HEIGHT = 120;
+ private static final int PAGE_DIFF = scale(5);
+ private static final int DEFAULT_HEIGHT = scale(120);
// richer:下拉展示用的tree
protected JTree tree;
diff --git a/designer-base/src/main/java/com/fr/design/gui/icombobox/LineComboBox.java b/designer-base/src/main/java/com/fr/design/gui/icombobox/LineComboBox.java
index eef2c2c8b9..28f29c23b1 100644
--- a/designer-base/src/main/java/com/fr/design/gui/icombobox/LineComboBox.java
+++ b/designer-base/src/main/java/com/fr/design/gui/icombobox/LineComboBox.java
@@ -129,7 +129,7 @@ public class LineComboBox extends UIComboBox {
}
public Dimension getPreferredSize() {
- return new Dimension(getWidth(), FineUIScale.scale(LINE_HEIGHT));
+ return new Dimension(super.getPreferredSize().width, FineUIScale.scale(LINE_HEIGHT));
}
public Dimension getMinimumSize() {
diff --git a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java
index d85793d5c4..b3d6e054d5 100644
--- a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java
+++ b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java
@@ -3,27 +3,26 @@ package com.fr.design.gui.icontainer;
import com.fine.theme.icon.LazyIcon;
import com.fine.theme.utils.FineUIScale;
+import com.fine.theme.utils.FineUIUtils;
import com.fr.design.base.mode.DesignModeContext;
import com.fr.design.constants.UIConstants;
-import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.layout.VerticalFlowLayout;
import com.fr.design.mainframe.DesignerContext;
-import com.fr.design.utils.gui.GUICoreUtils;
import javax.swing.BorderFactory;
-import javax.swing.UIManager;
+import javax.swing.Icon;
import javax.swing.JComponent;
-import javax.swing.JFrame;
import javax.swing.JPanel;
-import javax.swing.Icon;
+import javax.swing.SwingUtilities;
+import javax.swing.UIManager;
import javax.swing.border.Border;
-import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.LayoutManager;
+import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
@@ -34,32 +33,87 @@ import java.awt.event.MouseMotionListener;
public class UIEastResizableContainer extends JPanel {
private static final long serialVersionUID = 1854340560790476907L;
- public static final int MAX_CONTAINER_WIDTH = FineUIScale.scale(340);
- public static final int MIN_CONTAINER_WIDTH = FineUIScale.scale(286);
+ public static final int MAX_CONTAINER_WIDTH = FineUIUtils.getScaledI18nDimension(
+ "com.fr.design.mainframe.EastRegionContainerPane.maximum").width;
+ public static final int MIN_CONTAINER_WIDTH = FineUIUtils.getScaledI18nDimension(
+ "com.fr.design.mainframe.EastRegionContainerPane.minimum").width;
+ public static final int STD_CONTAINER_WIDTH = FineUIUtils.getScaledI18nDimension(
+ "com.fr.design.mainframe.EastRegionContainerPane.standard").width;
+
+ private int containerWidth = STD_CONTAINER_WIDTH;
+ private int preferredWidth = STD_CONTAINER_WIDTH;
+ protected final int leftPaneWidth = FineUIScale.scale(42);
+ protected final int topToolPaneHeight = FineUIScale.scale(40);
- private int containerWidth = FineUIScale.scale(240);
- private int preferredWidth = FineUIScale.scale(240);
- private int topToolPaneHeight = FineUIScale.scale(40);
- private int leftPaneWidth = FineUIScale.scale(42);
+ private static final int ARROW_RANGE = FineUIScale.scale(35);
private JComponent leftPane;
private JComponent rightPane;
private TopToolPane topToolPane;
-
- private static final int ARROW_MARGIN = FineUIScale.scale(15);
- private static final int ARROW_RANGE = FineUIScale.scale(35);
-
+ private static final int DRAG_GAP_SIZE = 10;
+ private Point dragPoint;
public UIEastResizableContainer() {
this(new JPanel(), new JPanel());
+ initMouseListener();
+ }
+
+ private void initMouseListener() {
+ MouseAdapter mouseAdapter = new MouseAdapter() {
+ @Override
+ public void mouseMoved(MouseEvent e) {
+ updateCursor(e);
+ }
+
+ @Override
+ public void mousePressed(MouseEvent e) {
+ if (isEnableDrag(e)) {
+ dragPoint = e.getPoint();
+ }
+ }
+
+ @Override
+ public void mouseDragged(MouseEvent e) {
+ resizePanel(e);
+ }
+ };
+
+ addMouseListener(mouseAdapter);
+ addMouseMotionListener(mouseAdapter);
+ }
+
+ private void updateCursor(MouseEvent e) {
+ if (isEnableDrag(e)) {
+ setCursor(Cursor.getPredefinedCursor(Cursor.W_RESIZE_CURSOR));
+ } else {
+ setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+ }
+ }
+
+ protected boolean isEnableDrag(MouseEvent e) {
+ return e.getX() <= DRAG_GAP_SIZE && isRightPaneVisible();
+ }
+
+ protected void resizePanel(MouseEvent e) {
+ if (!isRightPaneVisible()) {
+ return;
+ }
+ int dx = e.getX() - dragPoint.x;
+ Dimension size = getSize();
+
+ int newWidth = size.width - dx;
+ // 限制container大小为指定范围
+ containerWidth = Math.max(MIN_CONTAINER_WIDTH, Math.min(newWidth, MAX_CONTAINER_WIDTH));
+
+ SwingUtilities.invokeLater(this::revalidate);
}
/**
* 设置面板宽度
*
- * @param width
+ * @param width 宽度
*/
public void setContainerWidth(int width) {
this.containerWidth = width;
@@ -70,8 +124,6 @@ public class UIEastResizableContainer extends JPanel {
return containerWidth > leftPaneWidth;
}
-
-
private void setPreferredWidth(int width) {
this.preferredWidth = width;
}
@@ -81,7 +133,7 @@ public class UIEastResizableContainer extends JPanel {
this.rightPane = rightPane;
this.topToolPane = new TopToolPane();
topToolPane.setLayout(new VerticalFlowLayout(VerticalFlowLayout.TOP, 1, 0));
- topToolPane.setBorder(BorderFactory.createMatteBorder(0 ,1, 0, 1, UIManager.getColor("East.border")));
+ topToolPane.setBorder(BorderFactory.createMatteBorder(0, 1, 0, 1, UIManager.getColor("East.border")));
setLayout(containerLayout);
add(topToolPane);
@@ -89,38 +141,6 @@ public class UIEastResizableContainer extends JPanel {
add(rightPane);
}
- public static void main(String... args) {
- JFrame jf = new JFrame("test");
- jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- JPanel content = (JPanel) jf.getContentPane();
- content.setLayout(new BorderLayout());
-
- JPanel leftPane = new JPanel();
-// leftPane.setBackground(Color.yellow);
- JPanel rightPane = new JPanel();
-// rightPane.setBackground(Color.green);
-
- UIButton b1, b2;
- b1 = new UIButton("b1");
- b2 = new UIButton("b2");
- b1.setPreferredSize(new Dimension(40, 40));
- b2.setPreferredSize(new Dimension(40, 40));
- leftPane.add(b1);
- leftPane.add(b2);
-
-
- UIEastResizableContainer bb = new UIEastResizableContainer(leftPane, rightPane);
-
- JPanel cc = new JPanel();
-// cc.setBackground(Color.WHITE);
-
- content.add(bb, BorderLayout.EAST);
- content.add(cc, BorderLayout.CENTER);
- GUICoreUtils.centerWindow(jf);
- jf.setSize(500, 500);
- jf.setVisible(true);
- }
-
/**
* 将面板设置成最佳的宽度
*/
@@ -156,7 +176,6 @@ public class UIEastResizableContainer extends JPanel {
@Override
public void removeLayoutComponent(Component comp) {
- // TODO Auto-generated method stub
}
@@ -182,7 +201,7 @@ public class UIEastResizableContainer extends JPanel {
@Override
public void addLayoutComponent(String name, Component comp) {
- // do nothing
+
}
};
diff --git a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIModeControlContainer.java b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIModeControlContainer.java
index 9002faf8b6..18ac4eaeeb 100644
--- a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIModeControlContainer.java
+++ b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIModeControlContainer.java
@@ -123,6 +123,8 @@ public class UIModeControlContainer extends JLayeredPane {
horizontToolPane = new JPanel() {
@Override
public void paint(Graphics g) {
+ g.setColor(FineUIUtils.getUIColor("fill.normal", "fill.normal"));
+ g.fillRect(0, 0, getWidth(), getHeight());
if (upEditMode) {
g.drawImage(UIConstants.DRAG_DOT, (getWidth() - toolPaneHeight) / 2, 3, toolPaneHeight, 8, null);
}
diff --git a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIResizableContainer.java b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIResizableContainer.java
index 6cd8e8df4f..598ec35677 100644
--- a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIResizableContainer.java
+++ b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIResizableContainer.java
@@ -43,7 +43,7 @@ public class UIResizableContainer extends JPanel {
private int direction;
private boolean hasParameterPane;
- private static final int MAX_WIDTH = FineUIScale.scale(300);
+ private static final int MAX_WIDTH = FineUIScale.scale(350);
private static final int ARROW_RANGE = FineUIScale.scale(35);
private static final int ARROW_RANGE_VERTICAL = FineUIScale.scale(25);
@@ -391,17 +391,6 @@ public class UIResizableContainer extends JPanel {
repaint();
}
- @Override
- public void mouseClicked(MouseEvent e) {
- if (e.getX() <= ARROW_RANGE) {
- toolPaneY = 0;
- } else if (e.getX() >= getWidth() - ARROW_RANGE) {
- toolPaneY = UIResizableContainer.this.getHeight() - toolPaneHeight - getParameterPaneHeight();
- } else {
- return;
- }
- refreshContainer();
- }
});
}
diff --git a/designer-base/src/main/java/com/fr/design/gui/itooltip/MultiLineToolTip.java b/designer-base/src/main/java/com/fr/design/gui/itooltip/MultiLineToolTip.java
index b644ae4db6..f5ad495dfa 100644
--- a/designer-base/src/main/java/com/fr/design/gui/itooltip/MultiLineToolTip.java
+++ b/designer-base/src/main/java/com/fr/design/gui/itooltip/MultiLineToolTip.java
@@ -1,10 +1,11 @@
package com.fr.design.gui.itooltip;
+import com.fine.theme.light.ui.FineTooltipUI;
import javax.swing.JToolTip;
public class MultiLineToolTip extends JToolTip {
public MultiLineToolTip() {
- setUI(new MultiLineToolTipUI());
+ setUI(new FineTooltipUI());
}
}
\ No newline at end of file
diff --git a/designer-base/src/main/java/com/fr/design/gui/style/FollowingThemePane.java b/designer-base/src/main/java/com/fr/design/gui/style/FollowingThemePane.java
index d4b7db8281..128c3177da 100644
--- a/designer-base/src/main/java/com/fr/design/gui/style/FollowingThemePane.java
+++ b/designer-base/src/main/java/com/fr/design/gui/style/FollowingThemePane.java
@@ -1,6 +1,6 @@
package com.fr.design.gui.style;
-import com.fine.theme.utils.FineUIScale;
+import com.fine.theme.utils.FineLayoutBuilder;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.base.theme.TemplateTheme;
import com.fr.design.dialog.BasicPane;
@@ -12,15 +12,11 @@ import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.FRGUIPaneFactory;
-import com.fr.design.layout.TableLayout;
-import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.JTemplate;
import com.fr.design.widget.FRWidgetFactory;
import javax.swing.JPanel;
import java.awt.BorderLayout;
-import java.awt.Component;
-import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
@@ -71,14 +67,8 @@ public class FollowingThemePane extends BasicPane implements UIObserver {
});
UILabel followingThemeLabel = FRWidgetFactory.createLineWrapLabel(name);
-
- double p = TableLayout.PREFERRED;
- double f = TableLayout.FILL;
- JPanel followingThemePane =
- TableLayoutHelper.createGapTableLayoutPane( new Component[][]{new Component[] { followingThemeLabel, FRGUIPaneFactory.createBorderLayoutNorthPaneWithComponent(followingThemeButtonGroup)}},
- new double[] { p }, new double[] {FineUIScale.scale(SETTING_LABEL_WIDTH), f }, 10, 0);
+ JPanel followingThemePane = FineLayoutBuilder.createHorizontalLayout(0, new double[]{1.2, 3}, followingThemeLabel, followingThemeButtonGroup);
followingThemePane.setVisible(false);
- followingThemePane.setPreferredSize(new Dimension(FineUIScale.scale(275), (int) followingThemePane.getPreferredSize().getHeight()));
add(followingThemePane, BorderLayout.NORTH);
container = FRGUIPaneFactory.createBorderLayout_S_Pane();
diff --git a/designer-base/src/main/java/com/fr/design/gui/syntax/ui/rtextarea/RTextAreaBase.java b/designer-base/src/main/java/com/fr/design/gui/syntax/ui/rtextarea/RTextAreaBase.java
index db3f50c327..9a39e31fcb 100644
--- a/designer-base/src/main/java/com/fr/design/gui/syntax/ui/rtextarea/RTextAreaBase.java
+++ b/designer-base/src/main/java/com/fr/design/gui/syntax/ui/rtextarea/RTextAreaBase.java
@@ -24,6 +24,7 @@ import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.JTextArea;
+import javax.swing.UIManager;
import javax.swing.event.CaretEvent;
import javax.swing.plaf.ColorUIResource;
import javax.swing.plaf.TextUI;
@@ -73,7 +74,7 @@ int currentCaretY; // Used to know when to rehighlight current line.
private RTAMouseListener mouseListener;
private static final Color DEFAULT_CARET_COLOR = new ColorUIResource(255,51,51);
- private static final Color DEFAULT_CURRENT_LINE_HIGHLIGHT_COLOR = new Color(255,255,170);
+ private static final Color DEFAULT_CURRENT_LINE_HIGHLIGHT_COLOR = UIManager.getColor("TextArea.currentLineHighlightColor");
private static final Color DEFAULT_MARGIN_LINE_COLOR = new Color(255,224,224);
private static final int DEFAULT_TAB_SIZE = 4;
private static final int DEFAULT_MARGIN_LINE_POSITION = 80;
diff --git a/designer-base/src/main/java/com/fr/design/hyperlink/AbstractHyperNorthPane.java b/designer-base/src/main/java/com/fr/design/hyperlink/AbstractHyperNorthPane.java
index 5d27e3ea7d..1ed57797ac 100644
--- a/designer-base/src/main/java/com/fr/design/hyperlink/AbstractHyperNorthPane.java
+++ b/designer-base/src/main/java/com/fr/design/hyperlink/AbstractHyperNorthPane.java
@@ -64,14 +64,14 @@ public abstract class AbstractHyperNorthPane extends BasicB
UILabel widthLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Designer_Width"));
widthTextFiled = new UISpinner(0, Integer.MAX_VALUE, 1, DEFAULT_V_VALUE);
newWindowConfPane.add(column(10,
- row(cell(heightLabel).weight(0.13), cell(heightTextFiled).weight(0.87)),
- row(cell(widthLabel).weight(0.13), cell(widthTextFiled).weight(0.87))
+ row(cell(heightLabel).weight(0.2), cell(heightTextFiled).weight(0.8)),
+ row(cell(widthLabel).weight(0.2), cell(widthTextFiled).weight(0.8))
).getComponent());
JPanel centerPanel = new JPanel(new BorderLayout());
centerPanel.add(column(10,
- row(cell(targetFrameLabel).weight(0.13), cell(targetFrameComboBox).weight(0.87)),
+ row(cell(targetFrameLabel).weight(0.2), cell(targetFrameComboBox).weight(0.8)),
cell(newWindowConfPane)
).getComponent());
newWindowConfPane.setVisible(false);
diff --git a/designer-base/src/main/java/com/fr/design/hyperlink/ReportletHyperNorthPane.java b/designer-base/src/main/java/com/fr/design/hyperlink/ReportletHyperNorthPane.java
index ed9ea8a556..55bb6edd58 100644
--- a/designer-base/src/main/java/com/fr/design/hyperlink/ReportletHyperNorthPane.java
+++ b/designer-base/src/main/java/com/fr/design/hyperlink/ReportletHyperNorthPane.java
@@ -44,7 +44,6 @@ import java.util.List;
import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.column;
-import static com.fine.swing.ui.layout.Layouts.flex;
import static com.fine.swing.ui.layout.Layouts.row;
/**
@@ -174,8 +173,8 @@ public class ReportletHyperNorthPane extends AbstractHyperNorthPane {
UILabel urlLabel = new UILabel("URL");
JPanel urlWithHelp = new JPanel(new BorderLayout());
urlWithHelp.add(row(
- cell(urlLabel).weight(0.13),
- cell(urlTextField).weight(0.87)
+ cell(urlLabel).weight(0.2),
+ cell(urlTextField).weight(0.8)
).getComponent());
if (this.needRenamePane) {
diff --git a/designer-base/src/main/java/com/fr/design/javascript/EmailPane.java b/designer-base/src/main/java/com/fr/design/javascript/EmailPane.java
index da780298f5..22a1e3378c 100644
--- a/designer-base/src/main/java/com/fr/design/javascript/EmailPane.java
+++ b/designer-base/src/main/java/com/fr/design/javascript/EmailPane.java
@@ -13,6 +13,7 @@ import com.fr.design.layout.TableLayout;
import com.fr.js.EmailJavaScript;
import com.fr.stable.StringUtils;
+import com.fr.workspace.server.repository.config.ConfigRepository;
import javax.swing.BorderFactory;
import javax.swing.JComponent;
@@ -64,7 +65,7 @@ public class EmailPane extends FurtherBasicBeanPane {
initCenterPane(mainTextLabel, scrollPane, fill, preferred);
this.add(centerPane, BorderLayout.CENTER);
mainTextEditor.setAutoscrolls(true);
- checkEmailConfig(EmailCenter.isEmailConfigValid());
+ checkEmailConfig(ConfigRepository.getInstance().isEmailConfigValid());
}
/**
@@ -128,7 +129,7 @@ public class EmailPane extends FurtherBasicBeanPane {
if (showTplContent != null) {
showTplContent.setSelected(ob ==null ? false: ob.isShowTplContent());
}
- checkEmailConfig(EmailCenter.isEmailConfigValid());
+ checkEmailConfig(ConfigRepository.getInstance().isEmailConfigValid());
}
@Override
diff --git a/designer-base/src/main/java/com/fr/design/javascript/ExportJavaScriptPane.java b/designer-base/src/main/java/com/fr/design/javascript/ExportJavaScriptPane.java
index 67f63e8acb..37339c2297 100644
--- a/designer-base/src/main/java/com/fr/design/javascript/ExportJavaScriptPane.java
+++ b/designer-base/src/main/java/com/fr/design/javascript/ExportJavaScriptPane.java
@@ -1,6 +1,5 @@
package com.fr.design.javascript;
-import com.fine.theme.utils.FineUIScale;
import com.fr.base.BaseFormula;
import com.fr.base.Parameter;
import com.fr.base.extension.FileExtension;
@@ -147,7 +146,7 @@ public class ExportJavaScriptPane extends AbstractHyperLinkPane {
*/
public UIButton createCallButton() {
UIButton callButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Set_Callback_Function"));
+ callButton.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Set_Callback_Function"));
callButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
diff --git a/designer-base/src/main/java/com/fr/design/jxbrowser/JxUIPane.java b/designer-base/src/main/java/com/fr/design/jxbrowser/JxUIPane.java
index 09718d0c5e..9aea89d465 100644
--- a/designer-base/src/main/java/com/fr/design/jxbrowser/JxUIPane.java
+++ b/designer-base/src/main/java/com/fr/design/jxbrowser/JxUIPane.java
@@ -2,19 +2,17 @@ package com.fr.design.jxbrowser;
import com.fr.concurrent.NamedThreadFactory;
import com.fr.design.DesignerEnvManager;
+import com.fr.design.dialog.BasicPane;
import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.itoolbar.UIToolbar;
import com.fr.design.i18n.Toolkit;
import com.fr.design.ui.ModernUIConstants;
-import com.fr.design.ui.ModernUIPane;
import com.fr.stable.StringUtils;
import com.fr.stable.collections.combination.Pair;
import com.fr.stable.os.OperatingSystem;
import com.fr.web.struct.AssembleComponent;
import com.teamdev.jxbrowser.browser.Browser;
import com.teamdev.jxbrowser.browser.callback.InjectJsCallback;
-import com.teamdev.jxbrowser.chromium.events.LoadListener;
-import com.teamdev.jxbrowser.chromium.events.ScriptContextListener;
import com.teamdev.jxbrowser.event.Observer;
import com.teamdev.jxbrowser.frame.Frame;
import com.teamdev.jxbrowser.js.JsObject;
@@ -50,7 +48,7 @@ import static com.fr.design.ui.ModernUIConstants.WINDOW;
* @since 11.0
* Created on 2023-06-12
*/
-public class JxUIPane extends ModernUIPane {
+public class JxUIPane extends BasicPane {
public static final ExecutorService DEFAULT_EXECUTOR =
Executors.newSingleThreadExecutor(new NamedThreadFactory("jx-simple", true));
@@ -68,11 +66,9 @@ public class JxUIPane extends ModernUIPane {
private JxEngine jxEngine = JxEngine.getInstance();
private JxUIPane() {
- super();
}
private JxUIPane(JxEngine jxEngine) {
- super();
this.jxEngine = jxEngine;
}
@@ -155,7 +151,6 @@ public class JxUIPane extends ModernUIPane {
*
* @param url 新的地址
*/
- @Override
public void redirect(String url) {
browser.navigation().loadUrl(encodeWindowsPath(url));
}
@@ -166,7 +161,6 @@ public class JxUIPane extends ModernUIPane {
* @param url 新的地址
* @param map 初始化参数
*/
- @Override
public void redirect(String url, Map map) {
setMap(map);
browser.navigation().loadUrl(encodeWindowsPath(url));
@@ -186,7 +180,11 @@ public class JxUIPane extends ModernUIPane {
}
- @Override
+ /**
+ * 更新数据到界面
+ *
+ * @param t 数据类
+ */
public void populate(final T t) {
setInjectJsCallback(params -> {
executeJsObject(params.frame(), WINDOW + DOT + namespace)
@@ -195,7 +193,6 @@ public class JxUIPane extends ModernUIPane {
});
}
- @Override
@Nullable
public T update() {
if (browser.mainFrame().isPresent()) {
@@ -283,7 +280,7 @@ public class JxUIPane extends ModernUIPane {
*
* @param 参数
*/
- public static class Builder extends ModernUIPane.Builder {
+ public static class Builder {
private JxEngine jxEngine;
private String namespace;
private String variable;
@@ -302,8 +299,6 @@ public class JxUIPane extends ModernUIPane {
private String html;
public Builder() {
- // 为了兼容继承关系,但又不允许创建,用这个方式先处理一下
- super((ModernUIPane) null);
this.jxEngine = JxEngine.getInstance();
this.namespace = DEFAULT_NAMESPACE;
this.variable = DEFAULT_VARIABLE;
@@ -342,24 +337,14 @@ public class JxUIPane extends ModernUIPane {
return this;
}
- @Override
- public Builder prepareForV6(ScriptContextListener contextListener) {
- return this;
- }
-
- @Override
- public Builder prepareForV6(LoadListener loadListener) {
- return this;
- }
-
- @Override
- public JxUIPane.Builder prepareForV7(InjectJsCallback callback) {
- prepare(callback);
- return this;
- }
-
- @Override
- public JxUIPane.Builder prepareForV7(Class event, Observer listener) {
+ /**
+ * 注册一个监听器
+ *
+ * @param event 事件
+ * @param listener 监听器
+ * @return builder
+ */
+ public JxUIPane.Builder prepare(Class event, Observer listener) {
listenerPair = new Pair<>(event, listener);
return this;
}
diff --git a/designer-base/src/main/java/com/fr/design/lock/LockInfoDialog.java b/designer-base/src/main/java/com/fr/design/lock/LockInfoDialog.java
index c183dac2e9..5bac69c3f8 100644
--- a/designer-base/src/main/java/com/fr/design/lock/LockInfoDialog.java
+++ b/designer-base/src/main/java/com/fr/design/lock/LockInfoDialog.java
@@ -1,7 +1,11 @@
package com.fr.design.lock;
+import com.fine.theme.icon.LazyIcon;
+import com.fine.theme.utils.FineUIScale;
+import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.file.TemplateTreePane;
import com.fr.design.gui.ibutton.UIButton;
+import com.fr.design.gui.icontainer.UIScrollPane;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.i18n.DesignSizeI18nManager;
import com.fr.design.i18n.Toolkit;
@@ -39,12 +43,12 @@ public class LockInfoDialog extends JDialog {
super(DesignerContext.getDesignerFrame());
this.saveEnum = saveEnum;
JPanel panel = new JPanel(new BorderLayout());
- panel.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 0));
+ panel.setBorder(new ScaledEmptyBorder(0, 10, 0, 0));
panel.add(createContentPane(userInfo), BorderLayout.CENTER);
panel.add(createControlPane(), BorderLayout.SOUTH);
this.getContentPane().add(panel);
this.setTitle(Toolkit.i18nText("Fine-Design_Basic_Remote_Design_Title_Hint"));
- this.setSize(DesignSizeI18nManager.getInstance().i18nDimension("com.fr.design.lock.LockInfoDialog"));
+ this.setSize(FineUIScale.scale(DesignSizeI18nManager.getInstance().i18nDimension("com.fr.design.lock.LockInfoDialog")));
this.setResizable(false);
this.setModal(true);
GUICoreUtils.centerWindow(this);
@@ -53,40 +57,37 @@ public class LockInfoDialog extends JDialog {
private JPanel createContentPane(UserInfo userInfo) {
JPanel contentPanel = new JPanel(new BorderLayout());
- contentPanel.setBorder(BorderFactory.createEmptyBorder(5, 0, 0, 0));
- JPanel messagePane = new JPanel(new BorderLayout(13, 0));
- UILabel iconLabel = new UILabel(IOUtils.readIcon("/com/fr/design/images/warnings/warning32.png"));
- iconLabel.setBorder(BorderFactory.createEmptyBorder(5, 0, 0, 0));
+ contentPanel.setBorder(new ScaledEmptyBorder(10, 0, 10, 10));
+ JPanel messagePane = FRGUIPaneFactory.createScaledBorderLayout_S_Pane(10, 0);
+ UILabel iconLabel = new UILabel(new LazyIcon("warning", 20));
messagePane.add(iconLabel, BorderLayout.WEST);
UILabel tipLabel = new UILabel(Toolkit.i18nText("Fine-Design_Template_Lock_And_SaveAs_Tip"));
- tipLabel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
messagePane.add(tipLabel, BorderLayout.CENTER);
contentPanel.add(messagePane, BorderLayout.NORTH);
JPanel detailInfoPane = FRGUIPaneFactory.createY_AXISBoxInnerContainer_S_Pane();
- detailInfoPane.setBorder(BorderFactory.createEmptyBorder(0, 45, 0,0));
+ detailInfoPane.setBorder(new ScaledEmptyBorder(0, 30, 0,0));
if (userInfo != null && StringUtils.isNotEmpty(userInfo.getUserName())) {
UILabel label = createLabel(Toolkit.i18nText("Fine-Design_Template_Lock_Holder", userInfo.getUserName()));
- label .setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
detailInfoPane.add(label);
}
if (userInfo != null && StringUtils.isNotEmpty(userInfo.getIp())) {
detailInfoPane.add(createLabel(Toolkit.i18nText("Fine-Design_Template_Lock_Holder_Ip", userInfo.getIp()) ));
}
detailInfoPane.add(createLabel(Toolkit.i18nText("Fine-Design_Template_Lock_Get_Time", FORMATTER.format(LocalDateTime.now()))));
- contentPanel.add(detailInfoPane, BorderLayout.CENTER);
+ contentPanel.add(new UIScrollPane(detailInfoPane), BorderLayout.CENTER);
return contentPanel;
}
private UILabel createLabel(String text) {
UILabel label = new UILabel(text);
label.setForeground(Color.GRAY);
- label.setBorder(BorderFactory.createEmptyBorder(8, 0, 0, 0));
+ label.setBorder(new ScaledEmptyBorder(10, 0, 0, 0));
return label;
}
private JPanel createControlPane() {
- JPanel controlPane = new JPanel(new FlowLayout(FlowLayout.RIGHT, 10, 5));
- controlPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0,5));
+ JPanel controlPane = new JPanel(new FlowLayout(FlowLayout.RIGHT, FineUIScale.scale(10), 0));
+ controlPane.setBorder(new ScaledEmptyBorder(0, 0, 10,10));
UIButton saveAsButton = new UIButton(Toolkit.i18nText("Fine_Design_Template_Lock_Save_As"));
UIButton cancelButton = new UIButton(Toolkit.i18nText("Fine-Design_Basic_Button_Cancel"));
saveAsButton.addActionListener(new ActionListener() {
diff --git a/designer-base/src/main/java/com/fr/design/login/DesignerLoginHelper.java b/designer-base/src/main/java/com/fr/design/login/DesignerLoginHelper.java
index 8976a07345..1ead505a7a 100644
--- a/designer-base/src/main/java/com/fr/design/login/DesignerLoginHelper.java
+++ b/designer-base/src/main/java/com/fr/design/login/DesignerLoginHelper.java
@@ -2,10 +2,8 @@ package com.fr.design.login;
import com.fr.design.DesignerEnvManager;
import com.fr.design.dialog.UIDialog;
-import com.fr.design.extra.WebViewDlgHelper;
import com.fr.design.i18n.Toolkit;
import com.fr.design.mainframe.DesignerContext;
-import com.fr.design.os.impl.SupportOSImpl;
import com.fr.design.plugin.DesignerPluginContext;
import com.fr.design.update.ui.dialog.UpdateMainDialog;
import com.fr.general.GeneralContext;
@@ -47,10 +45,6 @@ public class DesignerLoginHelper {
}
public static void showLoginDialog(DesignerLoginSource source, Map params, Window window) {
- if (!SupportOSImpl.DESIGNER_LOGIN.support() || DesignerEnvManager.getEnvManager().isUseOldVersionLogin()) {
- WebViewDlgHelper.createLoginDialog(window);
- return;
- }
boolean hasJxBrowser = true;
try {
Class.forName(JXBROWSER);
diff --git a/designer-base/src/main/java/com/fr/design/login/executor/DesignerLoginBrowserExecutor.java b/designer-base/src/main/java/com/fr/design/login/executor/DesignerLoginBrowserExecutor.java
deleted file mode 100644
index fa7fa6487e..0000000000
--- a/designer-base/src/main/java/com/fr/design/login/executor/DesignerLoginBrowserExecutor.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.fr.design.login.executor;
-
-import com.fr.design.bridge.exec.JSExecutor;
-import com.teamdev.jxbrowser.chromium.JSFunction;
-import com.teamdev.jxbrowser.chromium.JSObject;
-
-/**
- * @author richie
- * @version 10.0
- * Created by richie on 2019-04-18
- */
-public class DesignerLoginBrowserExecutor implements JSExecutor {
-
- public static DesignerLoginBrowserExecutor create(JSObject window, JSFunction callback) {
- return new DesignerLoginBrowserExecutor(window, callback);
- }
-
- private JSObject window;
- private JSFunction callback;
-
- private DesignerLoginBrowserExecutor(JSObject window, JSFunction callback) {
- this.window = window;
- this.callback = callback;
- }
-
- @Override
- public void executor(String newValue) {
- callback.invoke(window, newValue);
- }
-}
diff --git a/designer-base/src/main/java/com/fr/design/login/guide/DesignerGuideHelper.java b/designer-base/src/main/java/com/fr/design/login/guide/DesignerGuideHelper.java
index 05956da7c3..696ff1176f 100644
--- a/designer-base/src/main/java/com/fr/design/login/guide/DesignerGuideHelper.java
+++ b/designer-base/src/main/java/com/fr/design/login/guide/DesignerGuideHelper.java
@@ -43,8 +43,7 @@ public class DesignerGuideHelper {
if (!DesignerLoginUtils.isOnline()
|| !SupportOSImpl.DESIGNER_LOGIN.support()
|| !FRContext.isChineseEnv()
- || DesignerPushUpdateManager.getInstance().isShouldPopUp()
- || DesignerEnvManager.getEnvManager().isUseOldVersionLogin()) {
+ || DesignerPushUpdateManager.getInstance().isShouldPopUp()) {
return;
}
if (isActivatedForOneWeek()) {
diff --git a/designer-base/src/main/java/com/fr/design/login/message/NotificationActionType.java b/designer-base/src/main/java/com/fr/design/login/message/NotificationActionType.java
index e34caa7456..ff72210632 100644
--- a/designer-base/src/main/java/com/fr/design/login/message/NotificationActionType.java
+++ b/designer-base/src/main/java/com/fr/design/login/message/NotificationActionType.java
@@ -1,20 +1,15 @@
package com.fr.design.login.message;
-import com.fr.config.ServerPreferenceConfig;
import com.fr.design.dialog.NotificationDialogAction;
-import com.fr.design.extra.WebViewDlgHelper;
import com.fr.design.mainframe.BaseJForm;
import com.fr.design.mainframe.DesignerContext;
import com.fr.design.mainframe.EastRegionContainerPane;
import com.fr.design.mainframe.JTemplate;
-import com.fr.design.os.impl.SupportOSImpl;
import com.fr.design.upm.UpmFinder;
import com.fr.design.utils.DesignUtils;
import com.fr.log.FineLoggerFactory;
import com.fr.stable.StringUtils;
import com.fr.stable.bridge.StableFactory;
-import com.fr.stable.os.Arch;
-import com.fr.stable.os.OperatingSystem;
/**
* @author Lanlan
@@ -31,17 +26,10 @@ public enum NotificationActionType {
@Override
public void doClick() {
try {
- if (Arch.getArch() == Arch.ARM || OperatingSystem.isLinux() || SupportOSImpl.MACOS_WEB_PLUGIN_MANAGEMENT.support()) {
- DesignUtils.visitEnvServerByParameters("#management/plugin", null, null);
- return;
- }
- if (ServerPreferenceConfig.getInstance().isUseOptimizedUPM() || SupportOSImpl.MACOS_NEW_PLUGIN_MANAGEMENT.support()) {
- UpmFinder.showUPMDialog();
- } else {
- WebViewDlgHelper.createPluginDialog();
- }
- } catch (Exception e) {
+ UpmFinder.showUPMDialog();
+ } catch (Throwable e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e);
+ DesignUtils.visitEnvServerByParameters("#management/plugin", null, null);
}
}
}),
diff --git a/designer-base/src/main/java/com/fr/design/mainframe/DecodeDialog.java b/designer-base/src/main/java/com/fr/design/mainframe/DecodeDialog.java
index f76ed4711b..88b126e07b 100644
--- a/designer-base/src/main/java/com/fr/design/mainframe/DecodeDialog.java
+++ b/designer-base/src/main/java/com/fr/design/mainframe/DecodeDialog.java
@@ -1,11 +1,15 @@
package com.fr.design.mainframe;
+import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JDialog;
+import javax.swing.JPanel;
+import com.fine.theme.utils.FineUIStyle;
+import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.base.BaseUtils;
import com.fr.base.io.XMLEncryptUtils;
import com.fr.design.DesignerEnvManager;
@@ -19,6 +23,9 @@ import com.fr.stable.CodeUtils;
import com.fr.stable.StringUtils;
import com.fr.design.utils.gui.GUICoreUtils;
+import static com.fine.swing.ui.layout.Layouts.cell;
+import static com.fine.swing.ui.layout.Layouts.row;
+
public class DecodeDialog {
private UITextField jt;
@@ -32,22 +39,18 @@ public class DecodeDialog {
this.file = file;
jd = new JDialog();
- jd.setLayout(null);
+ jd.setLayout(new BorderLayout());
UILabel newNameLable = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_ECP_Input_Pwd"));
- newNameLable.setBounds(20, 10, 130, 30);
jt = new UITextField(StringUtils.EMPTY);
jt.selectAll();
- jt.setBounds(130, 15, 150, 20);
- jd.add(newNameLable);
- jd.add(jt);
+ jd.add(row(20, cell(newNameLable), cell(jt)).getComponent(), BorderLayout.NORTH);
hintsLabel = new UILabel();
- hintsLabel.setBounds(20, 50, 250, 30);
hintsLabel.setForeground(Color.RED);
hintsLabel.setVisible(false);
confirmButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Confirm"));
- confirmButton.setBounds(180, 90, 60, 25);
+ FineUIStyle.setStyle(confirmButton, FineUIStyle.PLAIN_BUTTON);
confirmButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String key = jt.getText();
@@ -64,16 +67,17 @@ public class DecodeDialog {
});
UIButton cancelButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Cancel"));
- cancelButton.setBounds(250, 90, 60, 25);
cancelButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jd.dispose();
}
});
- jd.add(cancelButton);
- jd.add(confirmButton);
- jd.add(hintsLabel);
+ JPanel buttonPane = new JPanel(new BorderLayout());
+ buttonPane.setBorder(new ScaledEmptyBorder(10, 10, 10, 10));
+ buttonPane.add(row(8, cell(confirmButton), cell(cancelButton)).getComponent(), BorderLayout.EAST);
+ jd.add(buttonPane, BorderLayout.SOUTH);
+ jd.add(hintsLabel, BorderLayout.CENTER);
jd.setSize(340, 180);
jd.setModal(true);
jd.setTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_ECP_Decode"));
diff --git a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrame.java b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrame.java
index fc6be544d2..a4239bc64c 100644
--- a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrame.java
+++ b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrame.java
@@ -755,6 +755,7 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta
refresh();
DesignerFrameFileDealerPane.getInstance().refreshDockingView();
TemplateTreePane.getInstance().refreshDockingView();
+ TableDataTreePane.getInstanceWithoutRefreshEverytime(DesignModelAdapter.getCurrentModelAdapter()).resetAddMenuDef();
}
/**
diff --git a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java
index 31259ffbda..264cfc0016 100644
--- a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java
+++ b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java
@@ -1,6 +1,9 @@
package com.fr.design.mainframe;
import com.fine.theme.icon.LazyIcon;
+import com.fine.theme.utils.FineLayoutBuilder;
+import com.fine.theme.utils.FineUIStyle;
+import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.base.BaseUtils;
import com.fr.base.extension.FileExtension;
import com.fr.base.vcs.DesignerMode;
@@ -224,13 +227,15 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt
JPanel panel = new JPanel(new BorderLayout());
if (WorkContext.getCurrent().isRoot()) {
rightToolBar = new UIToolbar(FlowLayout.RIGHT);
- rightToolBar.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.TOOLBAR_BORDER_COLOR));
+ JPanel contentPane = FineLayoutBuilder.asBorderLayoutWrapped(rightToolBar);
+ contentPane.setBorder(BorderFactory.createCompoundBorder(new ScaledEmptyBorder(4, 8, 4, 8),
+ BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.TOOLBAR_BORDER_COLOR)));
rightToolBar.setBorderPainted(true);
UILabel tipLabel = new UILabel(Toolkit.i18nText("Fine_Design_Template_Lock_Status"));
- tipLabel.setForeground(Color.GRAY);
+ FineUIStyle.setStyle(tipLabel, FineUIStyle.LABEL_TIP);
rightToolBar.add(tipLabel);
- UIButton button = new UIButton(IOUtils.readIcon("/com/fr/design/images/toolbarbtn/lock.png"));
- button.setRolloverIcon(IOUtils.readIcon("/com/fr/design/images/toolbarbtn/unlock.png"));
+ UIButton button = new UIButton(new LazyIcon("locked"));
+ button.setRolloverIcon(new LazyIcon("unlocked"));
button.setBorderPainted(false);
button.setContentAreaFilled(false);
button.set4ToolbarButton();
@@ -243,7 +248,7 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt
Toolkit.i18nText("Fine-Design_Basic_Alert"),
JOptionPane.YES_NO_OPTION,
JOptionPane.WARNING_MESSAGE,
- IOUtils.readIcon("/com/fr/design/images/warnings/warning32.png"),
+ new LazyIcon("warning", 20),
new Object[] {Toolkit.i18nText("Fine_Design_Template_UnLock_I_Known"), Toolkit.i18nText("Fine-Design_Basic_Button_Cancel")}, null);
if (option == JOptionPane.YES_OPTION) {
String path = StableUtils.pathJoin(ProjectConstants.REPORTLETS_NAME, TemplateTreePane.getInstance().getTemplateFileTree().getSelectedTemplatePath());
@@ -264,7 +269,7 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt
});
rightToolBar.add(button);
refreshRightToolBarBy(TemplateTreePane.getInstance().getFileNode());
- panel.add(rightToolBar, BorderLayout.EAST);
+ panel.add(contentPane, BorderLayout.EAST);
}
return panel;
}
@@ -708,7 +713,6 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt
// 确认按钮
confirmButton = new UIButton(Toolkit.i18nText("Fine-Design_Basic_Confirm"));
- confirmButton.setPreferredSize(new Dimension(60, 25));
confirmButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
@@ -719,8 +723,6 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt
// 取消按钮
UIButton cancelButton = new UIButton(Toolkit.i18nText("Fine-Design_Basic_Cancel"));
- cancelButton.setPreferredSize(new Dimension(60, 25));
-
cancelButton.addActionListener(new ActionListener() {
@Override
diff --git a/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java b/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java
index 09ea0d2052..6fae3748ff 100644
--- a/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java
+++ b/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java
@@ -142,10 +142,13 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
private static int containerWidth() {
- if (FRContext.isChineseEnv()) {
- return UIEastResizableContainer.MIN_CONTAINER_WIDTH;
- }
- return UIEastResizableContainer.MAX_CONTAINER_WIDTH;
+ return UIEastResizableContainer.STD_CONTAINER_WIDTH;
+ }
+
+ @Override
+ protected boolean isEnableDrag(MouseEvent e) {
+ return super.isEnableDrag(e)
+ && e.getY() > topToolPaneHeight + leftPane.getPreferredSize().height;
}
/**
@@ -836,7 +839,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
if (StringUtils.equals(KEY_WIDGET_SETTINGS, name)) {
title = currentMode.getTitle();
button.setToolTipText(title);
- UILabel uiLabel = (UILabel) ((BorderLayout) popupToolPane.contentPane.getLayout()).getLayoutComponent(BorderLayout.WEST);
+ UILabel uiLabel = (UILabel) ((BorderLayout) popupToolPane.contentPane.getLayout()).getLayoutComponent(BorderLayout.CENTER);
uiLabel.setText(title);
}
} catch (Exception e) {
diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/ColorFillStylePane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/ColorFillStylePane.java
index d835e2f372..2cde384fdc 100644
--- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/ColorFillStylePane.java
+++ b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/ColorFillStylePane.java
@@ -86,6 +86,14 @@ public class ColorFillStylePane extends BasicBeanPane {
return customPane;
}
+ @Override
+ public void repaint() {
+ if (colorAdjustPane != null) {
+ colorAdjustPane.repaint();
+ }
+ super.repaint();
+ }
+
protected ColorSchemeComboBox createColorSchemeComboBox() {
return new ColorSchemeComboBox();
}
diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeBlock.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeBlock.java
index 3aa21c2908..27f09d9e0b 100644
--- a/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeBlock.java
+++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeBlock.java
@@ -1,5 +1,6 @@
package com.fr.design.mainframe.theme;
+import com.fine.theme.icon.LazyIcon;
import com.fine.theme.utils.FineUIScale;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.base.GraphHelper;
@@ -50,7 +51,7 @@ public class TemplateThemeBlock extends JPanel {
private final TemplateThemeProfilePane profilePane;
private final Icon theme4currentTemplateMarkIcon = IOUtils.readIcon("/com/fr/design/form/images/theme4currentTemplate.png");
private final Icon theme4NewTemplateMarkIcon= IOUtils.readIcon("/com/fr/design/form/images/theme4newTemplate.png");
- private final Icon profileIcon = IOUtils.readIcon("/com/fr/design/icon/icon_edit.png");
+ private final Icon profileIcon = new LazyIcon("theme_edit");
private final boolean displayTheme4NewTemplateMarker;
private final ThumbnailPane thumbnailPane;
diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/dialog/TemplateThemeDialog.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/dialog/TemplateThemeDialog.java
index 1864a91b1f..def9c7d626 100644
--- a/designer-base/src/main/java/com/fr/design/mainframe/theme/dialog/TemplateThemeDialog.java
+++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/dialog/TemplateThemeDialog.java
@@ -1,5 +1,6 @@
package com.fr.design.mainframe.theme.dialog;
+import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.utils.gui.GUICoreUtils;
@@ -14,17 +15,19 @@ import java.awt.Window;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
+import static com.fine.theme.utils.FineUIScale.scale;
+
/**
* @author Starryi
* @version 1.0
* Created by Starryi on 2021/8/16
*/
public abstract class TemplateThemeDialog extends JDialog {
- public static final int DIALOG_TITLE_HEIGHT = 28;
+ public static final int DIALOG_TITLE_HEIGHT = scale(28);
- public static final int DIALOG_BOTTOM_ACTION_BAR_HEIGHT = 30;
- public static final int DIALOG_BOTTOM_ACTION_BUTTON_GAP = 10;
- public static final int DIALOG_BOTTOM_ACTION_BUTTON_HEIGHT = 20;
+ public static final int DIALOG_BOTTOM_ACTION_BAR_HEIGHT = scale(30);
+ public static final int DIALOG_BOTTOM_ACTION_BUTTON_GAP = scale(10);
+ public static final int DIALOG_BOTTOM_ACTION_BUTTON_HEIGHT = scale(20);
private final JPanel contentContainer;
private final JPanel actionContainer;
@@ -97,7 +100,7 @@ public abstract class TemplateThemeDialog extends JDialog {
private JPanel createActionsContainer(int align, UIButton... buttons) {
JPanel container = new JPanel(new FlowLayout(align, DIALOG_BOTTOM_ACTION_BUTTON_GAP, 0));
int paddingVertical = getPaddingVertical();
- container.setBorder(BorderFactory.createEmptyBorder(paddingVertical, 0, paddingVertical, 0));
+ container.setBorder(new ScaledEmptyBorder(paddingVertical, 0, paddingVertical, 0));
if (buttons == null || buttons.length == 0) {
return container;
diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/dialog/TemplateThemeGridPagesDialog.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/dialog/TemplateThemeGridPagesDialog.java
index bf65b9be28..d7e986c346 100644
--- a/designer-base/src/main/java/com/fr/design/mainframe/theme/dialog/TemplateThemeGridPagesDialog.java
+++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/dialog/TemplateThemeGridPagesDialog.java
@@ -9,14 +9,16 @@ import com.fr.design.mainframe.theme.TemplateThemeGridPane;
import javax.swing.JPanel;
import java.awt.Window;
+import static com.fine.theme.utils.FineUIScale.scale;
+
/**
* @author Starryi
* @version 1.0
* Created by Starryi on 2021/8/13
*/
public class TemplateThemeGridPagesDialog extends TemplateThemeDialog implements TemplateThemeGridPagesPane.PageChangeListener {
- public static final int CONTENT_WIDTH = TemplateThemeGridPane.CONTENT_WIDTH + 48;
- public static final int CONTENT_HEIGHT = TemplateThemeGridPane.CONTENT_HEIGHT + 37;
+ public static final int CONTENT_WIDTH = TemplateThemeGridPane.CONTENT_WIDTH + scale(48);
+ public static final int CONTENT_HEIGHT = TemplateThemeGridPane.CONTENT_HEIGHT + scale(37);
protected TemplateThemeGridPagesPane overallPane;
diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/chart/ChartFontPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/chart/ChartFontPane.java
index 1d1967ad3c..150bbe24e0 100644
--- a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/chart/ChartFontPane.java
+++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/chart/ChartFontPane.java
@@ -83,13 +83,14 @@ public class ChartFontPane extends BasicPane {
double[] rows = {p, p, p};
double[] columnSize = {labelWidth, totalWidth};
UILabel text = new UILabel(getUILabelText(), SwingConstants.LEFT);
+ text.setToolTipText(getUILabelText());
Component[][] components = {
new Component[]{null, null},
new Component[]{text, fontNameComboBox},
new Component[]{null, buttonPane}
};
- return TableLayoutHelper.createGapTableLayoutPane(components, rows, columnSize, 5, 0);
+ return TableLayoutHelper.createGapTableLayoutPane(components, rows, columnSize, 5, 10);
}
public String getUILabelText() {
diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/chart/ChartSeriesStylePane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/chart/ChartSeriesStylePane.java
index f9ca4edf32..09b8e1f94a 100644
--- a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/chart/ChartSeriesStylePane.java
+++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/chart/ChartSeriesStylePane.java
@@ -28,6 +28,7 @@ public class ChartSeriesStylePane extends AbstractChartStylePane {
protected void initComponents() {
colorTypeButton = new UIButtonGroup<>(new String[]{Toolkit.i18nText("Fine-Design_Chart_Custom_Color"),
Toolkit.i18nText("Fine-Design_Chart_Legend_Gradual")});
+ colorTypeButton.getButton(0).setToolTipText(Toolkit.i18nText("Fine-Design_Chart_Custom_Color"));
gradientBar = new FixedGradientBar(4, 130);
initListener();
}
diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/RecycleSettingPane.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/RecycleSettingPane.java
index 65549bc1a9..84903f848b 100644
--- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/RecycleSettingPane.java
+++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/RecycleSettingPane.java
@@ -10,7 +10,6 @@ import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.FRGUIPaneFactory;
-import com.fr.design.layout.VerticalFlowLayout;
import com.fr.design.mainframe.vcs.VcsRecycleSettingHelper;
import com.fr.workspace.server.vcs.VcsConfig;
@@ -63,7 +62,7 @@ public class RecycleSettingPane extends BasicPane {
FineTabbedPane tabbedPane = FineTabbedPane.builder()
.addTab(Toolkit.i18nText("Fine-Design_Vcs_Recycle_Content"), recycleScrollPane)
.addTab(Toolkit.i18nText("Fine-Design_Basic_Carton_General_Settings"), settingScrollPane)
- .withHeadRatio(0.3f).build();
+ .withAdaptiveFit().build();
this.add(tabbedPane, BorderLayout.CENTER);
}
diff --git a/designer-base/src/main/java/com/fr/design/os/impl/PMDialogAction.java b/designer-base/src/main/java/com/fr/design/os/impl/PMDialogAction.java
index d4daa8f8bd..bedb7bc964 100644
--- a/designer-base/src/main/java/com/fr/design/os/impl/PMDialogAction.java
+++ b/designer-base/src/main/java/com/fr/design/os/impl/PMDialogAction.java
@@ -1,41 +1,31 @@
package com.fr.design.os.impl;
-import com.fr.config.ServerPreferenceConfig;
-import com.fr.design.DesignerEnvManager;
-import com.fr.design.extra.WebViewDlgHelper;
-import com.fr.design.jdk.JdkVersion;
import com.fr.design.upm.UpmFinder;
import com.fr.design.utils.DesignUtils;
-import com.fr.stable.StableUtils;
-import com.fr.stable.os.Arch;
+import com.fr.log.FineLoggerFactory;
import com.fr.stable.os.OperatingSystem;
import com.fr.stable.os.support.OSBasedAction;
/**
* 插件管理窗口
+ *
* @author pengda
* @date 2019/10/9
*/
public class PMDialogAction implements OSBasedAction {
private static String PLUGIN_MANAGER_ROUTE = "#management/plugin";
+
@Override
public void execute(Object... objects) {
- if(Arch.getArch() == Arch.ARM || OperatingSystem.isLinux() || SupportOSImpl.MACOS_WEB_PLUGIN_MANAGEMENT.support()){
- DesignUtils.visitEnvServerByParameters( PLUGIN_MANAGER_ROUTE,null,null);
- return;
- }
- if (checkUPMSupport()) {
+ if (OperatingSystem.isLinux()) {
+ DesignUtils.visitEnvServerByParameters(PLUGIN_MANAGER_ROUTE, null, null);
+ return;
+ }
+ try {
UpmFinder.showUPMDialog();
- } else {
- WebViewDlgHelper.createPluginDialog();
+ } catch (Throwable e) {
+ FineLoggerFactory.getLogger().error(e.getMessage(), e);
+ DesignUtils.visitEnvServerByParameters(PLUGIN_MANAGER_ROUTE, null, null);
}
}
-
- private boolean checkUPMSupport() {
- return ServerPreferenceConfig.getInstance().isUseOptimizedUPM()
- || SupportOSImpl.MACOS_NEW_PLUGIN_MANAGEMENT.support()
- || DesignerEnvManager.getEnvManager().isUseOptimizedUPM4Adapter()
- //默认开启
- || DesignerEnvManager.getEnvManager().isUseNewPluginFirst();
- }
}
diff --git a/designer-base/src/main/java/com/fr/design/os/impl/SupportOSImpl.java b/designer-base/src/main/java/com/fr/design/os/impl/SupportOSImpl.java
index d8eda915b7..663f464749 100644
--- a/designer-base/src/main/java/com/fr/design/os/impl/SupportOSImpl.java
+++ b/designer-base/src/main/java/com/fr/design/os/impl/SupportOSImpl.java
@@ -2,7 +2,6 @@ package com.fr.design.os.impl;
import com.fr.base.FRContext;
import com.fr.design.config.DesignerProperties;
-import com.fr.design.jdk.JdkVersion;
import com.fr.general.CloudCenter;
import com.fr.general.GeneralContext;
import com.fr.json.JSON;
@@ -31,30 +30,33 @@ public enum SupportOSImpl implements SupportOS {
* 屏蔽登录入口
*/
BBS_USER_LOGIN_PANE {
- public boolean support(){
- return Arch.getArch() != Arch.ARM && DesignerProperties.getInstance().isSupportLoginEntry();
+ @Override
+ public boolean support() {
+ return DesignerProperties.getInstance().isSupportLoginEntry();
}
},
/**
* Linux系统屏蔽透明度
*/
- OPACITY{
- public boolean support(){
+ OPACITY {
+ @Override
+ public boolean support() {
return !OperatingSystem.isLinux();
}
},
/**
* Linux系统屏蔽FineUI选项
*/
- FINEUI{
- public boolean support(){
+ FINEUI {
+ @Override
+ public boolean support() {
return !OperatingSystem.isLinux();
}
},
/**
* 自动更新推送
*/
- AUTOPUSHUPDATE{
+ AUTOPUSHUPDATE {
@Override
public boolean support() {
boolean isLocalEnv = WorkContext.getCurrent().isLocal();
@@ -75,7 +77,7 @@ public enum SupportOSImpl implements SupportOS {
/**
* BBS窗口
*/
- BBSDIALOG{
+ BBSDIALOG {
@Override
public boolean support() {
return FRContext.isChineseEnv() && !OperatingSystem.isMacos() && Arch.getArch() != Arch.ARM;
@@ -106,7 +108,7 @@ public enum SupportOSImpl implements SupportOS {
}
},
-
+
VM_OPTIONS_ADAPTER {
@Override
public boolean support() {
@@ -117,7 +119,6 @@ public enum SupportOSImpl implements SupportOS {
/**
* 原生文件选择器弹窗
* https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8019464 mac下原生弹窗国际化设置无效,jdk11中有修复
- *
*/
NATIVE_CHOOSER {
@Override
@@ -133,23 +134,7 @@ public enum SupportOSImpl implements SupportOS {
}
},
- MACOS_NEW_PLUGIN_MANAGEMENT {
- @Override
- public boolean support() {
- return JdkVersion.GE_9.support() && OperatingSystem.isMacos() && getMacOsVersion() < BIG_SUR_VERSION_NUMBER;
- }
- },
-
-
- MACOS_WEB_PLUGIN_MANAGEMENT {
- @Override
- public boolean support() {
- return JdkVersion.GE_9.support() && OperatingSystem.isMacos() && getMacOsVersion() >= BIG_SUR_VERSION_NUMBER;
- }
- },
-
OLD_STYLE_CHOOSER {
-
@Override
public boolean support() {
boolean javafxExist = true;
@@ -196,23 +181,9 @@ public enum SupportOSImpl implements SupportOS {
DESIGNER_LOGIN {
@Override
public boolean support() {
- if (OperatingSystem.isLinux()) {
- return false;
- }
- return !OperatingSystem.isMacos() || getMacOsVersion() < BIG_SUR_VERSION_NUMBER;
- }
- };
-
- private static final int BIG_SUR_VERSION_NUMBER = 16;
-
- protected int getMacOsVersion() {
- String version = System.getProperty("os.version");
- String[] versionSlice = version.split("\\.");
- try {
- return Integer.parseInt(versionSlice[1]);
- } catch (Exception ignored) {
- return 0;
+ return !OperatingSystem.isLinux();
}
}
+
}
diff --git a/designer-base/src/main/java/com/fr/design/parameter/ParameterInputPane.java b/designer-base/src/main/java/com/fr/design/parameter/ParameterInputPane.java
index 7c8f675b1e..6c34eb9618 100644
--- a/designer-base/src/main/java/com/fr/design/parameter/ParameterInputPane.java
+++ b/designer-base/src/main/java/com/fr/design/parameter/ParameterInputPane.java
@@ -3,6 +3,7 @@
*/
package com.fr.design.parameter;
+import com.fine.theme.utils.FineUIUtils;
import com.fr.base.BaseFormula;
import com.fr.base.StoreProcedureParameter;
import com.fr.base.Utils;
@@ -75,8 +76,8 @@ public class ParameterInputPane extends BasicPane {
//Content Pane.
JPanel contentPane = FRGUIPaneFactory.createY_AXISBoxInnerContainer_S_Pane();
- this.add(new JScrollPane(contentPane), BorderLayout.CENTER);
- contentPane.setBorder(BorderFactory.createTitledBorder(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Parameters") + ":"));
+ this.add(FineUIUtils.wrapComponentWithTitle(new JScrollPane(
+ contentPane), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Parameters")), BorderLayout.CENTER);
flowTableLayoutHelper = new FlowTableLayoutHelper();
diff --git a/designer-base/src/main/java/com/fr/design/parameter/ParameterPane.java b/designer-base/src/main/java/com/fr/design/parameter/ParameterPane.java
index 7d1f65a789..37d601f568 100644
--- a/designer-base/src/main/java/com/fr/design/parameter/ParameterPane.java
+++ b/designer-base/src/main/java/com/fr/design/parameter/ParameterPane.java
@@ -45,14 +45,16 @@ public class ParameterPane extends BasicBeanPane {
valueEditor = ValueEditorPaneFactory.createBasicValueEditorPane();
// richer:要排列显示的控件
JPanel centerPane = column(LayoutConstants.VERTICAL_GAP,
- row(20,
- cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Name"))).weight(0.1),
- cell(nameTextField).weight(0.8),
- flex(0.1)),
- row(20,
- cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Utils_Default_Value"))).weight(0.1),
- cell(valueEditor).weight(0.8),
- flex(0.1))
+ row(
+ cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Name"))).weight(0.2),
+ cell(nameTextField).weight(0.7),
+ flex(0.1)
+ ),
+ row(
+ cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Utils_Default_Value"))).weight(0.2),
+ cell(valueEditor).weight(0.7),
+ flex(0.1)
+ )
).getComponent();
centerPane.setBorder(new ScaledEmptyBorder(0, 20, 0, 0));
this.add(centerPane, BorderLayout.CENTER);
diff --git a/designer-base/src/main/java/com/fr/design/remote/button/IconButton.java b/designer-base/src/main/java/com/fr/design/remote/button/IconButton.java
index d2d04b8d4c..013a3d1e7d 100644
--- a/designer-base/src/main/java/com/fr/design/remote/button/IconButton.java
+++ b/designer-base/src/main/java/com/fr/design/remote/button/IconButton.java
@@ -1,5 +1,6 @@
package com.fr.design.remote.button;
+import com.fine.theme.icon.LazyIcon;
import com.fr.base.BaseUtils;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.stable.StringUtils;
@@ -26,7 +27,7 @@ public final class IconButton extends JButton {
}
public IconButton() {
- this(BaseUtils.readIcon("com/fr/design/remote/images/icon_tab_close_normal.png"));
+ this(new LazyIcon("close"));
}
@Override
diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/AbstractListControlPane.java b/designer-base/src/main/java/com/fr/design/remote/ui/AbstractListControlPane.java
index bca0422eab..985394a6e4 100644
--- a/designer-base/src/main/java/com/fr/design/remote/ui/AbstractListControlPane.java
+++ b/designer-base/src/main/java/com/fr/design/remote/ui/AbstractListControlPane.java
@@ -1,8 +1,12 @@
package com.fr.design.remote.ui;
+import com.fine.theme.icon.LazyIcon;
+import com.formdev.flatlaf.ui.FlatUIUtils;
+import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.base.BaseUtils;
import com.fr.design.actions.UpdateAction;
import com.fr.design.beans.BasicBeanPane;
+import com.fr.design.border.FineBorderFactory;
import com.fr.design.dialog.BasicDialog;
import com.fr.design.dialog.BasicPane;
import com.fr.design.dialog.DialogActionAdapter;
@@ -35,8 +39,7 @@ import javax.swing.ListSelectionModel;
import javax.swing.SwingUtilities;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
-import java.awt.BorderLayout;
-import java.awt.CardLayout;
+import java.awt.*;
import java.awt.event.ActionEvent;
import java.util.ArrayList;
import java.util.List;
@@ -100,7 +103,6 @@ public abstract class AbstractListControlPane extends BasicPane {
// 左右分割布局
JSplitPane mainSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, leftPane, cardPane);
- mainSplitPane.setBorder(BorderFactory.createLineBorder(GUICoreUtils.getTitleLineBorderColor()));
mainSplitPane.setOneTouchExpandable(true);
add(mainSplitPane, BorderLayout.CENTER);
mainSplitPane.setDividerLocation(shortCuts.length * SHORT_WIDTH);
@@ -120,6 +122,12 @@ public abstract class AbstractListControlPane extends BasicPane {
toolbarDef.addShortCut(sj.getShortCut());
}
toolBar = ToolBarDef.createJToolBar();
+ toolBar.setBackground(FlatUIUtils.getUIColor("background.normal", Color.WHITE));
+ toolBar.setBorder(BorderFactory.createCompoundBorder(
+ FineBorderFactory.createUnderlineBorder(FlatUIUtils.getUIColor("defaultBorderColor", Color.GRAY)),
+ new ScaledEmptyBorder(3, 0, 3, 0)
+ ));
+ toolBar.setBorderPainted(true);
toolbarDef.updateToolBar(toolBar);
leftPane.add(toolBar, BorderLayout.NORTH);
}
@@ -128,7 +136,9 @@ public abstract class AbstractListControlPane extends BasicPane {
private void initLeftList(JPanel leftPane) {
authorityList = createList();
authorityList.setName(LIST_NAME);
+ authorityList.setBackground(FlatUIUtils.getUIColor("background.normal", Color.WHITE));
leftPane.add(new UIScrollPane(authorityList), BorderLayout.CENTER);
+ leftPane.setBorder(FineBorderFactory.createWrappedRoundBorder());
authorityList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
@@ -503,7 +513,7 @@ public abstract class AbstractListControlPane extends BasicPane {
AddItemUpdateAction() {
this.setName(Toolkit.i18nText("Fine-Design_Basic_Action_Choose"));
this.setMnemonic('A');
- this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/buttonicon/add.png"));
+ this.setSmallIcon(new LazyIcon("add_popup"));
}
@Override
@@ -572,8 +582,7 @@ public abstract class AbstractListControlPane extends BasicPane {
RemoveItemAction() {
this.setName(Toolkit.i18nText("Fine-Design_Basic_Action_Remove"));
this.setMnemonic('R');
- this.setSmallIcon(BaseUtils
- .readIcon(IconPathConstants.TD_REMOVE_ICON_PATH));
+ this.setSmallIcon(new LazyIcon("remove"));
}
@Override
diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/AbstractManagerPane.java b/designer-base/src/main/java/com/fr/design/remote/ui/AbstractManagerPane.java
index c92a7a8513..0259cd5797 100644
--- a/designer-base/src/main/java/com/fr/design/remote/ui/AbstractManagerPane.java
+++ b/designer-base/src/main/java/com/fr/design/remote/ui/AbstractManagerPane.java
@@ -1,5 +1,11 @@
package com.fr.design.remote.ui;
+import com.fine.theme.light.ui.FineRoundBorder;
+import com.fine.theme.utils.FineUIScale;
+import com.fine.theme.utils.FineUIStyle;
+import com.fine.theme.utils.FineUIUtils;
+import com.formdev.flatlaf.ui.FlatUIUtils;
+import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.base.BaseUtils;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.dialog.BasicPane;
@@ -46,6 +52,9 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.List;
+import static com.fine.swing.ui.layout.Layouts.cell;
+import static com.fine.swing.ui.layout.Layouts.row;
+
/**
* 选择设计角色、用户面板的基类
@@ -197,7 +206,7 @@ public abstract class AbstractManagerPane extends BasicPane {
public AbstractManagerPane() {
- this.setBorder(BorderFactory.createEmptyBorder(0, 4, 0, 4));
+ this.setBorder(new ScaledEmptyBorder(10, 10, 10, 10));
this.setLayout(new BorderLayout());
this.add(
TableLayoutHelper.createCommonTableLayoutPane(
@@ -235,22 +244,19 @@ public abstract class AbstractManagerPane extends BasicPane {
}
protected abstract JPanel leftPanel();
+ protected abstract String leftPanelTitle();
private JPanel createLeftPanel() {
JPanel content = leftPanel();
// 搜索
- JPanel searchPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 5));
- searchPanel.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 5));
- keyField.setPreferredSize(new Dimension(270, 20));
+ JPanel searchPanel = new JPanel(new BorderLayout());
keyField.requestFocus();
keyField.addKeyListener(keyFieldKeyListener);
keyField.getDocument().addDocumentListener(documentListener);
- keyButton.setIcon(BaseUtils.readIcon("com/fr/design/images/buttonicon/user_search_normal.png"));
- keyButton.setToolTipText(Toolkit.i18nText("Fine-Design_Basic_Remote_Design_Search"));
+ keyButton.setText(Toolkit.i18nText("Fine-Design_Basic_Remote_Design_Search"));
keyButton.addActionListener(keyButtonActionListener);
- searchPanel.add(keyField);
- searchPanel.add(keyButton);
+ searchPanel.add(row(10, cell(keyField).weight(0.45), cell(keyButton).weight(0.1)).getComponent());
// 内容列表
addingListModel = new DefaultListModel<>();
@@ -283,7 +289,10 @@ public abstract class AbstractManagerPane extends BasicPane {
content.add(searchPanel, BorderLayout.NORTH);
content.add(listPane, BorderLayout.CENTER);
- return content;
+
+ JPanel pane = new JPanel(new BorderLayout());
+ pane.add(FineUIUtils.wrapComponentWithTitle(content, leftPanelTitle()));
+ return pane;
}
protected abstract AddingMemberListCellRender getAddingMemberListCellRender();
@@ -291,6 +300,7 @@ public abstract class AbstractManagerPane extends BasicPane {
protected abstract AddedMemberListCellRender getAddedMemberListCellRender();
protected abstract JPanel rightPanel();
+ protected abstract String rightPanelTitle();
private JPanel createRightPanel() {
JPanel content = rightPanel();
@@ -301,8 +311,8 @@ public abstract class AbstractManagerPane extends BasicPane {
Toolkit.i18nText("Fine-Design_Basic_Remote_Design_Selected_Member_Count",
String.valueOf(addedMembers.size()))
);
- countLabel.setBorder(BorderFactory.createEmptyBorder(7, 12, 8, 0));
- countLabel.setForeground(new Color(0x8F8F92));
+ FineUIStyle.setStyle(countLabel, FineUIStyle.LABEL_TIP);
+ countLabel.setPreferredSize(new Dimension((int) countLabel.getPreferredSize().getWidth(), FineUIScale.scale(20)));
addedListModel = new DefaultListModel<>();
addedList = new AddedMemberList(addedListModel);
@@ -316,7 +326,9 @@ public abstract class AbstractManagerPane extends BasicPane {
content.add(countLabel, BorderLayout.NORTH);
content.add(listPane, BorderLayout.CENTER);
- return content;
+ JPanel pane = new JPanel(new BorderLayout());
+ pane.add(FineUIUtils.wrapComponentWithTitle(content, rightPanelTitle()));
+ return pane;
}
diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityEditorPane.java b/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityEditorPane.java
index da5817b853..3ac9cdc9d4 100644
--- a/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityEditorPane.java
+++ b/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityEditorPane.java
@@ -1,5 +1,7 @@
package com.fr.design.remote.ui;
+import com.fine.theme.utils.FineUIUtils;
+import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.beans.BasicBeanPane;
import com.fr.design.border.UITitledBorder;
import com.fr.design.gui.icontainer.UIScrollPane;
@@ -30,20 +32,13 @@ public class AuthorityEditorPane extends BasicBeanPane {
// 模板设计权限配置
public AuthorityEditorPane() {
this.setLayout(FRGUIPaneFactory.createBorderLayout());
- this.setBorder(
- BorderFactory.createCompoundBorder(
- new EmptyBorder(6, 0, 6, 6),
- UITitledBorder.createBorderWithTitle(
- com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Remote_Design_Template_Authority_Config")
- )
- )
- );
IOFileNodeFilter filter = new IOFileNodeFilter(new String[]{".cptx", ".cpt", ".class", ".frm", ".form"});
tree.setDigIn(true);
tree.setFileNodeFilter(filter);
UIScrollPane scrollPane = new UIScrollPane(tree);
scrollPane.setBorder(BorderFactory.createEmptyBorder());
- this.add(scrollPane, BorderLayout.CENTER);
+ this.add(FineUIUtils.wrapComponentWithTitle(scrollPane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Remote_Design_Template_Authority_Config")), BorderLayout.CENTER);
+ this.setBorder(new ScaledEmptyBorder(0, 15, 0, 0));
tree.refreshEnv();
}
diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityListCustomRolePane.java b/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityListCustomRolePane.java
index 3ae6a097b3..fbb3259f7a 100644
--- a/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityListCustomRolePane.java
+++ b/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityListCustomRolePane.java
@@ -1,5 +1,6 @@
package com.fr.design.remote.ui;
+import com.fine.theme.icon.LazyIcon;
import com.fr.base.BaseUtils;
import com.fr.design.i18n.Toolkit;
import com.fr.design.remote.RemoteDesignAuthorityCreator;
@@ -15,7 +16,7 @@ public class AuthorityListCustomRolePane extends AbstractListControlPane {
new RemoteDesignAuthorityCreator(
// 远程设计用户
Toolkit.i18nText("Fine-Design_Basic_Remote_Design_Custom"),
- BaseUtils.readIcon("com/fr/design/remote/images/icon_Member_normal@1x.png"),
+ new LazyIcon("member"),
DesignAuthority.class,
AuthorityEditorPane.class)
};
diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityListUserPane.java b/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityListUserPane.java
index ccc85049a5..5b0abd8e2c 100644
--- a/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityListUserPane.java
+++ b/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityListUserPane.java
@@ -1,5 +1,6 @@
package com.fr.design.remote.ui;
+import com.fine.theme.icon.LazyIcon;
import com.fr.base.BaseUtils;
import com.fr.design.i18n.Toolkit;
import com.fr.design.remote.RemoteDesignAuthorityCreator;
@@ -15,7 +16,7 @@ public class AuthorityListUserPane extends AbstractListControlPane {
new RemoteDesignAuthorityCreator(
// 远程设计用户
Toolkit.i18nText("Fine-Design_Basic_Remote_Design_User"),
- BaseUtils.readIcon("com/fr/design/remote/images/icon_Member_normal@1x.png"),
+ new LazyIcon("member"),
DesignAuthority.class,
AuthorityEditorPane.class)
};
diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityManagerPane.java b/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityManagerPane.java
index 2e68cd27a9..648f816372 100644
--- a/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityManagerPane.java
+++ b/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityManagerPane.java
@@ -1,6 +1,7 @@
package com.fr.design.remote.ui;
import com.fr.design.dialog.BasicPane;
+import com.fr.design.gui.frpane.FineTabbedPane;
import com.fr.design.gui.frpane.UITabbedPane;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.FRGUIPaneFactory;
@@ -18,12 +19,12 @@ public class AuthorityManagerPane extends BasicPane {
this.setLayout(FRGUIPaneFactory.createBorderLayout());
//Tabbed Pane
- UITabbedPane tabbedPane = new UITabbedPane();
+ FineTabbedPane tabbedPane = FineTabbedPane.builder()
+ .addTab(Toolkit.i18nText("Fine-Design_Basic_User"), userList)
+ .addTab(Toolkit.i18nText("Fine-Design_Basic_Role"), roleList)
+ .withHeadRatio(0.2f).build();
this.add(tabbedPane, BorderLayout.CENTER);
- tabbedPane.addTab(Toolkit.i18nText("Fine-Design_Basic_User"), userList);
- tabbedPane.addTab(Toolkit.i18nText("Fine-Design_Basic_Role"), roleList);
-
}
@Override
diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/CustomRoleManagerPane.java b/designer-base/src/main/java/com/fr/design/remote/ui/CustomRoleManagerPane.java
index eeedd6eca6..3a0bc12672 100644
--- a/designer-base/src/main/java/com/fr/design/remote/ui/CustomRoleManagerPane.java
+++ b/designer-base/src/main/java/com/fr/design/remote/ui/CustomRoleManagerPane.java
@@ -1,7 +1,9 @@
package com.fr.design.remote.ui;
+import com.fine.theme.utils.FineUIUtils;
import com.fr.design.border.UITitledBorder;
import com.fr.design.i18n.Toolkit;
+import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.remote.ui.list.AddedMemberListCellRender;
import com.fr.design.remote.ui.list.AddingMemberListCellRender;
import com.fr.design.remote.ui.list.cell.AddedCustomRoleListCellRender;
@@ -30,37 +32,26 @@ public class CustomRoleManagerPane extends AbstractManagerPane {
@Override
protected JPanel rightPanel(){
- JPanel content = new JPanel(new BorderLayout());
-
- content.setBorder(
- BorderFactory.createCompoundBorder(
- new EmptyBorder(6, 0, 0, 0),
- UITitledBorder.createBorderWithTitle(
- // 已选择的设计角色
- Toolkit.i18nText("Fine-Design_Basic_Remote_Design_Selected_Custom"),
- 4
- )
- )
- );
+ JPanel content = new JPanel(FRGUIPaneFactory.createScaledBorderLayout(0, 10));
return content;
}
@Override
- protected JPanel leftPanel(){
- JPanel content = new JPanel(new BorderLayout());
+ protected String rightPanelTitle() {
+ return Toolkit.i18nText("Fine-Design_Basic_Remote_Design_Selected_Custom");
+ }
- content.setBorder(
- BorderFactory.createCompoundBorder(
- new EmptyBorder(6, 0, 0, 0),
- UITitledBorder.createBorderWithTitle(
- // 决策系统角色
- Toolkit.i18nText("Fine-Design_Basic_Remote_Design_Decision_Custom"),
- 4)
- )
- );
+ @Override
+ protected JPanel leftPanel(){
+ JPanel content = new JPanel(FRGUIPaneFactory.createScaledBorderLayout(0, 10));
return content;
}
+ @Override
+ protected String leftPanelTitle() {
+ return Toolkit.i18nText("Fine-Design_Basic_Remote_Design_Decision_Custom");
+ }
+
@Override
protected AddingMemberListCellRender getAddingMemberListCellRender() {
return new AddingCustomRoleListCellRender();
diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/UserManagerPane.java b/designer-base/src/main/java/com/fr/design/remote/ui/UserManagerPane.java
index 900f98031b..25ab410615 100644
--- a/designer-base/src/main/java/com/fr/design/remote/ui/UserManagerPane.java
+++ b/designer-base/src/main/java/com/fr/design/remote/ui/UserManagerPane.java
@@ -2,6 +2,7 @@ package com.fr.design.remote.ui;
import com.fr.design.border.UITitledBorder;
import com.fr.design.i18n.Toolkit;
+import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.remote.ui.list.AddedMemberListCellRender;
import com.fr.design.remote.ui.list.AddingMemberListCellRender;
import com.fr.design.remote.ui.list.cell.AddedUserListCellRender;
@@ -30,37 +31,26 @@ public class UserManagerPane extends AbstractManagerPane {
@Override
protected JPanel rightPanel(){
- JPanel content = new JPanel(new BorderLayout());
-
- content.setBorder(
- BorderFactory.createCompoundBorder(
- new EmptyBorder(6, 0, 0, 0),
- UITitledBorder.createBorderWithTitle(
- // 已选择的设计用户
- Toolkit.i18nText("Fine-Design_Basic_Remote_Design_Selected_User"),
- 4
- )
- )
- );
+ JPanel content = new JPanel(FRGUIPaneFactory.createScaledBorderLayout(0, 10));
return content;
}
@Override
- protected JPanel leftPanel(){
- JPanel content = new JPanel(new BorderLayout());
+ protected String rightPanelTitle() {
+ return Toolkit.i18nText("Fine-Design_Basic_Remote_Design_Selected_User");
+ }
- content.setBorder(
- BorderFactory.createCompoundBorder(
- new EmptyBorder(6, 0, 0, 0),
- UITitledBorder.createBorderWithTitle(
- // 决策系统用户
- Toolkit.i18nText("Fine-Design_Basic_Remote_Design_Decision_User"),
- 4)
- )
- );
+ @Override
+ protected JPanel leftPanel(){
+ JPanel content = new JPanel(FRGUIPaneFactory.createScaledBorderLayout(0, 10));
return content;
}
+ @Override
+ protected String leftPanelTitle() {
+ return Toolkit.i18nText("Fine-Design_Basic_Remote_Design_Decision_User");
+ }
+
@Override
protected AddingMemberListCellRender getAddingMemberListCellRender() {
return new AddingUserListCellRender();
diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/list/AddedMemberListCellRender.java b/designer-base/src/main/java/com/fr/design/remote/ui/list/AddedMemberListCellRender.java
index 74dba29fad..87b1e5c5f6 100644
--- a/designer-base/src/main/java/com/fr/design/remote/ui/list/AddedMemberListCellRender.java
+++ b/designer-base/src/main/java/com/fr/design/remote/ui/list/AddedMemberListCellRender.java
@@ -1,5 +1,8 @@
package com.fr.design.remote.ui.list;
+import com.fine.swing.ui.layout.Layouts;
+import com.fine.theme.utils.FineUIScale;
+import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.remote.button.IconButton;
import com.fr.workspace.server.authority.RemoteDesignMember;
@@ -9,9 +12,9 @@ import javax.swing.Icon;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.ListCellRenderer;
+import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
-import java.awt.FlowLayout;
public abstract class AddedMemberListCellRender extends JPanel implements ListCellRenderer {
@@ -19,16 +22,14 @@ public abstract class AddedMemberListCellRender extends JPanel implements ListCe
private UILabel label;
public AddedMemberListCellRender() {
- this.setBorder(BorderFactory.createEmptyBorder());
- this.setLayout(new FlowLayout(FlowLayout.LEFT));
+ this.setBorder(new ScaledEmptyBorder(0, 4, 0, 0));
+ this.setLayout(new BorderLayout());
label = new UILabel();
- label.setPreferredSize(new Dimension(264, 20));
- this.setPreferredSize(new Dimension(this.getPreferredSize().width, 25));
label.setIcon(getMemberIcon());
- this.add(label);
- this.add(new IconButton());
+ this.add(Layouts.row(Layouts.cell(label), Layouts.flex(), Layouts.cell(new IconButton()))
+ .with(it -> it.setPreferredSize(new Dimension((int) it.getPreferredSize().getWidth(), FineUIScale.scale( 20)))).getComponent());
}
@Override
diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/list/AddingMemberListCellRender.java b/designer-base/src/main/java/com/fr/design/remote/ui/list/AddingMemberListCellRender.java
index d25702780e..b688bdccae 100644
--- a/designer-base/src/main/java/com/fr/design/remote/ui/list/AddingMemberListCellRender.java
+++ b/designer-base/src/main/java/com/fr/design/remote/ui/list/AddingMemberListCellRender.java
@@ -1,7 +1,11 @@
package com.fr.design.remote.ui.list;
+import com.fine.swing.ui.layout.Layouts;
+import com.fine.theme.utils.FineUIScale;
+import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.ilable.UILabel;
+import com.fr.design.remote.button.IconButton;
import com.fr.workspace.server.authority.RemoteDesignMember;
import javax.swing.BorderFactory;
@@ -10,9 +14,7 @@ import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.ListCellRenderer;
import javax.swing.SwingConstants;
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.FlowLayout;
+import java.awt.*;
public abstract class AddingMemberListCellRender extends JPanel implements ListCellRenderer {
@@ -21,20 +23,21 @@ public abstract class AddingMemberListCellRender extends JPanel implements ListC
public AddingMemberListCellRender() {
- this.setBorder(BorderFactory.createEmptyBorder());
- this.setLayout(new FlowLayout(FlowLayout.LEFT));
+ this.setBorder(new ScaledEmptyBorder(0, 4, 0, 0));
+ this.setLayout(new BorderLayout());
label = new UILabel();
- label.setPreferredSize(new Dimension(260, 20));
- this.setPreferredSize(new Dimension(this.getPreferredSize().width, 25));
label.setIcon(getMemberIcon());
check = new UICheckBox();
check.setSelected(false);
check.setEnabled(true);
- this.add(label);
- this.add(check);
+ label = new UILabel();
+ label.setIcon(getMemberIcon());
+
+ this.add(Layouts.row(Layouts.cell(label), Layouts.flex(), Layouts.cell(check))
+ .with(it -> it.setPreferredSize(new Dimension((int) it.getPreferredSize().getWidth(), FineUIScale.scale( 20)))).getComponent());
}
diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/list/AuthorityListCellRenderer.java b/designer-base/src/main/java/com/fr/design/remote/ui/list/AuthorityListCellRenderer.java
index 506c86664e..9aca2e383a 100644
--- a/designer-base/src/main/java/com/fr/design/remote/ui/list/AuthorityListCellRenderer.java
+++ b/designer-base/src/main/java/com/fr/design/remote/ui/list/AuthorityListCellRenderer.java
@@ -1,5 +1,7 @@
package com.fr.design.remote.ui.list;
+import com.formdev.flatlaf.ui.FlatUIUtils;
+import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.report.DesignAuthority;
import sun.swing.DefaultLookup;
@@ -9,8 +11,7 @@ import javax.swing.JList;
import javax.swing.ListCellRenderer;
import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;
-import java.awt.Color;
-import java.awt.Component;
+import java.awt.*;
public abstract class AuthorityListCellRenderer extends
JLabel implements ListCellRenderer {
diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/list/MemberList.java b/designer-base/src/main/java/com/fr/design/remote/ui/list/MemberList.java
index 10e99f0e32..e79c3f1492 100644
--- a/designer-base/src/main/java/com/fr/design/remote/ui/list/MemberList.java
+++ b/designer-base/src/main/java/com/fr/design/remote/ui/list/MemberList.java
@@ -14,12 +14,13 @@ import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Vector;
+import static com.fine.theme.utils.FineUIScale.scale;
+
public abstract class MemberList extends JList {
- static final int TRIGGER_AREA_X = 270;
- static final int TRIGGER_AREA_Y_EACH = 25;
+ static final int TRIGGER_AREA_Y_EACH = scale(20);
- static final int TRIGGER_AREA_WIDTH = 25;
- static final int TRIGGER_AREA_HEIGHT = 25;
+ static final int TRIGGER_AREA_WIDTH = scale(20);
+ static final int TRIGGER_AREA_HEIGHT = scale(20);
public MemberList(DefaultListModel dataModel) {
@@ -91,7 +92,7 @@ public abstract class MemberList extends JList {
int rX = point.x;
int rY = point.y;
int index = this.getSelectedIndex();
- int x = TRIGGER_AREA_X;
+ int x = this.getWidth() - TRIGGER_AREA_WIDTH;
int y = TRIGGER_AREA_Y_EACH * index;
return x <= rX && rX <= x + TRIGGER_AREA_WIDTH && y <= rY && rY <= y + TRIGGER_AREA_HEIGHT;
}
diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AddedCustomRoleListCellRender.java b/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AddedCustomRoleListCellRender.java
index 9680f63368..2ea79f51b2 100644
--- a/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AddedCustomRoleListCellRender.java
+++ b/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AddedCustomRoleListCellRender.java
@@ -1,5 +1,6 @@
package com.fr.design.remote.ui.list.cell;
+import com.fine.theme.icon.LazyIcon;
import com.fr.base.BaseUtils;
import com.fr.design.remote.constants.MemberIcon;
import com.fr.design.remote.ui.list.AddedMemberListCellRender;
@@ -15,7 +16,7 @@ import javax.swing.Icon;
public class AddedCustomRoleListCellRender extends AddedMemberListCellRender {
@Override
protected Icon getMemberIcon() {
- return BaseUtils.readIcon(MemberIcon.CUSTOM_ROLE_ICON);
+ return new LazyIcon("role");
}
@Override
diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AddedUserListCellRender.java b/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AddedUserListCellRender.java
index 2a78e2a034..b2d1001956 100644
--- a/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AddedUserListCellRender.java
+++ b/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AddedUserListCellRender.java
@@ -1,5 +1,6 @@
package com.fr.design.remote.ui.list.cell;
+import com.fine.theme.icon.LazyIcon;
import com.fr.base.BaseUtils;
import com.fr.design.remote.constants.MemberIcon;
import com.fr.design.remote.ui.list.AddedMemberListCellRender;
@@ -15,7 +16,7 @@ import javax.swing.Icon;
public class AddedUserListCellRender extends AddedMemberListCellRender {
@Override
protected Icon getMemberIcon() {
- return BaseUtils.readIcon(MemberIcon.USER_ICON);
+ return new LazyIcon("member");
}
@Override
diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AddingCustomRoleListCellRender.java b/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AddingCustomRoleListCellRender.java
index fa51f201ee..05d3caf5fd 100644
--- a/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AddingCustomRoleListCellRender.java
+++ b/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AddingCustomRoleListCellRender.java
@@ -1,5 +1,6 @@
package com.fr.design.remote.ui.list.cell;
+import com.fine.theme.icon.LazyIcon;
import com.fr.base.BaseUtils;
import com.fr.design.remote.constants.MemberIcon;
import com.fr.design.remote.ui.list.AddingMemberListCellRender;
@@ -15,7 +16,7 @@ import javax.swing.Icon;
public class AddingCustomRoleListCellRender extends AddingMemberListCellRender {
@Override
protected Icon getMemberIcon() {
- return BaseUtils.readIcon(MemberIcon.CUSTOM_ROLE_ICON);
+ return new LazyIcon("role");
}
@Override
diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AddingUserListCellRender.java b/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AddingUserListCellRender.java
index 1df731afc0..a04635cc51 100644
--- a/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AddingUserListCellRender.java
+++ b/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AddingUserListCellRender.java
@@ -1,5 +1,6 @@
package com.fr.design.remote.ui.list.cell;
+import com.fine.theme.icon.LazyIcon;
import com.fr.base.BaseUtils;
import com.fr.design.remote.constants.MemberIcon;
import com.fr.design.remote.ui.list.AddingMemberListCellRender;
@@ -15,7 +16,7 @@ import javax.swing.Icon;
public class AddingUserListCellRender extends AddingMemberListCellRender {
@Override
protected Icon getMemberIcon() {
- return BaseUtils.readIcon(MemberIcon.USER_ICON);
+ return new LazyIcon("member");
}
@Override
diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AuthorityCustomRoleListCellRender.java b/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AuthorityCustomRoleListCellRender.java
index ece2a8a2cf..8355f731bd 100644
--- a/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AuthorityCustomRoleListCellRender.java
+++ b/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AuthorityCustomRoleListCellRender.java
@@ -1,5 +1,6 @@
package com.fr.design.remote.ui.list.cell;
+import com.fine.theme.icon.LazyIcon;
import com.fr.base.BaseUtils;
import com.fr.design.remote.constants.MemberIcon;
import com.fr.design.remote.ui.list.AuthorityListCellRenderer;
@@ -15,7 +16,7 @@ import javax.swing.Icon;
public class AuthorityCustomRoleListCellRender extends AuthorityListCellRenderer {
@Override
protected Icon getMemberIcon() {
- return BaseUtils.readIcon(MemberIcon.CUSTOM_ROLE_ICON);
+ return new LazyIcon("role");
}
@Override
diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AuthorityUserListCellRender.java b/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AuthorityUserListCellRender.java
index 9b04a44413..66f34b6118 100644
--- a/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AuthorityUserListCellRender.java
+++ b/designer-base/src/main/java/com/fr/design/remote/ui/list/cell/AuthorityUserListCellRender.java
@@ -1,5 +1,6 @@
package com.fr.design.remote.ui.list.cell;
+import com.fine.theme.icon.LazyIcon;
import com.fr.base.BaseUtils;
import com.fr.design.remote.constants.MemberIcon;
import com.fr.design.remote.ui.list.AuthorityListCellRenderer;
@@ -15,7 +16,7 @@ import javax.swing.Icon;
public class AuthorityUserListCellRender extends AuthorityListCellRenderer {
@Override
protected Icon getMemberIcon() {
- return BaseUtils.readIcon(MemberIcon.USER_ICON);
+ return new LazyIcon("member");
}
@Override
diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/tree/FileAuthorityTree.java b/designer-base/src/main/java/com/fr/design/remote/ui/tree/FileAuthorityTree.java
index feb3895169..26f754fe45 100644
--- a/designer-base/src/main/java/com/fr/design/remote/ui/tree/FileAuthorityTree.java
+++ b/designer-base/src/main/java/com/fr/design/remote/ui/tree/FileAuthorityTree.java
@@ -32,6 +32,9 @@ public class FileAuthorityTree extends TemplateFileTree {
for (int i = 0, len = treeNode.getChildCount(); i < len; i++) {
ExpandMutableTreeNode childTreeNode = (ExpandMutableTreeNode) treeNode.getChildAt(i);
for (String path : paths) {
+ if (path == null) {
+ continue;
+ }
TreePath tPath = getSelectingPath(childTreeNode, StringUtils.EMPTY, path, model);
if (tPath != null) {
res.add(tPath);
diff --git a/designer-base/src/main/java/com/fr/design/report/WatermarkPane.java b/designer-base/src/main/java/com/fr/design/report/WatermarkPane.java
index 9e77340884..868e52bd00 100644
--- a/designer-base/src/main/java/com/fr/design/report/WatermarkPane.java
+++ b/designer-base/src/main/java/com/fr/design/report/WatermarkPane.java
@@ -16,6 +16,7 @@ import com.fr.design.gui.ispinner.UnsignedIntUISpinner;
import com.fr.design.gui.style.FRFontPane;
import com.fr.design.i18n.Toolkit;
import com.fr.design.style.color.NewColorSelectPane;
+import com.fr.design.utils.gui.UIComponentUtils;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
@@ -159,9 +160,9 @@ public class WatermarkPane extends BasicPane {
//水印间距提示居中布局
JPanel watermarkGapTipsPane = row(LayoutConstants.HGAP_LARGE,
flex(0.15),
- cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Direction_Horizontal"))).weight(0.2),
+ cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Direction_Horizontal"))).with(it -> it.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Direction_Horizontal"))).weight(0.2),
flex(0.3),
- cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Direction_Vertical"))).weight(0.2),
+ cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Direction_Vertical"))).with(it -> it.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Direction_Vertical"))).weight(0.2),
flex(0.15)
).getComponent();
//水印间距排列
@@ -186,7 +187,7 @@ public class WatermarkPane extends BasicPane {
}
private JPanel getTopAlignLabelPane(String labelText) {
- return column(LayoutConstants.VERTICAL_GAP, cell(new UILabel(labelText))).
+ return column(LayoutConstants.VERTICAL_GAP, cell(new UILabel(labelText)).with(UIComponentUtils::setLineWrap)).
with(it -> it.setBorder(new ScaledEmptyBorder(2,0,0,0))).getComponent();
}
diff --git a/designer-base/src/main/java/com/fr/design/roleAuthority/ReportAndFSManagePane.java b/designer-base/src/main/java/com/fr/design/roleAuthority/ReportAndFSManagePane.java
index 7a57667532..dd3c86c720 100644
--- a/designer-base/src/main/java/com/fr/design/roleAuthority/ReportAndFSManagePane.java
+++ b/designer-base/src/main/java/com/fr/design/roleAuthority/ReportAndFSManagePane.java
@@ -106,7 +106,7 @@ public class ReportAndFSManagePane extends DockingView implements Prepare4DataSo
jPanel.add(column(
4,
row(cell(buttonGroup), flex()),
- cell(scrollPane)
+ cell(scrollPane).weight(1)
).getComponent());
this.add(jPanel, BorderLayout.CENTER);
jPanel.setBorder(new ScaledEmptyBorder(0, 4, 4, 4));
diff --git a/designer-base/src/main/java/com/fr/design/style/background/BackgroundPane.java b/designer-base/src/main/java/com/fr/design/style/background/BackgroundPane.java
index 7099ed7652..786c472c08 100644
--- a/designer-base/src/main/java/com/fr/design/style/background/BackgroundPane.java
+++ b/designer-base/src/main/java/com/fr/design/style/background/BackgroundPane.java
@@ -24,7 +24,6 @@ import com.fr.general.Background;
import com.fr.log.FineLoggerFactory;
import static com.fine.swing.ui.layout.Layouts.cell;
-import static com.fine.swing.ui.layout.Layouts.column;
public class BackgroundPane extends BasicPane {
@@ -47,7 +46,7 @@ public class BackgroundPane extends BasicPane {
protected void initComponents() {
this.setLayout(FRGUIPaneFactory.createBorderLayout());
initTabPane();
- tabbedPane = tabbedPaneBuilder.withHeadRatio(0.65f).build();
+ tabbedPane = tabbedPaneBuilder.withAdaptiveFit().build();
add(cell(tabbedPane).weight(1).getComponent());
}
diff --git a/designer-base/src/main/java/com/fr/design/style/background/impl/PatternBackgroundPane.java b/designer-base/src/main/java/com/fr/design/style/background/impl/PatternBackgroundPane.java
index 0671c49aa5..63f7132f7a 100644
--- a/designer-base/src/main/java/com/fr/design/style/background/impl/PatternBackgroundPane.java
+++ b/designer-base/src/main/java/com/fr/design/style/background/impl/PatternBackgroundPane.java
@@ -79,14 +79,12 @@ public class PatternBackgroundPane extends BPane {
contentPane.add(FineUIUtils.wrapComponentWithTitle(column(
10,
row(
- 60,
- cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Foreground") + ":")).weight(0.1),
+ cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Foreground") + ":")).weight(0.2),
cell(foregroundColorPane).weight(0.45),
flex()
),
row(
- 60,
- cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background") + ":")).weight(0.1),
+ cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background") + ":")).weight(0.2),
cell(backgroundColorPane).weight(0.45),
flex()
)
diff --git a/designer-base/src/main/java/com/fr/design/style/color/ColorAdjustPane.java b/designer-base/src/main/java/com/fr/design/style/color/ColorAdjustPane.java
index 4036a078ed..7e832c0f56 100644
--- a/designer-base/src/main/java/com/fr/design/style/color/ColorAdjustPane.java
+++ b/designer-base/src/main/java/com/fr/design/style/color/ColorAdjustPane.java
@@ -14,7 +14,6 @@ import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
-import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
@@ -27,6 +26,8 @@ import java.awt.image.BufferedImage;
import java.util.ArrayList;
import java.util.List;
+import static com.fine.theme.utils.FineUIScale.scale;
+
/**
* 配色方案选择组合色之后,可以调整颜色的组件
*
@@ -38,7 +39,11 @@ public class ColorAdjustPane extends JPanel implements UIObserver {
public static final Color[] DEFAULT_COLORS = ChartConstants.NEW_FEATURES;
- private static final int COUNT_OF_ROW = 12;
+ private int defaultMaxCountOfRow = 8;
+
+ private int maxCountOfRow = defaultMaxCountOfRow;
+
+ public static final int WIDTH = scale(20);
private static final int MAX_BUTTON = 40;
@@ -53,6 +58,12 @@ public class ColorAdjustPane extends JPanel implements UIObserver {
this(DEFAULT_COLORS);
}
+ public ColorAdjustPane(int maxCountOfRow) {
+ this(DEFAULT_COLORS);
+ this.defaultMaxCountOfRow = maxCountOfRow;
+ this.maxCountOfRow = maxCountOfRow;
+ }
+
public ColorAdjustPane(Color[] colors) {
iniListener();
createColorButton(colors);
@@ -80,33 +91,64 @@ public class ColorAdjustPane extends JPanel implements UIObserver {
this.repaint();
}
+ /**
+ * 如果颜色块长度超过当前区域,则重绘 contentPane
+ */
+ public void repaint() {
+ adjustCountOfRowAndRepaint();
+ super.repaint();
+ }
+
+ private void adjustCountOfRowAndRepaint() {
+ int size = super.getSize().width;
+ if (size == 0) {
+ return;
+ }
+ int preferSize = (colorButtons.size() + 1) * WIDTH;
+ int oldMaxCountOfRow = maxCountOfRow;
+ if (preferSize > size) {
+ maxCountOfRow = size / WIDTH;
+ } else {
+ maxCountOfRow = Math.max(defaultMaxCountOfRow, size / WIDTH);
+ }
+
+ if (oldMaxCountOfRow != maxCountOfRow) {
+ this.removeAll();
+ createContentPane();
+ }
+ }
+
private void createContentPane() {
VerticalFlowLayout layout = new VerticalFlowLayout(0, 0, 0);
layout.setAlignLeft(true);
this.setLayout(layout);
- for (int i = 0, size = colorButtons.size(); i < size; i += COUNT_OF_ROW) {
- JPanel panel = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(2, 2);
- int count = i + COUNT_OF_ROW > colorButtons.size() ? colorButtons.size() : i + COUNT_OF_ROW;
+ for (int i = 0, size = colorButtons.size(); i < size; i += maxCountOfRow) {
+ JPanel panel = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(scale(2), scale(2));
+ int count = Math.min(i + maxCountOfRow, colorButtons.size());
for (int j = i; j < count; j++) {
colorButtons.get(j).setLastButton(false);
panel.add(colorButtons.get(j));
}
- if (i + COUNT_OF_ROW > colorButtons.size()) {
- panel.add(new AddColorButton());
- this.add(panel);
- } else if (i + COUNT_OF_ROW == colorButtons.size() && colorButtons.size() != MAX_BUTTON) {
- this.add(panel);
- this.add(new AddColorButton());
- } else {
- this.add(panel);
- }
+ addPanel(panel, i);
}
if (colorButtons.size() == 1) {
colorButtons.get(0).setLastButton(true);
}
}
+ private void addPanel(JPanel panel, int index) {
+ if (index + maxCountOfRow > colorButtons.size() && colorButtons.size() != MAX_BUTTON) {
+ panel.add(new AddColorButton());
+ this.add(panel);
+ } else if (index + maxCountOfRow == colorButtons.size() && colorButtons.size() != MAX_BUTTON) {
+ this.add(panel);
+ this.add(new AddColorButton());
+ } else {
+ this.add(panel);
+ }
+ }
+
private void createColorButton(Color[] colors) {
colorButtons.clear();
int size = Math.min(colors.length, MAX_BUTTON);
diff --git a/designer-base/src/main/java/com/fr/design/style/color/ColorButton.java b/designer-base/src/main/java/com/fr/design/style/color/ColorButton.java
index 5ad794c79c..03f8d28376 100644
--- a/designer-base/src/main/java/com/fr/design/style/color/ColorButton.java
+++ b/designer-base/src/main/java/com/fr/design/style/color/ColorButton.java
@@ -1,5 +1,6 @@
package com.fr.design.style.color;
+import com.fine.theme.utils.FineUIScale;
import com.fr.base.BaseUtils;
import com.fr.design.DesignerEnvManager;
import com.fr.design.mainframe.DesignerContext;
@@ -25,7 +26,7 @@ public class ColorButton extends JComponent implements ColorSelectable {
private static final double DEL_WIDTH = 7;
- public static final int WIDTH = 18;
+ public static final int WIDTH = FineUIScale.scale(18);
private BufferedImage closeIcon = BaseUtils.readImageWithCache("com/fr/design/images/toolbarbtn/chartChangeClose.png");
diff --git a/designer-base/src/main/java/com/fr/design/style/color/ColorChooserPreview.java b/designer-base/src/main/java/com/fr/design/style/color/ColorChooserPreview.java
index 100feb2d35..349aa041a3 100644
--- a/designer-base/src/main/java/com/fr/design/style/color/ColorChooserPreview.java
+++ b/designer-base/src/main/java/com/fr/design/style/color/ColorChooserPreview.java
@@ -30,7 +30,7 @@ public class ColorChooserPreview extends JPanel {
private String sampleText;
- private static final int SWATH_WIDTH = 50;
+ private static final int SWATH_WIDTH = FineUIScale.scale(50);
private Color oldColor = null;
diff --git a/designer-base/src/main/java/com/fr/design/style/color/ColorSelectDialog.java b/designer-base/src/main/java/com/fr/design/style/color/ColorSelectDialog.java
index 149ce1a17e..e9ee892bf0 100644
--- a/designer-base/src/main/java/com/fr/design/style/color/ColorSelectDialog.java
+++ b/designer-base/src/main/java/com/fr/design/style/color/ColorSelectDialog.java
@@ -16,6 +16,8 @@ import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import static com.fine.theme.utils.FineUIScale.scale;
+
/**
* 颜色选择器更多颜色对话框
@@ -85,7 +87,7 @@ public class ColorSelectDialog extends MiddleChartDialog{
private void initComponent() {
this.setLayout(new BorderLayout());
this.add(pane,BorderLayout.NORTH);
- this.setBasicDialogSize(545,500);
+ this.setBasicDialogSize(scale(545),scale(500));
this.setResizable(false);
this.applyClosingAction();
diff --git a/designer-base/src/main/java/com/fr/design/style/color/CustomChooserPanel.java b/designer-base/src/main/java/com/fr/design/style/color/CustomChooserPanel.java
index 48f5e5f2bf..d6b2df3023 100644
--- a/designer-base/src/main/java/com/fr/design/style/color/CustomChooserPanel.java
+++ b/designer-base/src/main/java/com/fr/design/style/color/CustomChooserPanel.java
@@ -38,6 +38,7 @@ import static com.fine.swing.ui.layout.Layouts.column;
import static com.fine.swing.ui.layout.Layouts.fix;
import static com.fine.swing.ui.layout.Layouts.flex;
import static com.fine.swing.ui.layout.Layouts.row;
+import static com.fine.theme.utils.FineUIScale.scale;
/**
@@ -124,17 +125,17 @@ class CustomChooserPanel extends AbstractColorChooserPanel implements ColorSelec
/**
* The default width of the gradient image.
*/
- private static final int IMG_WIDTH = 180;
+ private static final int IMG_WIDTH = scale(180);
/**
* The default height of the gradient image.
*/
- private static final int IMG_HEIGHT = 180;
+ private static final int IMG_HEIGHT = scale(180);
/**
* The default width of the track gradient.
*/
- private static final int TRACK_WIDTH = 12;
+ private static final int TRACK_WIDTH = scale(12);
/**
* The UILabel for Red.
@@ -597,7 +598,7 @@ class CustomChooserPanel extends AbstractColorChooserPanel implements ColorSelec
*/
protected void buildChooser() {
setLayout(new BorderLayout(10, 0));
- setPreferredSize(new Dimension((int) this.getPreferredSize().getWidth(), FineUIScale.scale(180)));
+ setPreferredSize(new Dimension((int) this.getPreferredSize().getWidth(), scale(180)));
add(buildRightPanel(), BorderLayout.CENTER);
JPanel container = new JPanel();
container.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 0));
@@ -623,9 +624,9 @@ class CustomChooserPanel extends AbstractColorChooserPanel implements ColorSelec
container.add(gradientPanel);
container.add(layeredPane);
- layeredPane.setPreferredSize(FineUIScale.scale(new Dimension(12, 180)));
- slider.setSize(FineUIScale.scale(new Dimension(12, 180)));
- trackPanel.setSize(FineUIScale.scale(new Dimension(12, 180)));
+ layeredPane.setPreferredSize(scale(new Dimension(12, 180)));
+ slider.setSize(scale(new Dimension(12, 180)));
+ trackPanel.setSize(scale(new Dimension(12, 180)));
add(container, BorderLayout.WEST);
slider.addChangeListener(new SliderChangeListener());
@@ -638,7 +639,7 @@ class CustomChooserPanel extends AbstractColorChooserPanel implements ColorSelec
private JPanel createGradientPanel() {
return new JPanel() {
public Dimension getPreferredSize() {
- return FineUIScale.scale(new Dimension(IMG_WIDTH, IMG_HEIGHT));
+ return scale(new Dimension(IMG_WIDTH, IMG_HEIGHT));
}
public void paint(Graphics g) {
@@ -657,7 +658,7 @@ class CustomChooserPanel extends AbstractColorChooserPanel implements ColorSelec
private JPanel createTrackPanel() {
return new JPanel() {
public Dimension getPreferredSize() {
- return FineUIScale.scale(new Dimension(TRACK_WIDTH, IMG_HEIGHT));
+ return scale(new Dimension(TRACK_WIDTH, IMG_HEIGHT));
}
public void paint(Graphics g) {
diff --git a/designer-base/src/main/java/com/fr/design/style/color/SwatchChooserPanel.java b/designer-base/src/main/java/com/fr/design/style/color/SwatchChooserPanel.java
index 74f4b409a6..5fb4143da8 100644
--- a/designer-base/src/main/java/com/fr/design/style/color/SwatchChooserPanel.java
+++ b/designer-base/src/main/java/com/fr/design/style/color/SwatchChooserPanel.java
@@ -19,6 +19,7 @@ import javax.swing.JColorChooser;
import javax.swing.JPanel;
import javax.swing.colorchooser.AbstractColorChooserPanel;
+import static com.fine.theme.utils.FineUIScale.scale;
public class SwatchChooserPanel extends AbstractColorChooserPanel{
@@ -35,13 +36,13 @@ public class SwatchChooserPanel extends AbstractColorChooserPanel{
abstract static class SwatchPanel extends JPanel
{
/** The width of each block. */
- protected int cellWidth = 16;
+ protected int cellWidth = scale(16);
/** The height of each block. */
- protected int cellHeight = 16;
+ protected int cellHeight = scale(16);
/** The gap between blocks. */
- protected int gap = 1;
+ protected int gap = scale(1);
/** The number of rows in the swatch panel. */
protected int numRows;
@@ -70,8 +71,8 @@ public class SwatchChooserPanel extends AbstractColorChooserPanel{
int width = numCols * cellWidth + (numCols - 1) * gap;
Insets insets = getInsets();
- return FineUIScale.scale(new Dimension(width + insets.left + insets.right,
- height + insets.top + insets.bottom));
+ return new Dimension(width + insets.left + insets.right,
+ height + insets.top + insets.bottom);
}
/**
@@ -511,8 +512,8 @@ public class SwatchChooserPanel extends AbstractColorChooserPanel{
Insets insets = parent.getInsets();
- return FineUIScale.scale(new Dimension(insets.left + insets.right + xmax,
- insets.top + insets.bottom + ymax));
+ return new Dimension(insets.left + insets.right + xmax,
+ insets.top + insets.bottom + ymax);
}
diff --git a/designer-base/src/main/java/com/fr/design/ui/Assistant.java b/designer-base/src/main/java/com/fr/design/ui/Assistant.java
deleted file mode 100644
index 7bbc17a80d..0000000000
--- a/designer-base/src/main/java/com/fr/design/ui/Assistant.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package com.fr.design.ui;
-
-import com.fr.stable.StringUtils;
-import com.teamdev.jxbrowser.chromium.Browser;
-import com.teamdev.jxbrowser.chromium.BrowserContext;
-import com.teamdev.jxbrowser.chromium.BrowserPreferences;
-import com.teamdev.jxbrowser.chromium.ProtocolService;
-import com.teamdev.jxbrowser.chromium.URLResponse;
-
-import java.io.DataInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @author richie
- * @version 10.0
- * Created by richie on 2019-03-07
- */
-public class Assistant {
-
- public static void addChromiumSwitches(String... switches) {
-
- List list = BrowserPreferences.getChromiumSwitches();
- Collections.addAll(list, switches);
-
- BrowserPreferences.setChromiumSwitches((list.toArray(new String[0])));
- }
-
- public static URLResponse inputStream2Response(InputStream inputStream, String filePath) throws Exception {
- URLResponse response = new URLResponse();
- DataInputStream stream = new DataInputStream(inputStream);
- byte[] data = new byte[stream.available()];
- stream.readFully(data);
- response.setData(data);
- String mimeType = getMimeType(filePath);
- response.getHeaders().setHeader("Content-Type", mimeType);
- return response;
- }
-
-
- private static String getMimeType(String path) {
- if (StringUtils.isBlank(path)) {
- return "text/html";
- }
- if (path.endsWith(".html")) {
- return "text/html";
- }
- if (path.endsWith(".css")) {
- return "text/css";
- }
- if (path.endsWith(".js")) {
- return "text/javascript";
- }
- if (path.endsWith(".svg")) {
- return "image/svg+xml";
- }
- // upm 文件夹中的图片如果返回 Content-type 为 image/png 时会显示异常
- if (path.endsWith(".png") && !path.contains("/upm")) {
- return "image/png";
- }
- if (path.endsWith(".woff")) {
- return "font/woff";
- }
- if (path.endsWith(".ttf")) {
- return "truetype";
- }
- if (path.endsWith(".eot")) {
- return "embedded-opentype";
- }
-
- Path file = new File(path).toPath();
- try {
- return Files.probeContentType(file);
- } catch (IOException e) {
- return "text/html";
- }
- }
-
- public static void setEmbProtocolHandler(Browser browser, EmbProtocolHandler handler) {
- BrowserContext browserContext = browser.getContext();
- ProtocolService protocolService = browserContext.getProtocolService();
- // 支持读取jar包中文件的自定义协议————emb:/com/fr/design/images/bbs.png
- protocolService.setProtocolHandler("emb", handler);
- protocolService.setProtocolHandler("file", handler);
- }
-}
diff --git a/designer-base/src/main/java/com/fr/design/ui/EmbProtocolHandler.java b/designer-base/src/main/java/com/fr/design/ui/EmbProtocolHandler.java
deleted file mode 100644
index b6bed69ca1..0000000000
--- a/designer-base/src/main/java/com/fr/design/ui/EmbProtocolHandler.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package com.fr.design.ui;
-
-import com.fr.base.TemplateUtils;
-import com.fr.general.IOUtils;
-import com.fr.log.FineLoggerFactory;
-import com.fr.stable.EncodeConstants;
-import com.fr.stable.StringUtils;
-import com.fr.third.org.apache.commons.codec.net.URLCodec;
-import com.fr.third.org.apache.commons.io.FileUtils;
-import com.fr.third.org.apache.commons.io.FilenameUtils;
-import com.fr.web.struct.AssembleComponent;
-import com.fr.web.struct.AtomBuilder;
-import com.fr.web.struct.PathGroup;
-import com.fr.web.struct.category.ScriptPath;
-import com.fr.web.struct.category.StylePath;
-import com.teamdev.jxbrowser.chromium.ProtocolHandler;
-import com.teamdev.jxbrowser.chromium.URLRequest;
-import com.teamdev.jxbrowser.chromium.URLResponse;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringReader;
-import java.net.URI;
-import java.nio.charset.StandardCharsets;
-import java.util.Map;
-
-/**
- * @author richie
- * @version 10.0
- * Created by richie on 2019-03-07
- */
-public class EmbProtocolHandler implements ProtocolHandler {
-
- private AssembleComponent component;
- private Map map;
-
- public EmbProtocolHandler() {
-
- }
-
- public EmbProtocolHandler(AssembleComponent component) {
- this.component = component;
- }
-
- public EmbProtocolHandler(AssembleComponent component, Map map) {
- this.component = component;
- this.map = map;
- }
-
- public EmbProtocolHandler(Map map) {
- this.map = map;
- }
-
- @Override
- public URLResponse onRequest(URLRequest req) {
- InputStream inputStream = null;
- try {
- String path = req.getURL();
- if (path.startsWith("file:")) {
- String url = new URLCodec().decode(path);
- String filePath = TemplateUtils.renderParameter4Tpl(url, map);
- File file = new File(URI.create(filePath).getPath());
- inputStream = IOUtils.readResource(file.getAbsolutePath());
- String text = IOUtils.inputStream2String(inputStream, EncodeConstants.ENCODING_UTF_8);
- text = TemplateUtils.renderParameter4Tpl(text, map);
- return Assistant.inputStream2Response(new ByteArrayInputStream(text.getBytes(StandardCharsets.UTF_8)), path);
- } else if (path.startsWith("emb:dynamic")) {
- URLResponse response = new URLResponse();
- response.setData(htmlText(map).getBytes());
- response.getHeaders().setHeader("Content-Type", "text/html");
- return response;
- } else {
- int index = path.indexOf("=");
- if (index > 0) {
- path = path.substring(index + 1);
- } else {
- path = path.substring(4);
- }
- inputStream = IOUtils.readResource(path);
- if (path.endsWith(".html")) {
- String text = IOUtils.inputStream2String(inputStream, EncodeConstants.ENCODING_UTF_8);
- text = TemplateUtils.renderParameter4Tpl(text, map);
- return Assistant.inputStream2Response(new ByteArrayInputStream(text.getBytes(StandardCharsets.UTF_8)), path);
- }
- return Assistant.inputStream2Response(inputStream, path);
- }
- } catch (Exception e) {
- FineLoggerFactory.getLogger().info(e.getMessage());
- } finally {
- if (inputStream != null) {
- try {
- inputStream.close();
- } catch (IOException e) {
- FineLoggerFactory.getLogger().error(e.getMessage(), e);
- }
- }
- }
- return null;
- }
-
- private String htmlText(Map map) {
- PathGroup pathGroup = AtomBuilder.create().buildAssembleFilePath(ModernRequestClient.KEY, component);
- StylePath[] stylePaths = pathGroup.toStylePathGroup();
- StringBuilder styleText = new StringBuilder();
- for (StylePath path : stylePaths) {
- if (StringUtils.isNotBlank(path.toFilePath())) {
- styleText.append("");
- }
- }
- String result = ModernUIConstants.HTML_TPL.replaceAll("##style##", styleText.toString());
- ScriptPath[] scriptPaths = pathGroup.toScriptPathGroup();
- StringBuilder scriptText = new StringBuilder();
- for (ScriptPath path : scriptPaths) {
- if (StringUtils.isNotBlank(path.toFilePath())) {
- scriptText.append("");
- }
- }
- result = result.replaceAll("##script##", scriptText.toString());
- if (map != null) {
- for (Map.Entry entry : map.entrySet()) {
- String key = entry.getKey();
- String value = entry.getValue();
- result = result.replaceAll("\\$\\{" + key + "}", value);
- }
- }
- return result;
- }
-}
diff --git a/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java b/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java
deleted file mode 100644
index f3aceb8476..0000000000
--- a/designer-base/src/main/java/com/fr/design/ui/ModernUIPane.java
+++ /dev/null
@@ -1,364 +0,0 @@
-package com.fr.design.ui;
-
-import com.fr.design.DesignerEnvManager;
-import com.fr.design.dialog.BasicPane;
-import com.fr.design.gui.ibutton.UIButton;
-import com.fr.design.gui.itoolbar.UIToolbar;
-import com.fr.design.i18n.Toolkit;
-import com.fr.design.ui.compatible.BuilderDiff;
-import com.fr.design.utils.gui.GUICoreUtils;
-import com.fr.web.struct.AssembleComponent;
-import com.teamdev.jxbrowser.browser.callback.InjectJsCallback;
-import com.teamdev.jxbrowser.chromium.Browser;
-import com.teamdev.jxbrowser.chromium.BrowserType;
-import com.teamdev.jxbrowser.chromium.JSValue;
-import com.teamdev.jxbrowser.chromium.events.LoadListener;
-import com.teamdev.jxbrowser.chromium.events.ScriptContextAdapter;
-import com.teamdev.jxbrowser.chromium.events.ScriptContextEvent;
-import com.teamdev.jxbrowser.chromium.events.ScriptContextListener;
-import com.teamdev.jxbrowser.chromium.swing.BrowserView;
-import com.teamdev.jxbrowser.event.Observer;
-
-import javax.swing.JDialog;
-import javax.swing.SwingUtilities;
-import javax.swing.WindowConstants;
-import java.awt.BorderLayout;
-import java.awt.Dimension;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.io.File;
-import java.util.Map;
-
-/**
- * @author richie
- * @version 10.0
- * Created by richie on 2019-03-04
- * 用于加载html5的Swing容器,可以在设计选项设置中打开调试窗口,示例可查看:com.fr.design.ui.ModernUIPaneTest
- * @see {@link com.fr.design.jxbrowser.JxUIPane}
- * @deprecated 主要用于jxbrowser6,将在下个版本删除
- */
-@Deprecated
-public class ModernUIPane extends BasicPane {
-
- private Browser browser;
- private String namespace = "Pool";
- private String variable = "data";
- private String expression = "update()";
-
- private ModernUIPane(BrowserType browserType) {
- initialize(browserType);
- }
-
- protected ModernUIPane() {
-
- }
-
- private void initialize(BrowserType browserType) {
- if (browser == null) {
- setLayout(new BorderLayout());
- Assistant.addChromiumSwitches("--disable-google-traffic");
- if (DesignerEnvManager.getEnvManager().isOpenDebug()) {
- UIToolbar toolbar = new UIToolbar();
- add(toolbar, BorderLayout.NORTH);
- UIButton openDebugButton = new UIButton(Toolkit.i18nText("Fine-Design_Basic_Open_Debug_Window"));
- toolbar.add(openDebugButton);
- UIButton reloadButton = new UIButton(Toolkit.i18nText("Fine-Design_Basic_Reload"));
- toolbar.add(reloadButton);
- UIButton closeButton = new UIButton(Toolkit.i18nText("Fine-Design_Basic_Close_Window"));
- toolbar.add(closeButton);
-
- openDebugButton.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- showDebuggerDialog();
- }
- });
-
- reloadButton.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- browser.reloadIgnoringCache();
- }
- });
-
- closeButton.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- SwingUtilities.getWindowAncestor(ModernUIPane.this).setVisible(false);
- }
- });
- Assistant.addChromiumSwitches("--remote-debugging-port=9222");
- initializeBrowser(browserType);
- add(new BrowserView(browser), BorderLayout.CENTER);
- } else {
- initializeBrowser(browserType);
- add(new BrowserView(browser), BorderLayout.CENTER);
- }
- }
- }
-
- private void showDebuggerDialog() {
- JDialog dialog = new JDialog(SwingUtilities.getWindowAncestor(this));
- Browser debugger = new Browser();
- BrowserView debuggerView = new BrowserView(debugger);
- dialog.add(debuggerView, BorderLayout.CENTER);
- dialog.setSize(new Dimension(800, 400));
- GUICoreUtils.centerWindow(dialog);
- dialog.setVisible(true);
- dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
- debugger.loadURL(browser.getRemoteDebuggingURL());
- }
-
- private void initializeBrowser(BrowserType browserType) {
- browser = new Browser(browserType);
- // 初始化的时候,就把命名空间对象初始化好,确保window.a.b.c("a.b.c"为命名空间)对象都是初始化过的
- browser.addScriptContextListener(new ScriptContextAdapter() {
- @Override
- public void onScriptContextCreated(ScriptContextEvent event) {
- event.getBrowser().executeJavaScript(String.format(ModernUIConstants.SCRIPT_INIT_NAME_SPACE, namespace));
- }
- });
- }
-
- /**
- * 转向一个新的地址,相当于重新加载
- *
- * @param url 新的地址
- */
- public void redirect(String url) {
- browser.loadURL(url);
- }
-
- /**
- * 转向一个新的地址,相当于重新加载
- *
- * @param url 新的地址
- * @param map 初始化参数
- */
- public void redirect(String url, Map map) {
- Assistant.setEmbProtocolHandler(browser, new EmbProtocolHandler(map));
- browser.loadURL(url);
- }
-
- @Override
- protected String title4PopupWindow() {
- return "Modern";
- }
-
-
- public void populate(final T t) {
- browser.addScriptContextListener(new ScriptContextAdapter() {
- @Override
- public void onScriptContextCreated(ScriptContextEvent event) {
- JSValue ns = event.getBrowser().executeJavaScriptAndReturnValue("window." + namespace);
- ns.asObject().setProperty(variable, t);
- }
- });
- }
-
- public T update() {
- JSValue jsValue = browser.executeJavaScriptAndReturnValue("window." + namespace + "." + expression);
- if (jsValue.isObject()) {
- return (T) jsValue.asJavaObject();
- }
- return null;
- }
-
- public void disposeBrowser() {
-
- if (browser != null) {
- browser.dispose();
- browser = null;
- }
-
- }
-
- public void clearCache() {
- if (browser != null) {
- browser.getCacheStorage().clearCache();
- File file = new File(browser.getContext().getCacheDir());
- if (file.exists()) {
- file.delete();
- }
- }
- }
-
- public void executeJavaScript(String javaScript) {
- if (browser != null) {
- browser.executeJavaScript(javaScript);
- }
- }
-
- public JSValue executeJavaScriptAndReturnValue(String javaScript) {
- if (browser != null) {
- return browser.executeJavaScriptAndReturnValue(javaScript);
- }
- return null;
- }
-
-
- /**
- * ModernUIPane 建造者
- *
- * @param
- */
- public static class Builder implements BuilderDiff {
-
- private ModernUIPane pane;
-
- public Builder() {
- this(BrowserType.HEAVYWEIGHT);
- }
-
- public Builder(BrowserType browserType) {
- this.pane = new ModernUIPane<>(browserType);
- }
-
- public Builder(ModernUIPane pane) {
- this.pane = pane;
- }
-
- public Builder prepare(ScriptContextListener contextListener) {
- pane.browser.addScriptContextListener(contextListener);
- return this;
- }
-
- public Builder prepare(LoadListener loadListener) {
- pane.browser.addLoadListener(loadListener);
- return this;
- }
-
- /**
- * 加载jar包中的资源
- *
- * @param path 资源路径
- */
- public Builder withEMB(final String path) {
- Assistant.setEmbProtocolHandler(pane.browser, new EmbProtocolHandler());
- pane.browser.loadURL("emb:" + path);
- return this;
- }
-
- /**
- * 加载jar包中的资源
- *
- * @param path 资源路径
- */
- public Builder withEMB(final String path, Map map) {
- Assistant.setEmbProtocolHandler(pane.browser, new EmbProtocolHandler(map));
- pane.browser.loadURL("emb:" + path);
- return this;
- }
-
- /**
- * 加载url指向的资源
- *
- * @param url 文件的地址
- */
- public Builder withURL(final String url) {
- Assistant.setEmbProtocolHandler(pane.browser, new EmbProtocolHandler());
- pane.browser.loadURL(url);
- return this;
- }
-
- /**
- * 加载url指向的资源
- *
- * @param url 文件的地址
- */
- public Builder withURL(final String url, Map map) {
- Assistant.setEmbProtocolHandler(pane.browser, new EmbProtocolHandler(map));
- pane.browser.loadURL(url);
- return this;
- }
-
- /**
- * 加载Atom组件
- *
- * @param component Atom组件
- */
- public Builder withComponent(AssembleComponent component) {
- Assistant.setEmbProtocolHandler(pane.browser, new EmbProtocolHandler(component));
- pane.browser.loadURL("emb:dynamic");
- return this;
- }
-
- /**
- * 加载Atom组件
- *
- * @param component Atom组件
- */
- public Builder withComponent(AssembleComponent component, Map map) {
- Assistant.setEmbProtocolHandler(pane.browser, new EmbProtocolHandler(component, map));
- pane.browser.loadURL("emb:dynamic");
- return this;
- }
-
- /**
- * 加载html文本内容
- *
- * @param html 要加载html文本内容
- */
- public Builder withHTML(String html) {
- Assistant.setEmbProtocolHandler(pane.browser, new EmbProtocolHandler());
- pane.browser.loadHTML(html);
- return this;
- }
-
- /**
- * 设置该前端页面做数据交换所使用的对象
- *
- * @param namespace 对象名
- */
- public Builder namespace(String namespace) {
- pane.namespace = namespace;
- return this;
- }
-
- /**
- * java端往js端传数据时使用的变量名字
- *
- * @param name 变量的名字
- */
- public Builder variable(String name) {
- pane.variable = name;
- return this;
- }
-
- /**
- * js端往java端传数据时执行的函数表达式
- *
- * @param expression 函数表达式
- */
- public Builder expression(String expression) {
- pane.expression = expression;
- return this;
- }
-
- @Override
- public Builder prepareForV6(ScriptContextListener contextListener) {
- return prepare(contextListener);
- }
-
- @Override
- public Builder prepareForV6(LoadListener loadListener) {
- return prepare(loadListener);
- }
-
- @Override
- public Builder prepareForV7(InjectJsCallback callback) {
- // do nothing
- return this;
- }
-
- @Override
- public Builder prepareForV7(Class event, Observer listener) {
- // do nothing
- return this;
- }
-
- public ModernUIPane build() {
- return pane;
- }
- }
-}
diff --git a/designer-base/src/main/java/com/fr/design/ui/compatible/BuilderDiff.java b/designer-base/src/main/java/com/fr/design/ui/compatible/BuilderDiff.java
deleted file mode 100644
index 99daa4555a..0000000000
--- a/designer-base/src/main/java/com/fr/design/ui/compatible/BuilderDiff.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package com.fr.design.ui.compatible;
-
-import com.fr.design.jxbrowser.JxUIPane;
-import com.fr.design.ui.ModernUIPane;
-import com.teamdev.jxbrowser.browser.callback.InjectJsCallback;
-import com.teamdev.jxbrowser.chromium.events.LoadListener;
-import com.teamdev.jxbrowser.chromium.events.ScriptContextListener;
-import com.teamdev.jxbrowser.event.Observer;
-
-/**
- * 封装jxbrwoser v6/v7的构建方式的差异
- *
- * @author hades
- * @see {@link JxUIPane}
- * @since 10.0
- * Created on 2021/6/13
- * @deprecated 6在下个版本弃用
- */
-@Deprecated
-public interface BuilderDiff {
-
- /**
- * v6准备工作
- *
- * @param contextListener 上下文监听器
- * @return 构造器
- */
- ModernUIPane.Builder prepareForV6(ScriptContextListener contextListener);
-
- /**
- * v6准备工作
- *
- * @param loadListener 加载监听器
- * @return 构造器
- */
- ModernUIPane.Builder prepareForV6(LoadListener loadListener);
-
- /**
- * v7准备工作
- *
- * @param callback 注入js回调器
- * @return 构造器
- */
- ModernUIPane.Builder prepareForV7(InjectJsCallback callback);
-
- /**
- * v7准备工作
- *
- * @param event 事件
- * @param listener 监听器
- * @return 构造器
- */
- ModernUIPane.Builder prepareForV7(Class event, Observer listener);
-
-}
diff --git a/designer-base/src/main/java/com/fr/design/ui/compatible/ModernUIPaneFactory.java b/designer-base/src/main/java/com/fr/design/ui/compatible/ModernUIPaneFactory.java
deleted file mode 100644
index 31774e90c9..0000000000
--- a/designer-base/src/main/java/com/fr/design/ui/compatible/ModernUIPaneFactory.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.fr.design.ui.compatible;
-
-import com.fr.design.jxbrowser.JxUIPane;
-import com.fr.design.ui.ModernUIPane;
-
-/**
- * 根据版本选择构造器
- *
- * @author hades
- * @see {@link JxUIPane}
- * @since 10.0
- * Created on 2021/6/13
- * @deprecated 6在下个版本弃用
- */
-public class ModernUIPaneFactory {
-
- /**
- * 获取一个 JxBrowser pane 的构造器
- *
- * @param 参数
- * @return 构造器
- */
- public static ModernUIPane.Builder modernUIPaneBuilder() {
- if (isV7()) {
- return new JxUIPane.Builder<>();
- } else {
- return new ModernUIPane.Builder<>();
- }
- }
-
- /**
- * 判断 JxBrowser 版本是否在7或之上
- *
- * @return 是否7或之上
- */
- public static boolean isV7() {
- boolean jxBrowserV7 = true;
- try {
- Class.forName("com.teamdev.jxbrowser.net.Scheme");
- } catch (ClassNotFoundException e) {
- jxBrowserV7 = false;
- }
- return jxBrowserV7;
- }
-}
diff --git a/designer-base/src/main/java/com/fr/design/upm/UpmBridge.java b/designer-base/src/main/java/com/fr/design/upm/UpmBridge.java
deleted file mode 100644
index 980ac2c8a8..0000000000
--- a/designer-base/src/main/java/com/fr/design/upm/UpmBridge.java
+++ /dev/null
@@ -1,515 +0,0 @@
-package com.fr.design.upm;
-
-import com.fr.config.ServerPreferenceConfig;
-import com.fr.decision.webservice.v10.plugin.helper.category.impl.UpmResourceLoader;
-import com.fr.design.DesignerEnvManager;
-import com.fr.design.bridge.exec.JSBridge;
-import com.fr.design.bridge.exec.JSCallback;
-import com.fr.design.extra.PluginOperateUtils;
-import com.fr.design.extra.PluginUtils;
-import com.fr.design.extra.exe.GetInstalledPluginsExecutor;
-import com.fr.design.extra.exe.GetPluginCategoriesExecutor;
-import com.fr.design.extra.exe.GetPluginFromStoreExecutor;
-import com.fr.design.extra.exe.GetPluginPrefixExecutor;
-import com.fr.design.extra.exe.PluginLoginExecutor;
-import com.fr.design.extra.exe.ReadUpdateOnlineExecutor;
-import com.fr.design.extra.exe.SearchOnlineExecutor;
-import com.fr.design.gui.ifilechooser.FileChooserArgs;
-import com.fr.design.gui.ifilechooser.FileChooserFactory;
-import com.fr.design.gui.ifilechooser.FileChooserProvider;
-import com.fr.design.gui.ifilechooser.FileSelectionMode;
-import com.fr.design.i18n.Toolkit;
-import com.fr.design.locale.impl.BbsRegisterMark;
-import com.fr.design.locale.impl.BbsResetMark;
-import com.fr.design.locale.impl.BbsSpaceMark;
-import com.fr.design.login.utils.DesignerLoginUtils;
-import com.fr.design.ui.util.UIUtil;
-import com.fr.design.upm.event.DownloadEvent;
-import com.fr.design.upm.exec.UpmBrowserExecutor;
-import com.fr.design.upm.task.UpmTaskWorker;
-import com.fr.design.utils.BrowseUtils;
-import com.fr.event.EventDispatcher;
-import com.fr.general.GeneralUtils;
-import com.fr.general.locale.LocaleCenter;
-import com.fr.general.locale.LocaleMark;
-import com.fr.json.JSONObject;
-import com.fr.log.FineLoggerFactory;
-import com.fr.plugin.context.PluginMarker;
-import com.fr.stable.ArrayUtils;
-import com.fr.stable.StringUtils;
-import com.teamdev.jxbrowser.chromium.Browser;
-import com.teamdev.jxbrowser.chromium.JSArray;
-import com.teamdev.jxbrowser.chromium.JSFunction;
-import com.teamdev.jxbrowser.chromium.JSObject;
-
-import javax.swing.JFileChooser;
-import javax.swing.SwingUtilities;
-import javax.swing.SwingWorker;
-import javax.swing.filechooser.FileNameExtensionFilter;
-import java.awt.Desktop;
-import java.io.File;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.Callable;
-import java.util.concurrent.FutureTask;
-import java.util.concurrent.RunnableFuture;
-
-/**
- * @author richie
- * @version 10.0
- * Created by richie on 2019-04-12
- * 桥接Java和JavaScript的类
- * @deprecated 用于jxbrowser6,下版本删除
- */
-@Deprecated
-public class UpmBridge {
-
- public static UpmBridge getBridge(Browser browser) {
- return new UpmBridge(browser);
- }
-
- private JSObject window;
-
- private UpmBridge(Browser browser) {
- this.window = browser.executeJavaScriptAndReturnValue("window").asObject();
- }
-
- protected UpmBridge() {
-
- }
-
- /**
- * 更新插件管理中心资源文件,这个方法仅仅是为了语义上的作用(更新)
- *
- * @param callback 安装完成后的回调函数
- */
- @JSBridge
- public void update(final JSFunction callback) {
- callback.invoke(window, "start", Toolkit.i18nText("Fine-Design_Basic_Update_Plugin_Manager_Download_Start"));
- try {
- UpmResourceLoader.INSTANCE.download();
- UpmResourceLoader.INSTANCE.install();
- callback.invoke(window, "success", Toolkit.i18nText("Fine-Design_Basic_Update_Plugin_Manager_Download_Success"));
- EventDispatcher.fire(DownloadEvent.UPDATE, "success");
- } catch (Exception e) {
- FineLoggerFactory.getLogger().error(e.getMessage(), e);
- callback.invoke(window, "error", Toolkit.i18nText("Fine-Design_Basic_Update_Plugin_Manager_Download_Error"));
- }
- }
-
- /**
- * 下载并安装插件管理中心的资源文件
- *
- * @param callback 安装完成后的回调函数
- */
- @JSBridge
- public void startDownload(final JSFunction callback) {
- callback.invoke(window, "start", Toolkit.i18nText("Fine-Design_Basic_Update_Plugin_Manager_Download_Start"));
- new SwingWorker() {
- @Override
- protected Void doInBackground() throws Exception {
- UpmResourceLoader.INSTANCE.download();
- UpmResourceLoader.INSTANCE.install();
- return null;
- }
-
- @Override
- protected void done() {
- try {
- get();
- callback.invoke(window, "success", Toolkit.i18nText("Fine-Design_Basic_Update_Plugin_Manager_Download_Success"));
- EventDispatcher.fire(DownloadEvent.SUCCESS, "success");
- } catch (Exception e) {
- callback.invoke(window, "error", Toolkit.i18nText("Fine-Design_Basic_Update_Plugin_Manager_Download_Error"));
- FineLoggerFactory.getLogger().error(e.getMessage(), e);
- EventDispatcher.fire(DownloadEvent.ERROR, "error");
- }
- }
- }.execute();
- }
-
- /**
- * 获取upm的版本信息
- *
- * @return 版本信息
- */
- @JSBridge
- public String getVersion() {
- return ServerPreferenceConfig.getInstance().getOptimizedUPMVersion();
- }
-
- @JSBridge
- public String i18nText(String key) {
- return Toolkit.i18nText(key);
- }
-
- @JSBridge
- public void closeWindow() {
- UIUtil.invokeLaterIfNeeded(UpmFinder::closeWindow);
- }
-
-
- @JSBridge
- public boolean isDesigner() {
- return true;
- }
-
- @JSBridge
- public void getPackInfo(final JSFunction callback) {
- callback.invoke(window, StringUtils.EMPTY);
- }
-
- @JSBridge
- public void getPluginPrefix(final JSFunction callback) {
- UpmTaskWorker task = new UpmTaskWorker<>(new JSCallback(UpmBrowserExecutor.create(window, callback)), new GetPluginPrefixExecutor());
- task.execute();
- }
-
- /**
- * 在线获取插件分类
- *
- * @param callback 回调函数
- */
- @JSBridge
- public void getPluginCategories(final JSFunction callback) {
- UpmTaskWorker task = new UpmTaskWorker<>(new JSCallback(UpmBrowserExecutor.create(window, callback)), new GetPluginCategoriesExecutor());
- task.execute();
- }
-
- /**
- * 根据条件获取在线插件
- *
- * @param info 插件信息
- * @param callback 回调函数
- */
- @JSBridge
- public void getPluginFromStoreNew(String info, final JSFunction callback) {
- UpmTaskWorker task = new UpmTaskWorker<>(new JSCallback(UpmBrowserExecutor.create(window, callback)), new GetPluginFromStoreExecutor(new JSONObject(info)));
- task.execute();
- }
-
- /**
- * 已安装插件检查更新
- */
- @JSBridge
- public void readUpdateOnline(final JSFunction callback) {
- UpmTaskWorker task = new UpmTaskWorker<>(new JSCallback(UpmBrowserExecutor.create(window, callback)), new ReadUpdateOnlineExecutor());
- task.execute();
- }
-
- /**
- * 获取已经安装的插件的数组
- */
- @JSBridge
- public void getInstalledPlugins(final JSFunction callback) {
- UpmTaskWorker task = new UpmTaskWorker<>(new JSCallback(UpmBrowserExecutor.create(window, callback)), new GetInstalledPluginsExecutor());
- task.execute();
- }
-
- /**
- * 从插件服务器上更新选中的插件
- *
- * @param pluginIDs 插件集合
- */
- @JSBridge
- public void updatePluginOnline(Object pluginIDs, final JSFunction callback) {
- JSCallback jsCallback = new JSCallback(UpmBrowserExecutor.create(window, callback));
- List pluginMarkerList = new ArrayList<>();
- if (pluginIDs instanceof String) {
- pluginMarkerList.add(PluginUtils.createPluginMarker(pluginIDs.toString()));
- } else if (pluginIDs instanceof JSArray) {
- JSArray pluginInfos = (JSArray) pluginIDs;
- for (int i = 0, len = pluginInfos.length(); i < len; i++) {
- String value = pluginInfos.get(i).asString().getValue();
- pluginMarkerList.add(PluginUtils.createPluginMarker(value));
- }
- }
- PluginOperateUtils.updatePluginOnline(pluginMarkerList, jsCallback);
- }
-
- /**
- * 搜索在线插件
- *
- * @param keyword 关键字
- */
- @JSBridge
- public void searchPlugin(String keyword, final JSFunction callback) {
- UpmTaskWorker worker = new UpmTaskWorker<>(new JSCallback(UpmBrowserExecutor.create(window, callback)), new SearchOnlineExecutor(keyword));
- worker.execute();
- }
-
- /**
- * 从磁盘上选择插件安装包进行安装
- *
- * @param filePath 插件包的路径
- */
- @JSBridge
- public void installPluginFromDisk(final String filePath, final JSFunction callback) {
- JSCallback jsCallback = new JSCallback(UpmBrowserExecutor.create(window, callback));
- File file = new File(filePath);
- PluginOperateUtils.installPluginFromDisk(file, jsCallback);
- }
-
- /**
- * 卸载当前选中的插件
- *
- * @param pluginInfo 插件信息
- */
- @JSBridge
- public void uninstallPlugin(final String pluginInfo, final boolean isForce, final JSFunction callback) {
- JSCallback jsCallback = new JSCallback(UpmBrowserExecutor.create(window, callback));
- PluginOperateUtils.uninstallPlugin(pluginInfo, isForce, jsCallback);
- }
-
- /**
- * 从插件服务器上安装插件
- *
- * @param pluginInfo 插件的ID
- * @param callback 回调函数
- */
- @JSBridge
- public void installPluginOnline(final String pluginInfo, final JSFunction callback) {
- JSCallback jsCallback = new JSCallback(UpmBrowserExecutor.create(window, callback));
- PluginMarker pluginMarker = PluginUtils.createPluginMarker(pluginInfo);
- PluginOperateUtils.installPluginOnline(pluginMarker, jsCallback);
- }
-
- /**
- * 从磁盘上选择插件安装包进行插件升级
- *
- * @param filePath 插件包的路径
- */
- public void updatePluginFromDisk(String filePath, final JSFunction callback) {
- JSCallback jsCallback = new JSCallback(UpmBrowserExecutor.create(window, callback));
- File file = new File(filePath);
- PluginOperateUtils.updatePluginFromDisk(file, jsCallback);
- }
-
- /**
- * 修改选中的插件的活跃状态
- *
- * @param pluginID 插件ID
- */
- @JSBridge
- public void setPluginActive(String pluginID, final JSFunction callback) {
- JSCallback jsCallback = new JSCallback(UpmBrowserExecutor.create(window, callback));
- PluginOperateUtils.setPluginActive(pluginID, jsCallback);
- }
-
- /**
- * 批量修改选中的插件的活跃状态
- *
- * @param pluginIDs 要处理的插件ID
- * @param callback 回调函数
- */
- @JSBridge
- public void setAllPluginActive(JSArray pluginIDs, final JSFunction callback) {
- JSCallback jsCallback = new JSCallback(UpmBrowserExecutor.create(window, callback));
- List list = new ArrayList<>();
- int len = pluginIDs.length();
- for (int i = 0; i < len; i++) {
- list.add(pluginIDs.get(i).asString().getValue());
- }
- PluginOperateUtils.setPluginActive(list, jsCallback);
- }
-
- /**
- * 选择文件对话框
- *
- * @return 选择的文件的路径
- */
- @JSBridge
- public String showFileChooser() {
- return showFileChooserWithFilter(StringUtils.EMPTY, StringUtils.EMPTY);
- }
-
- /**
- * 选择文件对话框
- *
- * @param des 过滤文件描述
- * @param filter 文件的后缀
- * @return 选择的文件的路径
- * 这里换用JFileChooser会卡死,不知道为什么
- */
- @JSBridge
- public String showFileChooserWithFilter(final String des, final String filter) {
- RunnableFuture future = new FutureTask<>(new Callable() {
- @Override
- public String call() {
- FileChooserProvider fileChooserProvider = FileChooserFactory.createFileChooser(
- FileChooserArgs.newBuilder().
- setFileSelectionMode(FileSelectionMode.FILE).
- setFilter(des, filter).build());
- int result = fileChooserProvider.showDialog(UpmFinder.getDialog());
- if (result == JFileChooser.APPROVE_OPTION) {
- return fileChooserProvider.getSelectedFile().getAbsolutePath();
- }
- return null;
- }
- });
- SwingUtilities.invokeLater(future);
- try {
- return future.get();
- } catch (Exception e) {
- FineLoggerFactory.getLogger().error(e.getMessage(), e);
- }
- return null;
- }
-
- /**
- * 选择文件对话框
- *
- * @param des 过滤文件描述
- * @param args 文件的后缀
- * @return 选择的文件的路径
- */
- @JSBridge
- public String showFileChooserWithFilters(final String des, final Object args) {
- RunnableFuture future = new FutureTask<>(new Callable() {
- @Override
- public String call() {
- JFileChooser fileChooser = new JFileChooser();
- List filterList = new ArrayList<>();
- if (args instanceof String) {
- filterList.add(GeneralUtils.objectToString(args));
- } else if (args instanceof JSArray) {
- JSArray array = (JSArray) args;
- for (int i = 0, len = array.length(); i < len; i++) {
- filterList.add(array.get(i).getStringValue());
- }
- }
- String[] filters = filterList.toArray(new String[0]);
- if (ArrayUtils.isNotEmpty(filters)) {
- FileNameExtensionFilter filter = new FileNameExtensionFilter(des, UpmUtils.findMatchedExtension(filters));
- fileChooser.setFileFilter(filter);
- }
- int result = fileChooser.showOpenDialog(UpmFinder.getDialog());
- if (result == JFileChooser.APPROVE_OPTION) {
- return fileChooser.getSelectedFile().getAbsolutePath();
- }
- return null;
- }
- });
- SwingUtilities.invokeLater(future);
- try {
- return future.get();
- } catch (Exception e) {
- FineLoggerFactory.getLogger().error(e.getMessage(), e);
- }
- return null;
- }
-
- ////////登录相关///////
-
- /**
- * 获取系统登录的用户名
- */
- @JSBridge
- public String getLoginInfo(final JSFunction callback) {
- registerLoginInfo(callback);
- return DesignerEnvManager.getEnvManager().getDesignerLoginUsername();
- }
-
- /**
- * 系统登录注册
- *
- * @param callback 回调函数
- */
- @JSBridge
- public void registerLoginInfo(final JSFunction callback) {
- JSCallback jsCallback = new JSCallback(UpmBrowserExecutor.create(window, callback));
- String username = DesignerEnvManager.getEnvManager().getDesignerLoginUsername();
- if (StringUtils.isEmpty(username)) {
- jsCallback.execute(StringUtils.EMPTY);
- } else {
- jsCallback.execute(username);
- }
- }
-
-
- /**
- * 设计器端的用户登录
- *
- * @param username 用户名
- * @param password 密码
- * @param callback 回调函数
- */
- @JSBridge
- public void defaultLogin(String username, String password, final JSFunction callback) {
- UpmTaskWorker worker = new UpmTaskWorker<>(new JSCallback(UpmBrowserExecutor.create(window, callback)), new PluginLoginExecutor(username, password));
- worker.execute();
- }
-
- /**
- * 清除用户信息
- */
- @JSBridge
- public void clearUserInfo() {
-
- }
-
- /**
- * 打开论坛消息界面
- */
- @JSBridge
- public void getPriviteMessage() {
- try {
- LocaleMark spaceMark = LocaleCenter.getMark(BbsSpaceMark.class);
- String ssoUrl = DesignerLoginUtils.generateDesignerSSOUrl(spaceMark.getValue());
- BrowseUtils.browser(ssoUrl);
- } catch (Exception exp) {
- FineLoggerFactory.getLogger().info(exp.getMessage());
- }
- }
-
- /**
- * 忘记密码
- */
- @JSBridge
- public void forgetHref() {
- try {
- LocaleMark resetMark = LocaleCenter.getMark(BbsResetMark.class);
- Desktop.getDesktop().browse(new URI(resetMark.getValue()));
- } catch (Exception e) {
- FineLoggerFactory.getLogger().info(e.getMessage());
- }
- }
-
- /**
- * 立即注册
- */
- @JSBridge
- public void registerHref() {
- try {
- LocaleMark registerMark = LocaleCenter.getMark(BbsRegisterMark.class);
- Desktop.getDesktop().browse(new URI(registerMark.getValue()));
- } catch (Exception e) {
- FineLoggerFactory.getLogger().info(e.getMessage());
- }
- }
-
- /**
- * 使用系统浏览器打开网页
- *
- * @param url 要打开的网页
- */
- @JSBridge
- public void openShopUrlAtWebBrowser(String url) {
- if (Desktop.isDesktopSupported()) {
- try {
- //创建一个URI实例,注意不是URL
- URI uri = URI.create(url);
- //获取当前系统桌面扩展
- Desktop desktop = Desktop.getDesktop();
- //判断系统桌面是否支持要执行的功能
- if (desktop.isSupported(Desktop.Action.BROWSE)) {
- //获取系统默认浏览器打开链接
- desktop.browse(uri);
- }
- } catch (Exception e) {
- FineLoggerFactory.getLogger().error(e.getMessage(), e);
- }
- }
- }
-}
diff --git a/designer-base/src/main/java/com/fr/design/upm/UpmBridgeV7.java b/designer-base/src/main/java/com/fr/design/upm/UpmBridgeV7.java
index f35ed11ac0..fe753fe3b5 100644
--- a/designer-base/src/main/java/com/fr/design/upm/UpmBridgeV7.java
+++ b/designer-base/src/main/java/com/fr/design/upm/UpmBridgeV7.java
@@ -1,5 +1,6 @@
package com.fr.design.upm;
+import com.fr.config.ServerPreferenceConfig;
import com.fr.decision.webservice.v10.plugin.helper.category.impl.UpmResourceLoader;
import com.fr.design.DesignerEnvManager;
import com.fr.design.bridge.exec.JSBridge;
@@ -13,13 +14,25 @@ import com.fr.design.extra.exe.GetPluginPrefixExecutor;
import com.fr.design.extra.exe.PluginLoginExecutor;
import com.fr.design.extra.exe.ReadUpdateOnlineExecutor;
import com.fr.design.extra.exe.SearchOnlineExecutor;
+import com.fr.design.gui.ifilechooser.FileChooserArgs;
+import com.fr.design.gui.ifilechooser.FileChooserFactory;
+import com.fr.design.gui.ifilechooser.FileChooserProvider;
+import com.fr.design.gui.ifilechooser.FileSelectionMode;
import com.fr.design.i18n.Toolkit;
+import com.fr.design.locale.impl.BbsRegisterMark;
+import com.fr.design.locale.impl.BbsResetMark;
+import com.fr.design.locale.impl.BbsSpaceMark;
+import com.fr.design.login.utils.DesignerLoginUtils;
+import com.fr.design.ui.util.UIUtil;
import com.fr.design.upm.event.CertificateEvent;
import com.fr.design.upm.event.DownloadEvent;
import com.fr.design.upm.exec.NewUpmBrowserExecutor;
import com.fr.design.upm.task.UpmTaskWorker;
+import com.fr.design.utils.BrowseUtils;
import com.fr.event.EventDispatcher;
import com.fr.general.GeneralUtils;
+import com.fr.general.locale.LocaleCenter;
+import com.fr.general.locale.LocaleMark;
import com.fr.json.JSONObject;
import com.fr.log.FineLoggerFactory;
import com.fr.plugin.context.PluginMarker;
@@ -29,24 +42,29 @@ import com.teamdev.jxbrowser.js.JsAccessible;
import com.teamdev.jxbrowser.js.JsFunction;
import com.teamdev.jxbrowser.js.JsObject;
import com.teamdev.jxbrowser.js.internal.JsArrayImpl;
+
import javax.swing.JFileChooser;
import javax.swing.SwingUtilities;
import javax.swing.SwingWorker;
import javax.swing.filechooser.FileNameExtensionFilter;
+import java.awt.Desktop;
import java.io.File;
+import java.net.URI;
import java.util.ArrayList;
import java.util.List;
+import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask;
import java.util.concurrent.RunnableFuture;
/**
- * @author richie
- * @version 10.0
- * Created by richie on 2019-04-12
* 桥接Java和JavaScript的类
+ *
+ * @author richie
+ * @since 10.0
+ * Created on 2019-04-12
*/
@JsAccessible
-public class UpmBridgeV7 extends UpmBridge {
+public class UpmBridgeV7 {
public static UpmBridgeV7 getBridge(JsObject jsObject) {
return new UpmBridgeV7(jsObject);
@@ -117,30 +135,40 @@ public class UpmBridgeV7 extends UpmBridge {
*/
@JSBridge
@JsAccessible
- @Override
public String getVersion() {
- return super.getVersion();
+ return ServerPreferenceConfig.getInstance().getOptimizedUPMVersion();
}
+ /**
+ * 国际化
+ *
+ * @param key 国际化key
+ * @return 国际化文本
+ */
@JSBridge
@JsAccessible
- @Override
public String i18nText(String key) {
- return super.i18nText(key);
+ return Toolkit.i18nText(key);
}
+ /**
+ * 关闭窗口
+ */
@JSBridge
@JsAccessible
- @Override
public void closeWindow() {
- super.closeWindow();
+ UIUtil.invokeLaterIfNeeded(UpmFinder::closeWindow);
}
+ /**
+ * 是否设计器
+ *
+ * @return 是否设计器
+ */
@JSBridge
@JsAccessible
- @Override
public boolean isDesigner() {
- return super.isDesigner();
+ return true;
}
@JSBridge
@@ -326,9 +354,8 @@ public class UpmBridgeV7 extends UpmBridge {
*/
@JSBridge
@JsAccessible
- @Override
public String showFileChooser() {
- return super.showFileChooser();
+ return showFileChooserWithFilter(StringUtils.EMPTY, StringUtils.EMPTY);
}
/**
@@ -341,9 +368,28 @@ public class UpmBridgeV7 extends UpmBridge {
*/
@JSBridge
@JsAccessible
- @Override
public String showFileChooserWithFilter(final String des, final String filter) {
- return super.showFileChooserWithFilter(des, filter);
+ RunnableFuture future = new FutureTask<>(new Callable() {
+ @Override
+ public String call() {
+ FileChooserProvider fileChooserProvider = FileChooserFactory.createFileChooser(
+ FileChooserArgs.newBuilder().
+ setFileSelectionMode(FileSelectionMode.FILE).
+ setFilter(des, filter).build());
+ int result = fileChooserProvider.showDialog(UpmFinder.getDialog());
+ if (result == JFileChooser.APPROVE_OPTION) {
+ return fileChooserProvider.getSelectedFile().getAbsolutePath();
+ }
+ return null;
+ }
+ });
+ SwingUtilities.invokeLater(future);
+ try {
+ return future.get();
+ } catch (Exception e) {
+ FineLoggerFactory.getLogger().error(e.getMessage(), e);
+ }
+ return null;
}
/**
@@ -469,9 +515,7 @@ public class UpmBridgeV7 extends UpmBridge {
*/
@JsAccessible
@JSBridge
- @Override
public void clearUserInfo() {
- super.clearUserInfo();
}
/**
@@ -479,9 +523,14 @@ public class UpmBridgeV7 extends UpmBridge {
*/
@JSBridge
@JsAccessible
- @Override
public void getPriviteMessage() {
- super.getPriviteMessage();
+ try {
+ LocaleMark spaceMark = LocaleCenter.getMark(BbsSpaceMark.class);
+ String ssoUrl = DesignerLoginUtils.generateDesignerSSOUrl(spaceMark.getValue());
+ BrowseUtils.browser(ssoUrl);
+ } catch (Exception exp) {
+ FineLoggerFactory.getLogger().info(exp.getMessage());
+ }
}
/**
@@ -489,9 +538,13 @@ public class UpmBridgeV7 extends UpmBridge {
*/
@JSBridge
@JsAccessible
- @Override
public void forgetHref() {
- super.forgetHref();
+ try {
+ LocaleMark resetMark = LocaleCenter.getMark(BbsResetMark.class);
+ Desktop.getDesktop().browse(new URI(resetMark.getValue()));
+ } catch (Exception e) {
+ FineLoggerFactory.getLogger().info(e.getMessage());
+ }
}
/**
@@ -499,9 +552,13 @@ public class UpmBridgeV7 extends UpmBridge {
*/
@JSBridge
@JsAccessible
- @Override
public void registerHref() {
- super.registerHref();
+ try {
+ LocaleMark registerMark = LocaleCenter.getMark(BbsRegisterMark.class);
+ Desktop.getDesktop().browse(new URI(registerMark.getValue()));
+ } catch (Exception e) {
+ FineLoggerFactory.getLogger().info(e.getMessage());
+ }
}
/**
@@ -511,8 +568,21 @@ public class UpmBridgeV7 extends UpmBridge {
*/
@JSBridge
@JsAccessible
- @Override
public void openShopUrlAtWebBrowser(String url) {
- super.openShopUrlAtWebBrowser(url);
+ if (Desktop.isDesktopSupported()) {
+ try {
+ //创建一个URI实例,注意不是URL
+ URI uri = URI.create(url);
+ //获取当前系统桌面扩展
+ Desktop desktop = Desktop.getDesktop();
+ //判断系统桌面是否支持要执行的功能
+ if (desktop.isSupported(Desktop.Action.BROWSE)) {
+ //获取系统默认浏览器打开链接
+ desktop.browse(uri);
+ }
+ } catch (Exception e) {
+ FineLoggerFactory.getLogger().error(e.getMessage(), e);
+ }
+ }
}
}
diff --git a/designer-base/src/main/java/com/fr/design/upm/exec/UpmBrowserExecutor.java b/designer-base/src/main/java/com/fr/design/upm/exec/UpmBrowserExecutor.java
deleted file mode 100644
index 572f7b5f23..0000000000
--- a/designer-base/src/main/java/com/fr/design/upm/exec/UpmBrowserExecutor.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.fr.design.upm.exec;
-
-import com.fr.design.bridge.exec.JSExecutor;
-import com.teamdev.jxbrowser.chromium.JSFunction;
-import com.teamdev.jxbrowser.chromium.JSObject;
-
-/**
- * @author richie
- * @version 10.0
- * Created by richie on 2019-04-18
- */
-public class UpmBrowserExecutor implements JSExecutor {
-
- public static UpmBrowserExecutor create(JSObject window, JSFunction callback) {
- return new UpmBrowserExecutor(window, callback);
- }
-
- private JSObject window;
- private JSFunction callback;
-
- private UpmBrowserExecutor(JSObject window, JSFunction callback) {
- this.window = window;
- this.callback = callback;
- }
-
- @Override
- public void executor(String newValue) {
- callback.invoke(window, newValue);
- }
-}
diff --git a/designer-base/src/main/java/com/fr/design/utils/DesignerPort.java b/designer-base/src/main/java/com/fr/design/utils/DesignerPort.java
index b57c54fbcd..cebbcf655b 100644
--- a/designer-base/src/main/java/com/fr/design/utils/DesignerPort.java
+++ b/designer-base/src/main/java/com/fr/design/utils/DesignerPort.java
@@ -1,5 +1,7 @@
package com.fr.design.utils;
+import com.fine.theme.icon.LazyIcon;
+import com.fine.theme.utils.FineUIScale;
import com.fr.common.report.ReportState;
import com.fr.design.DesignerEnvManager;
import com.fr.design.RestartHelper;
@@ -13,7 +15,6 @@ import com.fr.design.port.DesignerPortContext;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.exit.DesignerExiter;
import com.fr.general.ComparatorUtils;
-import com.fr.general.IOUtils;
import com.fr.process.engine.core.CarryMessageEvent;
import com.fr.process.engine.core.FineProcessContext;
import com.fr.stable.StringUtils;
@@ -29,11 +30,12 @@ import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import java.awt.BorderLayout;
import java.awt.Color;
-import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import static com.fine.theme.utils.FineUIScale.scale;
+
/**
* 为的就是能替换 DesignPort.class 实现多开,因此避免编译器常量编译展开优化
*/
@@ -128,7 +130,7 @@ public class DesignerPort implements XMLReadable, XMLWriter {
this.setLayout(new BorderLayout());
this.setModal(true);
this.portFiled = new UITextField();
- this.portFiled.setPreferredSize(new Dimension(180, 20));
+ this.portFiled.setPreferredSize(FineUIScale.createScaleDimension(180, 20));
this.portFiled.getDocument().addDocumentListener(new DocumentListener() {
@Override
public void insertUpdate(DocumentEvent e) {
@@ -147,7 +149,7 @@ public class DesignerPort implements XMLReadable, XMLWriter {
});
JPanel iconPanel = new JPanel();
UILabel iconLabel = new UILabel();
- iconLabel.setIcon(IOUtils.readIcon("com/fr/design/images/edit/edit_typing.png"));
+ iconLabel.setIcon(new LazyIcon("edit"));
iconPanel.add(iconLabel);
iconPanel.add(iconLabel);
JPanel textPane = FRGUIPaneFactory.createVerticalFlowLayout_Pane(true, FlowLayout.LEADING, 0, 10);
@@ -194,7 +196,7 @@ public class DesignerPort implements XMLReadable, XMLWriter {
this.add(northPane, BorderLayout.NORTH);
this.add(centerPane, BorderLayout.CENTER);
this.add(southPane, BorderLayout.SOUTH);
- this.setSize(300, 150);
+ this.setSize(scale(300), scale(150));
this.setTitle(Toolkit.i18nText("Fine-Design_Modify_Designer_Port"));
this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
this.setResizable(false);
diff --git a/designer-base/src/main/java/com/fr/design/versioncheck/VersionCheckUtils.java b/designer-base/src/main/java/com/fr/design/versioncheck/VersionCheckUtils.java
index 0d10600b64..509b103a41 100644
--- a/designer-base/src/main/java/com/fr/design/versioncheck/VersionCheckUtils.java
+++ b/designer-base/src/main/java/com/fr/design/versioncheck/VersionCheckUtils.java
@@ -1,5 +1,6 @@
package com.fr.design.versioncheck;
+import com.fine.theme.utils.FineUIScale;
import com.fr.base.FRContext;
import com.fr.design.DesignerEnvManager;
import com.fr.design.dialog.NotificationDialog;
@@ -146,7 +147,7 @@ public class VersionCheckUtils {
CheckServiceDialog checkServiceDialog = new CheckServiceDialog(DesignerContext.getDesignerFrame(), GeneralUtils.readFullBuildNO(), getRemoteBranch(envName), getNoExistServiceDescription(envName));
checkServiceDialog.setVisible(true);
}
- },DesignSizeI18nManager.getInstance().i18nDimension("com.fr.design.version.check.dialog"));
+ }, FineUIScale.scale(DesignSizeI18nManager.getInstance().i18nDimension("com.fr.design.version.check.dialog")));
notificationDialog.setVisible(true);
}
diff --git a/designer-base/src/main/java/com/fr/design/web/CustomIconPane.java b/designer-base/src/main/java/com/fr/design/web/CustomIconPane.java
index 5725a2a889..2f1f7b8846 100644
--- a/designer-base/src/main/java/com/fr/design/web/CustomIconPane.java
+++ b/designer-base/src/main/java/com/fr/design/web/CustomIconPane.java
@@ -154,7 +154,6 @@ public class CustomIconPane extends BasicPane {
private void initAddButton(JPanel buttonPane) {
UIButton addButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Add"));
- addButton.setPreferredSize(new Dimension(80, 25));
addButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
final EditIconDialog add = new EditIconDialog();
@@ -182,7 +181,7 @@ public class CustomIconPane extends BasicPane {
private void initRemoveButton(JPanel buttonPane) {
removeButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Remove"));
- removeButton.setPreferredSize(new Dimension(80, 25));
+ removeButton.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Remove"));
removeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (iconManager.isSystemIcon(selectedIconName)) {
@@ -211,7 +210,6 @@ public class CustomIconPane extends BasicPane {
private void initEditButton(JPanel buttonPane) {
editButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Edit"));
- editButton.setPreferredSize(new Dimension(80, 25));
editButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (iconManager.isSystemIcon(selectedIconName)) {
diff --git a/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java b/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java
index 1aa1422f15..3d366eb9a5 100644
--- a/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java
+++ b/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java
@@ -280,6 +280,7 @@ public class DBManipulationPane extends BasicBeanPane {
private UIButton addEventButton() {
UIButton addSubmitEventButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Set_Submit_Event"));
+ addSubmitEventButton.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Set_Submit_Event"));
addSubmitEventButton.addActionListener(new ActionListener() {
@Override
@@ -309,7 +310,7 @@ public class DBManipulationPane extends BasicBeanPane {
conditionsTree = new JTree(new DefaultTreeModel(new ExpandMutableTreeNode()));
conditionsTree.setRootVisible(false);
conditionsTree.setShowsRootHandles(true);
- conditionsTree.setBackground(UIConstants.NORMAL_BACKGROUND);
+ conditionsTree.setBackground(FineUIUtils.getUIColor("background.normal", "background.normal"));
conditionsTree.setForeground(UIConstants.NORMAL_BACKGROUND);
DefaultTreeCellRenderer cr = (DefaultTreeCellRenderer) conditionsTree.getCellRenderer();
cr.setForeground(UIConstants.NORMAL_BACKGROUND);
@@ -740,7 +741,7 @@ public class DBManipulationPane extends BasicBeanPane {
return super.stopCellEditing();
}
});
- ((DefaultCellEditor) column1.getCellEditor()).setClickCountToStart(2);
+ ((DefaultCellEditor) column1.getCellEditor()).setClickCountToStart(1);
//设置Column 2的Editor
column2.setCellEditor(new ColumnValueEditor());
@@ -949,12 +950,12 @@ public class DBManipulationPane extends BasicBeanPane {
}
/*
- * 双击以编辑
+ * 单击以编辑
*/
@Override
public boolean isCellEditable(EventObject anEvent) {
if (anEvent instanceof MouseEvent) {
- return ((MouseEvent) anEvent).getClickCount() >= 2;
+ return ((MouseEvent) anEvent).getClickCount() >= 1;
}
return true;
}
diff --git a/designer-base/src/main/java/com/fr/widgettheme/designer/WidgetThemeDisplayConfigPane.java b/designer-base/src/main/java/com/fr/widgettheme/designer/WidgetThemeDisplayConfigPane.java
index ad96c00a9f..9017a565d4 100644
--- a/designer-base/src/main/java/com/fr/widgettheme/designer/WidgetThemeDisplayConfigPane.java
+++ b/designer-base/src/main/java/com/fr/widgettheme/designer/WidgetThemeDisplayConfigPane.java
@@ -5,12 +5,16 @@ import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.FRGUIPaneFactory;
-import com.fr.design.layout.VerticalFlowLayout;
+
import com.fr.widgettheme.control.attr.WidgetDisplayEnhanceMarkAttr;
import javax.swing.JPanel;
+import java.awt.BorderLayout;
import java.awt.Color;
+import static com.fine.swing.ui.layout.Layouts.cell;
+import static com.fine.swing.ui.layout.Layouts.column;
+
/**
* 控件主题显示增强配置窗口
*
@@ -27,20 +31,17 @@ public class WidgetThemeDisplayConfigPane extends BasicPane {
}
private void initComponents() {
- VerticalFlowLayout layout = new VerticalFlowLayout();
- layout.setAlignLeft(true);
- this.setLayout(layout);
+ this.setLayout(new BorderLayout());
JPanel northPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
- this.add(northPane);
widgetEnhance = new UICheckBox(Toolkit.i18nText("Fine-Design_Widget_Enable_Display_Enhance"));
widgetEnhance.setSelected(true);
northPane.add(widgetEnhance);
JPanel southPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
- this.add(southPane);
UILabel label = new UILabel(Toolkit.i18nText("Fine-Design_Widget_Display_Enhance_Tip"));
label.setForeground(Color.GRAY);
southPane.add(label);
+ this.add(column(10, cell(northPane), cell(southPane)).getComponent());
}
@Override
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/close/closeTag.svg b/designer-base/src/main/resources/com/fine/theme/icon/close/closeTag.svg
new file mode 100644
index 0000000000..fa060d003f
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/close/closeTag.svg
@@ -0,0 +1,11 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/close/platform_close_disable.svg b/designer-base/src/main/resources/com/fine/theme/icon/close/platform_close_disable.svg
new file mode 100644
index 0000000000..cb917bb243
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/close/platform_close_disable.svg
@@ -0,0 +1,11 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/debug.svg b/designer-base/src/main/resources/com/fine/theme/icon/debug.svg
new file mode 100644
index 0000000000..3e7608a5be
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/debug.svg
@@ -0,0 +1,3 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/debug_disable.svg b/designer-base/src/main/resources/com/fine/theme/icon/debug_disable.svg
new file mode 100644
index 0000000000..442f87ac0c
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/debug_disable.svg
@@ -0,0 +1,3 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/theme_edit.svg b/designer-base/src/main/resources/com/fine/theme/icon/theme_edit.svg
new file mode 100644
index 0000000000..e0d5ef158d
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/theme_edit.svg
@@ -0,0 +1,5 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/toolbar/member.svg b/designer-base/src/main/resources/com/fine/theme/icon/toolbar/member.svg
new file mode 100644
index 0000000000..2c068c2277
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/toolbar/member.svg
@@ -0,0 +1,3 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/toolbar/role.svg b/designer-base/src/main/resources/com/fine/theme/icon/toolbar/role.svg
new file mode 100644
index 0000000000..fcf3ecb12f
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/toolbar/role.svg
@@ -0,0 +1,3 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json b/designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json
index d73d090802..aaa6df6d59 100644
--- a/designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json
+++ b/designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json
@@ -21,6 +21,7 @@
"add": "add.svg",
"add_hover": "add_hover.svg",
"detail": "detail.svg",
+ "debug": "debug.svg",
"dataLink": "dataLink.svg",
"jumpHelp": "jumpHelp.svg",
"switch": "switch.svg",
@@ -287,6 +288,8 @@
"templateStore": "toolbar/templateStore.svg",
"bug": "toolbar/bug.svg",
"need": "toolbar/need.svg",
+ "member": "toolbar/member.svg",
+ "role": "toolbar/role.svg",
"workOrderCenter": "toolbar/workOrderCenter.svg",
"actCenter": "toolbar/actCenter.svg",
"sign": "toolbar/sign.svg",
@@ -321,7 +324,9 @@
"nosort": "sort/nosort.svg",
"close": "close/close.svg",
"close_round": "close/close_round.svg",
+ "closeTag": "close/closeTag.svg",
"platform_close": "close/platform_close.svg",
+ "platform_close_disabled": "close/platform_close_disable.svg",
"add_parenthesis": "font/add_parenthesis.svg",
"remove_parenthesis": "font/remove_parenthesis.svg",
"shadow": "font/shadow.svg",
@@ -442,7 +447,8 @@
"layout_bottom": "layout/layout_bottom.svg",
"layout_left": "layout/layout_left.svg",
"layout_right": "layout/layout_right.svg",
- "layout_top_right": "layout/layout_top_right.svg"
+ "layout_top_right": "layout/layout_top_right.svg",
+ "theme_edit": "theme_edit.svg"
}
}
diff --git a/designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLightLaf.properties b/designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLightLaf.properties
index 9c0ee9c9f8..d941f77eec 100644
--- a/designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLightLaf.properties
+++ b/designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLightLaf.properties
@@ -33,14 +33,17 @@
# font weights
# Windows
[win]defaultFont = "Microsoft YaHei", "Microsoft JhengHei", MingLiU, Arial
+[win]titleFont = 14, "Microsoft YaHei", "Microsoft JhengHei", MingLiU, Arial
[win]light.font = "Microsoft YaHei", "Microsoft JhengHei", MingLiU, "Arial
[win]semibold.font = "Microsoft YaHei", "Microsoft JhengHei", MingLiU, Arial
# macOS
[mac]defaultFont = 12 "PingFang SC", "Apple LiGothic", "Apple LiSun", Arial
+[mac]titleFont = 14 "PingFang SC", "Apple LiGothic", "Apple LiSun", Arial
[mac]light.font = "PingFang SC", "Apple LiGothic", "Apple LiSun", Arial
[mac]semibold.font = "PingFang SC", "Apple LiGothic", "Apple LiSun", Arial
# Linux
[linux]defaultFont = 12 "Noto SansCJK", SimHei, Arial, Ubuntu
+[linux]titleFont = 14 "Noto SansCJK", SimHei, Arial, Ubuntu
[linux]light.font = "Noto SansCJK", SimHei, Arial, Ubuntu
[linux]semibold.font = "Noto SansCJK", SimHei, Arial, Ubuntu
@@ -305,7 +308,7 @@ ComboBox.maximumRowCount = 15
ComboBox.buttonStyle = auto
ComboBox.background = #FFF
ComboBox.buttonBackground = $ComboBox.background
-ComboBox.buttonEditableBackground = darken($ComboBox.background,2%)
+ComboBox.buttonEditableBackground = $ComboBox.background
ComboBox.buttonSeparatorColor = $ComboBox.background
ComboBox.buttonDisabledSeparatorColor = $Component.disabledBorderColor
ComboBox.buttonArrowColor = @buttonArrowColor
@@ -944,6 +947,7 @@ TextArea.selectionBackground=$color.brand4
TextArea.selectionForeground=$text.white
TextArea.inactiveForeground=fade(@foreground, 29%)
TextArea.disabledBackground=$fill.disabled
+TextArea.currentLineHighlightColor=#fffae8
#---- TextComponent ----
@@ -1336,6 +1340,9 @@ chart.selectedBorderColor = #2576EF
[style]Label.boldLabel = \
font: bold $defaultFont
+[style]Label.tipWindowTitleLabel = \
+ font: bold $titleFont
+
[style]Label.tipLabel = \
foreground: $Label.tipColor
@@ -1397,4 +1404,8 @@ chart.selectedBorderColor = #2576EF
[style]Label.detailLabel = \
foreground: fade(@foreground, 90%); \
- background: $fill.normal;
\ No newline at end of file
+ background: $fill.normal;
+
+[style]Label.widgetEventLabel = \
+ foreground: $List.wrapper.text.fontColor; \
+ background: $fill.normal;
diff --git a/designer-base/src/main/resources/com/fr/design/data/tabledata/datacenter/web/data-choose.main.css b/designer-base/src/main/resources/com/fr/design/data/tabledata/datacenter/web/data-choose.main.css
index a2d2e76f32..b3e8ecc216 100644
--- a/designer-base/src/main/resources/com/fr/design/data/tabledata/datacenter/web/data-choose.main.css
+++ b/designer-base/src/main/resources/com/fr/design/data/tabledata/datacenter/web/data-choose.main.css
@@ -1 +1 @@
-@font-face{font-family:dataIntegrationFont;src:url(../assets/fonts/iconfont.eot);src:url(../assets/fonts/iconfont.eot#iefix) format("embedded-opentype"),url(../assets/fonts/iconfont.woff) format("woff"),url(../assets/fonts/iconfont.ttf) format("truetype"),url(../assets/fonts/iconfont.svg#svgFontName) format("svg")}.b-font{font-family:dataIntegrationFont,fineui;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.menu-data-center-font .b-font:before,.menu-data-center-font.disabled .b-font:before{content:"\e676";color:inherit}.spider-indicator-font .b-font:before,.spider-indicator-font.disabled .b-font:before{content:"\eabf";color:#3392db}.direct-indicator-font .b-font:before,.direct-indicator-font.disabled .b-font:before{content:"\eadd";color:#3392db}.spider-dimension-font .b-font:before,.spider-dimension-font.disabled .b-font:before{content:"\eabc";color:#537bc6}.direct-dimension-font .b-font:before,.direct-dimension-font.disabled .b-font:before{content:"\eade";color:#537bc6}.spider-business-model-font .b-font:before,.spider-business-model-font.disabled .b-font:before{content:"\eac0";color:#5545ba}.direct-business-model-font .b-font:before,.direct-business-model-font.disabled .b-font:before{content:"\eada";color:#5545ba}.rename-font .b-font:before,.rename-font.disabled .b-font:before{content:"\e6cc";color:inherit}.custom-add-group-font .b-font:before,.custom-add-group-font.disabled .b-font:before{content:"\e614";color:#3685f2}.gray-close-font .b-font:before,.gray-close-font.disabled .b-font:before{content:"\e6d0";color:#647185}.delete-font .b-font:before,.delete-font.disabled .b-font:before{content:"\e6c4";color:inherit}.dimension-combo-summary-font .b-font:before,.dimension-combo-summary-font.disabled .b-font:before{content:"\e60a";color:inherit}.custom-copy-group-font .b-font:before,.custom-copy-group-font.disabled .b-font:before{content:"\e6bd";color:inherit}.tree-expander-expand-font .b-font:before,.tree-expander-expand-font.disabled .b-font:before{content:"\e905";color:inherit}.tree-expander-collapse-font .b-font:before,.tree-expander-collapse-font.disabled .b-font:before{content:"\e906";color:inherit}.pack-move-font-blue .b-font:before,.pack-move-font-blue.disabled .b-font:before{content:"\e73f";color:inherit}.common-pull-down-font .b-font:before,.common-pull-down-font.disabled .b-font:before{content:"\e6d7";color:inherit}.string-field-font .b-font:before,.string-field-font.disabled .b-font:before{content:"\e99b";color:#3685f2}.number-field-font .b-font:before,.number-field-font.disabled .b-font:before{content:"\e998";color:#13bfa8}.date-field-font .b-font:before,.date-field-font.disabled .b-font:before{content:"\e996";color:#f0ac3c}.capsule-combo-down .b-font:before,.capsule-combo-down.disabled .b-font:before{content:"\e6d7";color:inherit}.fdi-data-group-table-field{-webkit-user-select:none;-moz-user-select:none;user-select:none}.fdi-data-group-table-field .select-fields-label{font-size:12px}.group-select-fields-item-button.active.string-field-font,.group-select-fields-item-button:active.string-field-font{background-color:#afc6e8}.group-select-fields-item-button.active.number-field-font,.group-select-fields-item-button:active.number-field-font{background-color:#afdfda}.group-select-fields-item-button.active.date-field-font,.group-select-fields-item-button:active.date-field-font{background-color:rgba(250,170,57,.4)}.group-select-fields-item-button:hover:not(.active).string-field-font{background-color:rgba(175,198,232,.14901960784313725)}.group-select-fields-item-button:hover:not(.active).number-field-font{background-color:rgba(175,223,218,.14901960784313725)}.group-select-fields-item-button:hover:not(.active).date-field-font{background-color:rgba(250,170,57,.050980392156862744)}.fdi-helper{background-color:rgba(54,133,242,.4);font-size:13px;opacity:.7;border-radius:2px}.fdi-helper.dragging-modify{background:none}.fdi-helper.dragging-modify .helper-warning{border:1px solid #e65251;border-radius:2px}.bi-field-drag-helper{font-size:13px}.bi-field-drag-helper.string-field-helper{box-shadow:1px 1px 2px 0 rgba(0,0,0,.10196078431372549);background-color:rgba(175,198,232,.2)}.bi-field-drag-helper.number-field-helper{box-shadow:1px 1px 2px 0 rgba(0,0,0,.10196078431372549);background-color:rgba(175,223,218,.2)}.bi-field-drag-helper.date-field-helper{box-shadow:1px 1px 2px 0 rgba(0,0,0,.10196078431372549);background-color:rgba(250,170,57,.2)}.fdi-string-region{max-height:50%}.fdi-string-region .bi-region-comment,.fdi-string-region .bi-region-nav .bi-region-north-title{font-size:12px}.fdi-string-region .region-content-analysis{min-height:34px;max-height:90%}.bi-string-dimension-container{background-color:#afc6e8;min-width:50px}.bi-data-dimension-container{background-color:rgba(250,170,57,.4);min-width:50px}.bi-number-dimension-container{background-color:#afdfda;min-width:50px}.fdi-data-group-dimension .tip-name{color:rgba(61,77,102,.6);min-width:30px;max-width:80px}.fdi-data-group-dimension .tip-name.marked-red{color:#e65251}.fdi-data-group-dimension .dimension-down-list-combo:not(.bi-combo-popup){visibility:hidden}.fdi-data-group-dimension:hover .dimension-down-list-combo{visibility:visible}.target-capsule-background{background-color:#afdfda}.dimension-capsule-background{background-color:#afc6e8}.target-capsule-helper,.target-capsule-helper.bi-helper{background-color:rgba(175,223,218,.5);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#80afdfda,endColorstr=#80afdfda);border:1px solid #afdfda;box-shadow:1px 1px 2px 0 rgba(0,0,0,.10196078431372549)}.dimension-capsule-helper,.dimension-capsule-helper.bi-helper{background-color:rgba(175,198,232,.5);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#80afc6e8,endColorstr=#80afc6e8);border:1px solid rgba(69,99,161,.4);box-shadow:1px 1px 2px 0 rgba(0,0,0,.10196078431372549)}.bi-capsule-border{border-top-left-radius:6px;border-bottom-right-radius:6px}.field-helper-warning{border:1px solid #e65251;border-top-left-radius:6px;border-bottom-right-radius:6px}.bi-capsule-replace-border{box-sizing:border-box;border:1px solid rgba(35,46,64,.4)}.fdi-component-custom-group-number-auto .group-count-success{color:#13cd66}.fdi-component-custom-group-number-auto .group-count-failure{color:#e65251}.fdi-component-custom-group-number-item .gray-close-font:not(.bi-combo-popup){visibility:hidden}.fdi-component-custom-group-number-item:hover .gray-close-font{visibility:visible}.fdi-component-custom-group-number-item .error-tip{background:#ffecec;color:#e65251}.bi-theme-dark .bi-component-custom-group-number-item .error-tip{background:#3a2940}.fdi-components-rename-editor .shelter-editor-text{min-width:30px;max-width:125px}.fdi-component-custom-group-string-group-item .left-text-max-width{max-width:470px}.fdi-component-custom-group-string-group-item .left-text-proportion-width{max-width:274px}.fdi-component-custom-group-string-group-item .right-text-proportion-width{max-width:196px}.bi-component-custom-group-string-group-expander .delete-combo:not(.bi-combo-popup){visibility:hidden}.bi-component-custom-group-string-group-expander:hover .delete-combo{visibility:visible}.bi-component-custom-group-string-group-expander .readonly .delete-combo{visibility:hidden}.bi-component-custom-group-string-group-expander.bi-expander-popup{background-color:#f8f9fc}.bi-component-custom-group-string-group-expander .string-group-expander-node:active,.bi-component-custom-group-string-group-expander .string-group-expander-node:hover{background-color:#e5efff}.bi-custom-group-string .custom-group-editor{border-radius:2px}.bi-custom-group-string .custom-searcher{z-index:1}
\ No newline at end of file
+@font-face{font-family:dataIntegrationFont;src:url(../assets/fonts/iconfont.eot);src:url(../assets/fonts/iconfont.eot#iefix) format("embedded-opentype"),url(../assets/fonts/iconfont.woff) format("woff"),url(../assets/fonts/iconfont.ttf) format("truetype"),url(../assets/fonts/iconfont.svg#svgFontName) format("svg")}.b-font{font-family:dataIntegrationFont,fineui;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.menu-data-center-font .b-font:before,.menu-data-center-font.disabled .b-font:before{content:"\e676";color:inherit}.spider-indicator-font .b-font:before,.spider-indicator-font.disabled .b-font:before{content:"\eabf";color:#3392db}.direct-indicator-font .b-font:before,.direct-indicator-font.disabled .b-font:before{content:"\eadd";color:#3392db}.spider-dimension-font .b-font:before,.spider-dimension-font.disabled .b-font:before{content:"\eabc";color:#537bc6}.direct-dimension-font .b-font:before,.direct-dimension-font.disabled .b-font:before{content:"\eade";color:#537bc6}.spider-business-model-font .b-font:before,.spider-business-model-font.disabled .b-font:before{content:"\eac0";color:#5545ba}.direct-business-model-font .b-font:before,.direct-business-model-font.disabled .b-font:before{content:"\eada";color:#5545ba}.rename-font .b-font:before,.rename-font.disabled .b-font:before{content:"\e6cc";color:inherit}.custom-add-group-font .b-font:before,.custom-add-group-font.disabled .b-font:before{content:"\e614";color:#3685f2}.gray-close-font .b-font:before,.gray-close-font.disabled .b-font:before{content:"\e6d0";color:#647185}.delete-font .b-font:before,.delete-font.disabled .b-font:before{content:"\e6c4";color:inherit}.dimension-combo-summary-font .b-font:before,.dimension-combo-summary-font.disabled .b-font:before{content:"\e60a";color:inherit}.custom-copy-group-font .b-font:before,.custom-copy-group-font.disabled .b-font:before{content:"\e6bd";color:inherit}.tree-expander-expand-font .b-font:before,.tree-expander-expand-font.disabled .b-font:before{content:"\e905";color:inherit}.tree-expander-collapse-font .b-font:before,.tree-expander-collapse-font.disabled .b-font:before{content:"\e906";color:inherit}.pack-move-font-blue .b-font:before,.pack-move-font-blue.disabled .b-font:before{content:"\e73f";color:inherit}.common-pull-down-font .b-font:before,.common-pull-down-font.disabled .b-font:before{content:"\e6d7";color:inherit}.string-field-font .b-font:before,.string-field-font.disabled .b-font:before{content:"\e99b";color:#3685f2}.number-field-font .b-font:before,.number-field-font.disabled .b-font:before{content:"\e998";color:#13bfa8}.date-field-font .b-font:before,.date-field-font.disabled .b-font:before{content:"\e996";color:#f0ac3c}.capsule-combo-down .b-font:before,.capsule-combo-down.disabled .b-font:before{content:"\e6d7";color:inherit}.change-data-font .b-font:before,.change-data-font.disabled .b-font:before{content:"\e703";color:inherit}.fdi-data-group-table-field{-webkit-user-select:none;-moz-user-select:none;user-select:none}.fdi-data-group-table-field .select-fields-label{font-size:12px}.group-select-fields-item-button.active.string-field-font,.group-select-fields-item-button:active.string-field-font{background-color:#afc6e8}.group-select-fields-item-button.active.number-field-font,.group-select-fields-item-button:active.number-field-font{background-color:#afdfda}.group-select-fields-item-button.active.date-field-font,.group-select-fields-item-button:active.date-field-font{background-color:rgba(250,170,57,.4)}.group-select-fields-item-button:hover:not(.active).string-field-font{background-color:rgba(175,198,232,.14901960784313725)}.group-select-fields-item-button:hover:not(.active).number-field-font{background-color:rgba(175,223,218,.14901960784313725)}.group-select-fields-item-button:hover:not(.active).date-field-font{background-color:rgba(250,170,57,.050980392156862744)}.fdi-helper{background-color:rgba(54,133,242,.4);font-size:13px;opacity:.7;border-radius:2px}.fdi-helper.dragging-modify{background:none}.fdi-helper.dragging-modify .helper-warning{border:1px solid #e65251;border-radius:2px}.bi-field-drag-helper{font-size:13px}.bi-field-drag-helper.string-field-helper{box-shadow:1px 1px 2px 0 rgba(0,0,0,.10196078431372549);background-color:rgba(175,198,232,.2)}.bi-field-drag-helper.number-field-helper{box-shadow:1px 1px 2px 0 rgba(0,0,0,.10196078431372549);background-color:rgba(175,223,218,.2)}.bi-field-drag-helper.date-field-helper{box-shadow:1px 1px 2px 0 rgba(0,0,0,.10196078431372549);background-color:rgba(250,170,57,.2)}.fdi-string-region{max-height:50%}.fdi-string-region .bi-region-comment,.fdi-string-region .bi-region-nav .bi-region-north-title{font-size:12px}.fdi-string-region .region-content-analysis{min-height:34px;max-height:90%}.bi-string-dimension-container{background-color:#afc6e8;min-width:50px}.bi-data-dimension-container{background-color:rgba(250,170,57,.4);min-width:50px}.bi-number-dimension-container{background-color:#afdfda;min-width:50px}.fdi-data-group-dimension .tip-name{color:rgba(61,77,102,.6);min-width:30px;max-width:80px}.fdi-data-group-dimension .tip-name.marked-red{color:#e65251}.fdi-data-group-dimension .dimension-down-list-combo:not(.bi-combo-popup){visibility:hidden}.fdi-data-group-dimension:hover .dimension-down-list-combo{visibility:visible}.target-capsule-background{background-color:#afdfda}.dimension-capsule-background{background-color:#afc6e8}.target-capsule-helper,.target-capsule-helper.bi-helper{background-color:rgba(175,223,218,.5);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#80afdfda,endColorstr=#80afdfda);border:1px solid #afdfda;box-shadow:1px 1px 2px 0 rgba(0,0,0,.10196078431372549)}.dimension-capsule-helper,.dimension-capsule-helper.bi-helper{background-color:rgba(175,198,232,.5);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#80afc6e8,endColorstr=#80afc6e8);border:1px solid rgba(69,99,161,.4);box-shadow:1px 1px 2px 0 rgba(0,0,0,.10196078431372549)}.bi-capsule-border{border-top-left-radius:6px;border-bottom-right-radius:6px}.field-helper-warning{border:1px solid #e65251;border-top-left-radius:6px;border-bottom-right-radius:6px}.bi-capsule-replace-border{box-sizing:border-box;border:1px solid rgba(35,46,64,.4)}.fdi-component-custom-group-number-auto .group-count-success{color:#13cd66}.fdi-component-custom-group-number-auto .group-count-failure{color:#e65251}.fdi-component-custom-group-number-item .gray-close-font:not(.bi-combo-popup){visibility:hidden}.fdi-component-custom-group-number-item:hover .gray-close-font{visibility:visible}.fdi-component-custom-group-number-item .error-tip{background:#ffecec;color:#e65251}.bi-theme-dark .bi-component-custom-group-number-item .error-tip{background:#3a2940}.fdi-components-rename-editor .shelter-editor-text{min-width:30px;max-width:125px}.fdi-component-custom-group-string-group-item .left-text-max-width{max-width:470px}.fdi-component-custom-group-string-group-item .left-text-proportion-width{max-width:274px}.fdi-component-custom-group-string-group-item .right-text-proportion-width{max-width:196px}.bi-component-custom-group-string-group-expander .delete-combo:not(.bi-combo-popup){visibility:hidden}.bi-component-custom-group-string-group-expander:hover .delete-combo{visibility:visible}.bi-component-custom-group-string-group-expander .readonly .delete-combo{visibility:hidden}.bi-component-custom-group-string-group-expander.bi-expander-popup{background-color:#f8f9fc}.bi-component-custom-group-string-group-expander .string-group-expander-node:active,.bi-component-custom-group-string-group-expander .string-group-expander-node:hover{background-color:#e5efff}.bi-custom-group-string .custom-group-editor{border-radius:2px}.bi-custom-group-string .custom-searcher{z-index:1}
\ No newline at end of file
diff --git a/designer-base/src/main/resources/com/fr/design/data/tabledata/datacenter/web/data-choose.main.js b/designer-base/src/main/resources/com/fr/design/data/tabledata/datacenter/web/data-choose.main.js
index 811a1a3d67..610addc57f 100644
--- a/designer-base/src/main/resources/com/fr/design/data/tabledata/datacenter/web/data-choose.main.js
+++ b/designer-base/src/main/resources/com/fr/design/data/tabledata/datacenter/web/data-choose.main.js
@@ -1,5 +1,5 @@
-(function(mv){typeof define=="function"&&define.amd?define(mv):mv()})(function(){"use strict";var mv=document.createElement("style");mv.textContent=`:root{--fd-color-brand-1:#e6f8f5;--fd-color-brand-2:#b3eae0;--fd-color-brand-3:#99e3d6;--fd-color-brand-4:#80dccc;--fd-color-brand-5:#4dcdb8;--fd-color-brand-6:#00B899;--fd-color-brand-7:#00937a;--fd-color-brand-8:#006e5c;--fd-color-brand-9:#004a3d;--fd-color-brand-10:#00372e;--fd-color-error-1:#fdeeee;--fd-color-error-2:#f9cbcb;--fd-color-error-3:#f7b9b9;--fd-color-error-4:#f5a8a8;--fd-color-error-5:#f18585;--fd-color-error-6:#EB5050;--fd-color-error-7:#bc4040;--fd-color-error-8:#8d3030;--fd-color-error-9:#5e2020;--fd-color-error-10:#471818;--fd-color-warning-1:#fef6e6;--fd-color-warning-2:#fbe5b3;--fd-color-warning-3:#f9dc99;--fd-color-warning-4:#f8d480;--fd-color-warning-5:#f5c24d;--fd-color-warning-6:#F0A800;--fd-color-warning-7:#c08600;--fd-color-warning-8:#906500;--fd-color-warning-9:#604300;--fd-color-warning-10:#483200;--fd-color-success-1:#edf9f1;--fd-color-success-2:#c8edd4;--fd-color-success-3:#b5e7c5;--fd-color-success-4:#a3e1b7;--fd-color-success-5:#7ed49a;--fd-color-success-6:#46C26F;--fd-color-success-7:#389b59;--fd-color-success-8:#2a7443;--fd-color-success-9:#1c4e2c;--fd-color-success-10:#153a21;--fd-color-info-1:#eaf2fd;--fd-color-info-2:#c1d8f9;--fd-color-info-3:#accbf7;--fd-color-info-4:#97bef5;--fd-color-info-5:#6da4f1;--fd-color-info-6:#2F7DEB;--fd-color-info-7:#2664bc;--fd-color-info-8:#1c4b8d;--fd-color-info-9:#13325e;--fd-color-info-10:#0e2647;--fd-color-grey-1:#FFFFFF;--fd-color-grey-2:#F5F6F8;--fd-color-grey-3:#F0F1F4;--fd-color-grey-4:#EDEFF3;--fd-color-grey-5:#E6E8ED;--fd-color-grey-6:#EBECEE;--fd-color-grey-7:#E1E3E5;--fd-color-grey-8:#D7D9DC;--fd-color-grey-9:#B5B8BE;--fd-color-grey-10:#838892;--fd-color-grey-11:#525967;--fd-color-grey-12:#141E31;--fd-color-grey-13:#000000;--fd-color-transparent-1:#000000;--fd-color-transparent-2:rgba(0, 10, 31, .92);--fd-color-transparent-3:rgba(1, 11, 31, .68);--fd-color-transparent-4:rgba(2, 12, 33, .49);--fd-color-transparent-5:rgba(0, 10, 31, .29);--fd-color-transparent-6:rgba(5, 18, 36, .16);--fd-color-transparent-7:rgba(5, 22, 38, .12);--fd-color-transparent-8:rgba(5, 17, 42, .08);--fd-color-transparent-9:rgba(5, 25, 75, .1);--fd-color-transparent-10:rgba(30, 55, 105, .08);--fd-color-transparent-11:rgba(5, 22, 72, .06);--fd-color-transparent-12:rgba(5, 30, 80, .04);--fd-color-transparent-13:transparent;--fd-border-radius-xs:2px;--fd-border-radius-sm:3px;--fd-border-radius:4px;--fd-border-radius-lg:6px;--fd-border-radius-xl:8px;--fd-gap-xs:2px;--fd-gap-sm:4px;--fd-gap:8px;--fd-gap-lg:10px;--fd-gap-xl:12px;--fd-gap-2xl:16px;--fd-gap-3xl:20px;--fd-gap-4xl:24px;--fd-gap-5xl:24px;--fd-padding-layout-3xs:2px;--fd-padding-layout-2xs:4px;--fd-padding-layout-xs:8px;--fd-padding-layout-sm:12px;--fd-padding-layout:16px;--fd-padding-layout-lg:20px;--fd-padding-layout-xl:24px;--fd-padding-layout-2xl:32px;--fd-padding-layout-3xl:48px;--fd-padding-zero:0;--fd-padding-2xs:2px;--fd-padding-xs:4px;--fd-padding-sm:6px;--fd-padding:8px;--fd-padding-lg:12px;--fd-padding-xl:16px;--fd-padding-2xl:20px;--fd-padding-3xl:24px;--fd-padding-4xl:32px;--fd-control-height-xs:16px;--fd-control-height-sm:24px;--fd-control-height:32px;--fd-control-height-lg:40px;--fd-font-size-sm:12px;--fd-font-size:14px;--fd-font-size-lg:16px;--fd-font-size-xl:18px;--fd-font-size-2xl:20px;--fd-font-size-heading-1:38px;--fd-font-size-heading-2:30px;--fd-font-size-heading-3:24px;--fd-font-size-heading-4:20px;--fd-font-size-heading-5:16px;--fd-control-item-font-weight-active:400;--fd-icon-size-2sm:12px;--fd-icon-size-sm:14px;--fd-icon-size:16px;--fd-icon-size-lg:18px;--fd-line-height-sm:20px;--fd-line-height:22px;--fd-line-height-lg:24px;--fd-line-height-xl:26px;--fd-line-height-2xl:28px;--fd-line-height-heading-1:46px;--fd-line-height-heading-2:38px;--fd-line-height-heading-3:32px;--fd-line-height-heading-4:28px;--fd-line-height-heading-5:24px;--fd-line-width:1px;--fd-line-width-bold:2px;--fd-line-width-focus:4px;--fd-control-outline-width:2px;--fd-color-primary:var(--fd-color-brand-6);--fd-color-primary-active:var(--fd-color-brand-7);--fd-color-primary-hover:var(--fd-color-brand-5);--fd-color-primary-bg:var(--fd-color-brand-1);--fd-color-primary-bg-active:var(--fd-color-brand-3);--fd-color-primary-bg-hover:var(--fd-color-brand-2);--fd-color-primary-border:var(--fd-color-brand-3);--fd-color-primary-border-hover:var(--fd-color-brand-4);--fd-color-primary-text:var(--fd-color-brand-6);--fd-color-primary-text-active:var(--fd-color-brand-7);--fd-color-primary-text-hover:var(--fd-color-brand-5);--fd-color-link:var(--fd-color-brand-6);--fd-color-link-active:var(--fd-color-brand-7);--fd-color-link-hover:var(--fd-color-brand-4);--fd-color-control-outline:rgba(0, 184, 153, .1);--fd-color-info:var(--fd-color-info-6);--fd-color-info-active:var(--fd-color-info-7);--fd-color-info-hover:var(--fd-color-info-4);--fd-color-info-bg:var(--fd-color-info-1);--fd-color-info-bg-hover:var(--fd-color-info-2);--fd-color-info-border:var(--fd-color-info-3);--fd-color-info-border-hover:var(--fd-color-info-4);--fd-color-info-text:var(--fd-color-info-6);--fd-color-info-text-active:var(--fd-color-info-7);--fd-color-info-text-hover:var(--fd-color-info-5);--fd-color-success:var(--fd-color-success-6);--fd-color-success-active:var(--fd-color-success-7);--fd-color-success-hover:var(--fd-color-success-4);--fd-color-success-bg:var(--fd-color-success-1);--fd-color-success-bg-hover:var(--fd-color-success-2);--fd-color-success-border:var(--fd-color-success-3);--fd-color-success-border-hover:var(--fd-color-success-4);--fd-color-success-text:var(--fd-color-success-6);--fd-color-success-text-active:var(--fd-color-success-7);--fd-color-success-text-hover:var(--fd-color-success-5);--fd-color-warning:var(--fd-color-warning-6);--fd-color-warning-active:var(--fd-color-warning-7);--fd-color-warning-hover:var(--fd-color-warning-4);--fd-color-warning-bg:var(--fd-color-warning-1);--fd-color-warning-bg-hover:var(--fd-color-warning-2);--fd-color-warning-border:var(--fd-color-warning-3);--fd-color-warning-border-hover:var(--fd-color-warning-4);--fd-color-warning-text:var(--fd-color-warning-6);--fd-color-warning-text-active:var(--fd-color-warning-7);--fd-color-warning-text-hover:var(--fd-color-warning-5);--fd-color-warning-outline:rgba(240, 168, 0, .1);--fd-color-error:var(--fd-color-error-6);--fd-color-error-active:var(--fd-color-error-7);--fd-color-error-hover:var(--fd-color-error-5);--fd-color-error-bg:var(--fd-color-error-1);--fd-color-error-bg-hover:var(--fd-color-error-2);--fd-color-error-bg-active:var(--fd-color-error-3);--fd-color-error-border:var(--fd-color-error-3);--fd-color-error-border-hover:var(--fd-color-error-4);--fd-color-error-text:var(--fd-color-error-6);--fd-color-error-text-active:var(--fd-color-error-7);--fd-color-error-text-hover:var(--fd-color-error-5);--fd-color-error-outline:rgba(235, 80, 80, .06);--fd-color-white:#FFFFFF;--fd-color-black:#000000;--fd-color-transparent:var(--fd-color-transparent-13);--fd-color-text:var(--fd-color-transparent-2);--fd-color-text-secondary:var(--fd-color-transparent-3);--fd-color-text-tertiary:var(--fd-color-transparent-4);--fd-color-text-quaternary:var(--fd-color-transparent-5);--fd-color-text-placeholder:var(--fd-color-text-quaternary);--fd-color-text-description:var(--fd-color-text-tertiary);--fd-color-text-disabled:var(--fd-color-text-quaternary);--fd-color-text-data-disabled:var(--fd-color-text-disabled);--fd-color-text-heading:var(--fd-color-text);--fd-color-text-light-solid:#FFFFFF;--fd-color-text-label:var(--fd-color-text-secondary);--fd-color-text-active:var(--fd-color-fill);--fd-color-fill:var(--fd-color-transparent-7);--fd-color-fill-secondary:var(--fd-color-transparent-9);--fd-color-fill-tertiary:var(--fd-color-transparent-11);--fd-color-fill-quaternary:var(--fd-color-transparent-12);--fd-color-bg-container:var(--fd-color-white);--fd-color-bg-container-disabled:var(--fd-color-fill-quaternary);--fd-color-bg-elevater:#FFFFFF;--fd-color-bg-spotilight:var(--fd-color-transparent-3);--fd-color-bg-mask:var(--fd-color-transparent-5);--fd-control-item-bg-hover:var(--fd-color-fill-tertiary);--fd-control-item-bg-active:var(--fd-color-primary-bg);--fd-control-item-bg-active-hover:var(--fd-color-primary-bg-hover);--fd-control-item-bg-active-disabled:var(--fd-color-fill);--fd-color-bg-text-hover:var(--fd-color-fill-secondary);--fd-color-bg-text-active:var(--fd-color-fill);--fd-color-fill-alter:var(--fd-color-fill-quaternary);--fd-color-fill-content:var(--fd-color-fill-secondary);--fd-color-icon:var(--fd-color-text-tertiary);--fd-color-icon-hover:var(--fd-color-text-secondary);--fd-color-icon-active:var(--fd-color-text);--fd-color-icon-normal:var(--fd-color-text-secondary);--fd-color-border:var(--fd-color-grey-5);--fd-color-border-secondary:var(--fd-color-grey-4);--fd-color-split:var(--fd-color-border-secondary);--fd-box-shadow:0 0 0 0 #000000,0 6px 30px 5px rgba(0, 0, 0, .05),0 16px 24px 2px rgba(0, 0, 0, .04),0 0 0 0 rgb(0, 0, 0);--fd-box-shadow-secondary:0 0 0 0 #000000,0 3px 14px 2px rgba(0, 0, 0, .05),0 6px 10px 1px rgba(0, 0, 0, .06),0 0 0 0 rgb(0, 0, 0);--fd-box-shadow-tertiary:0 0 0 0 #000000,0 2px 10px 0 rgba(0, 0, 0, .04),0 6px 10px 0 rgba(0, 0, 0, .06),0 0 0 0 rgb(0, 0, 0)}.fdi-list .x-list{border:none;border-radius:0}.fdi-global-adaptor .x-form>.x-form-item .form-item-label{font-weight:600}.fdi-global-adaptor .fdi-icon-extensible-input-popover .x-popover-wrapper{box-shadow:none}.fdi-global-adaptor .x-msg-toast-container{z-index:2000000!important}.fdi-global-adaptor .fdi-graph-node-collapse.x-collapse .x-collapse-item .x-collapse-header{padding-left:6px}.fdi-global-adaptor .fdi-graph-node-collapse.x-collapse .x-collapse-item .x-collapse-header .x-collapse-expand-icon{margin-right:2px}.fdi-global-adaptor .disable .fdi-icon{color:#091e4078!important}.fdi-global-adaptor .fdi-draggable-table.x-table tr.fdi-draggable-table-row td:first-child{height:0px;padding-top:0;padding-bottom:0}.fdi-global-adaptor .fdi-draggable-table.x-table tr.fdi-draggable-table-row td:first-child .fixed-width-cell-content{height:100%}.fdi-global-adaptor .fdi-component-list-item.selected td{background:transparent!important}.fdi-global-adaptor .fdi-multi-select-tag-box.x-select{width:100%}.fdi-global-adaptor .fdi-multi-select-tag-box.x-select .x-select-selector{padding-left:0;padding-right:26px}.fdi-global-adaptor .fdi-multi-select-tag-box.x-select .x-select-selector .x-select-selection-overflow{display:flex;overflow:auto;padding:2px;max-height:78px;gap:4px}.fdi-global-adaptor .x-skeleton-paragraph{padding:0}.fdi-global-adaptor.fdi-select-dropdown .x-search-input .search-prefix{margin-left:8px;margin-right:0}.fdi-global-adaptor.fdi-select-dropdown .x-search-input .input-wrapper .input-content input{padding-left:4px}.pane-expand-collapse-btn.collapse{visibility:visible}.fdi-tab{display:flex;height:100%;width:100%;flex-direction:column;width:0px;flex:1 1 0%}.fdi-tab.x-tab.horizontal-tab .tab-header{padding-left:4px;padding-right:4px}.fdi-tab.x-tab.size-large>.tab-header .tab-header-wrapper .tab-header-item{margin-left:4px;margin-right:4px}.fdi-tab.x-tab .tab-header .tab-header-wrapper .tab-header-item{font-weight:600;color:#091e40a8}.fdi-editable-tree-node{display:flex;width:100%;align-items:center;justify-content:space-between}.fdi-editable-tree-node-title{flex:1;width:0;font-size:12px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fdi-check-card{width:166px;height:158px;border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(230 233 239 / var(--tw-border-opacity));display:flex;cursor:pointer;flex-direction:column;border-radius:6px;padding:8px}.fdi-check-card:hover{--tw-shadow: 0px 4px 12px 0px rgba(9, 30, 64, .08);--tw-shadow-colored: 0px 4px 12px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.fdi-check-card-selected{border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(135 176 247 / var(--tw-border-opacity))}.fdi-check-card-selected:hover{--tw-border-opacity: 1;border-color:rgb(135 176 247 / var(--tw-border-opacity))}.fdi-check-card-head{display:flex;width:100%;align-items:center;gap:8px}.fdi-check-card-head-title{font-size:12px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#091e40e6}.fdi-check-card-without-title{width:166px;height:158px;border-width:1px;border-style:solid;border-color:transparent;position:relative;display:flex;cursor:pointer;flex-direction:column;border-radius:8px;padding:12px}.fdi-check-card-without-title:hover{border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(230 233 239 / var(--tw-border-opacity));--tw-shadow: 0px 4px 12px 0px rgba(9, 30, 64, .08);--tw-shadow-colored: 0px 4px 12px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.fdi-check-card-without-title-selected{border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(135 176 247 / var(--tw-border-opacity))}.fdi-check-card-without-title-selected:hover{--tw-border-opacity: 1;border-color:rgb(135 176 247 / var(--tw-border-opacity))}.fdi-check-card-without-title-checkbox{position:absolute;top:12px;left:12px}.fdi-check-card-view{display:flex;height:100%;width:100%;flex-direction:column;overflow:auto;padding-bottom:12px}.fdi-check-card-view-head{display:flex;width:100%;align-items:center;gap:8px;padding:8px 20px}.fdi-check-card-view-deal-bar{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;border-radius:6px;--tw-bg-opacity: 1;background-color:rgb(229 239 255 / var(--tw-bg-opacity));padding:8px 8px 8px 12px}.fdi-check-card-view-content{display:flex;flex-wrap:wrap;gap:16px;overflow:auto;padding-left:20px;padding-right:20px;padding-bottom:12px}.fdi-check-card-view-card:hover .fdi-check-card-group-card-button{visibility:visible}.fdi-check-card-view-card-container{display:flex;height:100%;width:100%;flex-direction:column;margin-top:16px;align-items:center}.fdi-check-card-view-card-img{height:70px;display:flex;width:100%;align-items:center;justify-content:center}.fdi-check-card-view-card-title{font-size:12px;line-height:20px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-all;text-align:center;color:#091e40e6}.fdi-indicator-card{position:relative}.fdi-indicator-card-background{border-radius:6px}.fdi-indicator-card-container{padding:14px 24px;position:absolute;top:0;display:flex;height:100%;width:100%;align-items:center;justify-content:space-between;gap:8px}.fdi-indicator-card-label{font-size:12px;line-height:20px}.fdi-indicator-card-label>span{font-weight:400}.fdi-exhibit-list-item{font-size:14px;line-height:22px;display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 12px}.fdi-exhibit-list-item-icon{margin:8px}.fdi-exhibit-list-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fdi-directory-tree-select .x-list-tree .tree-node .node-content-wrapper .node-content .node-title{width:0}.fdi-data-detail-pane{width:280px;padding-top:39px;position:relative;height:100%}.fdi-data-detail-pane-container{border-width:0px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(218 222 231 / var(--tw-border-opacity));display:flex;height:100%;width:100%;flex-direction:column;gap:16px;border-left-width:1px;border-top-width:1px}.fdi-import-list{width:280px;border-width:0px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(218 222 231 / var(--tw-border-opacity));border-right-width:1px;display:flex;height:100%;flex-direction:column;justify-content:space-between;padding:20px}.fdi-import-list-container{gap:4px;height:0px;flex:1 1 0%;display:flex;flex-direction:column;overflow:auto}.fdi-import-list-item{height:28px;min-height:28px;cursor:pointer;border-radius:.25rem}.fdi-import-list-item:hover{--tw-bg-opacity: 1;background-color:rgb(238 241 246 / var(--tw-bg-opacity))}.fdi-import-list-item:active{--tw-bg-opacity: 1;background-color:rgb(230 233 239 / var(--tw-bg-opacity))}.fdi-import-list-item.selected{--tw-bg-opacity: 1;background-color:rgb(229 239 255 / var(--tw-bg-opacity))}.fdi-import-list-item{display:flex;width:100%;align-items:center;justify-content:space-between;padding-left:8px;padding-right:8px}.fdi-import-list-item:hover .fdi-import-list-action-button{display:flex}.fdi-import-list-item.error{--tw-text-opacity: 1;color:rgb(230 82 81 / var(--tw-text-opacity))}.fdi-import-list-action-button{display:none;align-items:center}.x-ui-hidden{display:none!important}@keyframes x-fade-down{0%{opacity:0;transform:translate3d(0,-15%,0)}to{opacity:1;transform:translateZ(0)}}@keyframes x-fade-down-large{0%{opacity:0;transform:translate3d(0,-100%,0)}to{opacity:1;transform:translateZ(0)}}@keyframes x-fade-in-left{0%{opacity:0;transform:translate3d(-40%,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes x-fade-in-right{0%{opacity:0;transform:translate3d(40%,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes x-rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes x-slide-down{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:scaleY(1)}}@keyframes x-zoom-in{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes x-zoom-in-big{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes x-zoom-by-size{0%{margin:0;opacity:0;padding:0;transform:scale(.5);width:0}to{opacity:1;transform:scale(1)}}@keyframes x-move-left{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes x-move-left-small{0%{opacity:0;transform:translate(-3px)}to{opacity:1;transform:translate(0)}}@keyframes x-move-left-small-light{0%{opacity:0;transform:translate(-3px)}to{opacity:.7;transform:translate(0)}}@keyframes x-move-right{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes x-move-right-small{0%{opacity:0;transform:translate(3px)}to{opacity:1;transform:translate(0)}}@keyframes x-move-right-small-light{0%{opacity:0;transform:translate(3px)}to{opacity:.7;transform:translate(0)}}@keyframes x-move-bottom{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translate(0)}}@keyframes x-move-bottom-small{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translate(0)}}@keyframes x-move-bottom-small-light{0%{opacity:0;transform:translateY(3px)}to{opacity:.7;transform:translate(0)}}@keyframes x-move-top{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translate(0)}}@keyframes x-move-top-small{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translate(0)}}@keyframes x-move-top-small-light{0%{opacity:0;transform:translateY(-3px)}to{opacity:.7;transform:translate(0)}}@keyframes x-spin-icon-load{0%{stroke-dasharray:105;stroke-dashoffset:105}to{stroke-dasharray:105;stroke-dashoffset:315}}@keyframes x-spin-skeleton-load{0%{background-position:100% 0}to{background-position:0 0}}.x-button-css-var{--fd-button-margin-between:10px;--fd-button-height-text-lg:28px;--fd-button-height-text:24px;--fd-button-height-text-sm:20px;--fd-button-padding-text-xl:6px;--fd-button-padding-text:4px;--fd-button-text-hover-background:var(--fd-color-primary-bg);--fd-button-text-active-background:var(--fd-color-primary-bg);--fd-button-text-danger-hover-background:var(--fd-color-error-bg);--fd-button-text-danger-active-background:var(--fd-color-error-bg)}.x-check-css-var{--fd-check-default-padding:4px 0}.x-collapse-css-var{--fd-collapse-panel-padding:var(--fd-padding-xl);--fd-collapse-panel-padding-sm:var(--fd-padding-lg);--fd-collapse-panel-padding-lg:var(--fd-padding-3xl) var(--fd-padding-xl);--fd-collapse-panel-padding-no-border:var(--fd-padding-xs) var(--fd-padding-xl) var(--fd-padding-xl) 40px;--fd-collapse-panel-padding-no-border-sm:var(--fd-padding-xs) var(--fd-padding-lg) var(--fd-padding-lg) 36px;--fd-collapse-panel-padding-no-border-lg:var(--fd-padding-xs) var(--fd-padding-3xl) var(--fd-padding-3xl) 48px}.x-input-css-var{--fd-input-active-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-control-outline);--fd-input-error-active-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-error-outline);--fd-input-waring-active-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-warning-outline)}.x-input-number-css-var{--fd-input-number-active-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-control-outline)}.x-navigation-css-var{--fd-navigation-collapsed-width:calc(var(--fd-control-height-lg)*2)}.x-radio-css-var,.x-radio-group-css-var{--fd-radio-default-padding:4px 0}.x-tooltip-css-var{--fd-tooltip-padding-layout-xs:var(--fd-padding-layout-xs);--fd-tooltip-padding-layout-2xs:var(--fd-padding-layout-2xs)}.x-spin-css-var{--fd-spin-height:30px;--fd-spin-height-sm:16px;--fd-spin-height-lg:46px}.x-button{background:var(--fd-color-bg-container);border:1px solid;border-radius:var(--fd-border-radius);cursor:pointer;display:inline-block;font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:var(--fd-font-size);font-weight:400;outline:none;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;transition:box-shadow .3s ease,background .3s ease,border-color .3s ease,color .3s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.x-button+.x-button{margin-left:var(--fd-button-margin-between)}.x-button .x-button-icon-wrapper{align-items:center;display:inline-flex;margin-right:var(--fd-gap-sm)}.x-button .x-button-icon-wrapper .x-button-icon{line-height:1}.x-button .x-button-icon-wrapper .x-button-icon>*{vertical-align:bottom}.x-button .x-button-icon-wrapper:only-child{margin-right:0}.x-button.size-small{font-size:var(--fd-font-size-sm);height:var(--fd-control-height-sm);line-height:calc(var(--fd-control-height-sm) - 2px);padding:0 var(--fd-padding)}.x-button.size-small .x-button-icon{font-size:var(--fd-icon-size)}.x-button.size-middle,.x-button.size-normal{height:var(--fd-control-height);line-height:calc(var(--fd-control-height) - 2px);padding:0 var(--fd-padding-xl)}.x-button.size-middle .x-button-icon,.x-button.size-normal .x-button-icon{font-size:var(--fd-icon-size)}.x-button.size-large{font-size:var(--fd-font-size-lg);height:var(--fd-control-height-lg);line-height:calc(var(--fd-control-height-lg) - 2px);padding:0 var(--fd-padding-xl)}.x-button.size-large .x-button-icon{font-size:var(--fd-icon-size-lg)}.x-button.shape-round{border-radius:9999px}.x-button.shape-round.size-small{padding:0 var(--fd-padding-lg)}.x-button.shape-round.size-middle,.x-button.shape-round.size-normal{padding:0 var(--fd-padding-xl)}.x-button.shape-round.size-large{padding:0 var(--fd-padding-2xl)}.x-button.compact-middle,.x-button.compact-normal{height:var(--fd-button-height-text);line-height:calc(var(--fd-button-height-text) - 2px);padding:0 var(--fd-button-padding-text-xl)}.x-button.compact-small{height:var(--fd-button-height-text-sm);line-height:calc(var(--fd-button-height-text-sm) - 2px);padding:0 var(--fd-button-padding-text)}.x-button.compact-large{height:var(--fd-button-height-text-lg);line-height:calc(var(--fd-button-height-text-lg) - 2px);padding:0 var(--fd-button-padding-text-xl)}.x-button.is-only-icon{padding:var(--fd-padding-zero)!important;width:var(--fd-control-height)}.x-button.is-only-icon.size-small{width:var(--fd-control-height-sm)}.x-button.is-only-icon.size-large{width:var(--fd-control-height-lg)}.x-button.block{width:100%}.x-button.loading{cursor:default;opacity:.4}.x-button.disable{cursor:not-allowed}.x-button:focus-visible{outline:4px solid var(--fd-color-primary-border);outline-offset:1px;transition:outline-offset 0s,outline 0s}.x-button:active{transition:unset}.x-button.style-primary{background:var(--fd-color-primary);border-color:var(--fd-color-primary);color:var(--fd-color-text-light-solid)}.x-button.style-primary:hover{background:var(--fd-color-primary-hover);border-color:var(--fd-color-primary-hover);color:var(--fd-color-text-light-solid)}.x-button.style-primary.is-active,.x-button.style-primary:active{background:var(--fd-color-primary-text-active);border-color:var(--fd-color-primary-text-active);color:var(--fd-color-text-light-solid)}.x-button.style-primary.danger{background:var(--fd-color-error);border-color:var(--fd-color-error);color:var(--fd-color-text-light-solid)}.x-button.style-primary.danger:hover{background:var(--fd-color-error-hover);border-color:var(--fd-color-error-hover);color:var(--fd-color-text-light-solid)}.x-button.style-primary.danger.is-active,.x-button.style-primary.danger:active{background:var(--fd-color-error-active);border-color:var(--fd-color-error-active);color:var(--fd-color-text-light-solid)}.x-button.style-primary.loading{background:var(--fd-color-primary)!important;border-color:var(--fd-color-primary)!important;color:var(--fd-color-text-light-solid)!important}.x-button.style-primary.loading .loader-icon:before{border-color:var(--fd-color-text-light-solid)!important}.x-button.style-primary.loading .loader-icon:after{border-top-color:var(--fd-color-text-light-solid)!important}.x-button.style-primary.loading.danger:not(.disable){background:var(--fd-color-error)!important;border-color:var(--fd-color-error)!important;color:var(--fd-color-text-light-solid)!important}.x-button.style-primary.loading.danger:not(.disable) .loader-icon:before{border-color:var(--fd-color-text-light-solid)!important}.x-button.style-primary.loading.danger:not(.disable) .loader-icon:after{border-top-color:var(--fd-color-text-light-solid)!important}.x-button.style-primary.disable{background:var(--fd-color-bg-container-disabled)!important;border-color:var(--fd-color-border)!important;color:var(--fd-color-text-disabled)!important}.x-button.style-primary.disable .loader-icon:before{border-color:var(--fd-color-text-disabled)!important}.x-button.style-primary.disable .loader-icon:after{border-top-color:var(--fd-color-text-disabled)!important}.x-button.style-secondary{background:var(--fd-color-primary-bg);border-color:var(--fd-color-primary-bg);color:var(--fd-color-primary)}.x-button.style-secondary:hover{background:var(--fd-color-primary-bg-hover);border-color:var(--fd-color-primary-bg-hover);color:var(--fd-color-primary)}.x-button.style-secondary.is-active,.x-button.style-secondary:active{background:var(--fd-color-primary-bg-active);border-color:var(--fd-color-primary-bg-active);color:var(--fd-color-primary)}.x-button.style-secondary.danger{background:var(--fd-color-error-bg);border-color:var(--fd-color-error-bg);color:var(--fd-color-error)}.x-button.style-secondary.danger:hover{background:var(--fd-color-error-bg-hover);border-color:var(--fd-color-error-bg-hover);color:var(--fd-color-error)}.x-button.style-secondary.danger.is-active,.x-button.style-secondary.danger:active{background:var(--fd-color-error-bg-active);border-color:var(--fd-color-error-bg-active);color:var(--fd-color-error)}.x-button.style-secondary.loading{background:var(--fd-color-primary-bg)!important;border-color:var(--fd-color-primary-bg)!important;color:var(--fd-color-primary)!important}.x-button.style-secondary.loading .loader-icon:before{border-color:var(--fd-color-primary)!important}.x-button.style-secondary.loading .loader-icon:after{border-top-color:var(--fd-color-primary)!important}.x-button.style-secondary.loading.danger:not(.disable){background:var(--fd-color-error-bg)!important;border-color:var(--fd-color-error-bg)!important;color:var(--fd-color-error)!important}.x-button.style-secondary.loading.danger:not(.disable) .loader-icon:before{border-color:var(--fd-color-error)!important}.x-button.style-secondary.loading.danger:not(.disable) .loader-icon:after{border-top-color:var(--fd-color-error)!important}.x-button.style-secondary.disable{background:var(--fd-color-bg-container-disabled)!important;border-color:var(--fd-color-border)!important;color:var(--fd-color-text-disabled)!important}.x-button.style-secondary.disable .loader-icon:before{border-color:var(--fd-color-text-disabled)!important}.x-button.style-secondary.disable .loader-icon:after{border-top-color:var(--fd-color-text-disabled)!important}.x-button.style-normal{background:var(--fd-color-bg-container);border-color:var(--fd-color-primary);color:var(--fd-color-primary)}.x-button.style-normal:hover{background:var(--fd-color-primary-bg);border-color:var(--fd-color-primary-hover);color:var(--fd-color-primary-hover)}.x-button.style-normal.is-active,.x-button.style-normal:active{background:var(--fd-color-primary-bg);border-color:var(--fd-color-primary-active);color:var(--fd-color-primary-active)}.x-button.style-normal.danger{background:var(--fd-color-bg-container);border-color:var(--fd-color-error);color:var(--fd-color-error)}.x-button.style-normal.danger:hover{background:var(--fd-color-error-bg);border-color:var(--fd-color-error-border-hover);color:var(--fd-color-error-hover)}.x-button.style-normal.danger.is-active,.x-button.style-normal.danger:active{background:var(--fd-color-error-bg);border-color:var(--fd-color-error-active);color:var(--fd-color-error-active)}.x-button.style-normal.loading{background:var(--fd-color-bg-container)!important;color:var(--fd-color-primary)!important}.x-button.style-normal.loading,.x-button.style-normal.loading .loader-icon:before{border-color:var(--fd-color-primary)!important}.x-button.style-normal.loading .loader-icon:after{border-top-color:var(--fd-color-primary)!important}.x-button.style-normal.loading.danger:not(.disable){background:var(--fd-color-bg-container)!important;border-color:var(--fd-color-error)!important;color:var(--fd-color-error)!important}.x-button.style-normal.loading.danger:not(.disable) .loader-icon:before{border-color:var(--fd-color-error)!important}.x-button.style-normal.loading.danger:not(.disable) .loader-icon:after{border-top-color:var(--fd-color-error)!important}.x-button.style-normal.disable{background:var(--fd-color-bg-container-disabled)!important;border-color:var(--fd-color-border)!important;color:var(--fd-color-text-disabled)!important}.x-button.style-normal.disable .loader-icon:before{border-color:var(--fd-color-text-disabled)!important}.x-button.style-normal.disable .loader-icon:after{border-top-color:var(--fd-color-text-disabled)!important}.x-button.style-negative{background:var(--fd-color-bg-container);border-color:var(--fd-color-border);color:var(--fd-color-text)}.x-button.style-negative:not(:hover,:active,.is-active,.danger,.loading,.disable) .x-button-icon{color:var(--fd-color-icon-normal);transition:color .3s ease}.x-button.style-negative:hover{background:var(--fd-color-bg-container);border-color:var(--fd-color-primary-hover);color:var(--fd-color-primary-hover)}.x-button.style-negative.is-active,.x-button.style-negative:active{background:var(--fd-color-bg-container);border-color:var(--fd-color-primary-active);color:var(--fd-color-primary-active)}.x-button.style-negative.danger{background:var(--fd-color-bg-container);border-color:var(--fd-color-error);color:var(--fd-color-error)}.x-button.style-negative.danger:hover{background:var(--fd-color-bg-container);border-color:var(--fd-color-error-border-hover);color:var(--fd-color-error-hover)}.x-button.style-negative.danger.is-active,.x-button.style-negative.danger:active{background:var(--fd-color-bg-container);border-color:var(--fd-color-error-active);color:var(--fd-color-error-active)}.x-button.style-negative.loading{background:var(--fd-color-bg-container)!important;border-color:var(--fd-color-border)!important;color:var(--fd-color-text)!important}.x-button.style-negative.loading .loader-icon:before{border-color:var(--fd-color-text)!important}.x-button.style-negative.loading .loader-icon:after{border-top-color:var(--fd-color-text)!important}.x-button.style-negative.loading.danger:not(.disable){background:var(--fd-color-bg-container)!important;border-color:var(--fd-color-error)!important;color:var(--fd-color-error)!important}.x-button.style-negative.loading.danger:not(.disable) .loader-icon:before{border-color:var(--fd-color-error)!important}.x-button.style-negative.loading.danger:not(.disable) .loader-icon:after{border-top-color:var(--fd-color-error)!important}.x-button.style-negative.disable{background:var(--fd-color-bg-container-disabled)!important;border-color:var(--fd-color-border)!important;color:var(--fd-color-text-disabled)!important}.x-button.style-negative.disable .loader-icon:before{border-color:var(--fd-color-text-disabled)!important}.x-button.style-negative.disable .loader-icon:after{border-top-color:var(--fd-color-text-disabled)!important}.x-button.style-link{color:var(--fd-color-link);outline:none;padding:0 var(--fd-padding-zero)!important;text-decoration:underline}.x-button.style-link,.x-button.style-link:hover{background:var(--fd-color-transparent);border-color:var(--fd-color-transparent)}.x-button.style-link:hover{color:var(--fd-color-link-hover)}.x-button.style-link.is-active,.x-button.style-link:active{background:var(--fd-color-transparent);border-color:var(--fd-color-transparent);color:var(--fd-color-link-active)}.x-button.style-link.danger{color:var(--fd-color-error)}.x-button.style-link.danger,.x-button.style-link.danger:hover{background:var(--fd-color-transparent);border-color:var(--fd-color-transparent)}.x-button.style-link.danger:hover{color:var(--fd-color-error-hover)}.x-button.style-link.danger.is-active,.x-button.style-link.danger:active{background:var(--fd-color-transparent);border-color:var(--fd-color-transparent);color:var(--fd-color-error-active)}.x-button.style-link.loading{background:var(--fd-color-transparent)!important;border-color:var(--fd-color-transparent)!important;color:var(--fd-color-link)!important}.x-button.style-link.loading .loader-icon:before{border-color:var(--fd-color-link)!important}.x-button.style-link.loading .loader-icon:after{border-top-color:var(--fd-color-link)!important}.x-button.style-link.loading.danger:not(.disable){background:var(--fd-color-transparent)!important;border-color:var(--fd-color-transparent)!important;color:var(--fd-color-error)!important}.x-button.style-link.loading.danger:not(.disable) .loader-icon:before{border-color:var(--fd-color-error)!important}.x-button.style-link.loading.danger:not(.disable) .loader-icon:after{border-top-color:var(--fd-color-error)!important}.x-button.style-link.disable{background:var(--fd-color-transparent)!important;border-color:var(--fd-color-transparent)!important;color:var(--fd-color-text-disabled)!important}.x-button.style-link.disable .loader-icon:before{border-color:var(--fd-color-text-disabled)!important}.x-button.style-link.disable .loader-icon:after{border-top-color:var(--fd-color-text-disabled)!important}.x-button.style-text{background:var(--fd-color-transparent);border-color:var(--fd-color-transparent);color:var(--fd-color-primary)}.x-button.style-text:hover{background:var(--fd-button-text-hover-background);border-color:var(--fd-color-transparent);color:var(--fd-color-primary-hover)}.x-button.style-text.is-active,.x-button.style-text:active{background:var(--fd-button-text-active-background);border-color:var(--fd-color-transparent);color:var(--fd-color-primary-active)}.x-button.style-text.danger{background:var(--fd-color-transparent);border-color:var(--fd-color-transparent);color:var(--fd-color-error)}.x-button.style-text.danger:hover{background:var(--fd-button-text-danger-hover-background);border-color:var(--fd-color-transparent);color:var(--fd-color-error-hover)}.x-button.style-text.danger.is-active,.x-button.style-text.danger:active{background:var(--fd-button-text-danger-active-background);border-color:var(--fd-color-transparent);color:var(--fd-color-error-active)}.x-button.style-text.loading{background:var(--fd-color-transparent)!important;border-color:var(--fd-color-transparent)!important;color:var(--fd-color-primary)!important}.x-button.style-text.loading .loader-icon:before{border-color:var(--fd-color-primary)!important}.x-button.style-text.loading .loader-icon:after{border-top-color:var(--fd-color-primary)!important}.x-button.style-text.loading.danger:not(.disable){background:var(--fd-color-transparent)!important;border-color:var(--fd-color-transparent)!important;color:var(--fd-color-error)!important}.x-button.style-text.loading.danger:not(.disable) .loader-icon:before{border-color:var(--fd-color-error)!important}.x-button.style-text.loading.danger:not(.disable) .loader-icon:after{border-top-color:var(--fd-color-error)!important}.x-button.style-text.disable{background:var(--fd-color-transparent)!important;border-color:var(--fd-color-transparent)!important;color:var(--fd-color-text-disabled)!important}.x-button.style-text.disable .loader-icon:before{border-color:var(--fd-color-text-disabled)!important}.x-button.style-text.disable .loader-icon:after{border-top-color:var(--fd-color-text-disabled)!important}.x-button.style-text-normal{background:var(--fd-color-transparent);border-color:var(--fd-color-transparent);color:var(--fd-color-text)}.x-button.style-text-normal:not(:hover,:active,.is-active,.danger,.loading,.disable) .x-button-icon{color:var(--fd-color-icon-normal);transition:color .3s ease}.x-button.style-text-normal:hover{background:var(--fd-color-bg-text-hover);border-color:var(--fd-color-transparent);color:var(--fd-color-text)}.x-button.style-text-normal.is-active,.x-button.style-text-normal:active{background:var(--fd-color-bg-text-active);border-color:var(--fd-color-transparent);color:var(--fd-color-text)}.x-button.style-text-normal.danger{background:var(--fd-color-transparent);border-color:var(--fd-color-transparent);color:var(--fd-color-error)}.x-button.style-text-normal.danger:hover{background:var(--fd-color-error-bg);border-color:var(--fd-color-error-bg);color:var(--fd-color-error-hover)}.x-button.style-text-normal.danger.is-active,.x-button.style-text-normal.danger:active{background:var(--fd-color-error-bg);border-color:var(--fd-color-error-bg);color:var(--fd-color-error-active)}.x-button.style-text-normal.loading{background:var(--fd-color-transparent)!important;border-color:var(--fd-color-transparent)!important;color:var(--fd-color-text)!important}.x-button.style-text-normal.loading .loader-icon:before{border-color:var(--fd-color-text)!important}.x-button.style-text-normal.loading .loader-icon:after{border-top-color:var(--fd-color-text)!important}.x-button.style-text-normal.loading.danger:not(.disable){background:var(--fd-color-transparent)!important;border-color:var(--fd-color-transparent)!important;color:var(--fd-color-error)!important}.x-button.style-text-normal.loading.danger:not(.disable) .loader-icon:before{border-color:var(--fd-color-error)!important}.x-button.style-text-normal.loading.danger:not(.disable) .loader-icon:after{border-top-color:var(--fd-color-error)!important}.x-button.style-text-normal.disable{background:var(--fd-color-transparent)!important;border-color:var(--fd-color-transparent)!important;color:var(--fd-color-text-disabled)!important}.x-button.style-text-normal.disable .loader-icon:before{border-color:var(--fd-color-text)!important}.x-button.style-text-normal.disable .loader-icon:after{border-top-color:var(--fd-color-text)!important}.x-button .loader-icon{background:transparent;display:inline-block;height:1em;position:relative;width:1em}.x-button .loader-icon:before{opacity:.2}.x-button .loader-icon:after,.x-button .loader-icon:before{border:2px solid transparent;border-radius:50%;content:"";inset:0;position:absolute}.x-button .loader-icon:after{animation:x-rotate 1s cubic-bezier(.43,.1,.54,.85) infinite}.x-button-group{display:inline-block}.x-button-group .x-button{margin:0!important;vertical-align:middle}.x-button-group .x-button.is-active,.x-button-group .x-button:active,.x-button-group .x-button:focus,.x-button-group .x-button:hover{z-index:2}.x-button-group .x-button.disable{z-index:auto}.x-button-group .x-button:not(:first-child).style-primary{border-left:1px solid var(--fd-color-text-light-solid)}.x-button-group .x-button:not(:first-child).style-secondary{border-left:1px solid var(--fd-color-primary-border)}.x-button-group .x-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px!important}.x-button-group .x-button:not(:last-child).style-primary{border-right:1px solid var(--fd-color-text-light-solid)}.x-button-group .x-button:not(:last-child).style-secondary{border-right:1px solid var(--fd-color-primary-border)}.x-button-group .x-button+.x-button{border-bottom-left-radius:0;border-top-left-radius:0}.x-input{height:var(--fd-control-height);line-height:calc(var(--fd-control-height) - 2px);width:150px}.x-input .input-inner{font-size:var(--fd-font-size);line-height:var(--fd-line-height);padding:0 var(--fd-padding)}.x-input.large{height:var(--fd-control-height-lg);line-height:calc(var(--fd-control-height-lg) - 2px)}.x-input.large .input-inner{font-size:var(--fd-font-size-lg);line-height:var(--fd-line-height-lg);padding:0 var(--fd-padding)}.x-input.small{height:var(--fd-control-height-sm);line-height:calc(var(--fd-control-height-sm) - 2px)}.x-input.small .input-inner{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);padding:0 var(--fd-padding-xs)}.x-input.has-after-addon,.x-input.has-before-addon{align-items:center;display:flex}.x-input.has-after-addon .x-after-addon>.x-svgicon,.x-input.has-after-addon .x-before-addon>.x-svgicon,.x-input.has-before-addon .x-after-addon>.x-svgicon,.x-input.has-before-addon .x-before-addon>.x-svgicon{border:1px solid var(--fd-color-border);border-bottom-left-radius:var(--fd-border-radius);border-top-left-radius:var(--fd-border-radius);color:var(--fd-color-icon-normal);height:var(--fd-control-height);padding:0 var(--fd-padding)}.x-input.has-after-addon .x-before-addon,.x-input.has-before-addon .x-before-addon{flex:none}.x-input.has-after-addon .x-before-addon>:first-child,.x-input.has-after-addon .x-before-addon>:first-child .x-combo-dropdown-label,.x-input.has-before-addon .x-before-addon>:first-child,.x-input.has-before-addon .x-before-addon>:first-child .x-combo-dropdown-label{border-bottom-right-radius:0;border-right:none;border-top-right-radius:0}.x-input.has-after-addon .x-inner-wrapper,.x-input.has-before-addon .x-inner-wrapper{flex:auto}.x-input.has-after-addon .x-after-addon,.x-input.has-before-addon .x-after-addon{flex:none}.x-input.has-after-addon .x-after-addon>:last-child,.x-input.has-after-addon .x-after-addon>:last-child .x-combo-dropdown-label,.x-input.has-before-addon .x-after-addon>:last-child,.x-input.has-before-addon .x-after-addon>:last-child .x-combo-dropdown-label{border-bottom-left-radius:0;border-left:none;border-top-left-radius:0}.x-input.has-before-addon .x-inner-wrapper{border-bottom-left-radius:0;border-top-left-radius:0}.x-input.has-after-addon .x-inner-wrapper{border-bottom-right-radius:0;border-top-right-radius:0}.x-input.allow-clear .x-inner-wrapper{align-items:center;display:flex}.x-input.allow-clear.has-suffix .x-inner-wrapper .input-inner{padding-right:60px}.x-textarea{height:80px;width:252px}.x-textarea.textarea-rows{height:auto}.x-textarea .textarea-inner{font-size:var(--fd-font-size);line-height:var(--fd-line-height);overflow:auto}.x-resize-textarea,.x-textarea .x-inner-wrapper .input-inner,.x-textarea .x-inner-wrapper .textarea-inner{padding:var(--fd-padding-xs) var(--fd-padding);vertical-align:top}.x-resize-textarea{background-color:var(--fd-color-bg-container);border:1px solid var(--fd-color-border);border-radius:var(--fd-border-radius);color:var(--fd-color-text);font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:var(--fd-font-size);font-variant-numeric:tabular-nums;line-height:var(--fd-line-height);outline:none;resize:none;transition:border-color .2s;width:252px}.x-resize-textarea *,.x-resize-textarea :after,.x-resize-textarea :before{box-sizing:border-box}.x-resize-textarea::-moz-placeholder{color:var(--fd-color-text-placeholder)!important}.x-resize-textarea:-ms-input-placeholder{color:var(--fd-color-text-placeholder)!important}.x-resize-textarea::placeholder{color:var(--fd-color-text-placeholder)!important}.x-resize-textarea:hover{border-color:var(--fd-color-primary-hover)}.x-resize-textarea.block{width:100%}.x-resize-textarea.textarea-disable{background:var(--fd-color-bg-container-disabled);border-color:var(--fd-color-border)}.x-resize-textarea.textarea-disable .textarea-inner{color:var(--fd-color-text)}.x-resize-textarea.textarea-disable:hover{background:var(--fd-color-bg-container-disabled);border-color:var(--fd-color-border)}.x-resize-textarea.textarea-disable:hover .textarea-inner{color:var(--fd-color-text)}.x-resize-textarea.textarea-focus{border-color:var(--fd-color-primary)!important;box-shadow:var(--fd-input-active-shadow)}.x-resize-textarea.textarea-error,.x-resize-textarea.textarea-invalid{border-color:var(--fd-color-error)}.x-resize-textarea.textarea-normal{border-color:var(--fd-color-border)}.x-resize-textarea.textarea-warning{border-color:var(--fd-color-warning)}.x-resize-textarea.textarea-readonly{border-color:var(--fd-color-border)}.x-input *,.x-input :after,.x-input :before,.x-textarea *,.x-textarea :after,.x-textarea :before{box-sizing:border-box}.x-input input,.x-input textarea,.x-textarea input,.x-textarea textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variant-numeric:tabular-nums;margin:0;outline:none}.x-input input::-moz-placeholder,.x-input textarea::-moz-placeholder,.x-textarea input::-moz-placeholder,.x-textarea textarea::-moz-placeholder{opacity:1}.x-input input:-ms-input-placeholder,.x-input textarea:-ms-input-placeholder,.x-textarea input:-ms-input-placeholder,.x-textarea textarea:-ms-input-placeholder{opacity:1}.x-input input::placeholder,.x-input textarea::placeholder,.x-textarea input::placeholder,.x-textarea textarea::placeholder{opacity:1}.x-input input::-ms-clear,.x-input input::-ms-reveal,.x-textarea input::-ms-clear,.x-textarea input::-ms-reveal{display:none}.x-input input[type=number],.x-textarea input[type=number]{-moz-appearance:textfield}.x-input input[type=number]::-webkit-inner-spin-button,.x-input input[type=number]::-webkit-outer-spin-button,.x-textarea input[type=number]::-webkit-inner-spin-button,.x-textarea input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.x-input.block,.x-textarea.block{width:100%}.x-input .x-inner-wrapper,.x-textarea .x-inner-wrapper{background-color:var(--fd-color-bg-container);border-radius:var(--fd-border-radius);height:100%;overflow:hidden;position:relative}.x-input .x-inner-wrapper:not(.wrapper-borderless),.x-textarea .x-inner-wrapper:not(.wrapper-borderless){border:1px solid var(--fd-color-border);transition:border-color .2s}.x-input .x-inner-wrapper:not(.wrapper-borderless):hover,.x-textarea .x-inner-wrapper:not(.wrapper-borderless):hover{border-color:var(--fd-color-primary-hover)}.x-input .x-inner-wrapper .clear-icon,.x-textarea .x-inner-wrapper .clear-icon{color:var(--fd-color-icon);font-size:16px;position:absolute;right:10px}.x-input .x-inner-wrapper .clear-icon:not(:last-child),.x-textarea .x-inner-wrapper .clear-icon:not(:last-child){right:40px}.x-input .x-inner-wrapper .clear-icon:hover,.x-textarea .x-inner-wrapper .clear-icon:hover{color:var(--fd-color-icon-hover);cursor:pointer}.x-input .x-inner-wrapper .x-prefix,.x-input .x-inner-wrapper .x-suffix,.x-textarea .x-inner-wrapper .x-prefix,.x-textarea .x-inner-wrapper .x-suffix{color:var(--fd-color-icon-normal);position:absolute;top:50%;transform:translateY(-50%)}.x-input .x-inner-wrapper .x-prefix>i,.x-input .x-inner-wrapper .x-suffix>i,.x-textarea .x-inner-wrapper .x-prefix>i,.x-textarea .x-inner-wrapper .x-suffix>i{font-size:var(--fd-font-size-lg)}.x-input .x-inner-wrapper .x-prefix,.x-textarea .x-inner-wrapper .x-prefix{left:10px}.x-input .x-inner-wrapper .x-suffix,.x-textarea .x-inner-wrapper .x-suffix{right:10px}.x-input .x-inner-wrapper .input-inner,.x-input .x-inner-wrapper .textarea-inner,.x-textarea .x-inner-wrapper .input-inner,.x-textarea .x-inner-wrapper .textarea-inner{background:transparent;border:none;color:var(--fd-color-text);height:100%;width:100%}.x-input .x-inner-wrapper .input-inner::-moz-placeholder,.x-input .x-inner-wrapper .textarea-inner::-moz-placeholder,.x-textarea .x-inner-wrapper .input-inner::-moz-placeholder,.x-textarea .x-inner-wrapper .textarea-inner::-moz-placeholder{color:var(--fd-color-text-placeholder)!important}.x-input .x-inner-wrapper .input-inner:-ms-input-placeholder,.x-input .x-inner-wrapper .textarea-inner:-ms-input-placeholder,.x-textarea .x-inner-wrapper .input-inner:-ms-input-placeholder,.x-textarea .x-inner-wrapper .textarea-inner:-ms-input-placeholder{color:var(--fd-color-text-placeholder)!important}.x-input .x-inner-wrapper .input-inner::placeholder,.x-input .x-inner-wrapper .textarea-inner::placeholder,.x-textarea .x-inner-wrapper .input-inner::placeholder,.x-textarea .x-inner-wrapper .textarea-inner::placeholder{color:var(--fd-color-text-placeholder)!important}.x-input .x-inner-wrapper .input-inner,.x-textarea .x-inner-wrapper .input-inner{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-input .x-inner-wrapper .input-inner:not(:first-child),.x-textarea .x-inner-wrapper .input-inner:not(:first-child){padding-left:30px}.x-input .x-inner-wrapper .input-inner:not(:last-child),.x-textarea .x-inner-wrapper .input-inner:not(:last-child){padding-right:30px}.x-input .x-inner-wrapper .textarea-inner,.x-textarea .x-inner-wrapper .textarea-inner{padding:var(--fd-padding-xs) var(--fd-padding);resize:none}.x-input.input-disable .x-inner-wrapper,.x-input.textarea-disable .x-inner-wrapper,.x-textarea.input-disable .x-inner-wrapper,.x-textarea.textarea-disable .x-inner-wrapper{background:var(--fd-color-bg-container-disabled);border-color:var(--fd-color-border)}.x-input.input-disable .x-inner-wrapper .input-inner,.x-input.input-disable .x-inner-wrapper .textarea-inner,.x-input.textarea-disable .x-inner-wrapper .input-inner,.x-input.textarea-disable .x-inner-wrapper .textarea-inner,.x-textarea.input-disable .x-inner-wrapper .input-inner,.x-textarea.input-disable .x-inner-wrapper .textarea-inner,.x-textarea.textarea-disable .x-inner-wrapper .input-inner,.x-textarea.textarea-disable .x-inner-wrapper .textarea-inner{color:var(--fd-color-text-data-disabled);cursor:not-allowed}.x-input.input-disable .x-inner-wrapper:hover,.x-input.textarea-disable .x-inner-wrapper:hover,.x-textarea.input-disable .x-inner-wrapper:hover,.x-textarea.textarea-disable .x-inner-wrapper:hover{background:var(--fd-color-bg-container-disabled);border-color:var(--fd-color-border)!important}.x-input.input-disable .x-inner-wrapper:hover .input-inner,.x-input.input-disable .x-inner-wrapper:hover .textarea-inner,.x-input.textarea-disable .x-inner-wrapper:hover .input-inner,.x-input.textarea-disable .x-inner-wrapper:hover .textarea-inner,.x-textarea.input-disable .x-inner-wrapper:hover .input-inner,.x-textarea.input-disable .x-inner-wrapper:hover .textarea-inner,.x-textarea.textarea-disable .x-inner-wrapper:hover .input-inner,.x-textarea.textarea-disable .x-inner-wrapper:hover .textarea-inner{color:var(--fd-color-text-data-disabled)}.x-input.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-input.textarea-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.textarea-focus .x-inner-wrapper:not(.wrapper-borderless){border-color:var(--fd-color-primary)!important;box-shadow:var(--fd-input-active-shadow)}.x-input.input-focus .input-inner,.x-textarea.input-focus .input-inner{text-overflow:clip}.x-input.input-readonly .x-inner-wrapper,.x-input.textarea-readonly .x-inner-wrapper,.x-textarea.input-readonly .x-inner-wrapper,.x-textarea.textarea-readonly .x-inner-wrapper{border-color:var(--fd-color-border)}.x-input.input-error .x-inner-wrapper,.x-input.input-error.input-focus .x-inner-wrapper,.x-input.textarea-error .x-inner-wrapper,.x-textarea.input-error .x-inner-wrapper,.x-textarea.input-error.input-focus .x-inner-wrapper,.x-textarea.textarea-error .x-inner-wrapper{border-color:var(--fd-color-error)!important}.x-input.input-error .x-inner-wrapper:hover,.x-input.input-error.input-focus .x-inner-wrapper:hover,.x-input.textarea-error .x-inner-wrapper:hover,.x-textarea.input-error .x-inner-wrapper:hover,.x-textarea.input-error.input-focus .x-inner-wrapper:hover,.x-textarea.textarea-error .x-inner-wrapper:hover{border-color:var(--fd-color-error-hover)!important}.x-input.input-error.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-input.input-error.input-focus.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-input.input-error.input-focus.textarea-focus .x-inner-wrapper:not(.wrapper-borderless),.x-input.input-error.textarea-focus .x-inner-wrapper:not(.wrapper-borderless),.x-input.textarea-error.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-input.textarea-error.textarea-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.input-error.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.input-error.input-focus.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.input-error.input-focus.textarea-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.input-error.textarea-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.textarea-error.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.textarea-error.textarea-focus .x-inner-wrapper:not(.wrapper-borderless){box-shadow:var(--fd-input-error-active-shadow)}.x-input.input-invalid .x-inner-wrapper,.x-input.textarea-invalid .x-inner-wrapper,.x-textarea.input-invalid .x-inner-wrapper,.x-textarea.textarea-invalid .x-inner-wrapper{border-color:var(--fd-color-error)}.x-input.input-warning .x-inner-wrapper,.x-input.textarea-warning .x-inner-wrapper,.x-textarea.input-warning .x-inner-wrapper,.x-textarea.textarea-warning .x-inner-wrapper{border-color:var(--fd-color-warning)!important}.x-input.input-warning .x-inner-wrapper:hover,.x-input.textarea-warning .x-inner-wrapper:hover,.x-textarea.input-warning .x-inner-wrapper:hover,.x-textarea.textarea-warning .x-inner-wrapper:hover{border-color:var(--fd-color-warning-hover)!important}.x-input.input-warning.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-input.input-warning.textarea-focus .x-inner-wrapper:not(.wrapper-borderless),.x-input.textarea-warning.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-input.textarea-warning.textarea-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.input-warning.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.input-warning.textarea-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.textarea-warning.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.textarea-warning.textarea-focus .x-inner-wrapper:not(.wrapper-borderless){box-shadow:var(--fd-input-waring-active-shadow)}.x-inputpassword-icon{color:var(--fd-color-icon);cursor:pointer}.x-inputpassword-icon:hover{color:var(--fd-color-icon-hover)}.x-input-number{border:1px solid var(--fd-color-border);border-radius:var(--fd-border-radius);color:var(--fd-color-text);height:var(--fd-control-height);line-height:normal;overflow:hidden;position:relative;transition:border .2s ease;width:130px}.x-input-number *,.x-input-number :after,.x-input-number :before{box-sizing:border-box}.x-input-number input,.x-input-number textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variant-numeric:tabular-nums;margin:0;outline:none}.x-input-number input::-moz-placeholder,.x-input-number textarea::-moz-placeholder{opacity:1}.x-input-number input:-ms-input-placeholder,.x-input-number textarea:-ms-input-placeholder{opacity:1}.x-input-number input::placeholder,.x-input-number textarea::placeholder{opacity:1}.x-input-number input::-ms-clear,.x-input-number input::-ms-reveal{display:none}.x-input-number input[type=number]{-moz-appearance:textfield}.x-input-number input[type=number]::-webkit-inner-spin-button,.x-input-number input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.x-input-number .prefix,.x-input-number .suffix{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;height:100%;justify-content:center;overflow:hidden;position:absolute;width:var(--fd-control-height)}.x-input-number .prefix .control-btn,.x-input-number .suffix .control-btn{color:var(--fd-color-text);height:100%;text-align:center;width:100%}.x-input-number .prefix .control-btn .btn,.x-input-number .suffix .control-btn .btn{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background:var(--fd-color-fill-quaternary);background-color:var(--fd-color-bg-container);color:var(--fd-color-text);cursor:pointer;display:flex;height:100%;justify-content:center;transition:all .2s ease}.x-input-number .prefix .control-btn .btn:hover,.x-input-number .suffix .control-btn .btn:hover{background-color:var(--fd-color-bg-text-hover)}.x-input-number .prefix .control-btn .btn:active,.x-input-number .suffix .control-btn .btn:active{background:var(--fd-color-bg-text-hover);transition:unset}.x-input-number .prefix .control-btn .btn.btn-disabled,.x-input-number .suffix .control-btn .btn.btn-disabled{background:var(--fd-color-bg-container-disabled)!important;border-color:var(--fd-color-border)!important;color:var(--fd-color-text-disabled)!important;cursor:not-allowed}.x-input-number .prefix .control-btn.add .btn,.x-input-number .suffix .control-btn.add .btn{border-left:1px solid var(--fd-color-border)}.x-input-number .prefix .control-btn.minus .btn,.x-input-number .suffix .control-btn.minus .btn{border-right:1px solid var(--fd-color-border)}.x-input-number .prefix{bottom:0;left:0;top:0}.x-input-number .suffix{bottom:0;right:0;top:0}.x-input-number .inner-input{border:none;border-radius:var(--fd-border-radius);color:var(--fd-color-text);height:100%;outline:none;padding:0 calc(var(--fd-padding) + var(--fd-control-height));text-align:center;width:100%}.x-input-number:not(.disabled):not(.input-readonly).hover{border-color:var(--fd-color-primary-hover)}.x-input-number:not(.disabled):not(.input-readonly).focus{border-color:var(--fd-color-primary-hover);box-shadow:var(--fd-input-number-active-shadow)}.x-input-number.input-readonly .inner-input{cursor:default}.x-input-number.disabled .inner-input{background:var(--fd-color-bg-container-disabled);color:var(--fd-color-text-data-disabled);cursor:not-allowed}.x-input-number.control-in-right:not(.disabled):not(.input-readonly):hover .suffix .control-group{background:var(--fd-color-bg-container);display:flex}.x-input-number.control-in-right .inner-input{padding:0 var(--fd-padding);text-align:left}.x-input-number.control-in-right .inner-input:not(:first-child){padding-left:var(--fd-control-height)}.x-input-number.control-in-right .suffix .control-group{-ms-flex-pack:distribute;color:var(--fd-color-text);display:none;flex-direction:column;height:100%;justify-content:space-around;padding:var(--fd-padding-2xs);padding-left:0;width:100%}.x-input-number.control-in-right .suffix .control-group .btn{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-flex:1;align-items:center;background:var(--fd-color-fill-quaternary);border-radius:var(--fd-border-radius-xs);color:var(--fd-color-text);cursor:pointer;display:flex;flex:1 0 auto;height:30%;justify-content:center;transition:all .2s ease;width:100%}.x-input-number.control-in-right .suffix .control-group .btn:hover{background-color:var(--fd-color-bg-text-hover)}.x-input-number.control-in-right .suffix .control-group .btn:active{background:var(--fd-color-bg-text-hover);transition:unset}.x-input-number.control-in-right .suffix .control-group .btn.btn-disabled{background:var(--fd-color-bg-container-disabled)!important;border-color:var(--fd-color-border)!important;color:var(--fd-color-text-disabled)!important;cursor:not-allowed}.x-input-number.control-in-right .suffix .control-group .btn:hover{height:60%}.x-input-number.control-in-right .suffix .control-group .btn:first-child{margin-bottom:var(--fd-line-width)}.x-input-number.size-large{height:var(--fd-control-height-lg);width:166px}.x-input-number.size-large .inner-input{font-size:var(--fd-font-size-lg);padding:0 calc(var(--fd-padding) + var(--fd-control-height-lg))}.x-input-number.size-large .prefix,.x-input-number.size-large .suffix{width:var(--fd-control-height-lg)}.x-input-number.size-large.control-in-right .inner-input{padding:0 var(--fd-padding)}.x-input-number.size-large.control-in-right .inner-input:not(:first-child){padding-left:var(--fd-control-height-lg)}.x-input-number.size-small{height:var(--fd-control-height-sm);width:110px}.x-input-number.size-small .inner-input{font-size:var(--fd-font-size-sm);padding:0 calc(var(--fd-padding-xs) + var(--fd-control-height-sm))}.x-input-number.size-small .prefix,.x-input-number.size-small .suffix{width:var(--fd-control-height-sm)}.x-input-number.size-small .prefix .control-btn .btn>i,.x-input-number.size-small .suffix .control-btn .btn>i{font-size:var(--fd-font-size-sm)}.x-input-number.size-small.control-in-right .inner-input{padding:0 var(--fd-padding-xs)}.x-input-number.size-small.control-in-right .inner-input:not(:first-child){padding-left:var(--fd-control-height-sm)}.x-input-number.no-control-btn .inner-input{padding:0 var(--fd-padding);text-align:left}.x-input-number.no-control-btn .inner-input:not(:first-child){padding-left:var(--fd-control-height)}.x-input-number.no-control-btn .inner-input:not(:last-child){padding-right:var(--fd-control-height)}.x-input-number.input-state-error,.x-input-number.input-state-error:not(.disabled):not(.input-readonly).hover{border-color:var(--fd-color-error)}.x-input-number.input-state-warning,.x-input-number.input-state-warning:not(.disabled):not(.input-readonly).hover{border-color:var(--fd-color-warning)}.x-input-number.input-state-success,.x-input-number.input-state-success:not(.disabled):not(.input-readonly).hover{border-color:var(--fd-color-success)}.x-badge{display:inline-block;position:relative}.x-badge *,.x-badge :after,.x-badge :before{box-sizing:border-box}.x-badge.is-only-badge{font-size:0;line-height:var(--fd-line-height-sm)}.x-badge.is-only-badge .badge-count{bottom:0;left:0;position:relative;transform:none;vertical-align:middle}.x-badge .badge-count{background-color:var(--fd-color-error);border-radius:9999px;bottom:100%;box-shadow:0 0 0 1px var(--fd-color-white);color:var(--fd-color-text-light-solid);display:inline-block;font-size:var(--fd-font-size-sm);height:var(--fd-line-height-sm);left:100%;line-height:var(--fd-line-height-sm);max-width:100px;min-width:20px;position:absolute;text-align:center;transform:translate(calc(0px - var(--fd-line-height-sm)/2),calc(var(--fd-line-height-sm)/2));white-space:nowrap}.x-badge .badge-count.badge-multiple-words{padding:0 var(--fd-padding)}.x-badge .badge-count:not(.x-badge .badge-count-dot){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-badge .badge-count-dot{height:6px;min-width:auto;padding:0;transform:translate(-3px,3px);width:6px}.x-badge .badge-count-zero{background-color:var(--fd-color-bg-container);box-shadow:0 0 0 1px var(--fd-color-border);color:var(--fd-color-text-disabled)}.x-drawer{background:var(--fd-color-bg-container);box-shadow:0 0 5px #91919180;color:var(--fd-color-text);overflow:hidden;position:fixed;z-index:1002}.x-drawer *,.x-drawer :after,.x-drawer :before{box-sizing:border-box}.x-drawer .x-drawer-header{border-bottom:1px solid var(--fd-color-border);font-size:var(--fd-font-size-xl);line-height:var(--fd-line-height-xl);overflow:hidden;padding:var(--fd-padding-layout) var(--fd-padding-layout-lg);position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap}.x-drawer .x-drawer-header .drawer-close-btn{position:absolute;top:50%;transform:translateY(-50%)}.x-drawer .drawer-header-text{font-weight:700}.x-drawer.x-drawer-with-title{display:flex;flex-direction:column}.x-drawer.x-drawer-with-title .x-drawer-body{flex:1;overflow:hidden;position:relative}.x-drawer.x-drawer-with-title .x-drawer-body.content-padding{padding:var(--fd-padding-layout-lg)}.x-drawer.x-drawer-with-title .x-drawer-footer{-ms-flex-negative:0;border-top:var(--fd-line-width) solid var(--fd-color-border);flex-shrink:0;padding:var(--fd-padding-layout-sm) var(--fd-padding-layout-lg)}.x-drawer .drawer-close-btn{border-radius:var(--fd-border-radius);color:var(--fd-color-text);cursor:pointer;display:block;font-size:var(--fd-icon-size);height:var(--fd-line-height-xl);position:absolute;right:var(--fd-padding-layout-lg);text-align:center;top:var(--fd-padding-layout);transition:color .2s ease;width:var(--fd-line-height-xl)}.x-drawer .drawer-close-btn .close-btn{line-height:var(--fd-line-height-xl)}.x-drawer .drawer-close-btn:hover{background:var(--fd-color-bg-text-hover);color:var(--fd-color-text)}.x-drawer.from-bottom{bottom:0;left:0;right:0}.x-drawer.from-bottom.bottom-appear,.x-drawer.from-bottom.bottom-enter{transform:translate3d(0,100%,0)}.x-drawer.from-bottom.bottom-appear-active,.x-drawer.from-bottom.bottom-enter-active{transform:translateZ(0);transition:all .2s ease-in-out}.x-drawer.from-bottom.bottom-exit{transform:translateZ(0)}.x-drawer.from-bottom.bottom-exit-active{transform:translate3d(0,100%,0);transition:all .2s ease-in-out}.x-drawer.from-bottom.bottom-exit-done{display:none}.x-drawer.from-top{left:0;right:0;top:0}.x-drawer.from-top.top-appear,.x-drawer.from-top.top-enter{transform:translate3d(0,-100%,0)}.x-drawer.from-top.top-appear-active,.x-drawer.from-top.top-enter-active{transform:translateZ(0);transition:all .2s ease-in-out}.x-drawer.from-top.top-exit{transform:translateZ(0)}.x-drawer.from-top.top-exit-active{transform:translate3d(0,-100%,0);transition:all .2s ease-in-out}.x-drawer.from-top.top-exit-done{display:none}.x-drawer.from-left{bottom:0;left:0;top:0}.x-drawer.from-left.left-appear,.x-drawer.from-left.left-enter{transform:translate3d(-100%,0,0)}.x-drawer.from-left.left-appear-active,.x-drawer.from-left.left-enter-active{transform:translateZ(0);transition:all .2s ease-in-out}.x-drawer.from-left.left-exit{transform:translateZ(0)}.x-drawer.from-left.left-exit-active{transform:translate3d(-100%,0,0);transition:all .2s ease-in-out}.x-drawer.from-left.left-exit-done{display:none}.x-drawer.from-right{bottom:0;right:0;top:0}.x-drawer.from-right.right-appear,.x-drawer.from-right.right-enter{transform:translate3d(100%,0,0)}.x-drawer.from-right.right-appear-active,.x-drawer.from-right.right-enter-active{transform:translateZ(0);transition:all .2s ease-in-out}.x-drawer.from-right.right-exit{transform:translateZ(0)}.x-drawer.from-right.right-exit-active{transform:translate3d(100%,0,0);transition:all .2s ease-in-out}.x-drawer.from-right.right-exit-done{display:none}.x-drawer .x-mask,.x-drawer .x-window-mask{position:absolute}.x-drawer .x-drawer{position:absolute;z-index:1002!important}.x-drawer-wrapper.not-body-container .x-drawer,.x-drawer-wrapper.not-body-container .x-mask,.x-drawer-wrapper.not-body-container .x-window-mask{position:absolute}.x-check{color:var(--fd-color-text);display:flex;line-height:normal}.x-check *,.x-check :after,.x-check :before{box-sizing:border-box}.x-check .check-label{align-items:flex-start;cursor:pointer;display:flex;position:relative}.x-check .check-label.has-default-padding{padding:var(--fd-check-default-padding)}.x-check .check-label.size-middle,.x-check .check-label.size-normal{font-size:var(--fd-font-size)}.x-check .check-label.size-middle .check-icon,.x-check .check-label.size-middle .check-origin,.x-check .check-label.size-normal .check-icon,.x-check .check-label.size-normal .check-origin{height:16px;margin:calc((var(--fd-line-height) - 16px)/2) 0;width:16px}.x-check .check-label.size-middle .check-icon .yes-icon,.x-check .check-label.size-middle .check-origin .yes-icon,.x-check .check-label.size-normal .check-icon .yes-icon,.x-check .check-label.size-normal .check-origin .yes-icon{left:4px;top:10px}.x-check .check-label .check-icon{-webkit-box-flex:0;background:var(--fd-color-bg-container);border:1px solid var(--fd-color-border);border-radius:2px;display:inline-block;flex:0 0 auto;position:relative;transition:all .2s ease;vertical-align:middle}.x-check .check-label .check-icon .yes-icon{position:absolute;transform:rotate(-45deg)}.x-check .check-label .check-icon .yes-icon:after,.x-check .check-label .check-icon .yes-icon:before{background:var(--fd-color-text-light-solid);content:"";display:block;position:absolute;transition:all .2s ease}.x-check .check-label .check-icon .yes-icon:before{border-radius:1px 1px 0 0;bottom:0;height:0;width:2px}.x-check .check-label .check-icon .yes-icon:after{border-radius:0 1px 1px 2px;height:2px;width:0}.x-check .check-label .check-origin{cursor:inherit;opacity:0;position:absolute}.x-check .check-label .check-text{word-wrap:break-word;line-height:var(--fd-line-height);max-width:100%;padding-left:var(--fd-gap);vertical-align:middle;word-break:break-word}.x-check .check-label.is-only-icon{align-items:center;height:16px}.x-check:not(.auto-wrap) .x-check-wrapper{min-width:0}.x-check:not(.auto-wrap) .x-check-wrapper .check-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-check.check-checked:not(.indeterminate) .check-label.size-middle .check-icon .yes-icon:before,.x-check.check-checked:not(.indeterminate) .check-label.size-normal .check-icon .yes-icon:before{height:4px}.x-check.check-checked:not(.indeterminate) .check-label.size-middle .check-icon .yes-icon:after,.x-check.check-checked:not(.indeterminate) .check-label.size-normal .check-icon .yes-icon:after{width:10px}.x-check.check-checked:not(.indeterminate) .check-label .check-icon{background:var(--fd-color-primary);border-color:var(--fd-color-primary)}.x-check.check-checked:not(.indeterminate):hover .check-icon{background-color:var(--fd-color-primary-hover)}.x-check .x-check-wrapper:focus{box-shadow:0 0 0 1px var(--fd-color-primary);outline:none}.x-check .x-check-wrapper:active{box-shadow:none}.x-check .x-check-wrapper:hover .check-icon{border-color:var(--fd-color-primary)}.x-check.check-disable .x-check-wrapper:focus{box-shadow:none}.x-check.check-disable .check-label{cursor:not-allowed}.x-check.check-disable .check-label .check-icon{background:var(--fd-color-bg-container-disabled)!important;border-color:var(--fd-color-border)!important}.x-check.check-disable .check-label .check-icon .indeterminate-icon,.x-check.check-disable .check-label .check-icon .yes-icon,.x-check.check-disable .check-label .check-icon:hover{border-color:var(--fd-color-border)!important}.x-check.check-disable .check-label .check-icon .indeterminate-icon:after,.x-check.check-disable .check-label .check-icon .indeterminate-icon:before,.x-check.check-disable .check-label .check-icon .yes-icon:after,.x-check.check-disable .check-label .check-icon .yes-icon:before{background:var(--fd-color-text-disabled)!important}.x-check.check-disable .check-label .check-text{color:var(--fd-color-text-data-disabled)!important}.x-check.check-disable.check-checked .check-label .check-icon .yes-icon:after,.x-check.check-disable.check-checked .check-label .check-icon .yes-icon:before{background:var(--fd-color-text-disabled)!important}.x-check.indeterminate .check-icon{border-color:var(--fd-color-primary)}.x-check.indeterminate .check-icon .indeterminate-icon:before{background-color:var(--fd-color-primary);content:"";display:block;height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .2s ease;width:8px}.x-switch{background:var(--fd-color-primary);border-radius:11px;cursor:pointer;display:inline-block;font-size:var(--fd-font-size-sm);height:22px;line-height:22px;position:relative;transition:background .1s ease-out;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-switch *,.x-switch :after,.x-switch :before{box-sizing:border-box}.x-switch.loading{opacity:.4}.x-switch:not(.state-open){background:var(--fd-color-text-quaternary)!important}.x-switch:not(.state-open) .switch-loading-status{border-top-color:var(--fd-color-text-quaternary)!important}.x-switch .inner-label{color:var(--fd-color-text-light-solid);display:inline-block;height:22px;min-width:44px;padding:0 8px 0 22px;text-align:right;vertical-align:top}.x-switch .inner-label .trigger-sign-box{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background:var(--fd-color-white);border-radius:50%;display:block;display:flex;filter:drop-shadow(0 2px 4px rgba(0,35,11,.2));height:18px;justify-content:center;left:2px;position:absolute;top:2px;transition-duration:.2s;transition-property:left,transform,margin;width:18px}.x-switch .inner-label .trigger-sign-box .switch-loading-status{animation:x-rotate .8s cubic-bezier(.43,.1,.54,.85) infinite;border:2px solid;border-radius:50%;border-top:2px solid var(--fd-color-primary);height:14px;margin:0 auto;transform-origin:center;width:14px}.x-switch.state-open .inner-label{padding:0 22px 0 8px;text-align:left}.x-switch.state-open .inner-label .trigger-sign-box{left:100%;margin-left:-2px;right:2px;transform:translate(-100%)}.x-switch.disabled{cursor:not-allowed;opacity:.4}.x-switch.size-small{height:16px;line-height:16px}.x-switch.size-small .inner-label{height:16px;min-width:28px;padding:0 6px 0 14px}.x-switch.size-small .inner-label .trigger-sign-box{height:12px;width:12px}.x-switch.size-small .inner-label .trigger-sign-box .switch-loading-status{height:10px;width:10px}.x-switch.size-small.state-open .inner-label{padding:0 14px 0 8px}.x-check-group{display:inline-block;max-width:100%}.x-check-group .x-check-all{color:var(--fd-color-primary)}.x-check-group.check-group-horizontal{display:flex;flex-wrap:wrap}.x-check-group.check-group-horizontal.no-default-padding{row-gap:var(--fd-gap)}.x-check-group.check-group-horizontal.no-default-padding .x-check .check-label{padding:0}.x-check-group.check-group-horizontal .x-check{display:inline-block;margin-right:var(--fd-gap-4xl);max-width:100%}.x-check-group.check-group-horizontal .x-check:last-child{margin-right:0}.x-check-group.check-group-vertical.no-default-padding .x-check:first-child .check-label{padding-top:0}.x-check-group.check-group-vertical.no-default-padding .x-check:last-child .check-label{padding-bottom:0}.x-combo,.x-combocheck{height:var(--fd-control-height);width:200px}.x-combo *,.x-combo :after,.x-combo :before,.x-combocheck *,.x-combocheck :after,.x-combocheck :before{box-sizing:border-box}.x-combo:not(.disabled) .x-combo-dropdown-label,.x-combocheck:not(.disabled) .x-combo-dropdown-label{border-color:var(--fd-color-border)}.x-combo:not(.disabled).active,.x-combo:not(.disabled):focus,.x-combocheck:not(.disabled).active,.x-combocheck:not(.disabled):focus{outline:none}.x-combo:not(.disabled).active .x-combo-dropdown-label,.x-combo:not(.disabled):focus .x-combo-dropdown-label,.x-combocheck:not(.disabled).active .x-combo-dropdown-label,.x-combocheck:not(.disabled):focus .x-combo-dropdown-label{border-color:var(--fd-color-primary-hover);box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-control-outline);outline:0}.x-combo:not(.disabled):hover .x-combo-dropdown-label,.x-combocheck:not(.disabled):hover .x-combo-dropdown-label{border-color:var(--fd-color-primary-hover)}.x-combo.status-error:not(.disabled) .x-combo-dropdown-label,.x-combocheck.status-error:not(.disabled) .x-combo-dropdown-label{border-color:var(--fd-color-error)}.x-combo.status-error:not(.disabled).active,.x-combo.status-error:not(.disabled):focus,.x-combocheck.status-error:not(.disabled).active,.x-combocheck.status-error:not(.disabled):focus{outline:none}.x-combo.status-error:not(.disabled).active .x-combo-dropdown-label,.x-combo.status-error:not(.disabled):focus .x-combo-dropdown-label,.x-combocheck.status-error:not(.disabled).active .x-combo-dropdown-label,.x-combocheck.status-error:not(.disabled):focus .x-combo-dropdown-label{border-color:var(--fd-color-error-hover);box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-error-outline);outline:0}.x-combo.status-error:not(.disabled):hover .x-combo-dropdown-label,.x-combocheck.status-error:not(.disabled):hover .x-combo-dropdown-label{border-color:var(--fd-color-error-hover)}.x-combo.status-success:not(.disabled) .x-combo-dropdown-label,.x-combocheck.status-success:not(.disabled) .x-combo-dropdown-label{border-color:var(--fd-color-success)}.x-combo.status-success:not(.disabled).active,.x-combo.status-success:not(.disabled):focus,.x-combocheck.status-success:not(.disabled).active,.x-combocheck.status-success:not(.disabled):focus{outline:none}.x-combo.status-success:not(.disabled).active .x-combo-dropdown-label,.x-combo.status-success:not(.disabled):focus .x-combo-dropdown-label,.x-combocheck.status-success:not(.disabled).active .x-combo-dropdown-label,.x-combocheck.status-success:not(.disabled):focus .x-combo-dropdown-label{border-color:var(--fd-color-success-hover);box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-control-outline);outline:0}.x-combo.status-success:not(.disabled):hover .x-combo-dropdown-label,.x-combocheck.status-success:not(.disabled):hover .x-combo-dropdown-label{border-color:var(--fd-color-success-hover)}.x-combo.status-warning:not(.disabled) .x-combo-dropdown-label,.x-combocheck.status-warning:not(.disabled) .x-combo-dropdown-label{border-color:var(--fd-color-warning)}.x-combo.status-warning:not(.disabled).active,.x-combo.status-warning:not(.disabled):focus,.x-combocheck.status-warning:not(.disabled).active,.x-combocheck.status-warning:not(.disabled):focus{outline:none}.x-combo.status-warning:not(.disabled).active .x-combo-dropdown-label,.x-combo.status-warning:not(.disabled):focus .x-combo-dropdown-label,.x-combocheck.status-warning:not(.disabled).active .x-combo-dropdown-label,.x-combocheck.status-warning:not(.disabled):focus .x-combo-dropdown-label{border-color:var(--fd-color-warning-hover);box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-warning-outline);outline:0}.x-combo.status-warning:not(.disabled):hover .x-combo-dropdown-label,.x-combocheck.status-warning:not(.disabled):hover .x-combo-dropdown-label{border-color:var(--fd-color-warning-hover)}.x-combo.no-border .x-combo-dropdown-label,.x-combocheck.no-border .x-combo-dropdown-label{border-color:transparent}.x-combo.no-border.active,.x-combo.no-border:focus,.x-combocheck.no-border.active,.x-combocheck.no-border:focus{outline:none}.x-combo.no-border.active .x-combo-dropdown-label,.x-combo.no-border:focus .x-combo-dropdown-label,.x-combocheck.no-border.active .x-combo-dropdown-label,.x-combocheck.no-border:focus .x-combo-dropdown-label{border-color:transparent;box-shadow:none;outline:0}.x-combo.no-border:hover .x-combo-dropdown-label,.x-combocheck.no-border:hover .x-combo-dropdown-label{border-color:transparent}.x-combo .x-combo-dropdown-custom-label,.x-combocheck .x-combo-dropdown-custom-label{height:100%;width:100%}.x-combo .x-combo-dropdown-label,.x-combocheck .x-combo-dropdown-label{font-size:var(--fd-font-size);line-height:var(--fd-line-height);padding:0 var(--fd-padding)}.x-combo .x-combo-dropdown-label .dropdown-icon,.x-combocheck .x-combo-dropdown-label .dropdown-icon{font-size:var(--fd-icon-size);line-height:var(--fd-icon-size)}.x-combo.size-small,.x-combocheck.size-small{height:var(--fd-control-height-sm)}.x-combo.size-small .x-combo-dropdown-label,.x-combocheck.size-small .x-combo-dropdown-label{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-lg);padding:0 var(--fd-padding-xs)}.x-combo.size-small .x-combo-dropdown-label .dropdown-icon,.x-combocheck.size-small .x-combo-dropdown-label .dropdown-icon{font-size:var(--fd-icon-size);line-height:var(--fd-icon-size)}.x-combo.size-large,.x-combocheck.size-large{height:var(--fd-control-height-lg)}.x-combo.size-large .x-combo-dropdown-label,.x-combocheck.size-large .x-combo-dropdown-label{font-size:var(--fd-font-size-lg);line-height:var(--fd-line-height-sm);padding:0 var(--fd-padding)}.x-combo.size-large .x-combo-dropdown-label .dropdown-icon,.x-combocheck.size-large .x-combo-dropdown-label .dropdown-icon{font-size:var(--fd-icon-size);line-height:var(--fd-icon-size)}.x-combo-dropdown-list .dropdown-extra{text-align:center}.x-combo-dropdown-list .dropdown-groups .group-label{color:var(--fd-color-text-secondary);font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);padding:var(--fd-padding-xs) var(--fd-padding) 0 var(--fd-padding)}.x-combo-dropdown-list .dropdown-groups .group-items .x-combo-dropdown-item{padding-left:var(--fd-padding-xl)}.x-combo-dropdown-list .x-combo-dropdown-item{align-items:center;border-radius:var(--fd-border-radius-sm);display:flex;height:var(--fd-control-height);padding:0 var(--fd-padding);transition:all .2s}.x-combo-dropdown-list .x-combo-dropdown-item-icon{flex:none;font-size:var(--fd-icon-size);font-weight:400;margin-right:var(--fd-gap-sm)}.x-combo-dropdown-list .x-combo-dropdown-item-content{flex:auto;font-size:var(--fd-font-size);line-height:var(--fd-line-height);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-combo-dropdown-list .x-combo-dropdown-item-check{flex:none;margin-right:var(--fd-gap)}.x-combo-dropdown-list .x-combo-dropdown-item .x-search-key,.x-combo-dropdown-list .x-combo-dropdown-item.check-all-item{color:var(--fd-color-primary-text)}.x-combo-dropdown-list .x-combo-dropdown-item:not(.disabled){cursor:pointer}.x-combo-dropdown-list .x-combo-dropdown-item:not(.disabled).selected.is-multi.is-focus,.x-combo-dropdown-list .x-combo-dropdown-item:not(.disabled).selected.is-multi:hover,.x-combo-dropdown-list .x-combo-dropdown-item:not(.disabled):not(.selected).is-focus,.x-combo-dropdown-list .x-combo-dropdown-item:not(.disabled):not(.selected):hover{background:var(--fd-color-fill-quaternary)}.x-combo-dropdown-list .x-combo-dropdown-item.selected{background:var(--fd-control-item-bg-active);font-weight:var(--fd-control-item-font-weight-active)}.x-combo-dropdown-list .x-combo-dropdown-item.selected.disabled{background:var(--fd-control-item-bg-active-disabled);font-weight:400}.x-combo-dropdown-list .x-combo-dropdown-item.disabled{color:var(--fd-color-text-disabled);cursor:not-allowed}.x-combo-dropdown-list .x-combo-dropdown-item.is-multi.selected{background:inherit;font-weight:400}.x-combo-dropdown-list .x-combo-dropdown-item.is-multi.selected.disabled{background:inherit}.x-combo-dropdown-list .x-combo-dropdown-item.is-multi.disabled .x-check{color:var(--fd-color-text-disabled)}.x-combo-dropdown-wrapper{background:var(--fd-color-bg-container);border-radius:var(--fd-border-radius-lg);box-shadow:0 6px 10px 1px #0000000f,0 3px 14px 2px #0000000d;font-size:var(--fd-font-size);line-height:var(--fd-line-height);overflow:hidden;position:relative}.x-combo-dropdown-wrapper .dropdown-search-input{border-bottom:1px solid var(--fd-color-split)}.x-combo-dropdown-wrapper .inner-wrapper{max-height:250px;overflow-y:auto;padding:var(--fd-padding-layout-2xs)}.x-combo-dropdown-wrapper .dropdown-loading .loading-wrapper{min-width:240px}.x-combo-dropdown-wrapper .dropdown-empty{color:var(--fd-color-text-description);line-height:var(--fd-control-height);text-align:center}.x-combo-dropdown-wrapper .dropdown-extra .loading-wrapper{width:100%}.x-combo-dropdown-wrapper .search-loading{color:var(--fd-color-text-description);font-size:var(--fd-font-size);line-height:var(--fd-control-height);padding:var(--fd-padding-layout-2xs);text-align:center}.x-combo-dropdown-wrapper .loading-wrapper{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;color:var(--fd-color-text-description);display:flex;height:var(--fd-control-height);justify-content:center}.x-combo-dropdown-wrapper .loading-wrapper .x-spin{padding-right:var(--fd-gap-sm);position:relative}.x-combo-dropdown-bottom-appear,.x-combo-dropdown-bottom-enter{animation:x-slide-down .2s cubic-bezier(.23,1,.32,1);animation-fill-mode:forwards;transform-origin:top}.x-combo-dropdown-bottom-exit{animation:x-slide-down .2s cubic-bezier(.75,.05,.85,.06) reverse;animation-fill-mode:forwards;transform-origin:top}.x-combo-dropdown-top-appear,.x-combo-dropdown-top-enter{animation:x-slide-down .2s cubic-bezier(.23,1,.32,1);animation-fill-mode:forwards;transform-origin:bottom}.x-combo-dropdown-top-exit{animation:x-slide-down .2s cubic-bezier(.75,.05,.85,.06) reverse;animation-fill-mode:forwards;transform-origin:bottom}.x-combo-dropdown-label{align-items:center;border:var(--fd-line-width) solid var(--fd-color-border);border-radius:var(--fd-border-radius);color:var(--fd-color-text);cursor:pointer;display:flex;height:100%;overflow:hidden;position:relative;transition:border .2s ease;width:100%}.x-combo-dropdown-label .value-wrapper{flex:1 1 auto;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-combo-dropdown-label .value-wrapper .value-content{margin-right:var(--fd-gap-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-combo-dropdown-label .value-wrapper .value-content .dropdown-label-placeholder{color:var(--fd-color-text-placeholder);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-combo-dropdown-label .dropdown-icon{-webkit-box-flex:0;color:var(--fd-color-icon-normal);flex:0 0 auto;font-size:var(--fd-icon-size);font-style:normal;text-align:center;transform:rotate(0);transition:transform .2s ease}.x-combo-dropdown-label .dropdown-icon.reverse{transform:rotate(180deg)}.x-combo-dropdown-label .dropdown-icon.close-icon{color:var(--fd-color-icon);display:none}.x-combo-dropdown-label .dropdown-icon.close-icon:hover{color:var(--fd-color-icon-hover)}.x-combo-dropdown-label.show-clear:not(.disabled):hover .arrow-icon{display:none}.x-combo-dropdown-label.show-clear:not(.disabled):hover .close-icon{display:block}.x-combo-dropdown-label.disabled{background-color:var(--fd-color-bg-container-disabled);color:var(--fd-color-text-data-disabled);cursor:not-allowed}.x-combo-dropdown-label.disabled .dropdown-icon{color:var(--fd-color-text-disabled)}.x-datepicker{background-color:var(--fd-color-bg-container);border:none;border-radius:var(--fd-border-radius-lg);box-shadow:0 9px 27px 8px #1f2d3d0a,0 6px 18px 2px #1f2d3d0f,0 3px 6px -4px #1f2d3d1a;font-size:var(--fd-font-size);line-height:0;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.x-datepicker *,.x-datepicker :after,.x-datepicker :before{box-sizing:border-box}.x-datepicker .picker-content{display:inline-block;width:280px}.x-datepicker .picker-content .date-month,.x-datepicker .picker-content .date-year{height:230px;white-space:normal}.x-datepicker .picker-content.multi-pane .date-month,.x-datepicker .picker-content.multi-pane .date-year{height:270px}.x-datepicker .picker-content.multi-pane .date-month .item-cell .cell-btn,.x-datepicker .picker-content.multi-pane .date-year .item-cell .cell-btn{height:var(--fd-control-height);line-height:var(--fd-control-height)}.x-datepicker .picker-content~.date-time-picker{border-left:1px solid var(--fd-color-border)}.x-datepicker .picker-content .time-label{border-top:1px solid var(--fd-color-split);color:var(--fd-color-text);font-size:var(--fd-font-size);height:32px;line-height:32px;text-align:center;width:100%}.x-datepicker .date-head{-webkit-box-align:center;-ms-flex-align:center;-ms-flex-pack:distribute;align-items:center;display:flex;height:40px;justify-content:space-around;position:relative;text-align:center}.x-datepicker .date-head:after{border-top:1px solid var(--fd-color-split);bottom:0;content:"";left:0;position:absolute;right:0}.x-datepicker .date-head .head-btn{cursor:pointer;line-height:40px;padding:0 5px}.x-datepicker .date-head .head-btn:hover,.x-datepicker .date-head .head-btn:hover>i{color:var(--fd-color-primary)}.x-datepicker .date-head .head-btn.default{cursor:default}.x-datepicker .date-head .head-btn.default:hover{color:var(--fd-color-text)}.x-datepicker .date-head .head-btn.disabled{color:var(--fd-color-text-disabled);cursor:not-allowed}.x-datepicker .date-head .head-btn.disabled>i{color:var(--fd-color-text-disabled)}.x-datepicker .date-head .head-btn.btn-prevy{left:10px;position:absolute;top:0}.x-datepicker .date-head .head-btn.btn-prevm{left:34px;position:absolute;top:0}.x-datepicker .date-head .head-btn.btn-nexty{position:absolute;right:10px;top:0}.x-datepicker .date-head .head-btn.btn-nextm{position:absolute;right:34px;top:0}.x-datepicker .date-head .head-btn.btn-month,.x-datepicker .date-head .head-btn.btn-year{display:inline-block}.x-datepicker .date-body{color:var(--fd-color-text);padding:var(--fd-padding-layout-sm)}.x-datepicker .date-body table{border-collapse:collapse;width:100%}.x-datepicker .date-body table thead th{font-weight:400;height:var(--fd-control-height-sm)}.x-datepicker .date-body table tbody td{cursor:pointer;text-align:center}.x-datepicker .date-body table tbody td .td-text{border:1px solid transparent;border-radius:var(--fd-border-radius-sm);height:var(--fd-control-height-sm);line-height:calc(var(--fd-control-height-sm) - 2px);margin:8px auto 0;text-align:center;transition:all .2s;width:var(--fd-control-height-sm)}.x-datepicker .date-body table tbody td.nav:hover .td-text{background:var(--fd-control-item-bg-hover)}.x-datepicker .date-body table tbody td.today .td-text{border-color:var(--fd-color-primary)}.x-datepicker .date-body table tbody td.today.disabled .td-text,.x-datepicker .date-body table tbody td.today.oday .td-text{border-color:var(--fd-color-border);color:var(--fd-color-text-disabled)}.x-datepicker .date-body table tbody td.today.disabled:hover .td-text,.x-datepicker .date-body table tbody td.today.oday:hover .td-text{background-color:var(--fd-color-primary-bg)}.x-datepicker .date-body table tbody td.oday{color:var(--fd-color-text-disabled)}.x-datepicker .date-body table tbody td.oday:hover .td-text{background-color:var(--fd-control-item-bg-hover)}.x-datepicker .date-body table tbody td.disabled{cursor:not-allowed;position:relative}.x-datepicker .date-body table tbody td.disabled:before{background:var(--fd-color-bg-container-disabled);bottom:0;content:"";height:var(--fd-control-height-sm);left:0;position:absolute;right:0}.x-datepicker .date-body table tbody td.disabled .td-text,.x-datepicker .date-body table tbody td.disabled:hover .td-text{background-color:transparent;color:var(--fd-color-text-disabled)}.x-datepicker .date-body table tbody td.disabled.selected .td-text{background-color:var(--fd-control-item-bg-active-disabled);color:var(--fd-color-text-disabled)!important}.x-datepicker .date-body table tbody td.disabled.selected:hover .td-text{background-color:var(--fd-control-item-bg-active-disabled);color:var(--fd-color-text-disabled)}.x-datepicker .date-body table tbody td.selected .td-text{background-color:var(--fd-color-primary);color:var(--fd-color-text-light-solid)!important}.x-datepicker .date-body table tbody td.selected:hover .td-text{background-color:var(--fd-color-primary);color:var(--fd-color-text-light-solid)}.x-datepicker .date-time-picker{display:inline-block;height:296px;max-width:280px;vertical-align:top}.x-datepicker .date-time-picker.show-time-label{height:328px}.x-datepicker .date-time-picker.multi-pane{display:none}.x-datepicker .date-time-picker .time-body{display:flex;height:100%}.x-datepicker .date-time-picker .time-body .col{display:flex;flex-direction:column;position:relative;text-align:center}.x-datepicker .date-time-picker .time-body .col:not(:last-child){border-right:1px solid var(--fd-color-border)}.x-datepicker .date-time-picker .time-body .col .label{flex:none;height:var(--fd-control-height-sm);line-height:var(--fd-control-height-sm);margin-top:4px}.x-datepicker .date-time-picker .time-body .col .col-list{flex:1 1 auto;overflow-y:hidden;padding:0 3px}.x-datepicker .date-time-picker .time-body .col .col-list::-webkit-scrollbar{width:0}.x-datepicker .date-time-picker .time-body .col .col-list::-webkit-scrollbar-thumb{background:hsla(220,6%,54%,.5)}.x-datepicker .date-time-picker .time-body .col .col-list::-webkit-scrollbar-track{display:none}.x-datepicker .date-time-picker .time-body .col .col-list:hover{overflow-y:auto}.x-datepicker .date-time-picker .time-body .col .col-list:after{content:"";display:block;height:calc(100% - var(--fd-gap-sm) - var(--fd-control-height-sm))}.x-datepicker .date-time-picker .time-body .col .col-list .col-item{border-radius:var(--fd-border-radius-sm);cursor:pointer;height:var(--fd-control-height-sm);line-height:var(--fd-control-height-sm);margin-top:var(--fd-gap-sm);width:48px}.x-datepicker .date-time-picker .time-body .col .col-list .col-item:hover{background:var(--fd-control-item-bg-hover)}.x-datepicker .date-time-picker .time-body .col .col-list .col-item.select{background:var(--fd-color-primary-bg)}.x-datepicker .date-month,.x-datepicker .date-year{-ms-flex-line-pack:justify;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-content:space-between;align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;padding:var(--fd-padding-layout) var(--fd-padding-layout-sm)}.x-datepicker .date-month .item-cell,.x-datepicker .date-year .item-cell{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;color:var(--fd-color-text);display:inline-flex;height:25%;justify-content:center;padding:0 var(--fd-padding-lg);position:relative;width:33.33%}.x-datepicker .date-month .item-cell.disabled,.x-datepicker .date-year .item-cell.disabled{cursor:not-allowed}.x-datepicker .date-month .item-cell.disabled:before,.x-datepicker .date-year .item-cell.disabled:before{background:var(--fd-color-bg-container-disabled);content:"";height:var(--fd-control-height);left:0;position:absolute;right:0}.x-datepicker .date-month .item-cell .cell-btn,.x-datepicker .date-year .item-cell .cell-btn{border-radius:var(--fd-border-radius-sm);cursor:pointer;height:var(--fd-control-height);line-height:var(--fd-control-height);text-align:center;width:100%}.x-datepicker .date-month .item-cell .cell-btn:hover,.x-datepicker .date-year .item-cell .cell-btn:hover{background:var(--fd-control-item-bg-hover)}.x-datepicker .date-month .item-cell .cell-btn.last-year,.x-datepicker .date-month .item-cell .cell-btn.next-year,.x-datepicker .date-year .item-cell .cell-btn.last-year,.x-datepicker .date-year .item-cell .cell-btn.next-year{color:var(--fd-color-text-disabled)}.x-datepicker .date-month .item-cell .cell-btn.select,.x-datepicker .date-year .item-cell .cell-btn.select{background:var(--fd-color-primary);color:var(--fd-color-text-light-solid)}.x-datepicker .date-month .item-cell .cell-btn.select.disabled,.x-datepicker .date-year .item-cell .cell-btn.select.disabled{background:var(--fd-control-item-bg-active-disabled)}.x-datepicker .date-month .item-cell .cell-btn.disabled,.x-datepicker .date-month .item-cell .cell-btn.disabled:hover,.x-datepicker .date-year .item-cell .cell-btn.disabled,.x-datepicker .date-year .item-cell .cell-btn.disabled:hover{background:none;color:var(--fd-color-text-disabled)}.x-datepicker .date-foot{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;border-top:1px solid var(--fd-color-split);display:flex;height:40px;justify-content:space-between;padding:0 10px;position:relative}.x-datepicker .date-foot.multi-pane{display:none}.x-date-input{height:100%;width:100%}.x-date-input.read-only .x-inner-wrapper input{cursor:pointer}.x-date-input .x-inner-wrapper{border:none!important;border-radius:0}.x-datetime{color:var(--fd-color-text);cursor:pointer;position:relative;width:280px}.x-datetime *,.x-datetime :after,.x-datetime :before{box-sizing:border-box}.x-datetime .datetime-label{border:1px solid var(--fd-color-border);border-radius:var(--fd-border-radius);cursor:pointer;height:var(--fd-control-height);line-height:calc(var(--fd-control-height) - 2px);overflow:hidden;padding-right:calc(var(--fd-padding) + var(--fd-gap-sm) + var(--fd-font-size-lg));transition:border-color .2s ease;width:100%}.x-datetime .datetime-label.no-border{border-color:transparent!important;box-shadow:none!important}.x-datetime .datetime-label.status-error{border-color:var(--fd-color-error)!important}.x-datetime .datetime-label.status-success{border-color:var(--fd-color-success)!important}.x-datetime .datetime-label.status-warning{border-color:var(--fd-color-warning)!important}.x-datetime .datetime-label input{padding-right:0!important}.x-datetime .datetime-label:focus{border-color:var(--fd-color-primary);outline:none}.x-datetime .datetime-label:focus .datetime-icon{color:var(--fd-color-primary)}.x-datetime .clear-icon,.x-datetime .datetime-icon{color:var(--fd-color-icon-normal);font-size:var(--fd-font-size-lg);font-style:normal;line-height:var(--fd-control-height);padding:0 var(--fd-padding) 0 var(--fd-gap-sm);position:absolute;right:0;text-align:center;top:0;transition:color .2s ease}.x-datetime .clear-icon{color:var(--fd-color-icon);display:none}.x-datetime .clear-icon:hover{color:var(--fd-color-icon-hover)}.x-datetime.select .datetime-label,.x-datetime:hover .datetime-label{border-color:var(--fd-color-primary)}.x-datetime.select .x-inner-wrapper,.x-datetime:hover .x-inner-wrapper{box-shadow:none!important}.x-datetime.select .datetime-label{box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-control-outline)}.x-datetime.select .datetime-label.status-error{box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-error-outline)}.x-datetime.select .datetime-label.status-warning{box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-warning-outline)}.x-datetime.disable{cursor:not-allowed}.x-datetime.disable .datetime-label{background:var(--fd-color-bg-container-disabled);border-color:var(--fd-color-border);cursor:not-allowed}.x-datetime.disable .datetime-label .x-inner-wrapper{background-color:transparent}.x-datetime.disable .datetime-label:hover{border-color:var(--fd-color-border)}.x-datetime.disable .datetime-icon{color:var(--fd-color-text-disabled)}.x-datetime.has-clear.value:not(.disable):hover .clear-icon{display:block}.x-datetime.has-clear.value:not(.disable):hover .datetime-icon{display:none}.x-datetime-content{cursor:auto;display:inline-block;width:auto}.x-datetime-bottom-appear,.x-datetime-bottom-enter{animation:x-slide-down .2s ease;animation-fill-mode:forwards;transform-origin:top}.x-datetime-bottom-exit{animation:x-slide-down .2s ease-in reverse;animation-fill-mode:forwards;transform-origin:top}.x-datetime-top-appear,.x-datetime-top-enter{animation:x-slide-down .2s ease;animation-fill-mode:forwards;transform-origin:bottom}.x-datetime-top-exit{animation:x-slide-down .2s reverse;animation-fill-mode:forwards;transform-origin:bottom}.x-date-range{align-items:center;border:1px solid var(--fd-color-border);border-radius:var(--fd-border-radius);color:var(--fd-color-text);cursor:pointer;display:inline-flex;height:var(--fd-control-height);padding:var(--fd-padding-xs) var(--fd-padding);padding-right:30px;position:relative;width:360px}.x-date-range,.x-date-range *,.x-date-range :after,.x-date-range :before{box-sizing:border-box}.x-date-range ol,.x-date-range ul{margin:0;padding:0}.x-date-range li{list-style-type:none}.x-date-range.focused{box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-control-outline)}.x-date-range.focused .active-bar{opacity:1}.x-date-range.focused.status-error{box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-error-outline)}.x-date-range.focused.status-warning{box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-warning-outline)}.x-date-range.status-error{border-color:var(--fd-color-error)!important}.x-date-range.status-success{border-color:var(--fd-color-success)!important}.x-date-range.status-warning{border-color:var(--fd-color-warning)!important}.x-date-range .active-bar{background:var(--fd-color-primary);bottom:0;height:2px;margin-left:var(--fd-padding);opacity:0;pointer-events:none}.x-date-range .range-input{align-items:center;color:var(--fd-color-text);display:inline-flex;width:100%}.x-date-range .range-input.range-input-placeholder>input{color:var(--fd-color-text-placeholder)}.x-date-range .range-input>input{-webkit-box-flex:1;background:0 0;background-image:none;border:0;border-radius:var(--fd-border-radius);display:inline-block;flex:auto;font-size:var(--fd-font-size);height:auto;line-height:var(--fd-line-height);min-width:0;padding:0;position:relative;text-overflow:ellipsis;transition:all .3s;width:100%}.x-date-range .range-input>input:focus{outline:none}.x-date-range .range-separator{align-items:center;padding:0 8px}.x-date-range .range-separator>span{color:var(--fd-color-text-placeholder);display:inline-block;font-size:var(--fd-font-size-lg)}.x-date-range .datetime-label{align-items:center;border:1px solid var(--fd-color-border);border-radius:var(--fd-border-radius);cursor:pointer;display:flex;height:var(--fd-control-height);line-height:calc(var(--fd-control-height) - 2px);padding-left:var(--fd-padding);padding-right:calc(var(--fd-control-height) - 2px);transition:border-color .2s ease;width:100%}.x-date-range .datetime-label .datetime-end-label,.x-date-range .datetime-label .datetime-start-label{flex:auto}.x-date-range .datetime-label .label-split{flex:none;margin:0 5px;width:14px}.x-date-range .datetime-label .placeholder{color:var(--fd-color-text-placeholder);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-date-range .clear-icon,.x-date-range .datetime-icon{color:var(--fd-color-icon-normal);font-size:var(--fd-font-size-lg);font-style:normal;line-height:calc(var(--fd-control-height) - 2px);position:absolute;right:0;text-align:center;top:0;transition:color .2s ease;width:calc(var(--fd-control-height) - 2px)}.x-date-range .clear-icon{background-color:var(--fd-color-bg-container);border-radius:var(--fd-border-radius);color:var(--fd-color-icon);opacity:0}.x-date-range .clear-icon:hover{color:var(--fd-color-icon-hover)}.x-date-range.select .clear-icon,.x-date-range:hover .clear-icon{opacity:1}.x-date-range.select .datetime-label,.x-date-range:hover .datetime-label{border-color:var(--fd-color-primary)}.x-date-range.focused,.x-date-range:hover{border:1px solid;border-color:var(--fd-color-primary)}.x-date-range.disabled{background:var(--fd-color-bg-container-disabled);border-color:var(--fd-color-border);cursor:not-allowed}.x-date-range.disabled input{color:var(--fd-color-text-data-disabled);cursor:not-allowed!important}.x-date-range.disabled.focused,.x-date-range.disabled:hover{border-color:var(--fd-color-border)}.x-date-range.disabled .datetime-icon{color:var(--fd-color-text-disabled)}.x-date-range-picker{background:var(--fd-color-bg-container);border-radius:var(--fd-border-radius);box-shadow:0 9px 27px 8px #1f2d3d0a,0 6px 18px 2px #1f2d3d0f,0 3px 6px -4px #1f2d3d1a;color:var(--fd-color-text);display:inline-block;text-align:center}.x-date-range-picker .picker-panel{background:var(--fd-color-bg-container);border-radius:3px;display:inline-flex;flex-direction:column;outline:none;text-align:center}.x-date-range-picker .picker-date-panel,.x-date-range-picker .picker-month-panel,.x-date-range-picker .picker-time-panel,.x-date-range-picker .picker-year-panel{display:flex;flex-direction:column;width:280px}.x-date-range-picker .picker-panel-header{border-bottom:1px solid var(--fd-color-border);display:flex;padding:0 10px}.x-date-range-picker .picker-panel-header>*{flex:none}.x-date-range-picker .picker-panel-header .x-button{background:transparent;border:0;color:var(--fd-color-text);cursor:pointer;font-size:var(--fd-font-size);height:40px;line-height:40px;padding:0;transition:color .3s;width:auto}.x-date-range-picker .picker-panel-header .x-button:hover{color:var(--fd-color-primary)}.x-date-range-picker .picker-panel-header .picker-panel-header-view{-webkit-box-flex:1;color:var(--fd-color-text);flex:auto;font-weight:500;line-height:40px}.x-date-range-picker .picker-panel-header .picker-panel-header-view .x-button{color:inherit;font-weight:inherit}.x-date-range-picker .picker-panel-header .picker-panel-header-view .x-button:not(:first-child){margin-left:10px}.x-date-range-picker .picker-panel-header .picker-panel-header-view .x-button:hover{color:var(--fd-color-primary)}.x-date-range-picker .picker-panel-footer{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;border-top:1px solid var(--fd-color-border);display:flex;height:40px;justify-content:space-between;padding:0 15px}.x-date-range-picker .picker-panel-footer.single-btn{justify-content:center}.x-date-range-picker .panel-content{border-collapse:collapse;table-layout:fixed;width:100%}.x-date-range-picker .panel-content td,.x-date-range-picker .panel-content th{font-weight:400;min-width:var(--fd-control-height-sm);position:relative}.x-date-range-picker .panel-content th{height:var(--fd-control-height-sm);line-height:var(--fd-control-height-sm)}.x-date-range-picker .picker-panel>:not(.picker-date-panel) .in-range.range-hover-end:before,.x-date-range-picker .picker-panel>:not(.picker-date-panel) .in-range.range-hover-start:before{background:var(--fd-color-primary-bg-hover)}.x-date-range-picker .date-picker-cell{color:var(--fd-color-text-disabled);cursor:pointer;padding:4px 0}.x-date-range-picker .date-picker-cell.in-view{color:var(--fd-color-text)}.x-date-range-picker .date-picker-cell.disabled{color:var(--fd-color-text-disabled);cursor:not-allowed;pointer-events:none}.x-date-range-picker .date-picker-cell:before{content:"";height:var(--fd-control-height);left:0;position:absolute;right:0;z-index:1}.x-date-range-picker .date-picker-cell .date-picker-cell-inner{border-radius:var(--fd-border-radius);display:inline-block;height:var(--fd-control-height);line-height:var(--fd-control-height);min-width:var(--fd-control-height);position:relative;z-index:2}.x-date-range-picker .date-picker-cell:hover:not(.selected):not(.range-start):not(.range-end):not(.range-hover-start):not(.range-hover-end):not(.in-range) .date-picker-cell-inner{background:var(--fd-control-item-bg-hover)}.x-date-range-picker .date-picker-cell.today .date-picker-cell-inner:before{border:1px solid;border-color:var(--fd-color-primary);border-radius:var(--fd-border-radius);content:"";inset:0;position:absolute;z-index:1}.x-date-range-picker .date-picker-cell.in-range{position:relative}.x-date-range-picker .date-picker-cell.in-range:before{background:var(--fd-color-primary-bg)}.x-date-range-picker .date-picker-cell.range-end .date-picker-cell-inner,.x-date-range-picker .date-picker-cell.range-start .date-picker-cell-inner,.x-date-range-picker .date-picker-cell.selected .date-picker-cell-inner{background:var(--fd-color-primary);color:var(--fd-color-text-light-solid)}.x-date-range-picker .date-picker-cell.range-end:not(.range-end-single):before,.x-date-range-picker .date-picker-cell.range-start:not(.range-start-single):before{background:var(--fd-color-primary-bg)}.x-date-range-picker .date-picker-cell.range-start:before{left:50%}.x-date-range-picker .date-picker-cell.range-end:before{right:50%}.x-date-range-picker .date-picker-cell.range-hover-end.range-end-single:after,.x-date-range-picker .date-picker-cell.range-hover-end.range-start.range-end.range-start-near-hover:after,.x-date-range-picker .date-picker-cell.range-hover-end:not(.in-range):not(.range-start):not(.range-end):after,.x-date-range-picker .date-picker-cell.range-hover-start.range-start-single:after,.x-date-range-picker .date-picker-cell.range-hover-start.range-start.range-end.range-end-near-hover:after,.x-date-range-picker .date-picker-cell.range-hover-start:not(.in-range):not(.range-start):not(.range-end):after,.x-date-range-picker .date-picker-cell.range-hover:not(.in-range):after{border-bottom:1px dashed var(--fd-color-primary);border-top:1px dashed var(--fd-color-primary);content:"";height:var(--fd-control-height);position:absolute;top:50%;transform:translateY(-50%);z-index:0}.x-date-range-picker .date-picker-cell.range-hover-end:after,.x-date-range-picker .date-picker-cell.range-hover-start:after,.x-date-range-picker .date-picker-cell.range-hover:after{left:2px;right:0}.x-date-range-picker .date-picker-cell.in-range.range-hover:before,.x-date-range-picker .date-picker-cell.range-end.range-hover:before,.x-date-range-picker .date-picker-cell.range-end:not(.range-end-single).range-hover-end:before,.x-date-range-picker .date-picker-cell.range-start.range-hover:before,.x-date-range-picker .date-picker-cell.range-start:not(.range-start-single).range-hover-start:before{background:var(--fd-color-primary-bg-hover)}.x-date-range-picker .date-picker-cell.range-start:not(.range-start-single):not(.range-end) .date-picker-cell-inner{border-radius:var(--fd-border-radius) 0 0 var(--fd-border-radius)}.x-date-range-picker .date-picker-cell.range-end:not(.range-end-single):not(.range-start) .date-picker-cell-inner{border-radius:0 var(--fd-border-radius) var(--fd-border-radius) 0}.x-date-range-picker .date-picker-cell.range-hover.range-start:after{right:50%}.x-date-range-picker .date-picker-cell.range-hover.range-end:after{left:50%}.x-date-range-picker .date-picker-cell.range-hover-start:after{border-bottom-left-radius:var(--fd-border-radius);border-left:1px dashed;border-left-color:var(--fd-color-primary);border-top-left-radius:var(--fd-border-radius);left:6px}.x-date-range-picker .date-picker-cell.range-hover-end:after{border-bottom-right-radius:var(--fd-border-radius);border-right:1px dashed;border-right-color:var(--fd-color-primary);border-top-right-radius:var(--fd-border-radius);right:6px}.x-date-range-picker .picker-date-panel .panel-body{padding:var(--fd-padding-layout-sm)}.x-date-range-picker .picker-date-panel .panel-content{width:252px}.x-date-range-picker .picker-date-panel .panel-content th{width:36px}.x-date-range-picker .picker-date-panel .panel-content td,.x-date-range-picker .picker-date-panel .panel-content th{height:var(--fd-control-height-sm)}.x-date-range-picker .picker-date-panel .in-range.range-hover-end .date-picker-cell-inner:after,.x-date-range-picker .picker-date-panel .in-range.range-hover-start .date-picker-cell-inner:after{background:var(--fd-color-primary-bg-hover);bottom:0;content:"";position:absolute;top:0;z-index:-1}.x-date-range-picker .picker-date-panel .in-range.range-hover-start .date-picker-cell-inner:after{left:0;right:-6px}.x-date-range-picker .picker-date-panel .in-range.range-hover-end .date-picker-cell-inner:after{left:-6px;right:0}.x-date-range-picker .picker-date-panel .time-label{border-top:1px solid var(--fd-color-border);color:var(--fd-color-text);cursor:pointer;font-size:var(--fd-font-size);height:var(--fd-control-height);line-height:var(--fd-control-height);width:100%}.x-date-range-picker .picker-date-panel .time-label .right-outlined-icon{margin-left:5px}.x-date-range-picker .picker-month-panel .panel-content,.x-date-range-picker .picker-year-panel .panel-content{height:268px}.x-date-range-picker .picker-month-panel .panel-body,.x-date-range-picker .picker-year-panel .panel-body{padding:0 12px}.x-date-range-picker .picker-month-panel .date-picker-cell .date-picker-cell-inner,.x-date-range-picker .picker-month-panel .date-picker-cell:before,.x-date-range-picker .picker-year-panel .date-picker-cell .date-picker-cell-inner,.x-date-range-picker .picker-year-panel .date-picker-cell:before{height:var(--fd-control-height);line-height:var(--fd-control-height)}.x-date-range-picker .picker-month-panel .date-picker-cell .date-picker-cell-inner,.x-date-range-picker .picker-year-panel .date-picker-cell .date-picker-cell-inner{width:86px}.x-date-range-picker .picker-month-panel .cell-range-hover-start:after,.x-date-range-picker .picker-year-panel .cell-range-hover-start:after{border-left:1px dashed;border-left-color:var(--fd-color-primary);border-radius:var(--fd-border-radius) 0 0 var(--fd-border-radius);left:-.33333333px}.x-date-range-picker .picker-month-panel .cell-range-hover-end:after,.x-date-range-picker .picker-year-panel .cell-range-hover-end:after{border-radius:0 var(--fd-border-radius) var(--fd-border-radius) 0;border-right:1px dashed var(--fd-color-primary);right:-.33333333px}.x-date-range-picker .datetime-panel .date-picker-cell .date-picker-cell-inner,.x-date-range-picker .datetime-panel .date-picker-cell:before,.x-date-range-picker .picker-date-panel .date-picker-cell .date-picker-cell-inner,.x-date-range-picker .picker-date-panel .date-picker-cell:before{height:var(--fd-control-height-sm);line-height:var(--fd-control-height-sm);min-width:var(--fd-control-height-sm)}.x-date-range-picker .datetime-panel .date-picker-cell.range-hover-end.range-end-single:after,.x-date-range-picker .datetime-panel .date-picker-cell.range-hover-end.range-start.range-end.range-start-near-hover:after,.x-date-range-picker .datetime-panel .date-picker-cell.range-hover-end:not(.in-range):not(.range-start):not(.range-end):after,.x-date-range-picker .datetime-panel .date-picker-cell.range-hover-start.range-start-single:after,.x-date-range-picker .datetime-panel .date-picker-cell.range-hover-start.range-start.range-end.range-end-near-hover:after,.x-date-range-picker .datetime-panel .date-picker-cell.range-hover-start:not(.in-range):not(.range-start):not(.range-end):after,.x-date-range-picker .datetime-panel .date-picker-cell.range-hover:not(.in-range):after,.x-date-range-picker .picker-date-panel .date-picker-cell.range-hover-end.range-end-single:after,.x-date-range-picker .picker-date-panel .date-picker-cell.range-hover-end.range-start.range-end.range-start-near-hover:after,.x-date-range-picker .picker-date-panel .date-picker-cell.range-hover-end:not(.in-range):not(.range-start):not(.range-end):after,.x-date-range-picker .picker-date-panel .date-picker-cell.range-hover-start.range-start-single:after,.x-date-range-picker .picker-date-panel .date-picker-cell.range-hover-start.range-start.range-end.range-end-near-hover:after,.x-date-range-picker .picker-date-panel .date-picker-cell.range-hover-start:not(.in-range):not(.range-start):not(.range-end):after,.x-date-range-picker .picker-date-panel .date-picker-cell.range-hover:not(.in-range):after{height:var(--fd-control-height-sm)}.x-date-range-picker .datetime-panel{display:flex}.x-date-range-picker .datetime-panel .time-panel,.x-date-range-picker .time-panel{border-left:1px solid var(--fd-color-border)}.x-date-range-picker .time-panel{min-width:auto;width:auto}.x-date-range-picker .time-panel .picker-panel-header{display:block}.x-date-range-picker .time-panel .picker-panel-header .picker-panel-header-view{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;align-items:center;display:flex;justify-content:space-evenly}.x-date-range-picker .time-panel .picker-panel-header .picker-panel-header-view .x-input{display:inline-block;margin:0 2px;vertical-align:middle;width:40px}.x-date-range-picker .time-panel .picker-panel-header .picker-panel-header-view .x-input input{font-weight:500}.x-date-range-picker .time-panel .time-panel-body{-webkit-box-flex:1;display:flex;flex:auto;height:274px}.x-date-range-picker .time-panel .time-panel-body.show-time-label{height:306px}.x-date-range-picker .time-panel .time-panel-body .time-column{-webkit-box-flex:1;display:flex;flex:1 0 auto;flex-direction:column;list-style:none;overflow-y:hidden;width:56px}.x-date-range-picker .time-panel .time-panel-body .time-column:not(:first-child){border-left:1px solid var(--fd-color-border)}.x-date-range-picker .time-panel .time-panel-body .time-column .label{-webkit-box-flex:0;color:var(--fd-color-text);flex:none;font-size:var(--fd-font-size);font-weight:400;height:24px;line-height:24px;margin-top:4px}.x-date-range-picker .time-panel .time-panel-body .time-column .time-column-scroll{flex:1;overflow-y:hidden;padding:0 4px}.x-date-range-picker .time-panel .time-panel-body .time-column .time-column-scroll:after{content:"";display:block;height:calc(100% - 26px)}.x-date-range-picker .time-panel .time-panel-body .time-column .time-column-scroll::-webkit-scrollbar{width:0}.x-date-range-picker .time-panel .time-panel-body .time-column .time-column-scroll:hover{overflow-y:auto}.x-date-range-picker .time-panel .time-panel-body .time-column .time-column-scroll .time-column-cell{border-radius:var(--fd-border-radius-sm);cursor:pointer;height:var(--fd-control-height-sm);line-height:var(--fd-control-height-sm);margin-top:var(--fd-gap-sm);overflow:hidden}.x-date-range-picker .time-panel .time-panel-body .time-column .time-column-scroll .time-column-cell:hover .inner{background:var(--fd-control-item-bg-hover)}.x-date-range-picker .time-panel .time-panel-body .time-column .time-column-scroll .time-column-cell.selected .inner{background:var(--fd-color-primary-bg)}.x-date-range-trigger-content{cursor:auto;display:inline-block;width:auto}.x-date-range-trigger-bottom-appear,.x-date-range-trigger-bottom-enter{animation:x-slide-down .2s ease;animation-fill-mode:forwards;transform-origin:top}.x-date-range-trigger-bottom-exit{animation:x-slide-down .2s ease-in reverse;animation-fill-mode:forwards;transform-origin:top}.x-date-range-trigger-top-appear,.x-date-range-trigger-top-enter{animation:x-slide-down .2s ease;animation-fill-mode:forwards;transform-origin:bottom}.x-date-range-trigger-top-exit{animation:x-slide-down .2s reverse;animation-fill-mode:forwards;transform-origin:bottom}.x-dialog-modeless{display:none;height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:2500}.x-dialog-modeless .content-wrapper{pointer-events:auto}.x-dialog{inset:0;position:absolute}.x-dialog *,.x-dialog :after,.x-dialog :before{box-sizing:border-box}.x-dialog .content-wrapper{background:var(--fd-color-bg-elevater);border-radius:var(--fd-border-radius-xl);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;display:flex;flex-direction:column;height:500px;margin:auto;position:relative;width:500px;z-index:2500}.x-dialog.theme-classic .dialog-header{background:var(--fd-color-fill-quaternary);border-bottom-color:transparent}.x-dialog.theme-classic .dialog-content{padding-bottom:0!important}.x-dialog.fade-down.dialog-content-appear,.x-dialog.fade-down.dialog-content-enter{animation:x-fade-down .3s ease-out;pointer-events:none}.x-dialog.fade-down.dialog-content-exit{animation:x-fade-down .2s ease-in reverse;pointer-events:none}.x-dialog.fade-down.dialog-content-exit-done{display:none}.x-dialog.zoom-in.dialog-content-appear,.x-dialog.zoom-in.dialog-content-enter{animation:x-zoom-in-big .2s ease;pointer-events:none}.x-dialog.zoom-in.dialog-content-exit{animation:x-zoom-in-big .1s ease-in reverse;pointer-events:none}.x-dialog.zoom-in.dialog-content-exit-done{display:none}.x-dialog .dialog-header{-webkit-box-flex:0;-webkit-box-pack:justify;-ms-flex-pack:justify;border-bottom:1px solid var(--fd-color-border);display:flex;flex:0 0 auto;justify-content:space-between;max-height:80px;padding:var(--fd-padding-layout) var(--fd-padding-layout-lg);position:relative}.x-dialog .dialog-header .dialog-title{-webkit-box-flex:1;align-items:flex-end;display:flex;flex:1 1 auto;overflow:hidden}.x-dialog .dialog-header .dialog-title.align-center{justify-content:center}.x-dialog .dialog-header .dialog-title.draggable{cursor:move}.x-dialog .dialog-header .dialog-title .main-title{-webkit-box-flex:0;color:var(--fd-color-text);flex:0 0 auto;font-size:var(--fd-font-size-xl);font-weight:700;line-height:var(--fd-line-height-xl);margin-right:var(--fd-gap-xl)}.x-dialog .dialog-header .dialog-title .sub-title{color:var(--fd-color-text-description);font-size:var(--fd-font-size);line-height:var(--fd-line-height);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-dialog .dialog-header-buttons{-webkit-box-flex:0;align-items:center;display:flex;flex:0 0 auto;font-size:var(--fd-font-size)}.x-dialog .dialog-header-buttons .close-btn{color:var(--fd-color-text)}.x-dialog .dialog-header-buttons.no-header{position:absolute;right:var(--fd-padding-layout-lg);top:var(--fd-padding-layout)}.x-dialog .dialog-content{flex:1 1 auto;height:100%;overflow:auto}.x-dialog .dialog-content.has-separator{padding-bottom:var(--fd-padding-layout-lg)}.x-dialog .has-padding{padding-left:var(--fd-padding-layout-lg);padding-right:var(--fd-padding-layout-lg);padding-top:var(--fd-padding-layout-lg)}.x-dialog .dialog-footer{-webkit-box-flex:0;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;display:flex;flex:0 0 auto;justify-content:space-between;max-height:80px;padding:var(--fd-padding-layout-sm) var(--fd-padding-layout-lg)}.x-dialog .dialog-footer.has-separator{border-top:1px solid var(--fd-color-border)}.x-dialog .dialog-footer .footer-right .footer-btn{margin-left:var(--fd-gap-xl)}.x-window-mask{inset:0;overflow:auto;position:fixed;z-index:1002}.x-window-mask *,.x-window-mask :after,.x-window-mask :before{box-sizing:border-box}.x-window-mask .x-mask{background-color:var(--fd-color-bg-mask);inset:0;pointer-events:none;position:fixed;z-index:-1}.x-window-mask.mask-appear,.x-window-mask.mask-enter{opacity:0}.x-window-mask.mask-appear-active,.x-window-mask.mask-enter-active{opacity:1;transition:opacity .2s ease}.x-window-mask.mask-mask-exit{opacity:1}.x-window-mask.mask-exit-active{opacity:0;transition:opacity .1s ease-in}.x-window-mask.mask-exit-done{display:none}.x-form{color:var(--fd-color-text)}.x-form *,.x-form :after,.x-form :before{box-sizing:border-box}.x-form .x-form-item{display:flex;line-height:32px;margin-bottom:30px}.x-form .x-form-item.is-hidden{display:none}.x-form .x-form-item .form-item-label{flex:none;padding-right:12px;text-align:right}.x-form .x-form-item .form-item-label .required-tip{color:var(--fd-color-error);font-weight:700}.x-form .x-form-item .form-item-content{flex:auto;position:relative}.x-form .x-form-item .form-item-content .form-item-error{color:var(--fd-color-error);font-size:var(--fd-font-size-sm);left:0;line-height:1;padding-top:4px;position:absolute;top:100%}.x-form .x-form-item .form-item-content .form-item-extra{color:var(--fd-color-text-description);font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm)}.x-form-vertical .x-form-item{flex-direction:column;margin-bottom:15px}.x-form-vertical .x-form-item .form-item-label{text-align:left}.x-form-vertical .x-form-item .form-item-content .form-item-error{position:static}.x-form-inline{display:flex;flex-wrap:wrap}.x-form-inline .x-form-item{margin-bottom:20px;margin-right:40px}.x-form-inline .x-form-item .form-item-content .form-item-error{position:static}.x-prompt{background:var(--fd-color-bg-elevater);border-radius:var(--fd-border-radius-lg);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;margin:7% auto 0;min-height:152px;padding:var(--fd-padding-layout-xl);width:400px}.x-prompt *,.x-prompt :after,.x-prompt :before{box-sizing:border-box}.x-prompt.prompt-appear,.x-prompt.prompt-enter{animation:x-fade-down .2s ease;pointer-events:none}.x-prompt.prompt-exit{animation:x-fade-down .1s ease reverse;pointer-events:none}.x-prompt .title{color:var(--fd-color-text);font-size:var(--fd-font-size-lg);font-weight:600;line-height:var(--fd-line-height-lg);margin-bottom:var(--fd-gap)}.x-prompt .prompt-input{height:var(--fd-control-height);margin-bottom:var(--fd-gap-xl);width:100%}.x-prompt .prompt-footer:after,.x-prompt .prompt-footer:before{content:" ";display:table;line-height:0}.x-prompt .prompt-footer:after{clear:both}.x-prompt .prompt-footer .footer-btn{float:right;margin-left:var(--fd-gap-xl)}.x-prompt .prompt-footer .footer-btn:last-child{margin-left:0}.x-pop-confirm{display:block;max-width:300px;min-width:200px;position:absolute}.x-pop-confirm *,.x-pop-confirm :after,.x-pop-confirm :before{box-sizing:border-box}.x-pop-confirm-hidden{display:none}.x-pop-confirm-popup{background:var(--fd-color-bg-elevater);border-radius:var(--fd-border-radius-lg);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;color:var(--fd-color-text);font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);padding:var(--fd-padding-layout-sm)}.x-pop-confirm-popup *,.x-pop-confirm-popup :after,.x-pop-confirm-popup :before{box-sizing:border-box}.x-pop-confirm-popup .pop-confirm-footer{margin-top:var(--fd-gap)}.x-pop-confirm-popup .pop-confirm-footer:after,.x-pop-confirm-popup .pop-confirm-footer:before{content:" ";display:table;line-height:0}.x-pop-confirm-popup .pop-confirm-footer:after{clear:both}.x-pop-confirm-popup .pop-confirm-footer .footer-btn{float:right;margin-left:var(--fd-gap)}.x-pop-confirm-popup .pop-confirm-footer .footer-btn:last-child{margin-left:0}.x-pop-confirm .pop-confirm-arrow{display:block;height:12px;overflow:hidden;pointer-events:none;position:absolute;width:12px;z-index:1}.x-pop-confirm .pop-confirm-arrow.no-arrow{display:none!important}.x-pop-confirm .pop-confirm-arrow:before{background:#fff;bottom:0;clip-path:polygon(1.65685425px 100%,50% 1.65685425px,10.34314575px 100%,1.65685425px 100%);clip-path:path("M 0 6 A 4 4 0 0 0 2.82842712474619 4.82842712474619 L 4.585786437626905 3.0710678118654755 A 2 2 0 0 1 7.414213562373095 3.0710678118654755 L 9.17157287525381 4.82842712474619 A 4 4 0 0 0 12 6 Z");content:"";height:6px;inset-inline-start:0;position:absolute;width:12px}.x-pop-confirm .pop-confirm-arrow:after{background:transparent;border-radius:0 0 2px;bottom:0;box-shadow:2px 2px 5px #0000000d;content:"";height:6.14213562px;inset-inline:0;margin:auto;position:absolute;transform:translateY(50%) rotate(-135deg);width:6.14213562px;z-index:0}.x-pop-confirm.placement-top .pop-confirm-arrow,.x-pop-confirm.placement-top-left .pop-confirm-arrow,.x-pop-confirm.placement-top-right .pop-confirm-arrow{bottom:0;transform:translateY(100%) rotate(180deg)}.x-pop-confirm.placement-top .pop-confirm-arrow{left:50%;transform:translate(-50%) translateY(100%) rotate(180deg)}.x-pop-confirm.placement-top-left .pop-confirm-arrow{left:8px}.x-pop-confirm.placement-top-right .pop-confirm-arrow{right:8px}.x-pop-confirm.placement-bottom .pop-confirm-arrow,.x-pop-confirm.placement-bottom-left .pop-confirm-arrow,.x-pop-confirm.placement-bottom-right .pop-confirm-arrow{top:0;transform:translateY(-100%)}.x-pop-confirm.placement-bottom .pop-confirm-arrow{left:50%;transform:translate(-50%) translateY(-100%)}.x-pop-confirm.placement-bottom-left .pop-confirm-arrow{left:8px}.x-pop-confirm.placement-bottom-right .pop-confirm-arrow{right:8px}.x-pop-confirm.placement-left .pop-confirm-arrow,.x-pop-confirm.placement-left-bottom .pop-confirm-arrow,.x-pop-confirm.placement-left-top .pop-confirm-arrow{right:0;transform:translate(100%) rotate(90deg)}.x-pop-confirm.placement-left .pop-confirm-arrow{top:50%;transform:translateY(-50%) translate(100%) rotate(90deg)}.x-pop-confirm.placement-left-top .pop-confirm-arrow{top:8px}.x-pop-confirm.placement-left-bottom .pop-confirm-arrow{bottom:8px}.x-pop-confirm.placement-right .pop-confirm-arrow,.x-pop-confirm.placement-right-bottom .pop-confirm-arrow,.x-pop-confirm.placement-right-top .pop-confirm-arrow{left:0;transform:translate(-100%) rotate(-90deg)}.x-pop-confirm.placement-right .pop-confirm-arrow{top:50%;transform:translateY(-50%) translate(-100%) rotate(-90deg)}.x-pop-confirm.placement-right-top .pop-confirm-arrow{top:8px}.x-pop-confirm.placement-right-bottom .pop-confirm-arrow{bottom:8px}.x-pop-confirm-top-appear,.x-pop-confirm-top-enter{animation:x-move-bottom .2s ease;animation-fill-mode:forwards}.x-pop-confirm-top-exit{animation:x-move-bottom .1s ease-in reverse;animation-fill-mode:forwards}.x-pop-confirm-right-appear,.x-pop-confirm-right-enter{animation:x-move-left .2s ease;animation-fill-mode:forwards}.x-pop-confirm-right-exit{animation:x-move-left .1s ease-in reverse;animation-fill-mode:forwards}.x-pop-confirm-bottom-appear,.x-pop-confirm-bottom-enter{animation:x-move-top .2s ease;animation-fill-mode:forwards}.x-pop-confirm-bottom-exit{animation:x-move-top .1s ease-in reverse;animation-fill-mode:forwards}.x-pop-confirm-left-appear,.x-pop-confirm-left-enter{animation:x-move-right .2s ease;animation-fill-mode:forwards}.x-pop-confirm-left-exit{animation:x-move-right .1s ease-in reverse;animation-fill-mode:forwards}.x-file-preview{background:rgba(0,0,0,.7);color:#e6e6e6;inset:0;position:fixed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1002}.x-file-preview *,.x-file-preview :after,.x-file-preview :before{box-sizing:border-box}.x-file-preview img{border:0;outline:none}.x-file-preview.file-preview-enter{opacity:0}.x-file-preview.file-preview-enter-active{opacity:1;transition:opacity .2s ease-in-out}.x-file-preview.file-preview-exit-active{opacity:0;transition:opacity .2s ease-in-out}.x-file-preview .preview-header{background:rgba(0,0,0,.6);color:#fff;height:50px;line-height:50px;position:relative}.x-file-preview .preview-header .file-counter{color:#b5b8be;display:inline-block;padding-left:20px}.x-file-preview .preview-header .file-name{display:inline-block;inset:0 200px 0 60px;overflow:hidden;position:absolute;text-overflow:ellipsis;white-space:nowrap}.x-file-preview .preview-header .download-btn{color:inherit;display:block;font-size:15px;height:50px;outline:none;padding:0 20px;position:absolute;right:50px;text-decoration:none;top:0;transition:all .2s ease}.x-file-preview .preview-header .download-btn>i{font-size:20px}.x-file-preview .preview-header .download-btn:hover{background:#000}.x-file-preview .preview-header .close-btn{cursor:pointer;font-size:20px;height:50px;position:absolute;right:0;text-align:center;top:0;transition:all .2s ease;width:50px}.x-file-preview .preview-header .close-btn:hover{background:#000}.x-file-preview .preview-body{inset:50px 0 0;overflow:hidden;position:absolute}.x-file-preview .preview-body .preview-center{inset:0;margin:auto;max-height:100%;max-width:80%;position:absolute}.x-file-preview .preview-body .preview-image{background:#fff;cursor:pointer;transition:transform .2s linear}.x-file-preview .preview-body .preview-image.invisible{visibility:hidden}.x-file-preview .preview-body .preview-iframe{height:100%;width:100%}.x-file-preview .preview-body .preview-video{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;justify-content:center}.x-file-preview .preview-body .preview-video video{max-height:100%;max-width:100%}.x-file-preview .preview-body .preview-audio,.x-file-preview .preview-body .preview-other{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;justify-content:center}.x-file-preview .preview-body .arrow-wrapper{bottom:0;cursor:pointer;position:absolute;text-align:center;top:0;width:100px;z-index:2}.x-file-preview .preview-body .arrow-wrapper:hover .arrow-left,.x-file-preview .preview-body .arrow-wrapper:hover .arrow-right{background:var(--fd-color-brand-6,#00b899)}.x-file-preview .preview-body .arrow-wrapper.left{left:0}.x-file-preview .preview-body .arrow-wrapper.right{right:0}.x-file-preview .preview-body .arrow-wrapper .arrow-left,.x-file-preview .preview-body .arrow-wrapper .arrow-right{background-color:#00000080;border-radius:50%;color:#fff;display:block;font-size:30px;height:70px;inset:0;line-height:70px;margin:auto;position:absolute;text-align:center;transition:all .2s ease;width:70px}.x-file-preview .preview-body .x-spin{background:transparent;left:100px;right:100px;z-index:2}.x-file-preview .preview-body .preview-control{bottom:40px;color:#fff;line-height:normal;position:absolute;text-align:center;width:100%}.x-file-preview .preview-body .preview-control .control-content{background:rgba(0,0,0,.6);border-radius:6px;display:inline-block;height:50px;line-height:50px;overflow:hidden}.x-file-preview .preview-body .preview-control .control-content .scale-val,.x-file-preview .preview-body .preview-control .control-content>i{display:inline-block;text-align:center;vertical-align:top;width:50px}.x-file-preview .preview-body .preview-control .control-content>i{cursor:pointer;font-size:24px;transition:all .2s ease}.x-file-preview .preview-body .preview-control .control-content>i:hover{background:#000}.x-file-preview .preview-body .preview-control .control-content>i.rotate.anti{transform:rotateY(180deg)}.x-label{color:var(--fd-color-brand-6,#00b899)}.x-label *,.x-label :after,.x-label :before{box-sizing:border-box}.x-list{border:1px solid var(--fd-color-border);border-radius:var(--fd-border-radius);color:var(--fd-color-text);line-height:var(--fd-line-height);overflow:auto;position:relative}.x-list *,.x-list :after,.x-list :before{box-sizing:border-box}.x-list ol,.x-list ul{margin:0;padding:0}.x-list li{list-style-type:none}.x-list.size-large .list-item{padding:var(--fd-padding-xl) var(--fd-padding-3xl)}.x-list.size-small .list-item{padding:var(--fd-padding) var(--fd-padding-xl)}.x-list .list-item{line-height:inherit;overflow:hidden;padding:var(--fd-padding-lg) var(--fd-padding-3xl);text-overflow:ellipsis;white-space:nowrap}.x-spin{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;justify-content:center;inset:0;position:absolute}.x-spin *,.x-spin :after,.x-spin :before{box-sizing:border-box}@keyframes x-spin-scale{0%{transform:scale(0)}50%{transform:scale(1)}to{transform:scale(0)}}@keyframes x-spin-roll{to{transform:rotate(405deg)}}.x-spin .spin-content{text-align:center}.x-spin .spin-content .spin-indicator.rotate{animation:x-rotate .8s cubic-bezier(.43,.1,.54,.85) infinite;border:2px solid;border-color:var(--fd-color-primary-bg);border-radius:50%;border-top-color:var(--fd-color-primary);height:var(--fd-spin-height);margin:0 auto;transform-origin:center;width:var(--fd-spin-height)}.x-spin .spin-content .spin-indicator.scale .point{animation:x-spin-scale 1.2s ease-in-out infinite;background:var(--fd-color-primary);border-radius:50%;display:inline-block;height:10px;margin-right:var(--fd-gap);transform:scale(0);width:10px}.x-spin .spin-content .spin-indicator.scale .point.two{animation-delay:.1s}.x-spin .spin-content .spin-indicator.scale .point.three{animation-delay:.3s}.x-spin .spin-content .spin-indicator.scale .point.four{animation-delay:.5s}.x-spin .spin-content .spin-indicator.roll{animation:x-spin-roll 1.2s linear infinite;display:inline-block;height:20px;position:relative;transform:rotate(45deg);width:20px}.x-spin .spin-content .spin-indicator.roll .point{background-color:var(--fd-color-primary);border-radius:100%;display:block;height:9px;position:absolute;transform:scale(.75);transform-origin:50% 50%;width:9px}.x-spin .spin-content .spin-indicator.roll .point.one{left:0;opacity:.649;top:0}.x-spin .spin-content .spin-indicator.roll .point.two{animation-delay:.1s;opacity:.579;right:0;top:0}.x-spin .spin-content .spin-indicator.roll .point.three{animation-delay:.3s;bottom:0;left:0;opacity:.556}.x-spin .spin-content .spin-indicator.roll .point.four{animation-delay:.5s;bottom:0;opacity:.954;right:0}.x-spin .spin-content .spin-description{color:var(--fd-color-primary);font-size:var(--fd-font-size);line-height:var(--fd-line-height);margin-top:var(--fd-gap)}.x-spin.mask-light{background-color:#ffffffb3}.x-spin.mask-dark{background-color:#00000080}.x-spin.mask-dark .spin-content .spin-indicator.rotate{border-color:#fff hsla(0,0%,100%,.3) hsla(0,0%,100%,.3)}.x-spin.mask-dark .spin-content .spin-indicator.roll .point,.x-spin.mask-dark .spin-content .spin-indicator.scale .point{background-color:#fff}.x-spin.mask-dark .spin-content .spin-description{color:#fff}.x-spin.size-small .spin-content .spin-indicator.rotate{height:var(--fd-spin-height-sm);width:var(--fd-spin-height-sm)}.x-spin.size-small .spin-content .spin-indicator.roll .point,.x-spin.size-small .spin-content .spin-indicator.scale .point{height:6px;width:6px}.x-spin.size-small .spin-content .spin-indicator.roll{height:14px;width:14px}.x-spin.size-small .spin-content .spin-description{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);margin-top:var(--fd-gap-sm)}.x-spin.size-large .spin-content .spin-indicator.rotate{height:var(--fd-spin-height-lg);width:var(--fd-spin-height-lg)}.x-spin.size-large .spin-content .spin-indicator.roll .point,.x-spin.size-large .spin-content .spin-indicator.scale .point{height:14px;width:14px}.x-spin.size-large .spin-content .spin-indicator.roll{height:32px;width:32px}.x-spin.size-large .spin-content .spin-description{font-size:var(--fd-font-size-lg);line-height:var(--fd-line-height-lg);margin-top:var(--fd-gap-xl)}.x-spin.is-full-screen{position:fixed;z-index:1002}.x-spin-nested-loading{position:relative}.x-spin-nested-loading>div>.x-spin{display:block;height:100%;inset-inline-start:0;max-height:400px;position:absolute;top:0;width:100%;z-index:4}.x-spin-nested-loading>div>.x-spin .spin-content>.spin-indicator{inset-inline-start:50%;margin:-10px;position:absolute;top:50%}.x-spin-nested-loading .x-spin-container{position:relative;transition:opacity .3s}.x-spin-nested-loading .x-spin-container:after{background:var(--fd-color-bg-container);content:"";height:100%;inset:0;opacity:0;pointer-events:none;position:absolute;transition:all .3s;width:100%;z-index:10}.x-spin-nested-loading .x-spin-blur{clear:both;opacity:.5;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-spin-nested-loading .x-spin-blur:after{opacity:.4;pointer-events:auto}.x-skeleton{display:flex;position:relative;width:100%}.x-skeleton *,.x-skeleton :after,.x-skeleton :before{box-sizing:border-box}.x-skeleton .x-skeleton-header{flex:none;height:100%;margin-right:20px;vertical-align:top}.x-skeleton.has-title .x-skeleton-content .x-skeleton-paragraph{margin-top:16px}.x-skeleton .x-skeleton-content{flex:1 1 auto;height:100%;vertical-align:top}.x-skeleton .x-skeleton-content .x-skeleton-paragraph,.x-skeleton .x-skeleton-content .x-skeleton-title{margin-top:8px}.x-skeleton-element{background:#f0f1f4;display:inline-block}.x-skeleton-element.active{animation:x-skeleton-animation 1.4s ease infinite;background-image:linear-gradient(90deg,#f0f1f4 25%,#e1e3e5 37%,#f0f1f4 63%);background-size:400% 100%}.x-skeleton-element.x-skeleton-button,.x-skeleton-element.x-skeleton-input,.x-skeleton-element.x-skeleton-node{height:32px}.x-skeleton-element.x-skeleton-node{border-radius:3px;width:64px}.x-skeleton-element.x-skeleton-node.shape-round{border-radius:32px}.x-skeleton-element.x-skeleton-node.shape-circle{border-radius:50%}.x-skeleton-element.x-skeleton-title{border-radius:3px;height:16px;width:45%}.x-skeleton-element.x-skeleton-button{border-radius:3px;width:64px}.x-skeleton-element.x-skeleton-button.block{width:100%!important}.x-skeleton-element.x-skeleton-button.shape-round{border-radius:32px}.x-skeleton-element.x-skeleton-button.size-sm{height:24px;width:48px}.x-skeleton-element.x-skeleton-button.size-sm.shape-round{border-radius:24px}.x-skeleton-element.x-skeleton-button.size-lg{height:36px;line-height:36px;min-width:80px;width:80px}.x-skeleton-element.x-skeleton-button.size-lg.shape-round{border-radius:36px}.x-skeleton-element.x-skeleton-input{border-radius:3px;width:160px}.x-skeleton-element.x-skeleton-input.block{width:100%!important}.x-skeleton-element.x-skeleton-input.size-sm{height:24px;width:120px}.x-skeleton-element.x-skeleton-input.size-lg{height:36px;width:200px}.x-skeleton-element.x-skeleton-avatar{border-radius:3px;height:32px;width:32px}.x-skeleton-element.x-skeleton-avatar.shape-circle{border-radius:50%}.x-skeleton-element.x-skeleton-avatar.size-sm{height:24px;width:24px}.x-skeleton-element.x-skeleton-avatar.size-lg{height:36px;width:36px}.x-skeleton-paragraph ol,.x-skeleton-paragraph ul{margin:0;padding:0}.x-skeleton-paragraph li{list-style-type:none}.x-skeleton-paragraph>li{background:#f0f1f4;border-radius:3px;height:16px;list-style:none;width:100%}.x-skeleton-paragraph>li+li{margin-top:20px}.x-skeleton-paragraph.active>li{animation:x-skeleton-animation 1.4s ease infinite;background-image:linear-gradient(90deg,#f0f1f4 25%,#e1e3e5 37%,#f0f1f4 63%);background-size:400% 100%}@keyframes x-skeleton-animation{0%{background-position:100% 0}to{background-position:0 0}}.x-alert{background:#fff;border-radius:var(--fd-border-radius-lg);box-shadow:0 9px 28px 8px #051e500a,0 3px 6px -4px #0516261f,0 6px 16px #05112a14;left:50%;line-height:normal;margin:-200px 0 0 -250px;overflow:hidden;padding:var(--fd-padding-layout-xl) var(--fd-padding-layout-xl);position:absolute;top:50%;width:480px}.x-alert *,.x-alert :after,.x-alert :before{box-sizing:border-box}.x-alert.alert-appear,.x-alert.alert-enter{animation:x-zoom-in-big .2s ease;pointer-events:none}.x-alert.alert-exit{animation:x-zoom-in-big .1s ease-in reverse;pointer-events:none}.x-alert>i{display:inline-block;font-size:var(--fd-line-height-lg);line-height:var(--fd-line-height-lg);vertical-align:top}.x-alert>i.x-svgicon>svg{vertical-align:baseline}.x-alert>i.info,.x-alert>i.query{color:var(--fd-color-info)}.x-alert>i.success{color:var(--fd-color-success)}.x-alert>i.error{color:var(--fd-color-error)}.x-alert>i.warning{color:var(--fd-color-warning)}.x-alert>i.question{color:var(--fd-color-info)}.x-alert .alert-body{display:inline-block;margin-bottom:var(--fd-gap-xl);margin-left:var(--fd-gap-xl);width:396px}.x-alert .alert-body .title{font-size:var(--fd-font-size-lg);font-weight:600;line-height:var(--fd-line-height-lg);margin:0 0 var(--fd-gap) 0}.x-alert .alert-body .message,.x-alert .alert-body .title{word-wrap:break-word;color:var(--fd-color-text);word-break:break-word}.x-alert .alert-body .message{font-size:var(--fd-font-size);line-height:var(--fd-line-height)}.x-alert .alert-body .content{margin-top:var(--fd-gap)}.x-alert .alert-body .question{margin-top:var(--fd-gap);width:100%}.x-alert .alert-footer .footer-btn{float:right;margin-left:var(--fd-gap)}.x-alert .alert-footer .footer-btn:last-child{margin-left:0}.x-alert .alert-footer .footer-right{margin-left:var(--fd-gap)}.x-alert .alert-footer .footer-left,.x-pagination{font-size:var(--fd-font-size);line-height:var(--fd-line-height)}.x-pagination{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;color:var(--fd-color-text);display:flex;justify-content:space-between}.x-pagination *,.x-pagination :after,.x-pagination :before{box-sizing:border-box}.x-pagination .pagination-left .count,.x-pagination .pagination-left .size-combo{display:inline-block;font-size:var(--fd-font-size-sm);vertical-align:middle}.x-pagination .pagination-left .size-combo{width:112px}.x-pagination .pagination-left .size-combo.default>.x-select-selector{border:none;box-shadow:none!important}.x-pagination .pagination-left .size-combo>.x-select-selector{background-color:unset}.x-pagination .pagination-left .count{margin-left:var(--fd-gap)}.x-pagination .pagination-right{align-items:center;display:flex;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-pagination .pagination-right .page-input-wrapper{display:inline-block;height:var(--fd-control-height);min-width:var(--fd-control-height);overflow:hidden;position:relative;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.x-pagination .pagination-right .page-input-wrapper .page-input{height:auto;inset:0;position:absolute;width:auto}.x-pagination .pagination-right .page-input-wrapper .page-input>input{background-color:unset;font-size:var(--fd-font-size);text-align:center}.x-pagination .pagination-right .page-input-wrapper .fake-placeholder{max-width:150px;padding:0 13px;visibility:hidden}.x-pagination .pagination-right .page-turn-first,.x-pagination .pagination-right .page-turn-last,.x-pagination .pagination-right .page-turn-next,.x-pagination .pagination-right .page-turn-pre{border-radius:var(--fd-border-radius);cursor:pointer;display:inline-block;font-size:14px;height:var(--fd-control-height);margin-left:0;padding:0;text-align:center;transition:all .2s ease;width:var(--fd-control-height)}.x-pagination .pagination-right .page-turn-first>i,.x-pagination .pagination-right .page-turn-last>i,.x-pagination .pagination-right .page-turn-next>i,.x-pagination .pagination-right .page-turn-pre>i{line-height:var(--fd-control-height)}.x-pagination .pagination-right .page-turn-first:not(.page-btn-disabled):hover,.x-pagination .pagination-right .page-turn-last:not(.page-btn-disabled):hover,.x-pagination .pagination-right .page-turn-next:not(.page-btn-disabled):hover,.x-pagination .pagination-right .page-turn-pre:not(.page-btn-disabled):hover{color:var(--fd-color-primary-hover)}.x-pagination .pagination-right .page-turn-first:not(.page-btn-disabled):active,.x-pagination .pagination-right .page-turn-last:not(.page-btn-disabled):active,.x-pagination .pagination-right .page-turn-next:not(.page-btn-disabled):active,.x-pagination .pagination-right .page-turn-pre:not(.page-btn-disabled):active{color:var(--fd-color-primary-active);transition:unset}.x-pagination .pagination-right .page-turn-first.page-btn-disabled,.x-pagination .pagination-right .page-turn-last.page-btn-disabled,.x-pagination .pagination-right .page-turn-next.page-btn-disabled,.x-pagination .pagination-right .page-turn-pre.page-btn-disabled{color:var(--fd-color-text-disabled);cursor:default}.x-pagination .pagination-right .bordered{border:none}.x-pagination .pagination-right .bordered.page-turn-first,.x-pagination .pagination-right .bordered.page-turn-last,.x-pagination .pagination-right .bordered.page-turn-next,.x-pagination .pagination-right .bordered.page-turn-pre{border:1px solid var(--fd-color-border);border-left-width:0}.x-pagination .pagination-right .bordered.page-turn-first:first-child,.x-pagination .pagination-right .bordered.page-turn-last:first-child,.x-pagination .pagination-right .bordered.page-turn-next:first-child,.x-pagination .pagination-right .bordered.page-turn-pre:first-child{border-left-width:1px}.x-pagination .pagination-right .bordered.page-turn-first>i,.x-pagination .pagination-right .bordered.page-turn-last>i,.x-pagination .pagination-right .bordered.page-turn-next>i,.x-pagination .pagination-right .bordered.page-turn-pre>i{line-height:calc(var(--fd-control-height) - 2px)}.x-pagination .pagination-right .bordered.page-btn-disabled{background-color:var(--fd-color-bg-container-disabled)}.x-pagination .pagination-right .jumpable .bordered.page-turn-first,.x-pagination .pagination-right .jumpable .bordered.page-turn-next{border-end-end-radius:0;border-start-end-radius:0}.x-pagination .pagination-right .jumpable .bordered.page-turn-last,.x-pagination .pagination-right .jumpable .bordered.page-turn-pre{border-end-start-radius:0;border-start-start-radius:0}.x-pagination .pagination-right .page-jump,.x-pagination .pagination-right .page-turn{-webkit-box-flex:0;align-items:center;display:flex;flex:none}.x-pagination .pagination-right .page-jump,.x-pagination .pagination-right .page-jump>.total-page{margin:0 var(--fd-gap-sm)}.x-pagination.small{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm)}.x-pagination.small .size-combo{width:96px}.x-pagination.small .pagination-right .page-input-wrapper{height:var(--fd-control-height-sm);min-width:var(--fd-control-height-sm)}.x-pagination.small .page-turn-first,.x-pagination.small .page-turn-last,.x-pagination.small .page-turn-next,.x-pagination.small .page-turn-pre{height:var(--fd-control-height-sm);width:var(--fd-control-height-sm)}.x-pagination.small .page-turn-first>i,.x-pagination.small .page-turn-last>i,.x-pagination.small .page-turn-next>i,.x-pagination.small .page-turn-pre>i{line-height:var(--fd-control-height-sm)}.x-pagination.small .bordered.page-turn-first>i,.x-pagination.small .bordered.page-turn-last>i,.x-pagination.small .bordered.page-turn-next>i,.x-pagination.small .bordered.page-turn-pre>i{line-height:calc(var(--fd-control-height-sm) - 2px)}.x-radio{align-items:flex-start;color:var(--fd-color-text);display:flex;line-height:var(--fd-line-height)}.x-radio *,.x-radio :after,.x-radio :before{box-sizing:border-box}.x-radio.is-only-icon{align-items:center}.x-radio.has-default-padding{padding:var(--fd-radio-default-padding)}.x-radio:not(.auto-wrap) .x-radio-wrapper{min-width:0}.x-radio:not(.auto-wrap) .x-radio-wrapper .radio-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-radio .radio-check-icon{-webkit-box-flex:0;background:var(--fd-color-bg-container);border:1px solid var(--fd-color-border);display:inline-block;flex:0 0 auto;height:16px;margin:calc((var(--fd-line-height) - 16px)/2) 0;position:relative;vertical-align:middle;width:16px}.x-radio .radio-check-icon,.x-radio .radio-check-icon:before{border-radius:50%;transition:all .2s ease}.x-radio .radio-check-icon:before{background:var(--fd-color-primary);content:"";display:block;height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:0}.x-radio .radio-text{word-wrap:break-word;line-height:var(--fd-line-height);max-width:100%;padding-left:var(--fd-gap);vertical-align:middle;word-break:break-word}.x-radio .x-radio-wrapper{cursor:pointer;display:flex}.x-radio .x-radio-wrapper:focus{box-shadow:0 0 0 1px var(--fd-color-primary);outline:none}.x-radio .x-radio-wrapper:active{box-shadow:none}.x-radio .x-radio-wrapper:hover .radio-check-icon{border-color:var(--fd-color-primary)}.x-radio.radio-checked .radio-check-icon{background:var(--fd-color-bg-container);border-color:var(--fd-color-primary)}.x-radio.radio-checked .radio-check-icon:before{height:8px;width:8px}.x-radio.radio-disable,.x-radio.radio-disable .x-radio-wrapper{cursor:not-allowed}.x-radio.radio-disable .radio-check-icon{background:var(--fd-color-bg-container-disabled)!important;border-color:var(--fd-color-border)!important}.x-radio.radio-disable .radio-check-icon:before{background:transparent}.x-radio.radio-disable.radio-checked .radio-check-icon{background:var(--fd-color-bg-container-disabled)!important}.x-radio.radio-disable.radio-checked .radio-check-icon:before{background:var(--fd-color-text-disabled)!important}.x-radio.radio-disable .radio-text{color:var(--fd-color-text-data-disabled)!important}.x-radio-group{display:inline-block;max-width:100%}.x-radio-group.radio-group-horizontal{display:flex;flex-wrap:wrap}.x-radio-group.radio-group-horizontal.no-default-padding{row-gap:var(--fd-gap)}.x-radio-group.radio-group-horizontal.no-default-padding .x-radio{padding:0}.x-radio-group.radio-group-horizontal .x-radio{display:inline-flex;margin-right:var(--fd-gap-4xl);max-width:100%}.x-radio-group.radio-group-horizontal .x-radio:last-child{margin-right:0}.x-radio-group.radio-group-vertical.no-default-padding .x-radio:first-child{padding-top:0}.x-radio-group.radio-group-vertical.no-default-padding .x-radio:last-child{padding-bottom:0}.x-radio-group.radio-group-vertical.block{display:block}.x-radio-group.radio-group-vertical.block .x-radio-wrapper,.x-radio-group.radio-group-vertical.block .x-radio-wrapper .radio-text{flex:1}.x-radio-group.radio-group-option-button{border-radius:var(--fd-border-radius);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-radio-group.radio-group-option-button.radio-group-button-outline .x-radio.radio-checked:not(.radio-disable)+.x-radio{border-left-width:0}.x-radio-group.radio-group-option-button.radio-group-button-outline .x-radio.radio-checked:not(.radio-disable){border-right-width:1px}.x-radio-group.radio-group-option-button.block,.x-radio-group.radio-group-option-button.grid-mode{display:flex}.x-radio-group.radio-group-option-button.grid-mode{flex-direction:column}.x-radio-group.radio-group-option-button.grid-mode .radio-grid-row{display:flex}.x-radio-group.radio-group-option-button.grid-mode .radio-grid-row:first-child .x-radio{border-end-end-radius:0;border-end-start-radius:0}.x-radio-group.radio-group-option-button.grid-mode .radio-grid-row:last-child .x-radio{border-start-end-radius:0;border-start-start-radius:0}.x-radio-group.radio-group-option-button.block .x-radio{flex:1;min-width:0}.x-radio-group.radio-group-option-button.block .x-radio .x-radio-wrapper{justify-content:center}.x-radio-group.radio-group-option-button.block .x-radio .x-radio-wrapper .radio-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-radio-group.radio-group-option-button .x-radio{background-color:var(--fd-color-bg-container);border:1px solid var(--fd-color-border);border-right-width:0;color:var(--fd-color-text);cursor:pointer;display:inline-block;font-size:var(--fd-font-size);height:var(--fd-control-height);line-height:calc(var(--fd-control-height) - 2px);padding:0;position:relative;transition:color .2s,background .2s,box-shadow .2s}.x-radio-group.radio-group-option-button .x-radio .x-radio-wrapper{padding:0 var(--fd-padding-xl)}.x-radio-group.radio-group-option-button .x-radio .x-radio-wrapper .radio-text{line-height:inherit;padding-left:0}.x-radio-group.radio-group-option-button .x-radio .radio-check-icon{display:none}.x-radio-group.radio-group-option-button .x-radio:hover{color:var(--fd-color-primary)}.x-radio-group.radio-group-option-button .x-radio.radio-checked:not(.radio-disable){background:var(--fd-color-bg-container);border-color:var(--fd-color-primary);color:var(--fd-color-primary)}.x-radio-group.radio-group-option-button .x-radio.radio-checked:not(.radio-disable):first-child{border-color:var(--fd-color-primary)}.x-radio-group.radio-group-option-button .x-radio.radio-checked:not(.radio-disable):hover{border-color:var(--fd-color-primary-hover);color:var(--fd-color-primary-hover)}.x-radio-group.radio-group-option-button .x-radio.radio-checked:not(.radio-disable):active{border-color:var(--fd-color-primary-active);color:var(--fd-color-primary-active)}.x-radio-group.radio-group-option-button .x-radio:first-child{border-end-start-radius:var(--fd-border-radius);border-start-start-radius:var(--fd-border-radius)}.x-radio-group.radio-group-option-button .x-radio:last-child{border-end-end-radius:var(--fd-border-radius);border-right:1px solid var(--fd-color-border);border-start-end-radius:var(--fd-border-radius)}.x-radio-group.radio-group-option-button .x-radio:first-child:last-child{border-radius:var(--fd-border-radius)}.x-radio-group.radio-group-option-button.radio-group-button-solid .radio-checked:not(.radio-disable){background-color:var(--fd-color-primary);border-color:var(--fd-color-border);color:var(--fd-color-text-light-solid)}.x-radio-group.radio-group-option-button.radio-group-button-solid .radio-checked:not(.radio-disable):hover{background:var(--fd-color-primary-hover);border-color:var(--fd-color-primary-hover);color:var(--fd-color-text-light-solid)}.x-radio-group.radio-group-option-button.radio-group-button-solid .radio-checked:not(.radio-disable):active{background:var(--fd-color-primary-active);border-color:var(--fd-color-primary-active);color:var(--fd-color-text-light-solid)}.x-radio-group.radio-group-option-button.radio-group-disable{background-color:var(--fd-color-bg-container-disabled)!important;border-color:var(--fd-color-border)!important;color:var(--fd-color-text-disabled)!important;cursor:not-allowed}.x-radio-group.radio-group-option-button.radio-group-disable .radio-checked{background-color:var(--fd-control-item-bg-active-disabled)!important}.x-radio-group.radio-group-option-button.radio-group-disable .x-radio .radio-text{color:var(--fd-color-text-disabled)!important}.x-radio-group.radio-group-option-button.large .x-radio{font-size:var(--fd-font-size-lg);height:var(--fd-control-height-lg);line-height:calc(var(--fd-control-height-lg) - 2px)}.x-radio-group.radio-group-option-button.large .x-radio:first-child{border-end-start-radius:var(--fd-border-radius);border-start-start-radius:var(--fd-border-radius)}.x-radio-group.radio-group-option-button.large .x-radio:last-child{border-end-end-radius:var(--fd-border-radius);border-start-end-radius:var(--fd-border-radius)}.x-radio-group.small .x-radio{font-size:var(--fd-font-size-sm);height:var(--fd-control-height-sm);line-height:calc(var(--fd-control-height-sm) - 2px)}.x-radio-group.small .x-radio .x-radio-wrapper{padding:0 var(--fd-padding)}.x-radio-group.small .x-radio:first-child{border-end-start-radius:var(--fd-border-radius);border-start-start-radius:var(--fd-border-radius)}.x-radio-group.small .x-radio:last-child{border-end-end-radius:var(--fd-border-radius);border-start-end-radius:var(--fd-border-radius)}.x-segment{color:#141e31;display:flex;line-height:30px;width:100%}.x-segment *,.x-segment :after,.x-segment :before{box-sizing:border-box}.x-segment .x-segment-item{-webkit-box-flex:0;background:#fff;border:1px solid #d7d9dc;border-right:none;cursor:pointer;flex:none;overflow:hidden;padding:0 15px;text-align:center;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.x-segment .x-segment-item:hover{color:var(--fd-color-brand-6,#00b899)}.x-segment .x-segment-item:first-child{border-bottom-left-radius:3px;border-top-left-radius:3px}.x-segment .x-segment-item:last-child{border-bottom-right-radius:3px;border-right:1px solid #d7d9dc;border-top-right-radius:3px}.x-segment .x-segment-item.item-selected{border-color:var(--fd-color-brand-6,#00b899);color:var(--fd-color-brand-6,#00b899)!important}.x-segment .x-segment-item.item-selected+.x-segment-item{border-left-color:var(--fd-color-brand-6,#00b899)}.x-segment .x-segment-item.item-disabled{background:#f0f1f4!important;color:#b5b8be!important;cursor:not-allowed}.x-segment .x-segment-item.item-disabled.item-selected{background:#fff!important;border-color:var(--fd-color-brand-3,#99e3d6);color:var(--fd-color-brand-3,#99e3d6)!important}.x-segment .x-segment-item.item-disabled.item-selected+.x-segment-item{border-left-color:var(--fd-color-brand-3,#99e3d6)}.x-segment.size-large{font-size:16px;line-height:38px}.x-segment.size-small{font-size:12px;line-height:22px}.x-cascader{color:var(--fd-color-text);cursor:pointer;display:inline-block;line-height:normal;width:240px}.x-cascader *,.x-cascader :after,.x-cascader :before{box-sizing:border-box}.x-cascader ol,.x-cascader ul{margin:0;padding:0}.x-cascader li{list-style-type:none}.x-cascader .label-wrapper:focus{outline:none}.x-cascader .label-wrapper:focus .trigger-wrapper:not(.disabled){border-color:var(--fd-color-primary)}.x-cascader .trigger-wrapper{border:1px solid var(--fd-color-border);border-radius:var(--fd-border-radius);height:var(--fd-control-height);overflow:hidden;position:relative;transition:border .2s ease-in-out;width:100%}.x-cascader .trigger-wrapper.no-border{border-color:transparent!important;box-shadow:none!important}.x-cascader .trigger-wrapper.active,.x-cascader .trigger-wrapper:hover{border-color:var(--fd-color-primary)}.x-cascader .trigger-wrapper.active{box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-control-outline)}.x-cascader .trigger-wrapper.disabled{color:var(--fd-color-text-data-disabled);cursor:not-allowed}.x-cascader .trigger-wrapper.disabled,.x-cascader .trigger-wrapper.disabled:hover{background:var(--fd-color-bg-container-disabled);border-color:var(--fd-color-border)}.x-cascader .trigger-wrapper.disabled .trigger-icon{color:var(--fd-color-text-disabled)}.x-cascader .trigger-wrapper.can-remove:not(.disabled):hover .trigger-icon.arrow{display:none}.x-cascader .trigger-wrapper.can-remove:not(.disabled):hover .trigger-icon.remove{display:inline-block}.x-cascader .trigger-wrapper .value{display:inline-block;height:100%;line-height:calc(var(--fd-control-height) - 2px);overflow:hidden;padding:0 var(--fd-control-height) 0 8px;text-overflow:ellipsis;white-space:nowrap;width:100%}.x-cascader .trigger-wrapper .value .placeholder{color:var(--fd-color-text-placeholder)}.x-cascader .trigger-wrapper .trigger-icon{color:var(--fd-color-icon-normal);display:inline-block;height:100%;position:absolute;right:0;top:0;width:var(--fd-control-height)}.x-cascader .trigger-wrapper .trigger-icon>i{font-size:var(--fd-icon-size);left:50%;line-height:calc(var(--fd-control-height) - 2px);position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%) rotate(0);transform-origin:center;transition:all .2s ease;width:var(--fd-control-height)}.x-cascader .trigger-wrapper .trigger-icon>i.close-btn{color:var(--fd-color-icon);transition:unset}.x-cascader .trigger-wrapper .trigger-icon>i.close-btn:hover{color:var(--fd-color-icon-hover)}.x-cascader .trigger-wrapper .trigger-icon.reverse>i{transform:translate(-50%,-50%) rotate(180deg)}.x-cascader .trigger-wrapper .trigger-icon.remove{display:none}.x-cascader-content{background:var(--fd-color-bg-container);border-radius:var(--fd-border-radius);color:var(--fd-color-text);display:inline-block;overflow:hidden;vertical-align:top;white-space:nowrap}.x-cascader-content .menu-items{border-right:1px solid var(--fd-color-split);display:inline-block;height:200px;overflow-x:hidden;overflow-y:auto;padding:var(--fd-padding-layout-2xs);vertical-align:top}.x-cascader-content .menu-items:last-child{border-right:none}.x-cascader-content .menu-items .cascader-item{border-radius:var(--fd-border-radius);cursor:pointer;line-height:var(--fd-control-height);max-width:240px;min-width:110px;overflow:hidden;padding:0 var(--fd-padding);position:relative;text-overflow:ellipsis;white-space:nowrap}.x-cascader-content .menu-items .cascader-item:hover{background:#f0f1f4}.x-cascader-content .menu-items .cascader-item.select{background:var(--fd-control-item-bg-active)}.x-cascader-content .menu-items .cascader-item.disabled{background:var(--fd-color-bg-container);color:var(--fd-color-text-disabled);cursor:default}.x-cascader-content .menu-items .cascader-item.disabled .expand-icon{color:var(--fd-color-text-disabled)}.x-cascader-content .menu-items .cascader-item.disabled:hover{background:var(--fd-color-bg-container);color:var(--fd-color-text-disabled)}.x-cascader-content .menu-items .cascader-item.has-expand-icon{padding-right:calc(var(--fd-icon-size) + var(--fd-padding))}.x-cascader-content .menu-items .cascader-item .expand-icon{color:var(--fd-color-icon-normal);font-size:var(--fd-icon-size);position:absolute;right:var(--fd-padding);top:0}.x-cascader-trigger-content{display:inline-block;z-index:1}.x-cascader-trigger-content .cascader-wrapper{border-radius:var(--fd-border-radius-lg);box-shadow:0 2px 8px #0000001a}.x-cascader-trigger-content .cascader-wrapper .search-wrapper{border-bottom:1px solid var(--fd-color-split);left:0;position:absolute;right:0;top:0}.x-cascader-trigger-content .cascader-wrapper .content-wrapper.has-search{padding-top:var(--fd-control-height)}.x-cascader-trigger-content .cascader-wrapper .content-wrapper .searching-tip{background:var(--fd-color-bg-container);color:var(--fd-color-text-placeholder);line-height:40px;text-align:center;width:240px}.x-cascader-trigger-bottom-appear,.x-cascader-trigger-bottom-enter{animation:x-slide-down .2s ease;animation-fill-mode:forwards;transform-origin:top}.x-cascader-trigger-bottom-exit{animation:x-slide-down .2s ease-in reverse;animation-fill-mode:forwards;transform-origin:top}.x-cascader-trigger-top-appear,.x-cascader-trigger-top-enter{animation:x-slide-down .2s ease;animation-fill-mode:forwards;transform-origin:bottom}.x-cascader-trigger-top-exit{animation:x-slide-down .2s ease-in reverse;animation-fill-mode:forwards;transform-origin:bottom}.x-cascader-search-list{background:var(--fd-color-bg-container);border-radius:var(--fd-border-radius);color:var(--fd-color-text);display:inline-block;max-height:200px;min-width:240px;overflow:auto;padding:var(--fd-padding) 0;vertical-align:top;white-space:nowrap}.x-cascader-search-list .empty-tip{color:var(--fd-color-text-description);line-height:40px;text-align:center;width:240px}.x-cascader-search-list .result-list .result-item{cursor:pointer;line-height:var(--fd-control-height);overflow:hidden;padding:0 var(--fd-padding);text-overflow:ellipsis;transition:background .2s ease;white-space:nowrap}.x-cascader-search-list .result-list .result-item .search-key{color:var(--fd-color-primary)}.x-cascader-search-list .result-list .result-item.is-focus{background:#f0f1f4}.x-step{display:flex;line-height:normal}.x-step *,.x-step :after,.x-step :before{box-sizing:border-box}.x-step .step{-webkit-box-flex:0;display:inline-block;flex:0 1 auto;position:relative}.x-step .step:last-child .step-line{display:none}.x-step .step.is-finish .step-container.is-icon .step-icon{color:var(--fd-color-primary)}.x-step .step.is-finish .step-container.is-text .step-icon{background-color:var(--fd-color-primary);color:var(--fd-color-text-light-solid)}.x-step .step.is-finish .step-container .step-line-inner{color:var(--fd-color-primary)}.x-step .step.is-finish .step-container:hover.is-text .step-icon{background-color:var(--fd-color-primary-hover)}.x-step .step.is-finish .step-container:hover .step-description,.x-step .step.is-finish .step-container:hover .step-title,.x-step .step.is-finish .step-container:hover.is-icon .step-icon{color:var(--fd-color-primary-hover)}.x-step .step.is-wait .step-container.is-icon .step-icon{color:var(--fd-color-icon-normal)}.x-step .step.is-wait .step-container.is-text .step-icon{background-color:var(--fd-color-fill-content);color:var(--fd-color-text-label)}.x-step .step.is-wait .step-container .step-line-inner{border-width:0;color:transparent}.x-step .step.is-wait .step-container:hover .step-icon{color:var(--fd-color-primary-hover)}.x-step .step.is-wait .step-container:hover.is-text .step-icon{border:1px solid var(--fd-color-primary-hover)}.x-step .step.is-wait .step-container:hover .step-description,.x-step .step.is-wait .step-container:hover .step-title{color:var(--fd-color-primary-hover)}.x-step .step.is-wait .step-main .step-description,.x-step .step.is-wait .step-main .step-title{color:var(--fd-color-text-description)}.x-step .step.is-process .step-container.is-icon .step-icon{color:var(--fd-color-primary)}.x-step .step.is-process .step-container.is-text .step-icon{background-color:var(--fd-color-primary);color:var(--fd-color-text-light-solid)}.x-step .step.is-process .step-container .step-line-inner{color:transparent}.x-step .step.is-process .step-container:hover.is-text .step-icon{background-color:var(--fd-color-primary-hover)}.x-step .step.is-process .step-container:hover .step-description,.x-step .step.is-process .step-container:hover .step-title,.x-step .step.is-process .step-container:hover.is-icon .step-icon{color:var(--fd-color-primary-hover)}.x-step .step.is-error .step-container.is-icon .step-icon{color:var(--fd-color-error)}.x-step .step.is-error .step-container.is-text .step-icon{background-color:var(--fd-color-error);color:var(--fd-color-text-light-solid)}.x-step .step.is-error .step-container .step-line-inner{border-width:0;color:var(--fd-color-primary)}.x-step .step.is-error .step-main .step-description,.x-step .step.is-error .step-main .step-title{color:var(--fd-color-error)}.x-step .step-container{font-size:var(--fd-font-size);line-height:var(--fd-line-height-lg);vertical-align:top;width:100%}.x-step .step-container.is-text .step-icon{border-radius:50%;border-style:solid;border-width:0}.x-step .step-container.is-icon{font-size:var(--fd-font-size)}.x-step .step-container.is-icon .step-icon{font-size:var(--fd-control-height);line-height:var(--fd-line-height-lg)}.x-step .step-main{color:var(--fd-color-text);font-size:var(--fd-font-size-lg)}.x-step .step-main .step-description{color:var(--fd-color-text);font-size:var(--fd-font-size-sm);margin-top:var(--fd-gap-sm)}.x-step .step-line{background-color:var(--fd-color-split);display:inline-block;position:absolute}.x-step .step-line .step-line-inner{border-style:solid;border-width:1px;display:block;width:100%}.x-step .step-icon{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;height:var(--fd-control-height);justify-content:center;position:relative;width:var(--fd-control-height)}.x-step .step-icon .step-icon-inner{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle}.x-step.is-vertical{flex-direction:column}.x-step.is-vertical .step{display:block}.x-step.is-vertical .step .step-line{bottom:0;left:calc(var(--fd-control-height)/2 - 1px);margin:var(--fd-gap) 0;top:var(--fd-control-height)}.x-step.is-vertical .step .step-main{display:inline-block;margin-left:var(--fd-gap)}.x-step.is-vertical .step .step-main .step-title{line-height:var(--fd-control-height)}.x-step.is-vertical .step:last-child{flex-basis:0!important}.x-step.is-vertical .step.is-finish .step-line-inner{height:100%}.x-step.is-vertical .step-container{display:flex}.x-step.is-vertical .step-container .step-main{flex:0 1 auto}.x-step.is-horizontal:not(.horizontal-label) .step .step-line{height:2px;left:var(--fd-control-height);margin:0 var(--fd-gap);right:0;top:calc(var(--fd-control-height)/2 - 1px)}.x-step.is-horizontal:not(.horizontal-label) .step .step-main{margin-top:var(--fd-gap-xl)}.x-step.is-horizontal:not(.horizontal-label) .step .step-main .step-description{line-height:var(--fd-line-height-sm);padding-right:30px}.x-step.is-horizontal:not(.horizontal-label) .step:last-child .step-main{padding-right:0}.x-step.auto-size .step{flex:1 1 0}.x-step.auto-size .step:last-child{flex:0 0 auto}.x-step.align-center:not(.horizontal-label) .step .step-line{left:50%;margin:0 var(--fd-padding-layout-xl);right:-50%}.x-step.align-center:not(.horizontal-label) .step .step-main{text-align:center}.x-step.align-center:not(.horizontal-label) .step .step-main .step-description{padding:0 var(--fd-padding-layout)}.x-step.align-center:not(.horizontal-label) .step:last-child{flex:0 1 auto}.x-step.align-center:not(.horizontal-label) .step-container{text-align:center}.x-step.horizontal-label .step:not(:first-child){padding-left:var(--fd-padding-layout)}.x-step.horizontal-label .step-container{line-height:32px;overflow:hidden;text-align:left;white-space:nowrap}.x-step.horizontal-label .step-container .step-icon{display:inline-block;line-height:32px;margin-right:var(--fd-gap);text-align:center}.x-step.horizontal-label .step-container .step-main{display:inline-block;margin-top:0;text-align:left;vertical-align:top}.x-step.horizontal-label .step-container .step-main .step-title{display:inline-block;padding-right:var(--fd-gap-2xl);position:relative}.x-step.horizontal-label .step-container .step-main .step-title .step-line{background-color:var(--fd-color-split);height:1px;left:0;margin-left:100%;position:absolute;top:16px;width:9999px}.x-step.horizontal-label .step-container .step-main .step-title .step-line.only-line{margin-left:50%}.x-step.horizontal-label .step-container .step-main .step-title:after{content:"";display:inline-block}.x-step.horizontal-label .step-container .step-main .step-title.last-title{padding-right:0}.x-step.horizontal-label .step-container .step-main .step-description{line-height:var(--fd-line-height-sm);margin-top:var(--fd-gap);max-width:140px;padding:0;white-space:normal}.x-step.horizontal-label .is-finish .step-container .step-main .step-title .step-line{background-color:var(--fd-color-primary)}.x-step.small .step-container{line-height:var(--fd-line-height)}.x-step.small .step-container,.x-step.small .step-container.is-icon{font-size:var(--fd-font-size-sm)}.x-step.small .step-container.is-icon .step-icon{font-size:24px;height:24px;line-height:var(--fd-line-height);width:24px}.x-step.small .step-main{font-size:var(--fd-font-size)}.x-step.small .step-icon{height:24px;width:24px}.x-step.small.is-horizontal:not(.horizontal-label) .step .step-line{height:2px;left:24px;top:11px}.x-step.small.align-center:not(.horizontal-label) .step .step-line{left:50%;margin:0 var(--fd-padding-layout-lg);right:-50%}.x-step.small.horizontal-label .step-container,.x-step.small.horizontal-label .step-container .step-icon{line-height:24px}.x-step.small.horizontal-label .step-container .step-main .step-title .step-line{top:12px}.x-step.small.horizontal-label .step-container .step-main .step-description{max-width:140px}.x-table{color:#141e31;font-size:13px;line-height:normal}.x-table *,.x-table :after,.x-table :before{box-sizing:border-box}.x-table.striped table tbody tr:nth-child(2n){background:#f5f6f8}.x-table.striped table tbody tr:hover{background:#f0f1f4}.x-table table{border-collapse:separate;border-spacing:0;width:100%}.x-table table thead{border-color:inherit;display:table-header-group}.x-table table thead th{background-color:#f5f6f8;border-bottom:1px solid #ebecee;border-top:1px solid #ebecee;padding:12px 10px;text-align:left;white-space:nowrap}.x-table table tbody{border-color:inherit;display:table-row-group}.x-table table tbody tr:hover{background:#f0f1f4}.x-table table tbody td{border-bottom:1px solid #ebecee;padding:12px 10px}.x-table.size-small td,.x-table.size-small th{padding:8px 10px}.x-table.size-large td,.x-table.size-large th{padding:16px 12px}.x-table.bordered{border-radius:3px;overflow:auto}.x-table.bordered td,.x-table.bordered th{border-right:1px solid #ebecee}.x-table.bordered td:first-child,.x-table.bordered th:first-child{border-left:1px solid #ebecee}.x-table.simple td,.x-table.simple th{border:none}.x-table td .fixed-width-cell-content,.x-table th .fixed-width-cell-content{overflow:hidden}.x-table td.patch-cell,.x-table th.patch-cell{border-left:none;border-right:none;min-width:0;padding:0;width:0}.x-table .x-table-check{margin:0}.x-table .x-table-check .check-label{-webkit-box-pack:center;-ms-flex-pack:center;display:flex;justify-content:center}.x-pagination-table .x-table-pagination{display:flex;flex-wrap:wrap;margin:var(--fd-gap) 0;row-gap:var(--fd-padding-xs)}.x-pagination-table .x-table-pagination>*{flex:none}.x-pagination-table .x-table-pagination-left{justify-content:flex-start}.x-pagination-table .x-table-pagination-center{justify-content:center}.x-pagination-table .x-table-pagination-right{justify-content:flex-end}.x-tab{color:var(--fd-color-text)}.x-tab *,.x-tab :after,.x-tab :before{box-sizing:border-box}.x-tab ol,.x-tab ul{margin:0;padding:0}.x-tab li{list-style-type:none}.x-tab .tab-header{display:flex;font-size:var(--fd-font-size);overflow:hidden;position:relative}.x-tab .tab-header .tab-header-box{flex:1 1 auto;height:100%;overflow:hidden}.x-tab .tab-header .tab-header-wrapper{height:100%;transition:transform .2s ease;white-space:nowrap}.x-tab .tab-header .tab-header-wrapper .tab-header-item{color:var(--fd-color-text);cursor:pointer;font-size:var(--fd-font-size);line-height:var(--fd-line-height);overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-tab .tab-header .tab-header-wrapper .tab-header-item i{font-size:var(--fd-font-size-lg);margin-right:var(--fd-gap-sm)}.x-tab .tab-header .tab-header-wrapper .tab-header-item .tab-header-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-tab .tab-header .tab-header-wrapper .tab-header-item .tab-header-content .tab-content-inner{align-items:center;display:flex}.x-tab .tab-header .tab-header-wrapper .tab-header-item .tab-header-content .tab-content-inner .inner-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-tab .tab-header .tab-header-wrapper .tab-header-item.disabled{color:var(--fd-color-text-disabled);cursor:not-allowed}.x-tab .tab-header .tab-header-wrapper .tab-header-item.tab-header-active,.x-tab .tab-header .tab-header-wrapper .tab-header-item:not(.disabled):hover{color:var(--fd-color-primary)}.x-tab.theme-default .tab-header-wrapper .tab-header-item:before{background:var(--fd-color-primary);content:"";display:block;position:absolute;transform:scaleY(0)}.x-tab.theme-default .tab-header-wrapper .tab-header-item.tab-header-active:before{transform:scaleY(1)}.x-tab.horizontal-tab .tab-header{border-bottom:1px solid var(--fd-color-border)}.x-tab.horizontal-tab .tab-header .tab-extra-content{align-items:center;bottom:0;display:flex;position:absolute;right:0;top:0}.x-tab.horizontal-tab .tab-header.has-arrow .tab-arrow{background:var(--fd-color-bg-container);color:var(--fd-color-text);cursor:pointer;font-size:var(--fd-font-size-lg);width:30px}.x-tab.horizontal-tab .tab-header.has-arrow .tab-arrow,.x-tab.horizontal-tab .tab-header.has-arrow .tab-arrow .arrow-icon{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;justify-content:center}.x-tab.horizontal-tab .tab-header.has-arrow .tab-arrow .arrow-icon{height:24px;width:24px}.x-tab.horizontal-tab .tab-header.has-arrow .tab-arrow.prev{left:0}.x-tab.horizontal-tab .tab-header.has-arrow .tab-arrow.next{right:0}.x-tab.horizontal-tab .tab-header.has-arrow .tab-arrow:not(.disabled):hover .arrow-icon{background:var(--fd-color-bg-text-hover);border-radius:var(--fd-border-radius)}.x-tab.horizontal-tab .tab-header.has-arrow .tab-arrow.disabled{color:var(--fd-color-text-disabled);cursor:not-allowed}.x-tab.horizontal-tab .tab-header .tab-header-wrapper .tab-header-item{align-items:center;display:inline-flex;height:100%;max-width:300px;padding:var(--fd-padding-lg) 12px;transition:color .2s}.x-tab.horizontal-tab.theme-default .tab-header-wrapper .tab-header-item:before{bottom:0;height:2px;left:12px;opacity:0;right:12px;transform-origin:bottom;transition:all .3s ease-in}.x-tab.horizontal-tab.theme-default .tab-header-wrapper .tab-header-item.tab-header-active:before{opacity:1;transition:all .3s ease-out}.x-tab.horizontal-tab.theme-modern>.tab-header .tab-header-wrapper{padding:var(--fd-padding-layout-2xs) 0}.x-tab.horizontal-tab.theme-modern>.tab-header .tab-header-wrapper .tab-header-item{background:var(--fd-color-bg-container);border:1px solid var(--fd-color-border);border-radius:64px;height:var(--fd-control-height);margin:0 calc(var(--fd-gap-xl)/2);padding:0 var(--fd-padding-xl);transition:all .2s ease}.x-tab.horizontal-tab.theme-modern>.tab-header .tab-header-wrapper .tab-header-item:before{display:none}.x-tab.horizontal-tab.theme-modern>.tab-header .tab-header-wrapper .tab-header-item:not(.disabled):hover{border-color:var(--fd-color-primary)}.x-tab.horizontal-tab.theme-modern>.tab-header .tab-header-wrapper .tab-header-item.tab-header-active{background:var(--fd-color-primary);border-color:var(--fd-color-primary);color:#fff}.x-tab.horizontal-tab.theme-classic>.tab-header{border-bottom:none}.x-tab.horizontal-tab.theme-classic>.tab-header:before{background:var(--fd-color-border-secondary);bottom:0;content:"";display:block;height:1px;left:0;position:absolute;right:0}.x-tab.horizontal-tab.theme-classic>.tab-header .tab-header-wrapper{align-items:flex-end;display:flex;padding-top:var(--fd-padding-layout-2xs)}.x-tab.horizontal-tab.theme-classic>.tab-header .tab-header-wrapper .tab-header-item{-webkit-box-flex:0;background:var(--fd-color-fill-alter);border:1px solid var(--fd-color-border-secondary);border-radius:var(--fd-border-radius-lg) var(--fd-border-radius-lg) 0 0;flex:none;margin:0 var(--fd-gap-xs);padding:var(--fd-padding) var(--fd-padding-xl);transition:all .2s ease}.x-tab.horizontal-tab.theme-classic>.tab-header .tab-header-wrapper .tab-header-item:before{display:none}.x-tab.horizontal-tab.theme-classic>.tab-header .tab-header-wrapper .tab-header-item:not(.disabled):hover{color:var(--fd-color-primary)}.x-tab.horizontal-tab.theme-classic>.tab-header .tab-header-wrapper .tab-header-item.tab-header-active{background:var(--fd-color-bg-container);border-bottom:1px solid #fff;color:var(--fd-color-primary)}.x-tab.horizontal-tab.theme-classic>.tab-header .tab-arrow.prev{box-shadow:5px 0 9px #fff}.x-tab.horizontal-tab.theme-classic>.tab-header .tab-arrow.next{box-shadow:-5px 0 9px #fff}.x-tab.horizontal-tab.theme-segment>.tab-header{background:var(--fd-color-fill-alter);border-bottom:none;border-radius:var(--fd-border-radius);box-shadow:none;height:var(--fd-control-height)}.x-tab.horizontal-tab.theme-segment>.tab-header .tab-header-wrapper{display:flex;padding:var(--fd-padding-layout-3xs)}.x-tab.horizontal-tab.theme-segment>.tab-header .tab-header-wrapper .segment-animate-dot{background:var(--fd-color-bg-container);border-radius:var(--fd-border-radius-sm);bottom:var(--fd-padding-layout-3xs);box-shadow:0 6px 18px #1f2d3d0f,0 3px 9px #1f2d3d1a;content:"";left:0;margin-left:var(--fd-padding-layout-3xs);position:absolute;top:var(--fd-padding-layout-3xs);transition:left .24s ease-in;z-index:-1}.x-tab.horizontal-tab.theme-segment>.tab-header .tab-header-wrapper .tab-header-item{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-flex:1;align-items:center;background:transparent;border-radius:var(--fd-padding-lg);display:flex;flex:auto;justify-content:center;max-width:none;padding:0 var(--fd-padding-lg);width:100%}.x-tab.horizontal-tab.theme-segment>.tab-header .tab-header-wrapper .tab-header-item:before{display:none}.x-tab.horizontal-tab.theme-segment>.tab-header .tab-header-wrapper .tab-header-item:not(.disabled):hover{color:var(--fd-color-primary)}.x-tab.horizontal-tab.theme-segment>.tab-header .tab-header-wrapper .tab-header-item.tab-header-active{background:inherit}.x-tab.horizontal-tab.theme-segment>.tab-header .tab-header-wrapper .tab-header-item:not(.x-tab.horizontal-tab.theme-segment>.tab-header .tab-header-wrapper .tab-header-item:first-child){margin-left:4px}.x-tab.horizontal-tab.theme-cube>.tab-header{border-bottom:none}.x-tab.horizontal-tab.theme-cube>.tab-header:before{background:var(--fd-color-border-secondary);bottom:0;content:"";display:block;height:1px;left:0;position:absolute;right:0}.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper{align-items:flex-end;display:flex}.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item{flex:none;padding:var(--fd-padding-xs) var(--fd-padding-xl)}.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item .tab-header-content{padding:var(--fd-padding-2xs) var(--fd-padding-xl)}.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item:after{background:var(--fd-color-split);bottom:0;content:"";height:18px;left:0;margin:auto;position:absolute;top:0;width:1px}.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item:not(.disabled,.tab-header-active):hover{color:var(--fd-color-primary)}.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item:not(.disabled,.tab-header-active):hover:before{background-color:var(--fd-control-item-bg-hover);border-radius:var(--fd-border-radius-sm);bottom:var(--fd-padding-2xs);content:"";left:var(--fd-padding-2xs);position:absolute;right:var(--fd-padding-2xs);top:var(--fd-padding-2xs)}.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item:first-child:after,.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item:not(.disabled,.tab-header-active):hover+.tab-header-item:after,.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item:not(.disabled,.tab-header-active):hover:after{content:none}.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item.tab-header-active{background-color:var(--fd-color-bg-container);background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIzNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTI0IDM0Yy02IDAtOC03LjkzMy0xMC0xN1MxMCAwIDAgMHYzNGgyNHoiLz48cGF0aCBzdHJva2U9IiNFREVGRjMiIGQ9Ik0wIC41QzEwIC41IDEyIDguMiAxNCAxN3M0IDE2LjUgMTAgMTYuNSIvPjwvc3ZnPg==),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIzNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMzRjNiAwIDgtNy45MzMgMTAtMTdTMTQgMCAyNCAwdjM0SDB6Ii8+PHBhdGggc3Ryb2tlPSIjRURFRkYzIiBkPSJNMjQgLjVDMTQgLjUgMTIgOC4yIDEwIDE3UzYgMzMuNSAwIDMzLjUiLz48L3N2Zz4=),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MiIgaGVpZ2h0PSIzNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg0MnYzNEgwVjB6Ii8+PHBhdGggZmlsbD0iI0VERUZGMyIgZD0iTTAgMWg0MnYtMkgwdjJ6IiBtYXNrPSJ1cmwoI3ByZWZpeF9fcGF0aC0xLWluc2lkZS0xXzQzXzY4MykiLz48L3N2Zz4=);background-position:100% 100%,0 100%,top;background-repeat:no-repeat;background-size:28px 100%,28px 100%,calc(100% - 54px) 100%}.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item.tab-header-active+.tab-header-item:after,.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item.tab-header-active:after{content:none}.x-tab.horizontal-tab.theme-cube>.tab-header:not(.has-arrow) .tab-header-wrapper .tab-header-item:first-child{padding-left:0}.x-tab.horizontal-tab.theme-cube>.tab-header:not(.has-arrow) .tab-header-wrapper .tab-header-item:last-child{padding-right:0}.x-tab.horizontal-tab.theme-cube>.tab-header:not(.has-arrow) .tab-header-wrapper .tab-header-item.tab-header-active:first-child{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIzNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTI0IDM0Yy02IDAtOC03LjkzMy0xMC0xN1MxMCAwIDAgMHYzNGgyNHoiLz48cGF0aCBzdHJva2U9IiNFREVGRjMiIGQ9Ik0wIC41QzEwIC41IDEyIDguMiAxNCAxN3M0IDE2LjUgMTAgMTYuNSIvPjwvc3ZnPg==),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIzNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMzRDMCAxNS42OTIgMCAwIDEyIDB2MzRIMHoiLz48cGF0aCBzdHJva2U9IiNFREVGRjMiIGQ9Ik0xMiAuNUMuNS41LjUgMTQuMjk0LjUgMzQiLz48L3N2Zz4=),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MiIgaGVpZ2h0PSIzNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg0MnYzNEgwVjB6Ii8+PHBhdGggZmlsbD0iI0VERUZGMyIgZD0iTTAgMWg0MnYtMkgwdjJ6IiBtYXNrPSJ1cmwoI3ByZWZpeF9fcGF0aC0xLWluc2lkZS0xXzQzXzY4MykiLz48L3N2Zz4=);background-position:100% 100%,0 100%,11px top;background-size:28px 100%,12px 100%,calc(100% - 38px) 100%}.x-tab.horizontal-tab.theme-cube>.tab-header:not(.has-arrow) .tab-header-wrapper .tab-header-item.tab-header-active:last-child{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIzNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEyIDM0QzEyIDE1LjY5MiAxMiAwIDAgMHYzNGgxMnoiLz48cGF0aCBzdHJva2U9IiNFREVGRjMiIGQ9Ik0wIC41QzExLjUuNSAxMS41IDE0LjI5NCAxMS41IDM0Ii8+PC9zdmc+),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIzNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMzRjNiAwIDgtNy45MzMgMTAtMTdTMTQgMCAyNCAwdjM0SDB6Ii8+PHBhdGggc3Ryb2tlPSIjRURFRkYzIiBkPSJNMjQgLjVDMTQgLjUgMTIgOC4yIDEwIDE3UzYgMzMuNSAwIDMzLjUiLz48L3N2Zz4=),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MiIgaGVpZ2h0PSIzNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg0MnYzNEgwVjB6Ii8+PHBhdGggZmlsbD0iI0VERUZGMyIgZD0iTTAgMWg0MnYtMkgwdjJ6IiBtYXNrPSJ1cmwoI3ByZWZpeF9fcGF0aC0xLWluc2lkZS0xXzQzXzY4MykiLz48L3N2Zz4=);background-position:100% 100%,0 100%,26px top;background-size:12px 100%,28px 100%,calc(100% - 38px) 100%}.x-tab.horizontal-tab.is-stretch>.tab-header .tab-header-wrapper{display:flex}.x-tab.horizontal-tab.is-stretch>.tab-header .tab-header-wrapper .tab-header-item{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-flex:1;align-items:center;display:flex;flex:auto;justify-content:center;max-width:none;width:100%}.x-tab.horizontal-tab.is-stretch>.tab-header .tab-header-wrapper .tab-header-item:before{left:0;right:0}.x-tab.vertical-tab{display:flex;position:relative}.x-tab.vertical-tab>.tab-header{-webkit-box-flex:0;border-bottom:none;box-shadow:1px 0 3px #0000001a;flex:none;height:auto!important;width:250px}.x-tab.vertical-tab>.tab-header .tab-header-wrapper{position:static}.x-tab.vertical-tab>.tab-header .tab-header-wrapper .tab-header-item{background:transparent;display:block;height:var(--fd-control-height-lg);line-height:var(--fd-control-height-lg);max-width:none;padding:0 var(--fd-padding-xl);transition:background .1s ease-out}.x-tab.vertical-tab>.tab-header .tab-header-wrapper .tab-header-item:before{bottom:auto;height:100%!important;left:0;top:0;transform:scaleY(0);transform-origin:center;transition-duration:.1s;width:2px}.x-tab.vertical-tab>.tab-header .tab-header-wrapper .tab-header-item.tab-header-active{background-color:var(--fd-color-primary-bg)}.x-tab.vertical-tab>.tab-header .tab-header-wrapper .tab-header-item.tab-header-active:before{transform:scaleY(1);transition-duration:.1s}.x-tab.vertical-tab .x-tab-content{flex:auto}.x-tab.size-large>.tab-header .tab-header-wrapper .tab-header-item{font-size:var(--fd-font-size-lg);line-height:var(--fd-line-height-lg);padding:var(--fd-padding-xl) 12px}.x-tab.size-large>.tab-header .tab-header-wrapper .tab-header-item .tab-header-content i{font-size:var(--fd-font-size-xl)}.x-tab.size-large>.tab-header .tab-header-wrapper .tab-header-item.tab-header-active{color:var(--fd-color-primary)}.x-tab.size-large.theme-modern>.tab-header .tab-header-wrapper .tab-header-item{height:var(--fd-control-height-lg);margin:0 var(--fd-gap)}.x-tab.size-large.theme-segment>.tab-header{border-radius:var(--fd-border-radius-lg);height:var(--fd-control-height-lg)}.x-tab.size-large.theme-segment>.tab-header .tab-header-wrapper .segment-animate-dot{border-radius:var(--fd-border-radius)}.x-tab.size-large.theme-cube>.tab-header .tab-header-wrapper .tab-header-item .tab-header-content{padding:var(--fd-padding-xs) var(--fd-padding-xl)}.x-tab.size-large.vertical-tab>.tab-header .tab-header-item{line-height:var(--fd-control-height-lg);padding:0 var(--fd-padding-2xl)}.x-tab.size-small>.tab-header .tab-header-wrapper .tab-header-item{padding:var(--fd-padding) 12px}.x-tab.size-small.theme-modern>.tab-header .tab-header-wrapper .tab-header-item{font-size:var(--fd-font-size-sm);height:var(--fd-control-height-sm);line-height:var(--fd-line-height-sm);margin:0 var(--fd-gap-sm)}.x-tab.size-small.theme-modern>.tab-header .tab-header-wrapper .tab-header-item i{font-size:var(--fd-font-size)}.x-tab.size-small.theme-cube>.tab-header .tab-header-wrapper .tab-header-item{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);padding:var(--fd-padding-2xs) var(--fd-padding-xl)}.x-tab.size-small.theme-cube>.tab-header .tab-header-wrapper .tab-header-item i{font-size:var(--fd-font-size)}.x-tab.size-small.theme-classic>.tab-header .tab-header-wrapper .tab-header-item{padding:var(--fd-padding-xs) var(--fd-padding-xl)}.x-tab.size-small.theme-segment>.tab-header{border-radius:var(--fd-border-radius-sm);height:var(--fd-control-height-sm)}.x-tab.size-small.theme-segment>.tab-header .tab-header-wrapper .tab-header-item{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm)}.x-tab.size-small.vertical-tab>.tab-header .tab-header-wrapper .tab-header-item{line-height:var(--fd-control-height-lg);padding:0 var(--fd-padding-lg)}.x-popover-wrapper.tab-hide-popover-wrapper{background:var(--fd-color-bg-container);border-radius:var(--fd-border-radius-lg);color:var(--fd-color-text);font-size:var(--fd-font-size);line-height:var(--fd-line-height);max-height:240px;max-width:320px;min-width:120px;overflow-y:auto;padding:var(--fd-padding-layout-2xs)}.x-popover-wrapper.tab-hide-popover-wrapper .tab-hide-popover-list{display:flex;flex-direction:column}.x-popover-wrapper.tab-hide-popover-wrapper .tab-hide-popover-list .tab-hide-popover-item{border-radius:var(--fd-border-radius-sm);cursor:pointer;overflow:hidden;padding:var(--fd-padding-xs) var(--fd-padding-lg);text-overflow:ellipsis;transition:all .2s;white-space:nowrap}.x-popover-wrapper.tab-hide-popover-wrapper .tab-hide-popover-list .tab-hide-popover-item:not(.disabled){cursor:pointer}.x-popover-wrapper.tab-hide-popover-wrapper .tab-hide-popover-list .tab-hide-popover-item:not(.disabled):hover{background:var(--fd-control-item-bg-hover)}.x-popover-wrapper.tab-hide-popover-wrapper .tab-hide-popover-list .tab-hide-popover-item.disabled{background:var(--fd-color-bg-container);color:var(--fd-color-text-disabled)!important;cursor:not-allowed}.x-menu,.x-popover-wrapper.tab-hide-popover-wrapper .tab-hide-popover-list .tab-hide-popover-item.disabled:hover{background:var(--fd-color-bg-container)}.x-menu{border-radius:var(--fd-border-radius-lg);color:var(--fd-color-text);font-size:var(--fd-font-size);line-height:var(--fd-line-height);padding:var(--fd-padding-layout-2xs)}.x-menu *,.x-menu :after,.x-menu :before{box-sizing:border-box}.x-menu ol,.x-menu ul{margin:0;padding:0}.x-menu li{list-style-type:none}.x-menu .x-divider{margin:var(--fd-gap) var(--fd-padding)!important;width:calc(100% - var(--fd-padding)*2)!important}.x-menu .x-menu-item{align-items:center;border-radius:var(--fd-border-radius-lg);cursor:pointer;display:flex;height:var(--fd-control-height);padding:0 var(--fd-padding);transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-menu .x-menu-item:not(.disabled):hover{background:var(--fd-color-bg-text-hover)}.x-menu .x-menu-item:not(.disabled):active{background:var(--fd-color-bg-text-active)}.x-menu .x-menu-item.custom-content{height:auto;min-height:var(--fd-control-height)}.x-menu .x-menu-item.custom-content:hover{background:inherit;cursor:default}.x-menu .x-menu-item .item-icon{-webkit-box-flex:0;color:var(--fd-color-icon-normal);display:inline-block;flex:none;font-size:var(--fd-icon-size);margin-right:var(--fd-gap-sm)}.x-menu .x-menu-item .item-label{flex:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-menu .x-menu-item .check-icon{color:var(--fd-color-primary)}.x-menu .x-menu-item .expand-icon{color:var(--fd-color-icon-normal)}.x-menu .x-menu-item .check-icon,.x-menu .x-menu-item .expand-icon{flex:none;font-size:var(--fd-icon-size);padding-left:var(--fd-gap-sm)}.x-menu .x-menu-item.disabled{cursor:not-allowed}.x-menu .x-menu-item.disabled .check-icon,.x-menu .x-menu-item.disabled .expand-icon,.x-menu .x-menu-item.disabled .item-icon,.x-menu .x-menu-item.disabled .item-label{color:var(--fd-color-text-disabled)}.x-sub-menu .x-menu{box-shadow:none}.x-breadcrumb,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper{color:var(--fd-color-text-description);display:flex;font-size:var(--fd-font-size);line-height:var(--fd-line-height);list-style:none}.x-breadcrumb ol,.x-breadcrumb ul,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper ol,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper ul{margin:0;padding:0}.x-breadcrumb li,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper li{list-style-type:none}.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper.overflow-auto,.x-breadcrumb.overflow-auto{opacity:0;overflow-x:auto}.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper.disabled .breadcrumb-item-label,.x-breadcrumb.disabled .breadcrumb-item-label{color:var(--fd-color-text-disabled);cursor:default}.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper.disabled .breadcrumb-item-label:hover,.x-breadcrumb.disabled .breadcrumb-item-label:hover{background-color:transparent;color:var(--fd-color-text-disabled)}.x-breadcrumb .breadcrumb-item-label,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .breadcrumb-item-label{border-radius:var(--fd-border-radius-sm);cursor:pointer;display:inline-block;height:var(--fd-line-height);overflow:hidden;padding:0 var(--fd-padding-xs);text-overflow:ellipsis;transition:color .2s;white-space:nowrap}.x-breadcrumb .breadcrumb-item-label:hover,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .breadcrumb-item-label:hover{background-color:var(--fd-color-bg-text-hover);color:var(--fd-color-text)}.x-breadcrumb .breadcrumb-item-link,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .breadcrumb-item-link{color:var(--fd-color-text-description);outline:none;text-decoration:none}.x-breadcrumb .breadcrumb-item-link:hover,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .breadcrumb-item-link:hover{color:var(--fd-color-text)}.x-breadcrumb .breadcrumb-item-inner,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .breadcrumb-item-inner{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-breadcrumb .breadcrumb-item-inner span+span,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .breadcrumb-item-inner span+span{margin-left:var(--fd-gap-sm)}.x-breadcrumb .separator,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .separator{color:var(--fd-color-text-description);margin-left:var(--fd-gap-xs)}.x-breadcrumb .more,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .more{display:flex}.x-breadcrumb .breadcrumb-item-wrapper,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .breadcrumb-item-wrapper{color:var(--fd-color-text-description);display:flex}.x-breadcrumb .breadcrumb-item-wrapper.mark:last-child,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .breadcrumb-item-wrapper.mark:last-child{color:var(--fd-color-text)}.x-breadcrumb .breadcrumb-item-wrapper.collapse,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .breadcrumb-item-wrapper.collapse{color:var(--fd-color-text-description)}.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper{flex-wrap:wrap}.x-tag{align-items:flex-start;background:var(--fd-color-fill-quaternary);border:1px solid var(--fd-color-transparent);border-radius:12px;color:var(--fd-color-text);cursor:pointer;display:inline-flex;font-size:var(--fd-font-size);line-height:var(--fd-line-height);max-width:100%;overflow:hidden;padding:0 var(--fd-padding-sm);transform-origin:left;white-space:nowrap}.x-tag *,.x-tag :after,.x-tag :before{box-sizing:border-box}.x-tag.is-rounded-rec{border-radius:var(--fd-border-radius)}.x-tag.has-border{border-color:var(--fd-color-border)}.x-tag .text-wrapper{display:inline-block;max-width:100%}.x-tag.single-line{align-items:center}.x-tag.single-line .text-wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-tag.multi-line .text-wrapper{word-wrap:break-word;white-space:normal;word-break:break-word}.x-tag .tag-prefix{font-size:var(--fd-icon-size);margin-right:var(--fd-gap-sm)}.x-tag .tag-close{color:var(--fd-color-icon-normal);font-size:var(--fd-icon-size-2sm);margin-left:var(--fd-gap-sm)}.x-tag .tag-close:hover{color:var(--fd-color-icon-hover)}.x-tag .tag-close:active{color:var(--fd-color-icon-active)}.x-tag.x-tag-appear,.x-tag.x-tag-enter{animation:x-zoom-in-big .2s ease;animation-fill-mode:forwards}.x-tag.x-tag-exit{animation:x-zoom-by-size .2s ease-in reverse;animation-fill-mode:forwards}.x-tag.small{border-radius:10px;font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);padding:0 var(--fd-padding-xs)}.x-tag.small .tag-prefix{font-size:var(--fd-icon-size-sm)}.x-tag.small .tag-close{font-size:var(--fd-icon-size-2sm)}.x-tag.small.is-rounded-rec{border-radius:var(--fd-border-radius)}.x-tag.large{border-radius:15px;font-size:var(--fd-font-size);line-height:var(--fd-line-height);padding:var(--fd-padding-layout-2xs) var(--fd-padding)}.x-tag.large .tag-close,.x-tag.large .tag-prefix{font-size:var(--fd-icon-size)}.x-tag.large.is-rounded-rec{border-radius:var(--fd-border-radius)}.x-tag.success{background:var(--fd-color-success-bg);border-color:var(--fd-color-success-bg);color:var(--fd-color-success)}.x-tag.success.has-border{border-color:var(--fd-color-success-border)}.x-tag.success .tag-close{color:var(--fd-color-success)}.x-tag.success .tag-close:hover{color:var(--fd-color-success-hover)}.x-tag.success .tag-close:active{color:var(--fd-color-success-active)}.x-tag.warning{background:var(--fd-color-warning-bg);border-color:var(--fd-color-warning-bg);color:var(--fd-color-warning)}.x-tag.warning.has-border{border-color:var(--fd-color-warning-border)}.x-tag.warning .tag-close{color:var(--fd-color-warning)}.x-tag.warning .tag-close:hover{color:var(--fd-color-warning-hover)}.x-tag.warning .tag-close:active{color:var(--fd-color-warning-active)}.x-tag.error{background:var(--fd-color-error-bg);border-color:var(--fd-color-error-bg);color:var(--fd-color-error)}.x-tag.error.has-border{border-color:var(--fd-color-error-border)}.x-tag.error .tag-close{color:var(--fd-color-error)}.x-tag.error .tag-close:hover{color:var(--fd-color-error-hover)}.x-tag.error .tag-close:active{color:var(--fd-color-error-active)}.x-tag.info{background:var(--fd-color-info-bg);border-color:var(--fd-color-info-bg);color:var(--fd-color-info)}.x-tag.info.has-border{border-color:var(--fd-color-info-border)}.x-tag.info .tag-close{color:var(--fd-color-info)}.x-tag.info .tag-close:hover{color:var(--fd-color-info-hover)}.x-tag.info .tag-close:active{color:var(--fd-color-info-active)}.x-tooltip{display:block;position:absolute}.x-tooltip *,.x-tooltip :after,.x-tooltip :before{box-sizing:border-box}.x-tooltip-hidden{display:none}.x-tooltip-popper{word-wrap:break-word;background:var(--fd-color-bg-elevater);border-radius:var(--fd-border-radius);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;color:var(--fd-color-text);font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);max-width:400px;padding:var(--fd-tooltip-padding-layout-2xs) var(--fd-tooltip-padding-layout-xs);word-break:break-word}.x-tooltip-popper a[href]{color:var(--fd-color-link);text-decoration:underline}.x-tooltip-popper .tooltip-content{transform:translateZ(0)}.x-tooltip-popper.dark{color:var(--fd-color-text-light-solid)}.x-tooltip-popper.dark,.x-tooltip-popper.dark .tooltip-arrow:before{background:var(--fd-color-bg-spotilight)}.x-tooltip-popper.color .tooltip-arrow:before{background:var(--fd-tooltip-color-arrow)}.x-tooltip-popper.no-padding{padding:0}.x-tooltip .tooltip-arrow{display:block;height:12px;overflow:hidden;pointer-events:none;position:absolute;width:12px;z-index:1}.x-tooltip .tooltip-arrow.no-arrow{display:none!important}.x-tooltip .tooltip-arrow:before{background:var(--fd-color-bg-elevater);bottom:0;clip-path:polygon(1.65685425px 100%,50% 1.65685425px,10.34314575px 100%,1.65685425px 100%);clip-path:path("M 0 6 A 4 4 0 0 0 2.82842712474619 4.82842712474619 L 4.585786437626905 3.0710678118654755 A 2 2 0 0 1 7.414213562373095 3.0710678118654755 L 9.17157287525381 4.82842712474619 A 4 4 0 0 0 12 6 Z");content:"";height:6px;inset-inline-start:0;position:absolute;width:12px}.x-tooltip .tooltip-arrow:after{background:transparent;border-radius:0 0 2px;bottom:0;box-shadow:2px 2px 5px #0000000d;content:"";height:6.14213562px;inset-inline:0;margin:auto;position:absolute;transform:translateY(50%) rotate(-135deg);width:6.14213562px;z-index:0}.x-tooltip.placement-top .tooltip-arrow,.x-tooltip.placement-top-left .tooltip-arrow,.x-tooltip.placement-top-right .tooltip-arrow{bottom:0;transform:translateY(100%) rotate(180deg)}.x-tooltip.placement-top .tooltip-arrow{left:50%;transform:translate(-50%) translateY(100%) rotate(180deg)}.x-tooltip.placement-top-left .tooltip-arrow{left:8px}.x-tooltip.placement-top-right .tooltip-arrow{right:8px}.x-tooltip.placement-bottom .tooltip-arrow,.x-tooltip.placement-bottom-left .tooltip-arrow,.x-tooltip.placement-bottom-right .tooltip-arrow{top:0;transform:translateY(-100%)}.x-tooltip.placement-bottom .tooltip-arrow{left:50%;transform:translate(-50%) translateY(-100%)}.x-tooltip.placement-bottom-left .tooltip-arrow{left:8px}.x-tooltip.placement-bottom-right .tooltip-arrow{right:8px}.x-tooltip.placement-left .tooltip-arrow,.x-tooltip.placement-left-bottom .tooltip-arrow,.x-tooltip.placement-left-top .tooltip-arrow{right:0;transform:translate(100%) rotate(90deg)}.x-tooltip.placement-left .tooltip-arrow{top:50%;transform:translateY(-50%) translate(100%) rotate(90deg)}.x-tooltip.placement-left-top .tooltip-arrow{top:8px}.x-tooltip.placement-left-bottom .tooltip-arrow{bottom:8px}.x-tooltip.placement-right .tooltip-arrow,.x-tooltip.placement-right-bottom .tooltip-arrow,.x-tooltip.placement-right-top .tooltip-arrow{left:0;transform:translate(-100%) rotate(-90deg)}.x-tooltip.placement-right .tooltip-arrow{top:50%;transform:translateY(-50%) translate(-100%) rotate(-90deg)}.x-tooltip.placement-right-top .tooltip-arrow{top:8px}.x-tooltip.placement-right-bottom .tooltip-arrow{bottom:8px}.x-tooltip-top-appear,.x-tooltip-top-enter{animation:x-move-bottom-small .2s ease;animation-fill-mode:forwards}.x-tooltip-top-exit{animation:x-move-bottom-small .1s ease-in reverse;animation-fill-mode:forwards}.x-tooltip-right-appear,.x-tooltip-right-enter{animation:x-move-left-small .2s ease;animation-fill-mode:forwards}.x-tooltip-right-exit{animation:x-move-left-small .1s ease-in reverse;animation-fill-mode:forwards}.x-tooltip-bottom-appear,.x-tooltip-bottom-enter{animation:x-move-top-small .2s ease;animation-fill-mode:forwards}.x-tooltip-bottom-exit{animation:x-move-top-small .1s ease-in reverse;animation-fill-mode:forwards}.x-tooltip-left-appear,.x-tooltip-left-enter{animation:x-move-right-small .2s ease;animation-fill-mode:forwards}.x-tooltip-left-exit{animation:x-move-right-small .1s ease-in reverse;animation-fill-mode:forwards}.x-popover{display:block;position:absolute}.x-popover *,.x-popover :after,.x-popover :before{box-sizing:border-box}.x-popover-wrapper{background:var(--fd-color-bg-elevater);border-radius:var(--fd-border-radius-lg);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;color:var(--fd-color-text);font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);padding:var(--fd-padding-layout)}.x-popover-wrapper .popover-content{transform:translateZ(0)}.x-popover-wrapper.color .popover-arrow:before{background:var(--fd-tooltip-color-arrow)}.x-popover-wrapper.no-padding{padding:0}.x-popover .popover-arrow{display:block;height:12px;overflow:hidden;pointer-events:none;position:absolute;width:12px;z-index:1}.x-popover .popover-arrow.no-arrow{display:none!important}.x-popover .popover-arrow:before{background:#fff;bottom:0;clip-path:polygon(1.65685425px 100%,50% 1.65685425px,10.34314575px 100%,1.65685425px 100%);clip-path:path("M 0 6 A 4 4 0 0 0 2.82842712474619 4.82842712474619 L 4.585786437626905 3.0710678118654755 A 2 2 0 0 1 7.414213562373095 3.0710678118654755 L 9.17157287525381 4.82842712474619 A 4 4 0 0 0 12 6 Z");content:"";height:6px;inset-inline-start:0;position:absolute;width:12px}.x-popover .popover-arrow:after{background:transparent;border-radius:0 0 2px;bottom:0;box-shadow:2px 2px 5px #0000000d;content:"";height:6.14213562px;inset-inline:0;margin:auto;position:absolute;transform:translateY(50%) rotate(-135deg);width:6.14213562px;z-index:0}.x-popover.placement-top .popover-arrow,.x-popover.placement-top-left .popover-arrow,.x-popover.placement-top-right .popover-arrow{bottom:0;transform:translateY(100%) rotate(180deg)}.x-popover.placement-top .popover-arrow{left:50%;transform:translate(-50%) translateY(100%) rotate(180deg)}.x-popover.placement-top-left .popover-arrow{left:8px}.x-popover.placement-top-right .popover-arrow{right:8px}.x-popover.placement-bottom .popover-arrow,.x-popover.placement-bottom-left .popover-arrow,.x-popover.placement-bottom-right .popover-arrow{top:0;transform:translateY(-100%)}.x-popover.placement-bottom .popover-arrow{left:50%;transform:translate(-50%) translateY(-100%)}.x-popover.placement-bottom-left .popover-arrow{left:8px}.x-popover.placement-bottom-right .popover-arrow{right:8px}.x-popover.placement-left .popover-arrow,.x-popover.placement-left-bottom .popover-arrow,.x-popover.placement-left-top .popover-arrow{right:0;transform:translate(100%) rotate(90deg)}.x-popover.placement-left .popover-arrow{top:50%;transform:translateY(-50%) translate(100%) rotate(90deg)}.x-popover.placement-left-top .popover-arrow{top:8px}.x-popover.placement-left-bottom .popover-arrow{bottom:8px}.x-popover.placement-right .popover-arrow,.x-popover.placement-right-bottom .popover-arrow,.x-popover.placement-right-top .popover-arrow{left:0;transform:translate(-100%) rotate(-90deg)}.x-popover.placement-right .popover-arrow{top:50%;transform:translateY(-50%) translate(-100%) rotate(-90deg)}.x-popover.placement-right-top .popover-arrow{top:8px}.x-popover.placement-right-bottom .popover-arrow{bottom:8px}.x-popover-top-appear,.x-popover-top-enter{animation:x-move-bottom-small .2s ease;animation-fill-mode:forwards}.x-popover-top-exit{animation:x-move-bottom-small .1s ease-in reverse;animation-fill-mode:forwards}.x-popover-right-appear,.x-popover-right-enter{animation:x-move-left-small .2s ease;animation-fill-mode:forwards}.x-popover-right-exit{animation:x-move-left-small .1s ease-in reverse;animation-fill-mode:forwards}.x-popover-bottom-appear,.x-popover-bottom-enter{animation:x-move-top-small .2s ease;animation-fill-mode:forwards}.x-popover-bottom-exit{animation:x-move-top-small .1s ease-in reverse;animation-fill-mode:forwards}.x-popover-left-appear,.x-popover-left-enter{animation:x-move-right-small .2s ease;animation-fill-mode:forwards}.x-popover-left-exit{animation:x-move-right-small .1s ease-in reverse;animation-fill-mode:forwards}.x-popup{z-index:1002}.x-popup.x-popup-hidden{display:none}.x-divider *,.x-divider :after,.x-divider :before{box-sizing:border-box}.x-divider-horizontal{border:solid var(--fd-color-split);border-width:1px 0 0;margin:24px 0;width:100%}.x-divider-vertical{border:solid var(--fd-color-split);border-width:0 0 0 1px;display:inline-block;height:.9em;margin:0 15px;vertical-align:middle}.x-divider-dashed{border-style:dashed}.x-upload{display:inline-block}.x-upload *,.x-upload :after,.x-upload :before{box-sizing:border-box}.x-upload .upload-form,.x-upload .upload-input{display:none}.x-instruction{border-radius:var(--fd-border-radius-lg);color:var(--fd-color-text);display:flex;font-size:var(--fd-font-size);line-height:var(--fd-line-height);padding:var(--fd-padding-layout-xs) var(--fd-padding-layout-sm);position:relative}.x-instruction *,.x-instruction :after,.x-instruction :before{box-sizing:border-box}.x-instruction .x-instruction-content{flex:1;min-width:0}.x-instruction .x-instruction-icon{font-size:var(--fd-icon-size);margin-right:var(--fd-gap)}.x-instruction .x-instruction-description{display:none}.x-instruction .x-instruction-close-icon{align-self:flex-start;background-color:transparent;color:var(--fd-color-icon);cursor:pointer;font-size:var(--fd-icon-size);margin-left:var(--fd-gap);overflow:hidden;padding:0}.x-instruction .x-instruction-close-icon:hover{color:var(--fd-color-icon-hover)}.x-instruction.x-instruction-success{background-color:var(--fd-color-success-bg)}.x-instruction.x-instruction-success.x-instruction-border{border:1px solid var(--fd-color-success-border)}.x-instruction.x-instruction-success .x-instruction-icon{color:var(--fd-color-success)}.x-instruction.x-instruction-warning{background-color:var(--fd-color-warning-bg)}.x-instruction.x-instruction-warning.x-instruction-border{border:1px solid var(--fd-color-warning-border)}.x-instruction.x-instruction-warning .x-instruction-icon{color:var(--fd-color-warning)}.x-instruction.x-instruction-info{background-color:var(--fd-color-info-bg)}.x-instruction.x-instruction-info.x-instruction-border{border:1px solid var(--fd-color-info-border)}.x-instruction.x-instruction-info .x-instruction-icon{color:var(--fd-color-info)}.x-instruction.x-instruction-error{background-color:var(--fd-color-error-bg)}.x-instruction.x-instruction-error.x-instruction-border{border:1px solid var(--fd-color-error-border)}.x-instruction.x-instruction-error .x-instruction-icon{color:var(--fd-color-error)}.x-instruction.x-instruction-with-description{align-items:flex-start}.x-instruction.x-instruction-with-description .x-instruction-message{color:var(--fd-color-text);display:block;font-weight:600;margin-bottom:calc(var(--fd-gap)/2)}.x-instruction.x-instruction-with-description .x-instruction-description{display:block;line-height:var(--fd-line-height)}.x-instruction.x-instruction-banner{border:none;border-radius:0;margin-bottom:0}.x-instruction.x-instruction-exit{opacity:1}.x-instruction.x-instruction-exit-active{opacity:0;overflow:hidden;padding-bottom:0;padding-top:0;transition:all .3s}.x-result{text-align:center}.x-result *,.x-result :after,.x-result :before{box-sizing:border-box}.x-result img{border:0;outline:none}.x-result .result-img{margin-bottom:var(--fd-gap-2xl)}.x-result .result-img>img{height:175px;vertical-align:middle}.x-result .result-icon{font-size:72px;line-height:0}.x-result .result-icon.success{color:var(--fd-color-success)}.x-result .result-icon.error{color:var(--fd-color-error)}.x-result .result-icon.warning{color:var(--fd-color-warning)}.x-result .result-icon.info{color:var(--fd-color-info)}.x-result .result-title{color:var(--fd-color-text-heading);font-size:var(--fd-font-size-xl);font-weight:600;line-height:var(--fd-line-height-xl);margin:0 auto var(--fd-gap);max-width:600px}.x-result .result-description{color:var(--fd-color-text-description);font-size:var(--fd-font-size);line-height:var(--fd-line-height);margin:0 auto;max-width:340px}.x-result .result-extra{margin-top:var(--fd-gap-2xl)}.x-result a{color:var(--fd-color-primary);cursor:pointer;text-decoration:underline}.x-result.size-middle .result-title{font-size:var(--fd-font-size-lg)}.x-result.size-middle .result-icon{font-size:64px;line-height:64px}.x-result.size-middle .result-img>img{height:80px}.x-result.size-middle .result-extra{margin-top:var(--fd-gap-2xl)}.x-result.size-small .result-img{margin-bottom:var(--fd-gap-2xl)}.x-result.size-small .result-img>img{height:60px}.x-result.size-small .result-icon{font-size:48px}.x-result.size-small .result-extra{margin-top:var(--fd-gap-2xl)}.x-result.size-small .result-title{font-size:var(--fd-font-size);margin:0 auto var(--fd-gap-2xl)}.x-result.size-small .result-description{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);max-width:200px}@keyframes x-toast-fade-out{0%{max-height:100px;opacity:1}to{margin-bottom:0;max-height:0;opacity:0}}.x-msg-toast-container{color:var(--fd-color-text);line-height:normal;pointer-events:none;position:fixed;text-align:center;top:20px;width:100%;z-index:1005}.x-msg-toast{margin-bottom:10px}.x-msg-toast .x-msg-toast-content{word-wrap:break-word;background:var(--fd-color-bg-elevater);border:var(--fd-line-width) solid var(--fd-color-bg-elevater);border-radius:var(--fd-border-radius);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;display:inline-flex;max-width:600px;min-width:100px;overflow:hidden;padding:var(--fd-padding-layout-xs) var(--fd-padding-layout-sm);position:relative;text-align:initial;word-break:break-word}.x-msg-toast .x-msg-toast-content .x-msg-toast-text{font-size:var(--fd-font-size);line-height:var(--fd-line-height)}.x-msg-toast .x-msg-toast-content .x-msg-toast-icon{align-items:center;display:flex;height:var(--fd-line-height);margin-right:var(--fd-gap)}.x-msg-toast .x-msg-toast-content .x-msg-toast-icon i{font-size:var(--fd-icon-size);line-height:var(--fd-icon-size)}.x-msg-toast .x-msg-toast-content.success .x-msg-toast-icon{color:var(--fd-color-success)}.x-msg-toast .x-msg-toast-content.warning .x-msg-toast-icon{color:var(--fd-color-warning)}.x-msg-toast .x-msg-toast-content.error .x-msg-toast-icon{color:var(--fd-color-error)}.x-msg-toast .x-msg-toast-content.info .x-msg-toast-icon{color:var(--fd-color-info);transform:rotate(180deg)}.x-msg-toast .x-msg-toast-content.loading .x-msg-toast-icon i{animation:x-rotate .8s cubic-bezier(.43,.1,.54,.85) infinite;border:2px solid var(--fd-color-success-3);border-radius:100%;border-top-color:var(--fd-color-success-6);display:inline-block;height:var(--fd-icon-size);transform-origin:center center;width:var(--fd-icon-size)}.x-msg-toast .x-msg-toast-content.colorful.success{background:var(--fd-color-success-bg);border-color:var(--fd-color-success-border)}.x-msg-toast .x-msg-toast-content.colorful.warning{background:var(--fd-color-warning-bg);border-color:var(--fd-color-warning-border)}.x-msg-toast .x-msg-toast-content.colorful.error{background:var(--fd-color-error-bg);border-color:var(--fd-color-error-border)}.x-msg-toast .x-msg-toast-content.colorful.info{background:var(--fd-color-info-bg);border-color:var(--fd-color-info-border)}.x-msg-toast .x-msg-toast-content.colorful.loading{background:var(--fd-color-bg-elevater);border-color:var(--fd-color-border)}.x-msg-toast.x-msg-toast-appear{animation:x-fade-down-large .2s ease;animation-fill-mode:forwards}.x-msg-toast.x-msg-toast-exit{animation:x-toast-fade-out .1s ease-out;animation-fill-mode:forwards}.x-msg-notification-container{line-height:normal;pointer-events:none;position:fixed;z-index:1004}.x-msg-notification-container.top-right{right:20px;top:65px}.x-msg-notification-container.top-right .x-msg-notification-appear,.x-msg-notification-container.top-right .x-msg-notification-exit{animation:x-fade-in-right .3s ease;animation-fill-mode:forwards}.x-msg-notification-container.top-right .x-msg-notification-exit{animation-direction:reverse}.x-msg-notification-container.top-left{left:20px;top:65px}.x-msg-notification-container.top-left .x-msg-notification-appear,.x-msg-notification-container.top-left .x-msg-notification-exit{animation:x-fade-in-left .3s ease;animation-fill-mode:forwards}.x-msg-notification-container.top-left .x-msg-notification-exit{animation-direction:reverse}.x-msg-notification-container.bottom-left{bottom:40px;left:20px}.x-msg-notification-container.bottom-left .x-msg-notification-appear,.x-msg-notification-container.bottom-left .x-msg-notification-exit{animation:x-fade-in-left .3s ease;animation-fill-mode:forwards}.x-msg-notification-container.bottom-left .x-msg-notification-exit{animation-direction:reverse}.x-msg-notification-container.bottom-right{bottom:40px;right:20px}.x-msg-notification-container.bottom-right .x-msg-notification-appear,.x-msg-notification-container.bottom-right .x-msg-notification-exit{animation:x-fade-in-right .3s ease;animation-fill-mode:forwards}.x-msg-notification-container.bottom-right .x-msg-notification-exit{animation-direction:reverse}.x-msg-notification{background:#fff;border-radius:var(--fd-border-radius-lg);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;margin-bottom:10px;overflow:hidden;padding:var(--fd-padding-layout-lg);pointer-events:all;position:relative;width:400px}.x-msg-notification .close-btn{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border-radius:var(--fd-border-radius);color:var(--fd-color-text);cursor:pointer;display:flex;font-size:var(--fd-font-size);height:var(--fd-line-height-lg);justify-content:center;position:absolute;right:0;top:0;transition:color .2s ease;width:var(--fd-line-height-lg)}.x-msg-notification .close-btn:hover{background-color:var(--fd-color-bg-text-hover)}.x-msg-notification .x-msg-notification-main .notification-icon.success{color:var(--fd-color-success)}.x-msg-notification .x-msg-notification-main .notification-icon.error{color:var(--fd-color-error)}.x-msg-notification .x-msg-notification-main .notification-icon.warning{color:var(--fd-color-warning)}.x-msg-notification .x-msg-notification-main .notification-icon.info{color:var(--fd-color-info)}.x-msg-notification .x-msg-notification-main .x-msg-notification-title{word-wrap:break-word;color:var(--fd-color-text);font-size:var(--fd-font-size-lg);font-weight:600;margin-bottom:var(--fd-gap);margin-right:var(--fd-line-height-lg);word-break:break-word}.x-msg-notification .x-msg-notification-main .x-msg-notification-content{color:var(--fd-color-text);font-size:var(--fd-font-size);line-height:var(--fd-line-height)}.x-msg-notification .x-msg-notification-main .x-msg-notification-footer{margin-top:var(--fd-gap-xl)}.x-msg-notification .x-msg-notification-main .x-msg-notification-footer:after,.x-msg-notification .x-msg-notification-main .x-msg-notification-footer:before{content:" ";display:table;line-height:0}.x-msg-notification .x-msg-notification-main .x-msg-notification-footer:after{clear:both}.x-msg-notification .x-msg-notification-main .x-msg-notification-footer .footer-btn{float:right}.x-msg-notification .x-msg-notification-wrapper{position:relative}.x-msg-notification.has-icon .x-msg-notification-main{padding-left:calc(var(--fd-line-height-lg) + var(--fd-gap-xl))}.x-msg-notification.has-icon .x-msg-notification-main>i{font-size:var(--fd-line-height-lg);left:0;line-height:var(--fd-line-height-lg);position:absolute;top:0}.x-msg-notification.only-title .x-msg-notification-wrapper .x-msg-notification-main .x-msg-notification-title{margin-bottom:0}.x-avatar{background:var(--fd-color-primary);border:1px solid transparent;border-radius:50%;color:var(--fd-color-text-light-solid);display:inline-block;overflow:hidden;text-align:center;vertical-align:middle}.x-avatar,.x-avatar *,.x-avatar :after,.x-avatar :before{box-sizing:border-box}.x-avatar img{border:0;outline:none}.x-avatar>img{height:100%;width:100%}.x-avatar.color-0{background:#f0a800}.x-avatar.color-1{background:#2f7deb}.x-avatar.color-2{background:#00aed1}.x-avatar.color-3{background:#46c26f}.x-avatar.color-4{background:#eb5050}.x-avatar.color-5{background:#7e47eb}.x-avatar.is-image-type{background:#fff;font-size:0}.x-avatar.square{border-radius:var(--fd-border-radius)}.x-avatar.square.small{border-radius:var(--fd-border-radius-sm)}.x-avatar.square.large{border-radius:var(--fd-border-radius-lg)}.x-avatar-group{display:inline-flex}.x-avatar-group .x-avatar{border-color:var(--fd-color-white)}.x-avatar-group>:not(:first-child){margin-left:-8px}.x-avatar-group>:not(:first-child).small{margin-left:-4px}.x-avatar-group>:not(:first-child).large{margin-left:-16px}.x-progress *,.x-progress :after,.x-progress :before{box-sizing:border-box}.x-progress.type-line{align-items:center;display:flex;height:10px}.x-progress.type-line .progress-wrapper{-webkit-box-flex:1;background:var(--fd-color-fill-secondary);border-radius:5px;flex:auto;height:100%;overflow:hidden;position:relative}.x-progress.type-line .progress-wrapper .value-bar{background:var(--fd-color-primary);bottom:0;left:0;position:absolute;top:0;transition:width .2s ease}.x-progress.type-line .progress-wrapper .value-bar.round-linecap{border-bottom-right-radius:inherit;border-top-right-radius:inherit}.x-progress.type-line .value-info{flex:none;font-size:var(--fd-font-size);line-height:var(--fd-line-height);margin-left:var(--fd-gap)}.x-progress.type-line.size-large{height:20px}.x-progress.type-line.size-large .progress-wrapper{border-radius:10px}.x-progress.type-line.size-large .value-info{font-size:var(--fd-font-size-lg);line-height:var(--fd-line-height-lg)}.x-progress.type-line.size-small{height:5px}.x-progress.type-line.size-small .progress-wrapper{border-radius:2.5px}.x-progress.type-line.size-small .value-info{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm)}.x-progress.type-circle{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;justify-content:center;position:relative}.x-progress.type-circle .progress-wrapper{height:100%;width:100%}.x-progress.type-circle .progress-wrapper circle.unfilled{stroke:var(--fd-color-fill-secondary)}.x-progress.type-circle .progress-wrapper circle.value-bar{stroke:var(--fd-color-primary);transform:rotate(-90deg);transform-origin:center;transition:stroke-dasharray .2s ease}.x-progress.type-circle .value-info{font-size:var(--fd-font-size-lg);line-height:var(--fd-line-height-lg);position:absolute}.x-progress.type-circle.size-large .value-info{font-size:var(--fd-font-size-2xl);line-height:var(--fd-line-height-2xl)}.x-progress.type-circle.size-extra-small .value-info,.x-progress.type-circle.size-small .value-info{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm)}.x-progress.status-success .progress-wrapper .value-bar{background-color:var(--fd-color-success)}.x-progress.status-info .progress-wrapper .value-bar{background-color:var(--fd-color-info)}.x-progress.status-error .progress-wrapper .value-bar{background-color:var(--fd-color-error)}.x-search-input{align-items:center;background:var(--fd-color-bg-container);display:flex}.x-search-input *,.x-search-input :after,.x-search-input :before{box-sizing:border-box}.x-search-input .input-wrapper{flex:auto;height:var(--fd-control-height);position:relative}.x-search-input .input-wrapper .input-content{inset:0;position:absolute}.x-search-input .input-wrapper .input-content.show-search-icon input{padding-left:calc(var(--fd-icon-size) + var(--fd-gap)*2)}.x-search-input .input-wrapper .input-content .input-prefix{left:0}.x-search-input .input-wrapper .input-content .input-prefix,.x-search-input .input-wrapper .input-content .input-suffix{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;bottom:0;color:var(--fd-color-icon-normal);display:flex;font-size:var(--fd-icon-size);justify-content:center;position:absolute;top:0;width:calc(var(--fd-icon-size) + var(--fd-gap)*2)}.x-search-input .input-wrapper .input-content .input-suffix{cursor:pointer;right:0}.x-search-input .input-wrapper .input-content .input-suffix:hover{color:var(--fd-color-icon-hover)}.x-search-input .input-wrapper .input-content input{border:none;font-size:var(--fd-font-size);height:100%;outline:none;overflow:hidden;padding:0 var(--fd-gap);text-overflow:ellipsis;white-space:nowrap;width:100%}.x-search-input .input-wrapper .input-content input::-moz-placeholder{color:var(--fd-color-text-placeholder)}.x-search-input .input-wrapper .input-content input:-ms-input-placeholder{color:var(--fd-color-text-placeholder)}.x-search-input .input-wrapper .input-content input::placeholder{color:var(--fd-color-text-placeholder)}.x-search-input .input-wrapper .input-content input:focus{outline:none}.x-search-input .input-wrapper .input-content input:focus::-moz-placeholder{color:var(--fd-color-text-placeholder)}.x-search-input .input-wrapper .input-content input:focus:-ms-input-placeholder{color:var(--fd-color-text-placeholder)}.x-search-input .input-wrapper .input-content input:focus::placeholder{color:var(--fd-color-text-placeholder)}.x-search-input .search-prefix,.x-search-input .search-suffix{-webkit-box-flex:0;color:var(--fd-color-brand-6,#00b899);flex:none}.x-search-input .search-prefix{margin-right:5px}.x-search-input .search-suffix{margin-left:5px}.x-search-input.has-clear .input-wrapper input{padding-right:calc(var(--fd-icon-size) + var(--fd-gap)*2)}.x-data-table{height:100%;overflow:auto;position:relative}.x-data-table,.x-data-table *,.x-data-table :after,.x-data-table :before{box-sizing:border-box}.x-data-table.resizing{cursor:ew-resize;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-data-table.striped tbody tr:nth-child(2n) td{background:#f5f6f8}.x-data-table.striped tbody tr.hover td,.x-data-table.striped tbody tr:hover td{background:#f0f1f4}.x-data-table .x-table-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.x-data-table .x-table-container>.x-table-content>table>thead>tr>th,.x-data-table .x-table-container>.x-table-header>table>thead>tr>th{position:relative}.x-data-table table{border-collapse:separate;border-spacing:0;border-top:1px solid #e1e3e5;width:100%}.x-data-table table.empty{height:0;visibility:hidden}.x-data-table table.empty tbody tr.calculate-row{height:1px!important}.x-data-table.size-small td,.x-data-table.size-small th{font-size:13px;line-height:18px;min-height:32px;padding:7px 10px}.x-data-table.size-small td .measure-cell,.x-data-table.size-small th .measure-cell{font-size:13px;line-height:18px;min-height:32px;min-height:0;padding:0 12px}.x-data-table.size-small td .cell-wrapper,.x-data-table.size-small th .cell-wrapper{font-size:13px;line-height:18px;min-height:32px;padding:7px 10px}.x-data-table.size-small td.has-content,.x-data-table.size-small td.measure-cell-td,.x-data-table.size-small th.has-content{padding:0}.x-data-table.size-small .patch-cell{border-left:0;border-right:0;height:0;min-width:0;padding:0}.x-data-table.size-small .patch-cell .measure-cell{padding:0!important}.x-data-table.size-large td,.x-data-table.size-large th{font-size:13px;line-height:22px;min-height:54px;padding:16px 12px}.x-data-table.size-large td .measure-cell,.x-data-table.size-large th .measure-cell{font-size:13px;line-height:18px;min-height:32px;min-height:0;padding:0 10px}.x-data-table.size-large td .cell-wrapper,.x-data-table.size-large th .cell-wrapper{font-size:13px;line-height:22px;min-height:54px;padding:16px 12px}.x-data-table.size-large td.has-content,.x-data-table.size-large td.measure-cell-td,.x-data-table.size-large th.has-content{padding:0}.x-data-table.size-large .patch-cell{border-left:0;border-right:0;height:0;min-width:0;padding:0}.x-data-table.size-large .patch-cell .measure-cell{padding:0!important}.x-data-table td,.x-data-table th{border-bottom:1px solid #e1e3e5;box-sizing:border-box;font-size:13px;line-height:22px;min-height:46px;min-width:30px;padding:12px 10px}.x-data-table.has-border{border-radius:3px}.x-data-table.has-border .x-table-body,.x-data-table.has-border .x-table-content,.x-data-table.has-border .x-table-header{border-left:1px solid #e1e3e5;border-radius:3px;border-right:1px solid #e1e3e5}.x-data-table.has-border .x-table-body,.x-data-table.has-border .x-table-content{border-bottom:1px solid #e1e3e5}.x-data-table.has-border .x-table-body{border-top-left-radius:0;border-top-right-radius:0}.x-data-table.has-border .x-table-header{border-bottom-left-radius:0;border-bottom-right-radius:0}.x-data-table.has-border td,.x-data-table.has-border th{border-bottom:1px solid #e1e3e5;border-right:1px solid #e1e3e5}.x-data-table.has-border .patch-cell{border-left:0;border-right:0;height:0;min-width:0;padding:0}.x-data-table.has-border .patch-cell .measure-cell{padding:0!important}.x-data-table td.has-content,.x-data-table th.has-content{padding:0}.x-data-table th,.x-data-table th .cell-wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-data-table td{word-wrap:break-word;white-space:nowrap}.x-data-table td .cell-wrapper{word-wrap:break-word;white-space:normal}.x-data-table td .cell-wrapper.adjust-width{white-space:nowrap}.x-data-table .measure-cell{font-size:14px;font-weight:400;padding:0 12px}.x-data-table .cell-wrapper{box-sizing:border-box;font-size:13px;line-height:22px;min-height:46px;min-width:30px;padding:12px 10px}.x-data-table .measure-cell-td{border:0;height:0;padding:0}.x-data-table .measure-cell-td .sort-icon{display:none}.x-data-table .patch-cell{border-left:0;border-right:0;height:0;min-width:0;padding:0}.x-data-table .patch-cell .measure-cell{padding:0!important}.x-data-table thead th{background:#f0f1f4;border-color:#d7d9dc;color:#141e31;font-size:13px;font-weight:400;text-align:left}.x-data-table .x-table-header{flex:none;overflow:hidden}.x-data-table tbody>tr td{background:#fff;color:#141e31}.x-data-table tbody>tr.hover td{background:#f0f1f4}.x-data-table tbody>tr.measure-row{opacity:0}.x-data-table .x-table-content{overflow:auto}.x-data-table .x-table-body{flex:1 1 auto;overflow:auto}.x-data-table .x-table-body table{border-top:0}.x-data-table .sort-icon{align-items:center;bottom:0;display:flex;font-size:12px;font-weight:400;position:absolute;right:5px;top:0}.x-data-table.ping-left .fix-left.last-fix-left:after{box-shadow:inset 10px 0 8px -8px #00000026}.x-data-table .x-table-cell.fix-left{z-index:1}.x-data-table .x-table-cell.fix-left.last-fix-left{overflow:visible}.x-data-table .x-table-cell.fix-left.last-fix-left:after{bottom:-1px;content:"";position:absolute;right:-1px;top:0;transform:translate(100%);width:25px}.x-data-table .x-table-cell .resize-spanner{bottom:0;cursor:ew-resize;opacity:0;position:absolute;right:0;width:5px}.x-data-table .column-resize-line,.x-data-table .x-table-cell .resize-spanner{top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-data-table .column-resize-line{background:var(--fd-color-brand-6,#00b899);display:none;height:100%;left:0;position:fixed;width:1px;z-index:1}.x-data-table .column-resize-line.active{display:block}.x-list-tree{display:inline-block;height:100%;min-width:100%;overflow:auto;vertical-align:middle}.x-list-tree *,.x-list-tree :after,.x-list-tree :before{box-sizing:border-box}.x-list-tree.content-ellipsis{display:block}.x-list-tree.content-ellipsis .tree-node .node-content-wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:0}.x-list-tree .customize-dragging-node{display:none;left:-500px;pointer-events:none;position:fixed;top:-500px}.x-list-tree .customize-dragging-node.show{display:block}.x-list-tree.is-virtual-list{display:block;width:100%}.x-list-tree.is-virtual-list .x-virtual-list .virtual-list-inner{display:inline-block;min-width:100%;width:auto!important}.x-list-tree .tree-node{align-items:center;border-radius:var(--fd-border-radius);cursor:pointer;display:flex;height:var(--fd-control-height);line-height:var(--fd-line-height);padding:0 var(--fd-padding);transition:background-color .1s ease-in-out}.x-list-tree .tree-node .node-checkbox{flex:0 0 16px}.x-list-tree .tree-node .node-checkbox.left,.x-list-tree .tree-node .node-checkbox.middle{margin-right:var(--fd-gap-sm)}.x-list-tree .tree-node .node-checkbox.right{margin-left:var(--fd-gap-sm)}.x-list-tree .tree-node .node-content-wrapper{flex:1 1 auto;height:100%;line-height:var(--fd-line-height);margin-left:var(--fd-gap-sm);margin-right:var(--fd-gap-sm);position:relative}.x-list-tree .tree-node .node-content-wrapper,.x-list-tree .tree-node .node-content-wrapper .node-content{align-items:center;display:inline-flex}.x-list-tree .tree-node .node-content-wrapper .node-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.x-list-tree .tree-node .node-content-wrapper .node-content .node-title{-webkit-box-flex:1;color:var(--fd-color-text);flex:1 1 auto;font-size:var(--fd-font-size);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-list-tree .tree-node .node-content-wrapper .node-content .node-icon{color:var(--fd-color-icon);display:inline-flex;font-size:var(--fd-font-size-lg);margin-right:var(--fd-gap-sm)}.x-list-tree .tree-node .node-content-wrapper .node-content .node-icon .node-icon-group{color:var(--fd-color-primary)}.x-list-tree .tree-node .node-content-wrapper .node-drop-indicator{background:var(--fd-color-primary);bottom:0;display:none;height:2px;left:0;position:absolute;right:0}.x-list-tree .tree-node .node-switcher{-webkit-box-flex:0;border-radius:var(--fd-border-radius);color:var(--fd-color-icon);display:inline-block;flex:0 0 20px;font-size:var(--fd-font-size-lg);height:var(--fd-line-height);line-height:var(--fd-line-height);margin:5px var(--fd-gap-sm);position:relative;text-align:center;transition:background-color .3s;width:20px}.x-list-tree .tree-node .node-switcher:hover{background-color:var(--fd-color-bg-container)}.x-list-tree .tree-node .node-switcher.node-switcher-noop:hover{background-color:transparent}.x-list-tree .tree-node .node-indent{display:inline-block}.x-list-tree .tree-node:hover{background-color:var(--fd-color-bg-text-hover)}.x-list-tree .tree-node:active{background-color:var(--fd-color-bg-text-active)}.x-list-tree .tree-node.node-selected{background-color:var(--fd-control-item-bg-active)}.x-list-tree .tree-node.node-selected .node-content-wrapper .node-icon{color:var(--fd-color-icon)}.x-list-tree .tree-node.node-selected .node-content-wrapper .node-icon .node-icon-group{color:var(--fd-color-primary)}.x-list-tree .tree-node.disabled{background-color:transparent;cursor:default}.x-list-tree .tree-node.disabled .node-content-wrapper .node-icon,.x-list-tree .tree-node.disabled .node-content-wrapper .node-title{color:var(--fd-color-text-disabled)}.x-list-tree .tree-node.draggable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-list-tree .tree-node.drop-container{background-color:var(--fd-color-bg-text-hover)}.x-list-tree.is-dragging .tree-node .node-checkbox,.x-list-tree.is-dragging .tree-node .node-content-wrapper,.x-list-tree.is-dragging .tree-node .node-indent,.x-list-tree.is-dragging .tree-node .node-switcher{pointer-events:none}.x-list-tree.is-dragging .tree-node.node-selected,.x-list-tree.is-dragging .tree-node:hover{background-color:transparent}.x-list-tree .tree-node-motion-appear,.x-list-tree .tree-node-motion-enter,.x-list-tree .tree-node-motion-exit{overflow:hidden;transition:opacity .1s ease-in-out,height .1s ease-in-out}.x-space{display:inline-flex}.x-space *,.x-space :after,.x-space :before{box-sizing:border-box}.x-space.vertical{flex-direction:column}.x-space.align-center{align-items:center}.x-space.align-start{align-items:flex-start}.x-space.align-end{align-items:flex-end}.x-space.align-baseline{align-items:baseline}.x-space .x-space-item:empty{display:none}.x-grid-row{display:flex;flex-flow:row wrap}.x-grid-row *,.x-grid-row :after,.x-grid-row :before{box-sizing:border-box}.x-grid-row:after,.x-grid-row:before{display:flex}.x-grid-row.no-wrap{flex-wrap:nowrap}.x-grid-row.row-start{justify-content:flex-start}.x-grid-row.row-center{justify-content:center}.x-grid-row.row-end{justify-content:flex-end}.x-grid-row.row-space-between{justify-content:space-between}.x-grid-row.row-space-around{justify-content:space-around}.x-grid-row.row-space-evenly{justify-content:space-evenly}.x-grid-row.row-top{align-items:flex-start}.x-grid-row.row-middle{align-items:center}.x-grid-row.row-bottom{align-items:flex-end}.x-grid-row .x-grid-col{max-width:100%;min-height:1px;position:relative}.x-grid-row .col-24{-webkit-box-flex:0;display:block;flex:0 0 100%;max-width:100%}.x-grid-row .col-push-24{left:100%}.x-grid-row .col-pull-24{right:100%}.x-grid-row .col-offset-24{margin-left:100%}.x-grid-row .col-order-24{order:24}.x-grid-row .col-23{-webkit-box-flex:0;display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.x-grid-row .col-push-23{left:95.83333333%}.x-grid-row .col-pull-23{right:95.83333333%}.x-grid-row .col-offset-23{margin-left:95.83333333%}.x-grid-row .col-order-23{order:23}.x-grid-row .col-22{-webkit-box-flex:0;display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.x-grid-row .col-push-22{left:91.66666667%}.x-grid-row .col-pull-22{right:91.66666667%}.x-grid-row .col-offset-22{margin-left:91.66666667%}.x-grid-row .col-order-22{order:22}.x-grid-row .col-21{-webkit-box-flex:0;display:block;flex:0 0 87.5%;max-width:87.5%}.x-grid-row .col-push-21{left:87.5%}.x-grid-row .col-pull-21{right:87.5%}.x-grid-row .col-offset-21{margin-left:87.5%}.x-grid-row .col-order-21{order:21}.x-grid-row .col-20{-webkit-box-flex:0;display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.x-grid-row .col-push-20{left:83.33333333%}.x-grid-row .col-pull-20{right:83.33333333%}.x-grid-row .col-offset-20{margin-left:83.33333333%}.x-grid-row .col-order-20{order:20}.x-grid-row .col-19{-webkit-box-flex:0;display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.x-grid-row .col-push-19{left:79.16666667%}.x-grid-row .col-pull-19{right:79.16666667%}.x-grid-row .col-offset-19{margin-left:79.16666667%}.x-grid-row .col-order-19{order:19}.x-grid-row .col-18{-webkit-box-flex:0;display:block;flex:0 0 75%;max-width:75%}.x-grid-row .col-push-18{left:75%}.x-grid-row .col-pull-18{right:75%}.x-grid-row .col-offset-18{margin-left:75%}.x-grid-row .col-order-18{order:18}.x-grid-row .col-17{-webkit-box-flex:0;display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.x-grid-row .col-push-17{left:70.83333333%}.x-grid-row .col-pull-17{right:70.83333333%}.x-grid-row .col-offset-17{margin-left:70.83333333%}.x-grid-row .col-order-17{order:17}.x-grid-row .col-16{-webkit-box-flex:0;display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.x-grid-row .col-push-16{left:66.66666667%}.x-grid-row .col-pull-16{right:66.66666667%}.x-grid-row .col-offset-16{margin-left:66.66666667%}.x-grid-row .col-order-16{order:16}.x-grid-row .col-15{-webkit-box-flex:0;display:block;flex:0 0 62.5%;max-width:62.5%}.x-grid-row .col-push-15{left:62.5%}.x-grid-row .col-pull-15{right:62.5%}.x-grid-row .col-offset-15{margin-left:62.5%}.x-grid-row .col-order-15{order:15}.x-grid-row .col-14{-webkit-box-flex:0;display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.x-grid-row .col-push-14{left:58.33333333%}.x-grid-row .col-pull-14{right:58.33333333%}.x-grid-row .col-offset-14{margin-left:58.33333333%}.x-grid-row .col-order-14{order:14}.x-grid-row .col-13{-webkit-box-flex:0;display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.x-grid-row .col-push-13{left:54.16666667%}.x-grid-row .col-pull-13{right:54.16666667%}.x-grid-row .col-offset-13{margin-left:54.16666667%}.x-grid-row .col-order-13{order:13}.x-grid-row .col-12{-webkit-box-flex:0;display:block;flex:0 0 50%;max-width:50%}.x-grid-row .col-push-12{left:50%}.x-grid-row .col-pull-12{right:50%}.x-grid-row .col-offset-12{margin-left:50%}.x-grid-row .col-order-12{order:12}.x-grid-row .col-11{-webkit-box-flex:0;display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.x-grid-row .col-push-11{left:45.83333333%}.x-grid-row .col-pull-11{right:45.83333333%}.x-grid-row .col-offset-11{margin-left:45.83333333%}.x-grid-row .col-order-11{order:11}.x-grid-row .col-10{-webkit-box-flex:0;display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.x-grid-row .col-push-10{left:41.66666667%}.x-grid-row .col-pull-10{right:41.66666667%}.x-grid-row .col-offset-10{margin-left:41.66666667%}.x-grid-row .col-order-10{order:10}.x-grid-row .col-9{-webkit-box-flex:0;display:block;flex:0 0 37.5%;max-width:37.5%}.x-grid-row .col-push-9{left:37.5%}.x-grid-row .col-pull-9{right:37.5%}.x-grid-row .col-offset-9{margin-left:37.5%}.x-grid-row .col-order-9{order:9}.x-grid-row .col-8{-webkit-box-flex:0;display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.x-grid-row .col-push-8{left:33.33333333%}.x-grid-row .col-pull-8{right:33.33333333%}.x-grid-row .col-offset-8{margin-left:33.33333333%}.x-grid-row .col-order-8{order:8}.x-grid-row .col-7{-webkit-box-flex:0;display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.x-grid-row .col-push-7{left:29.16666667%}.x-grid-row .col-pull-7{right:29.16666667%}.x-grid-row .col-offset-7{margin-left:29.16666667%}.x-grid-row .col-order-7{order:7}.x-grid-row .col-6{-webkit-box-flex:0;display:block;flex:0 0 25%;max-width:25%}.x-grid-row .col-push-6{left:25%}.x-grid-row .col-pull-6{right:25%}.x-grid-row .col-offset-6{margin-left:25%}.x-grid-row .col-order-6{order:6}.x-grid-row .col-5{-webkit-box-flex:0;display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.x-grid-row .col-push-5{left:20.83333333%}.x-grid-row .col-pull-5{right:20.83333333%}.x-grid-row .col-offset-5{margin-left:20.83333333%}.x-grid-row .col-order-5{order:5}.x-grid-row .col-4{-webkit-box-flex:0;display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.x-grid-row .col-push-4{left:16.66666667%}.x-grid-row .col-pull-4{right:16.66666667%}.x-grid-row .col-offset-4{margin-left:16.66666667%}.x-grid-row .col-order-4{order:4}.x-grid-row .col-3{-webkit-box-flex:0;display:block;flex:0 0 12.5%;max-width:12.5%}.x-grid-row .col-push-3{left:12.5%}.x-grid-row .col-pull-3{right:12.5%}.x-grid-row .col-offset-3{margin-left:12.5%}.x-grid-row .col-order-3{order:3}.x-grid-row .col-2{-webkit-box-flex:0;display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.x-grid-row .col-push-2{left:8.33333333%}.x-grid-row .col-pull-2{right:8.33333333%}.x-grid-row .col-offset-2{margin-left:8.33333333%}.x-grid-row .col-order-2{order:2}.x-grid-row .col-1{-webkit-box-flex:0;display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.x-grid-row .col-push-1{left:4.16666667%}.x-grid-row .col-pull-1{right:4.16666667%}.x-grid-row .col-offset-1{margin-left:4.16666667%}.x-grid-row .col-order-1{order:1}.x-grid-row .col-0{display:none}.x-grid-row .col-offset-0{margin-left:0}.x-grid-row .col-order-0{order:0}.x-grid-row .col-xs-24{-webkit-box-flex:0;display:block;flex:0 0 100%;max-width:100%}.x-grid-row .col-xs-push-24{left:100%}.x-grid-row .col-xs-pull-24{right:100%}.x-grid-row .col-xs-offset-24{margin-left:100%}.x-grid-row .col-xs-order-24{order:24}.x-grid-row .col-xs-23{-webkit-box-flex:0;display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.x-grid-row .col-xs-push-23{left:95.83333333%}.x-grid-row .col-xs-pull-23{right:95.83333333%}.x-grid-row .col-xs-offset-23{margin-left:95.83333333%}.x-grid-row .col-xs-order-23{order:23}.x-grid-row .col-xs-22{-webkit-box-flex:0;display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.x-grid-row .col-xs-push-22{left:91.66666667%}.x-grid-row .col-xs-pull-22{right:91.66666667%}.x-grid-row .col-xs-offset-22{margin-left:91.66666667%}.x-grid-row .col-xs-order-22{order:22}.x-grid-row .col-xs-21{-webkit-box-flex:0;display:block;flex:0 0 87.5%;max-width:87.5%}.x-grid-row .col-xs-push-21{left:87.5%}.x-grid-row .col-xs-pull-21{right:87.5%}.x-grid-row .col-xs-offset-21{margin-left:87.5%}.x-grid-row .col-xs-order-21{order:21}.x-grid-row .col-xs-20{-webkit-box-flex:0;display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.x-grid-row .col-xs-push-20{left:83.33333333%}.x-grid-row .col-xs-pull-20{right:83.33333333%}.x-grid-row .col-xs-offset-20{margin-left:83.33333333%}.x-grid-row .col-xs-order-20{order:20}.x-grid-row .col-xs-19{-webkit-box-flex:0;display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.x-grid-row .col-xs-push-19{left:79.16666667%}.x-grid-row .col-xs-pull-19{right:79.16666667%}.x-grid-row .col-xs-offset-19{margin-left:79.16666667%}.x-grid-row .col-xs-order-19{order:19}.x-grid-row .col-xs-18{-webkit-box-flex:0;display:block;flex:0 0 75%;max-width:75%}.x-grid-row .col-xs-push-18{left:75%}.x-grid-row .col-xs-pull-18{right:75%}.x-grid-row .col-xs-offset-18{margin-left:75%}.x-grid-row .col-xs-order-18{order:18}.x-grid-row .col-xs-17{-webkit-box-flex:0;display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.x-grid-row .col-xs-push-17{left:70.83333333%}.x-grid-row .col-xs-pull-17{right:70.83333333%}.x-grid-row .col-xs-offset-17{margin-left:70.83333333%}.x-grid-row .col-xs-order-17{order:17}.x-grid-row .col-xs-16{-webkit-box-flex:0;display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.x-grid-row .col-xs-push-16{left:66.66666667%}.x-grid-row .col-xs-pull-16{right:66.66666667%}.x-grid-row .col-xs-offset-16{margin-left:66.66666667%}.x-grid-row .col-xs-order-16{order:16}.x-grid-row .col-xs-15{-webkit-box-flex:0;display:block;flex:0 0 62.5%;max-width:62.5%}.x-grid-row .col-xs-push-15{left:62.5%}.x-grid-row .col-xs-pull-15{right:62.5%}.x-grid-row .col-xs-offset-15{margin-left:62.5%}.x-grid-row .col-xs-order-15{order:15}.x-grid-row .col-xs-14{-webkit-box-flex:0;display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.x-grid-row .col-xs-push-14{left:58.33333333%}.x-grid-row .col-xs-pull-14{right:58.33333333%}.x-grid-row .col-xs-offset-14{margin-left:58.33333333%}.x-grid-row .col-xs-order-14{order:14}.x-grid-row .col-xs-13{-webkit-box-flex:0;display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.x-grid-row .col-xs-push-13{left:54.16666667%}.x-grid-row .col-xs-pull-13{right:54.16666667%}.x-grid-row .col-xs-offset-13{margin-left:54.16666667%}.x-grid-row .col-xs-order-13{order:13}.x-grid-row .col-xs-12{-webkit-box-flex:0;display:block;flex:0 0 50%;max-width:50%}.x-grid-row .col-xs-push-12{left:50%}.x-grid-row .col-xs-pull-12{right:50%}.x-grid-row .col-xs-offset-12{margin-left:50%}.x-grid-row .col-xs-order-12{order:12}.x-grid-row .col-xs-11{-webkit-box-flex:0;display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.x-grid-row .col-xs-push-11{left:45.83333333%}.x-grid-row .col-xs-pull-11{right:45.83333333%}.x-grid-row .col-xs-offset-11{margin-left:45.83333333%}.x-grid-row .col-xs-order-11{order:11}.x-grid-row .col-xs-10{-webkit-box-flex:0;display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.x-grid-row .col-xs-push-10{left:41.66666667%}.x-grid-row .col-xs-pull-10{right:41.66666667%}.x-grid-row .col-xs-offset-10{margin-left:41.66666667%}.x-grid-row .col-xs-order-10{order:10}.x-grid-row .col-xs-9{-webkit-box-flex:0;display:block;flex:0 0 37.5%;max-width:37.5%}.x-grid-row .col-xs-push-9{left:37.5%}.x-grid-row .col-xs-pull-9{right:37.5%}.x-grid-row .col-xs-offset-9{margin-left:37.5%}.x-grid-row .col-xs-order-9{order:9}.x-grid-row .col-xs-8{-webkit-box-flex:0;display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.x-grid-row .col-xs-push-8{left:33.33333333%}.x-grid-row .col-xs-pull-8{right:33.33333333%}.x-grid-row .col-xs-offset-8{margin-left:33.33333333%}.x-grid-row .col-xs-order-8{order:8}.x-grid-row .col-xs-7{-webkit-box-flex:0;display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.x-grid-row .col-xs-push-7{left:29.16666667%}.x-grid-row .col-xs-pull-7{right:29.16666667%}.x-grid-row .col-xs-offset-7{margin-left:29.16666667%}.x-grid-row .col-xs-order-7{order:7}.x-grid-row .col-xs-6{-webkit-box-flex:0;display:block;flex:0 0 25%;max-width:25%}.x-grid-row .col-xs-push-6{left:25%}.x-grid-row .col-xs-pull-6{right:25%}.x-grid-row .col-xs-offset-6{margin-left:25%}.x-grid-row .col-xs-order-6{order:6}.x-grid-row .col-xs-5{-webkit-box-flex:0;display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.x-grid-row .col-xs-push-5{left:20.83333333%}.x-grid-row .col-xs-pull-5{right:20.83333333%}.x-grid-row .col-xs-offset-5{margin-left:20.83333333%}.x-grid-row .col-xs-order-5{order:5}.x-grid-row .col-xs-4{-webkit-box-flex:0;display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.x-grid-row .col-xs-push-4{left:16.66666667%}.x-grid-row .col-xs-pull-4{right:16.66666667%}.x-grid-row .col-xs-offset-4{margin-left:16.66666667%}.x-grid-row .col-xs-order-4{order:4}.x-grid-row .col-xs-3{-webkit-box-flex:0;display:block;flex:0 0 12.5%;max-width:12.5%}.x-grid-row .col-xs-push-3{left:12.5%}.x-grid-row .col-xs-pull-3{right:12.5%}.x-grid-row .col-xs-offset-3{margin-left:12.5%}.x-grid-row .col-xs-order-3{order:3}.x-grid-row .col-xs-2{-webkit-box-flex:0;display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.x-grid-row .col-xs-push-2{left:8.33333333%}.x-grid-row .col-xs-pull-2{right:8.33333333%}.x-grid-row .col-xs-offset-2{margin-left:8.33333333%}.x-grid-row .col-xs-order-2{order:2}.x-grid-row .col-xs-1{-webkit-box-flex:0;display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.x-grid-row .col-xs-push-1{left:4.16666667%}.x-grid-row .col-xs-pull-1{right:4.16666667%}.x-grid-row .col-xs-offset-1{margin-left:4.16666667%}.x-grid-row .col-xs-order-1{order:1}.x-grid-row .col-xs-0{display:none}.x-grid-row .col-push-0{left:auto}.x-grid-row .col-pull-0{right:auto}.x-grid-row .col-xs-push-0{left:auto}.x-grid-row .col-xs-pull-0{right:auto}.x-grid-row .col-xs-offset-0{margin-left:0}.x-grid-row .col-xs-order-0{order:0}@media (min-width:576px){.x-grid-row .col-sm-24{-webkit-box-flex:0;display:block;flex:0 0 100%;max-width:100%}.x-grid-row .col-sm-push-24{left:100%}.x-grid-row .col-sm-pull-24{right:100%}.x-grid-row .col-sm-offset-24{margin-left:100%}.x-grid-row .col-sm-order-24{order:24}.x-grid-row .col-sm-23{-webkit-box-flex:0;display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.x-grid-row .col-sm-push-23{left:95.83333333%}.x-grid-row .col-sm-pull-23{right:95.83333333%}.x-grid-row .col-sm-offset-23{margin-left:95.83333333%}.x-grid-row .col-sm-order-23{order:23}.x-grid-row .col-sm-22{-webkit-box-flex:0;display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.x-grid-row .col-sm-push-22{left:91.66666667%}.x-grid-row .col-sm-pull-22{right:91.66666667%}.x-grid-row .col-sm-offset-22{margin-left:91.66666667%}.x-grid-row .col-sm-order-22{order:22}.x-grid-row .col-sm-21{-webkit-box-flex:0;display:block;flex:0 0 87.5%;max-width:87.5%}.x-grid-row .col-sm-push-21{left:87.5%}.x-grid-row .col-sm-pull-21{right:87.5%}.x-grid-row .col-sm-offset-21{margin-left:87.5%}.x-grid-row .col-sm-order-21{order:21}.x-grid-row .col-sm-20{-webkit-box-flex:0;display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.x-grid-row .col-sm-push-20{left:83.33333333%}.x-grid-row .col-sm-pull-20{right:83.33333333%}.x-grid-row .col-sm-offset-20{margin-left:83.33333333%}.x-grid-row .col-sm-order-20{order:20}.x-grid-row .col-sm-19{-webkit-box-flex:0;display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.x-grid-row .col-sm-push-19{left:79.16666667%}.x-grid-row .col-sm-pull-19{right:79.16666667%}.x-grid-row .col-sm-offset-19{margin-left:79.16666667%}.x-grid-row .col-sm-order-19{order:19}.x-grid-row .col-sm-18{-webkit-box-flex:0;display:block;flex:0 0 75%;max-width:75%}.x-grid-row .col-sm-push-18{left:75%}.x-grid-row .col-sm-pull-18{right:75%}.x-grid-row .col-sm-offset-18{margin-left:75%}.x-grid-row .col-sm-order-18{order:18}.x-grid-row .col-sm-17{-webkit-box-flex:0;display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.x-grid-row .col-sm-push-17{left:70.83333333%}.x-grid-row .col-sm-pull-17{right:70.83333333%}.x-grid-row .col-sm-offset-17{margin-left:70.83333333%}.x-grid-row .col-sm-order-17{order:17}.x-grid-row .col-sm-16{-webkit-box-flex:0;display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.x-grid-row .col-sm-push-16{left:66.66666667%}.x-grid-row .col-sm-pull-16{right:66.66666667%}.x-grid-row .col-sm-offset-16{margin-left:66.66666667%}.x-grid-row .col-sm-order-16{order:16}.x-grid-row .col-sm-15{-webkit-box-flex:0;display:block;flex:0 0 62.5%;max-width:62.5%}.x-grid-row .col-sm-push-15{left:62.5%}.x-grid-row .col-sm-pull-15{right:62.5%}.x-grid-row .col-sm-offset-15{margin-left:62.5%}.x-grid-row .col-sm-order-15{order:15}.x-grid-row .col-sm-14{-webkit-box-flex:0;display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.x-grid-row .col-sm-push-14{left:58.33333333%}.x-grid-row .col-sm-pull-14{right:58.33333333%}.x-grid-row .col-sm-offset-14{margin-left:58.33333333%}.x-grid-row .col-sm-order-14{order:14}.x-grid-row .col-sm-13{-webkit-box-flex:0;display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.x-grid-row .col-sm-push-13{left:54.16666667%}.x-grid-row .col-sm-pull-13{right:54.16666667%}.x-grid-row .col-sm-offset-13{margin-left:54.16666667%}.x-grid-row .col-sm-order-13{order:13}.x-grid-row .col-sm-12{-webkit-box-flex:0;display:block;flex:0 0 50%;max-width:50%}.x-grid-row .col-sm-push-12{left:50%}.x-grid-row .col-sm-pull-12{right:50%}.x-grid-row .col-sm-offset-12{margin-left:50%}.x-grid-row .col-sm-order-12{order:12}.x-grid-row .col-sm-11{-webkit-box-flex:0;display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.x-grid-row .col-sm-push-11{left:45.83333333%}.x-grid-row .col-sm-pull-11{right:45.83333333%}.x-grid-row .col-sm-offset-11{margin-left:45.83333333%}.x-grid-row .col-sm-order-11{order:11}.x-grid-row .col-sm-10{-webkit-box-flex:0;display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.x-grid-row .col-sm-push-10{left:41.66666667%}.x-grid-row .col-sm-pull-10{right:41.66666667%}.x-grid-row .col-sm-offset-10{margin-left:41.66666667%}.x-grid-row .col-sm-order-10{order:10}.x-grid-row .col-sm-9{-webkit-box-flex:0;display:block;flex:0 0 37.5%;max-width:37.5%}.x-grid-row .col-sm-push-9{left:37.5%}.x-grid-row .col-sm-pull-9{right:37.5%}.x-grid-row .col-sm-offset-9{margin-left:37.5%}.x-grid-row .col-sm-order-9{order:9}.x-grid-row .col-sm-8{-webkit-box-flex:0;display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.x-grid-row .col-sm-push-8{left:33.33333333%}.x-grid-row .col-sm-pull-8{right:33.33333333%}.x-grid-row .col-sm-offset-8{margin-left:33.33333333%}.x-grid-row .col-sm-order-8{order:8}.x-grid-row .col-sm-7{-webkit-box-flex:0;display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.x-grid-row .col-sm-push-7{left:29.16666667%}.x-grid-row .col-sm-pull-7{right:29.16666667%}.x-grid-row .col-sm-offset-7{margin-left:29.16666667%}.x-grid-row .col-sm-order-7{order:7}.x-grid-row .col-sm-6{-webkit-box-flex:0;display:block;flex:0 0 25%;max-width:25%}.x-grid-row .col-sm-push-6{left:25%}.x-grid-row .col-sm-pull-6{right:25%}.x-grid-row .col-sm-offset-6{margin-left:25%}.x-grid-row .col-sm-order-6{order:6}.x-grid-row .col-sm-5{-webkit-box-flex:0;display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.x-grid-row .col-sm-push-5{left:20.83333333%}.x-grid-row .col-sm-pull-5{right:20.83333333%}.x-grid-row .col-sm-offset-5{margin-left:20.83333333%}.x-grid-row .col-sm-order-5{order:5}.x-grid-row .col-sm-4{-webkit-box-flex:0;display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.x-grid-row .col-sm-push-4{left:16.66666667%}.x-grid-row .col-sm-pull-4{right:16.66666667%}.x-grid-row .col-sm-offset-4{margin-left:16.66666667%}.x-grid-row .col-sm-order-4{order:4}.x-grid-row .col-sm-3{-webkit-box-flex:0;display:block;flex:0 0 12.5%;max-width:12.5%}.x-grid-row .col-sm-push-3{left:12.5%}.x-grid-row .col-sm-pull-3{right:12.5%}.x-grid-row .col-sm-offset-3{margin-left:12.5%}.x-grid-row .col-sm-order-3{order:3}.x-grid-row .col-sm-2{-webkit-box-flex:0;display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.x-grid-row .col-sm-push-2{left:8.33333333%}.x-grid-row .col-sm-pull-2{right:8.33333333%}.x-grid-row .col-sm-offset-2{margin-left:8.33333333%}.x-grid-row .col-sm-order-2{order:2}.x-grid-row .col-sm-1{-webkit-box-flex:0;display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.x-grid-row .col-sm-push-1{left:4.16666667%}.x-grid-row .col-sm-pull-1{right:4.16666667%}.x-grid-row .col-sm-offset-1{margin-left:4.16666667%}.x-grid-row .col-sm-order-1{order:1}.x-grid-row .col-sm-0{display:none}.x-grid-row .col-push-0{left:auto}.x-grid-row .col-pull-0{right:auto}.x-grid-row .col-sm-push-0{left:auto}.x-grid-row .col-sm-pull-0{right:auto}.x-grid-row .col-sm-offset-0{margin-left:0}.x-grid-row .col-sm-order-0{order:0}}@media (min-width:768px){.x-grid-row .col-md-24{-webkit-box-flex:0;display:block;flex:0 0 100%;max-width:100%}.x-grid-row .col-md-push-24{left:100%}.x-grid-row .col-md-pull-24{right:100%}.x-grid-row .col-md-offset-24{margin-left:100%}.x-grid-row .col-md-order-24{order:24}.x-grid-row .col-md-23{-webkit-box-flex:0;display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.x-grid-row .col-md-push-23{left:95.83333333%}.x-grid-row .col-md-pull-23{right:95.83333333%}.x-grid-row .col-md-offset-23{margin-left:95.83333333%}.x-grid-row .col-md-order-23{order:23}.x-grid-row .col-md-22{-webkit-box-flex:0;display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.x-grid-row .col-md-push-22{left:91.66666667%}.x-grid-row .col-md-pull-22{right:91.66666667%}.x-grid-row .col-md-offset-22{margin-left:91.66666667%}.x-grid-row .col-md-order-22{order:22}.x-grid-row .col-md-21{-webkit-box-flex:0;display:block;flex:0 0 87.5%;max-width:87.5%}.x-grid-row .col-md-push-21{left:87.5%}.x-grid-row .col-md-pull-21{right:87.5%}.x-grid-row .col-md-offset-21{margin-left:87.5%}.x-grid-row .col-md-order-21{order:21}.x-grid-row .col-md-20{-webkit-box-flex:0;display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.x-grid-row .col-md-push-20{left:83.33333333%}.x-grid-row .col-md-pull-20{right:83.33333333%}.x-grid-row .col-md-offset-20{margin-left:83.33333333%}.x-grid-row .col-md-order-20{order:20}.x-grid-row .col-md-19{-webkit-box-flex:0;display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.x-grid-row .col-md-push-19{left:79.16666667%}.x-grid-row .col-md-pull-19{right:79.16666667%}.x-grid-row .col-md-offset-19{margin-left:79.16666667%}.x-grid-row .col-md-order-19{order:19}.x-grid-row .col-md-18{-webkit-box-flex:0;display:block;flex:0 0 75%;max-width:75%}.x-grid-row .col-md-push-18{left:75%}.x-grid-row .col-md-pull-18{right:75%}.x-grid-row .col-md-offset-18{margin-left:75%}.x-grid-row .col-md-order-18{order:18}.x-grid-row .col-md-17{-webkit-box-flex:0;display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.x-grid-row .col-md-push-17{left:70.83333333%}.x-grid-row .col-md-pull-17{right:70.83333333%}.x-grid-row .col-md-offset-17{margin-left:70.83333333%}.x-grid-row .col-md-order-17{order:17}.x-grid-row .col-md-16{-webkit-box-flex:0;display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.x-grid-row .col-md-push-16{left:66.66666667%}.x-grid-row .col-md-pull-16{right:66.66666667%}.x-grid-row .col-md-offset-16{margin-left:66.66666667%}.x-grid-row .col-md-order-16{order:16}.x-grid-row .col-md-15{-webkit-box-flex:0;display:block;flex:0 0 62.5%;max-width:62.5%}.x-grid-row .col-md-push-15{left:62.5%}.x-grid-row .col-md-pull-15{right:62.5%}.x-grid-row .col-md-offset-15{margin-left:62.5%}.x-grid-row .col-md-order-15{order:15}.x-grid-row .col-md-14{-webkit-box-flex:0;display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.x-grid-row .col-md-push-14{left:58.33333333%}.x-grid-row .col-md-pull-14{right:58.33333333%}.x-grid-row .col-md-offset-14{margin-left:58.33333333%}.x-grid-row .col-md-order-14{order:14}.x-grid-row .col-md-13{-webkit-box-flex:0;display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.x-grid-row .col-md-push-13{left:54.16666667%}.x-grid-row .col-md-pull-13{right:54.16666667%}.x-grid-row .col-md-offset-13{margin-left:54.16666667%}.x-grid-row .col-md-order-13{order:13}.x-grid-row .col-md-12{-webkit-box-flex:0;display:block;flex:0 0 50%;max-width:50%}.x-grid-row .col-md-push-12{left:50%}.x-grid-row .col-md-pull-12{right:50%}.x-grid-row .col-md-offset-12{margin-left:50%}.x-grid-row .col-md-order-12{order:12}.x-grid-row .col-md-11{-webkit-box-flex:0;display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.x-grid-row .col-md-push-11{left:45.83333333%}.x-grid-row .col-md-pull-11{right:45.83333333%}.x-grid-row .col-md-offset-11{margin-left:45.83333333%}.x-grid-row .col-md-order-11{order:11}.x-grid-row .col-md-10{-webkit-box-flex:0;display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.x-grid-row .col-md-push-10{left:41.66666667%}.x-grid-row .col-md-pull-10{right:41.66666667%}.x-grid-row .col-md-offset-10{margin-left:41.66666667%}.x-grid-row .col-md-order-10{order:10}.x-grid-row .col-md-9{-webkit-box-flex:0;display:block;flex:0 0 37.5%;max-width:37.5%}.x-grid-row .col-md-push-9{left:37.5%}.x-grid-row .col-md-pull-9{right:37.5%}.x-grid-row .col-md-offset-9{margin-left:37.5%}.x-grid-row .col-md-order-9{order:9}.x-grid-row .col-md-8{-webkit-box-flex:0;display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.x-grid-row .col-md-push-8{left:33.33333333%}.x-grid-row .col-md-pull-8{right:33.33333333%}.x-grid-row .col-md-offset-8{margin-left:33.33333333%}.x-grid-row .col-md-order-8{order:8}.x-grid-row .col-md-7{-webkit-box-flex:0;display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.x-grid-row .col-md-push-7{left:29.16666667%}.x-grid-row .col-md-pull-7{right:29.16666667%}.x-grid-row .col-md-offset-7{margin-left:29.16666667%}.x-grid-row .col-md-order-7{order:7}.x-grid-row .col-md-6{-webkit-box-flex:0;display:block;flex:0 0 25%;max-width:25%}.x-grid-row .col-md-push-6{left:25%}.x-grid-row .col-md-pull-6{right:25%}.x-grid-row .col-md-offset-6{margin-left:25%}.x-grid-row .col-md-order-6{order:6}.x-grid-row .col-md-5{-webkit-box-flex:0;display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.x-grid-row .col-md-push-5{left:20.83333333%}.x-grid-row .col-md-pull-5{right:20.83333333%}.x-grid-row .col-md-offset-5{margin-left:20.83333333%}.x-grid-row .col-md-order-5{order:5}.x-grid-row .col-md-4{-webkit-box-flex:0;display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.x-grid-row .col-md-push-4{left:16.66666667%}.x-grid-row .col-md-pull-4{right:16.66666667%}.x-grid-row .col-md-offset-4{margin-left:16.66666667%}.x-grid-row .col-md-order-4{order:4}.x-grid-row .col-md-3{-webkit-box-flex:0;display:block;flex:0 0 12.5%;max-width:12.5%}.x-grid-row .col-md-push-3{left:12.5%}.x-grid-row .col-md-pull-3{right:12.5%}.x-grid-row .col-md-offset-3{margin-left:12.5%}.x-grid-row .col-md-order-3{order:3}.x-grid-row .col-md-2{-webkit-box-flex:0;display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.x-grid-row .col-md-push-2{left:8.33333333%}.x-grid-row .col-md-pull-2{right:8.33333333%}.x-grid-row .col-md-offset-2{margin-left:8.33333333%}.x-grid-row .col-md-order-2{order:2}.x-grid-row .col-md-1{-webkit-box-flex:0;display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.x-grid-row .col-md-push-1{left:4.16666667%}.x-grid-row .col-md-pull-1{right:4.16666667%}.x-grid-row .col-md-offset-1{margin-left:4.16666667%}.x-grid-row .col-md-order-1{order:1}.x-grid-row .col-md-0{display:none}.x-grid-row .col-push-0{left:auto}.x-grid-row .col-pull-0{right:auto}.x-grid-row .col-md-push-0{left:auto}.x-grid-row .col-md-pull-0{right:auto}.x-grid-row .col-md-offset-0{margin-left:0}.x-grid-row .col-md-order-0{order:0}}@media (min-width:992px){.x-grid-row .col-lg-24{-webkit-box-flex:0;display:block;flex:0 0 100%;max-width:100%}.x-grid-row .col-lg-push-24{left:100%}.x-grid-row .col-lg-pull-24{right:100%}.x-grid-row .col-lg-offset-24{margin-left:100%}.x-grid-row .col-lg-order-24{order:24}.x-grid-row .col-lg-23{-webkit-box-flex:0;display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.x-grid-row .col-lg-push-23{left:95.83333333%}.x-grid-row .col-lg-pull-23{right:95.83333333%}.x-grid-row .col-lg-offset-23{margin-left:95.83333333%}.x-grid-row .col-lg-order-23{order:23}.x-grid-row .col-lg-22{-webkit-box-flex:0;display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.x-grid-row .col-lg-push-22{left:91.66666667%}.x-grid-row .col-lg-pull-22{right:91.66666667%}.x-grid-row .col-lg-offset-22{margin-left:91.66666667%}.x-grid-row .col-lg-order-22{order:22}.x-grid-row .col-lg-21{-webkit-box-flex:0;display:block;flex:0 0 87.5%;max-width:87.5%}.x-grid-row .col-lg-push-21{left:87.5%}.x-grid-row .col-lg-pull-21{right:87.5%}.x-grid-row .col-lg-offset-21{margin-left:87.5%}.x-grid-row .col-lg-order-21{order:21}.x-grid-row .col-lg-20{-webkit-box-flex:0;display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.x-grid-row .col-lg-push-20{left:83.33333333%}.x-grid-row .col-lg-pull-20{right:83.33333333%}.x-grid-row .col-lg-offset-20{margin-left:83.33333333%}.x-grid-row .col-lg-order-20{order:20}.x-grid-row .col-lg-19{-webkit-box-flex:0;display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.x-grid-row .col-lg-push-19{left:79.16666667%}.x-grid-row .col-lg-pull-19{right:79.16666667%}.x-grid-row .col-lg-offset-19{margin-left:79.16666667%}.x-grid-row .col-lg-order-19{order:19}.x-grid-row .col-lg-18{-webkit-box-flex:0;display:block;flex:0 0 75%;max-width:75%}.x-grid-row .col-lg-push-18{left:75%}.x-grid-row .col-lg-pull-18{right:75%}.x-grid-row .col-lg-offset-18{margin-left:75%}.x-grid-row .col-lg-order-18{order:18}.x-grid-row .col-lg-17{-webkit-box-flex:0;display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.x-grid-row .col-lg-push-17{left:70.83333333%}.x-grid-row .col-lg-pull-17{right:70.83333333%}.x-grid-row .col-lg-offset-17{margin-left:70.83333333%}.x-grid-row .col-lg-order-17{order:17}.x-grid-row .col-lg-16{-webkit-box-flex:0;display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.x-grid-row .col-lg-push-16{left:66.66666667%}.x-grid-row .col-lg-pull-16{right:66.66666667%}.x-grid-row .col-lg-offset-16{margin-left:66.66666667%}.x-grid-row .col-lg-order-16{order:16}.x-grid-row .col-lg-15{-webkit-box-flex:0;display:block;flex:0 0 62.5%;max-width:62.5%}.x-grid-row .col-lg-push-15{left:62.5%}.x-grid-row .col-lg-pull-15{right:62.5%}.x-grid-row .col-lg-offset-15{margin-left:62.5%}.x-grid-row .col-lg-order-15{order:15}.x-grid-row .col-lg-14{-webkit-box-flex:0;display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.x-grid-row .col-lg-push-14{left:58.33333333%}.x-grid-row .col-lg-pull-14{right:58.33333333%}.x-grid-row .col-lg-offset-14{margin-left:58.33333333%}.x-grid-row .col-lg-order-14{order:14}.x-grid-row .col-lg-13{-webkit-box-flex:0;display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.x-grid-row .col-lg-push-13{left:54.16666667%}.x-grid-row .col-lg-pull-13{right:54.16666667%}.x-grid-row .col-lg-offset-13{margin-left:54.16666667%}.x-grid-row .col-lg-order-13{order:13}.x-grid-row .col-lg-12{-webkit-box-flex:0;display:block;flex:0 0 50%;max-width:50%}.x-grid-row .col-lg-push-12{left:50%}.x-grid-row .col-lg-pull-12{right:50%}.x-grid-row .col-lg-offset-12{margin-left:50%}.x-grid-row .col-lg-order-12{order:12}.x-grid-row .col-lg-11{-webkit-box-flex:0;display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.x-grid-row .col-lg-push-11{left:45.83333333%}.x-grid-row .col-lg-pull-11{right:45.83333333%}.x-grid-row .col-lg-offset-11{margin-left:45.83333333%}.x-grid-row .col-lg-order-11{order:11}.x-grid-row .col-lg-10{-webkit-box-flex:0;display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.x-grid-row .col-lg-push-10{left:41.66666667%}.x-grid-row .col-lg-pull-10{right:41.66666667%}.x-grid-row .col-lg-offset-10{margin-left:41.66666667%}.x-grid-row .col-lg-order-10{order:10}.x-grid-row .col-lg-9{-webkit-box-flex:0;display:block;flex:0 0 37.5%;max-width:37.5%}.x-grid-row .col-lg-push-9{left:37.5%}.x-grid-row .col-lg-pull-9{right:37.5%}.x-grid-row .col-lg-offset-9{margin-left:37.5%}.x-grid-row .col-lg-order-9{order:9}.x-grid-row .col-lg-8{-webkit-box-flex:0;display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.x-grid-row .col-lg-push-8{left:33.33333333%}.x-grid-row .col-lg-pull-8{right:33.33333333%}.x-grid-row .col-lg-offset-8{margin-left:33.33333333%}.x-grid-row .col-lg-order-8{order:8}.x-grid-row .col-lg-7{-webkit-box-flex:0;display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.x-grid-row .col-lg-push-7{left:29.16666667%}.x-grid-row .col-lg-pull-7{right:29.16666667%}.x-grid-row .col-lg-offset-7{margin-left:29.16666667%}.x-grid-row .col-lg-order-7{order:7}.x-grid-row .col-lg-6{-webkit-box-flex:0;display:block;flex:0 0 25%;max-width:25%}.x-grid-row .col-lg-push-6{left:25%}.x-grid-row .col-lg-pull-6{right:25%}.x-grid-row .col-lg-offset-6{margin-left:25%}.x-grid-row .col-lg-order-6{order:6}.x-grid-row .col-lg-5{-webkit-box-flex:0;display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.x-grid-row .col-lg-push-5{left:20.83333333%}.x-grid-row .col-lg-pull-5{right:20.83333333%}.x-grid-row .col-lg-offset-5{margin-left:20.83333333%}.x-grid-row .col-lg-order-5{order:5}.x-grid-row .col-lg-4{-webkit-box-flex:0;display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.x-grid-row .col-lg-push-4{left:16.66666667%}.x-grid-row .col-lg-pull-4{right:16.66666667%}.x-grid-row .col-lg-offset-4{margin-left:16.66666667%}.x-grid-row .col-lg-order-4{order:4}.x-grid-row .col-lg-3{-webkit-box-flex:0;display:block;flex:0 0 12.5%;max-width:12.5%}.x-grid-row .col-lg-push-3{left:12.5%}.x-grid-row .col-lg-pull-3{right:12.5%}.x-grid-row .col-lg-offset-3{margin-left:12.5%}.x-grid-row .col-lg-order-3{order:3}.x-grid-row .col-lg-2{-webkit-box-flex:0;display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.x-grid-row .col-lg-push-2{left:8.33333333%}.x-grid-row .col-lg-pull-2{right:8.33333333%}.x-grid-row .col-lg-offset-2{margin-left:8.33333333%}.x-grid-row .col-lg-order-2{order:2}.x-grid-row .col-lg-1{-webkit-box-flex:0;display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.x-grid-row .col-lg-push-1{left:4.16666667%}.x-grid-row .col-lg-pull-1{right:4.16666667%}.x-grid-row .col-lg-offset-1{margin-left:4.16666667%}.x-grid-row .col-lg-order-1{order:1}.x-grid-row .col-lg-0{display:none}.x-grid-row .col-push-0{left:auto}.x-grid-row .col-pull-0{right:auto}.x-grid-row .col-lg-push-0{left:auto}.x-grid-row .col-lg-pull-0{right:auto}.x-grid-row .col-lg-offset-0{margin-left:0}.x-grid-row .col-lg-order-0{order:0}}@media (min-width:1200px){.x-grid-row .col-xl-24{-webkit-box-flex:0;display:block;flex:0 0 100%;max-width:100%}.x-grid-row .col-xl-push-24{left:100%}.x-grid-row .col-xl-pull-24{right:100%}.x-grid-row .col-xl-offset-24{margin-left:100%}.x-grid-row .col-xl-order-24{order:24}.x-grid-row .col-xl-23{-webkit-box-flex:0;display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.x-grid-row .col-xl-push-23{left:95.83333333%}.x-grid-row .col-xl-pull-23{right:95.83333333%}.x-grid-row .col-xl-offset-23{margin-left:95.83333333%}.x-grid-row .col-xl-order-23{order:23}.x-grid-row .col-xl-22{-webkit-box-flex:0;display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.x-grid-row .col-xl-push-22{left:91.66666667%}.x-grid-row .col-xl-pull-22{right:91.66666667%}.x-grid-row .col-xl-offset-22{margin-left:91.66666667%}.x-grid-row .col-xl-order-22{order:22}.x-grid-row .col-xl-21{-webkit-box-flex:0;display:block;flex:0 0 87.5%;max-width:87.5%}.x-grid-row .col-xl-push-21{left:87.5%}.x-grid-row .col-xl-pull-21{right:87.5%}.x-grid-row .col-xl-offset-21{margin-left:87.5%}.x-grid-row .col-xl-order-21{order:21}.x-grid-row .col-xl-20{-webkit-box-flex:0;display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.x-grid-row .col-xl-push-20{left:83.33333333%}.x-grid-row .col-xl-pull-20{right:83.33333333%}.x-grid-row .col-xl-offset-20{margin-left:83.33333333%}.x-grid-row .col-xl-order-20{order:20}.x-grid-row .col-xl-19{-webkit-box-flex:0;display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.x-grid-row .col-xl-push-19{left:79.16666667%}.x-grid-row .col-xl-pull-19{right:79.16666667%}.x-grid-row .col-xl-offset-19{margin-left:79.16666667%}.x-grid-row .col-xl-order-19{order:19}.x-grid-row .col-xl-18{-webkit-box-flex:0;display:block;flex:0 0 75%;max-width:75%}.x-grid-row .col-xl-push-18{left:75%}.x-grid-row .col-xl-pull-18{right:75%}.x-grid-row .col-xl-offset-18{margin-left:75%}.x-grid-row .col-xl-order-18{order:18}.x-grid-row .col-xl-17{-webkit-box-flex:0;display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.x-grid-row .col-xl-push-17{left:70.83333333%}.x-grid-row .col-xl-pull-17{right:70.83333333%}.x-grid-row .col-xl-offset-17{margin-left:70.83333333%}.x-grid-row .col-xl-order-17{order:17}.x-grid-row .col-xl-16{-webkit-box-flex:0;display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.x-grid-row .col-xl-push-16{left:66.66666667%}.x-grid-row .col-xl-pull-16{right:66.66666667%}.x-grid-row .col-xl-offset-16{margin-left:66.66666667%}.x-grid-row .col-xl-order-16{order:16}.x-grid-row .col-xl-15{-webkit-box-flex:0;display:block;flex:0 0 62.5%;max-width:62.5%}.x-grid-row .col-xl-push-15{left:62.5%}.x-grid-row .col-xl-pull-15{right:62.5%}.x-grid-row .col-xl-offset-15{margin-left:62.5%}.x-grid-row .col-xl-order-15{order:15}.x-grid-row .col-xl-14{-webkit-box-flex:0;display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.x-grid-row .col-xl-push-14{left:58.33333333%}.x-grid-row .col-xl-pull-14{right:58.33333333%}.x-grid-row .col-xl-offset-14{margin-left:58.33333333%}.x-grid-row .col-xl-order-14{order:14}.x-grid-row .col-xl-13{-webkit-box-flex:0;display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.x-grid-row .col-xl-push-13{left:54.16666667%}.x-grid-row .col-xl-pull-13{right:54.16666667%}.x-grid-row .col-xl-offset-13{margin-left:54.16666667%}.x-grid-row .col-xl-order-13{order:13}.x-grid-row .col-xl-12{-webkit-box-flex:0;display:block;flex:0 0 50%;max-width:50%}.x-grid-row .col-xl-push-12{left:50%}.x-grid-row .col-xl-pull-12{right:50%}.x-grid-row .col-xl-offset-12{margin-left:50%}.x-grid-row .col-xl-order-12{order:12}.x-grid-row .col-xl-11{-webkit-box-flex:0;display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.x-grid-row .col-xl-push-11{left:45.83333333%}.x-grid-row .col-xl-pull-11{right:45.83333333%}.x-grid-row .col-xl-offset-11{margin-left:45.83333333%}.x-grid-row .col-xl-order-11{order:11}.x-grid-row .col-xl-10{-webkit-box-flex:0;display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.x-grid-row .col-xl-push-10{left:41.66666667%}.x-grid-row .col-xl-pull-10{right:41.66666667%}.x-grid-row .col-xl-offset-10{margin-left:41.66666667%}.x-grid-row .col-xl-order-10{order:10}.x-grid-row .col-xl-9{-webkit-box-flex:0;display:block;flex:0 0 37.5%;max-width:37.5%}.x-grid-row .col-xl-push-9{left:37.5%}.x-grid-row .col-xl-pull-9{right:37.5%}.x-grid-row .col-xl-offset-9{margin-left:37.5%}.x-grid-row .col-xl-order-9{order:9}.x-grid-row .col-xl-8{-webkit-box-flex:0;display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.x-grid-row .col-xl-push-8{left:33.33333333%}.x-grid-row .col-xl-pull-8{right:33.33333333%}.x-grid-row .col-xl-offset-8{margin-left:33.33333333%}.x-grid-row .col-xl-order-8{order:8}.x-grid-row .col-xl-7{-webkit-box-flex:0;display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.x-grid-row .col-xl-push-7{left:29.16666667%}.x-grid-row .col-xl-pull-7{right:29.16666667%}.x-grid-row .col-xl-offset-7{margin-left:29.16666667%}.x-grid-row .col-xl-order-7{order:7}.x-grid-row .col-xl-6{-webkit-box-flex:0;display:block;flex:0 0 25%;max-width:25%}.x-grid-row .col-xl-push-6{left:25%}.x-grid-row .col-xl-pull-6{right:25%}.x-grid-row .col-xl-offset-6{margin-left:25%}.x-grid-row .col-xl-order-6{order:6}.x-grid-row .col-xl-5{-webkit-box-flex:0;display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.x-grid-row .col-xl-push-5{left:20.83333333%}.x-grid-row .col-xl-pull-5{right:20.83333333%}.x-grid-row .col-xl-offset-5{margin-left:20.83333333%}.x-grid-row .col-xl-order-5{order:5}.x-grid-row .col-xl-4{-webkit-box-flex:0;display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.x-grid-row .col-xl-push-4{left:16.66666667%}.x-grid-row .col-xl-pull-4{right:16.66666667%}.x-grid-row .col-xl-offset-4{margin-left:16.66666667%}.x-grid-row .col-xl-order-4{order:4}.x-grid-row .col-xl-3{-webkit-box-flex:0;display:block;flex:0 0 12.5%;max-width:12.5%}.x-grid-row .col-xl-push-3{left:12.5%}.x-grid-row .col-xl-pull-3{right:12.5%}.x-grid-row .col-xl-offset-3{margin-left:12.5%}.x-grid-row .col-xl-order-3{order:3}.x-grid-row .col-xl-2{-webkit-box-flex:0;display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.x-grid-row .col-xl-push-2{left:8.33333333%}.x-grid-row .col-xl-pull-2{right:8.33333333%}.x-grid-row .col-xl-offset-2{margin-left:8.33333333%}.x-grid-row .col-xl-order-2{order:2}.x-grid-row .col-xl-1{-webkit-box-flex:0;display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.x-grid-row .col-xl-push-1{left:4.16666667%}.x-grid-row .col-xl-pull-1{right:4.16666667%}.x-grid-row .col-xl-offset-1{margin-left:4.16666667%}.x-grid-row .col-xl-order-1{order:1}.x-grid-row .col-xl-0{display:none}.x-grid-row .col-push-0{left:auto}.x-grid-row .col-pull-0{right:auto}.x-grid-row .col-xl-push-0{left:auto}.x-grid-row .col-xl-pull-0{right:auto}.x-grid-row .col-xl-offset-0{margin-left:0}.x-grid-row .col-xl-order-0{order:0}}@media (min-width:1600px){.x-grid-row .col-xxl-24{-webkit-box-flex:0;display:block;flex:0 0 100%;max-width:100%}.x-grid-row .col-xxl-push-24{left:100%}.x-grid-row .col-xxl-pull-24{right:100%}.x-grid-row .col-xxl-offset-24{margin-left:100%}.x-grid-row .col-xxl-order-24{order:24}.x-grid-row .col-xxl-23{-webkit-box-flex:0;display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.x-grid-row .col-xxl-push-23{left:95.83333333%}.x-grid-row .col-xxl-pull-23{right:95.83333333%}.x-grid-row .col-xxl-offset-23{margin-left:95.83333333%}.x-grid-row .col-xxl-order-23{order:23}.x-grid-row .col-xxl-22{-webkit-box-flex:0;display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.x-grid-row .col-xxl-push-22{left:91.66666667%}.x-grid-row .col-xxl-pull-22{right:91.66666667%}.x-grid-row .col-xxl-offset-22{margin-left:91.66666667%}.x-grid-row .col-xxl-order-22{order:22}.x-grid-row .col-xxl-21{-webkit-box-flex:0;display:block;flex:0 0 87.5%;max-width:87.5%}.x-grid-row .col-xxl-push-21{left:87.5%}.x-grid-row .col-xxl-pull-21{right:87.5%}.x-grid-row .col-xxl-offset-21{margin-left:87.5%}.x-grid-row .col-xxl-order-21{order:21}.x-grid-row .col-xxl-20{-webkit-box-flex:0;display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.x-grid-row .col-xxl-push-20{left:83.33333333%}.x-grid-row .col-xxl-pull-20{right:83.33333333%}.x-grid-row .col-xxl-offset-20{margin-left:83.33333333%}.x-grid-row .col-xxl-order-20{order:20}.x-grid-row .col-xxl-19{-webkit-box-flex:0;display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.x-grid-row .col-xxl-push-19{left:79.16666667%}.x-grid-row .col-xxl-pull-19{right:79.16666667%}.x-grid-row .col-xxl-offset-19{margin-left:79.16666667%}.x-grid-row .col-xxl-order-19{order:19}.x-grid-row .col-xxl-18{-webkit-box-flex:0;display:block;flex:0 0 75%;max-width:75%}.x-grid-row .col-xxl-push-18{left:75%}.x-grid-row .col-xxl-pull-18{right:75%}.x-grid-row .col-xxl-offset-18{margin-left:75%}.x-grid-row .col-xxl-order-18{order:18}.x-grid-row .col-xxl-17{-webkit-box-flex:0;display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.x-grid-row .col-xxl-push-17{left:70.83333333%}.x-grid-row .col-xxl-pull-17{right:70.83333333%}.x-grid-row .col-xxl-offset-17{margin-left:70.83333333%}.x-grid-row .col-xxl-order-17{order:17}.x-grid-row .col-xxl-16{-webkit-box-flex:0;display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.x-grid-row .col-xxl-push-16{left:66.66666667%}.x-grid-row .col-xxl-pull-16{right:66.66666667%}.x-grid-row .col-xxl-offset-16{margin-left:66.66666667%}.x-grid-row .col-xxl-order-16{order:16}.x-grid-row .col-xxl-15{-webkit-box-flex:0;display:block;flex:0 0 62.5%;max-width:62.5%}.x-grid-row .col-xxl-push-15{left:62.5%}.x-grid-row .col-xxl-pull-15{right:62.5%}.x-grid-row .col-xxl-offset-15{margin-left:62.5%}.x-grid-row .col-xxl-order-15{order:15}.x-grid-row .col-xxl-14{-webkit-box-flex:0;display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.x-grid-row .col-xxl-push-14{left:58.33333333%}.x-grid-row .col-xxl-pull-14{right:58.33333333%}.x-grid-row .col-xxl-offset-14{margin-left:58.33333333%}.x-grid-row .col-xxl-order-14{order:14}.x-grid-row .col-xxl-13{-webkit-box-flex:0;display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.x-grid-row .col-xxl-push-13{left:54.16666667%}.x-grid-row .col-xxl-pull-13{right:54.16666667%}.x-grid-row .col-xxl-offset-13{margin-left:54.16666667%}.x-grid-row .col-xxl-order-13{order:13}.x-grid-row .col-xxl-12{-webkit-box-flex:0;display:block;flex:0 0 50%;max-width:50%}.x-grid-row .col-xxl-push-12{left:50%}.x-grid-row .col-xxl-pull-12{right:50%}.x-grid-row .col-xxl-offset-12{margin-left:50%}.x-grid-row .col-xxl-order-12{order:12}.x-grid-row .col-xxl-11{-webkit-box-flex:0;display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.x-grid-row .col-xxl-push-11{left:45.83333333%}.x-grid-row .col-xxl-pull-11{right:45.83333333%}.x-grid-row .col-xxl-offset-11{margin-left:45.83333333%}.x-grid-row .col-xxl-order-11{order:11}.x-grid-row .col-xxl-10{-webkit-box-flex:0;display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.x-grid-row .col-xxl-push-10{left:41.66666667%}.x-grid-row .col-xxl-pull-10{right:41.66666667%}.x-grid-row .col-xxl-offset-10{margin-left:41.66666667%}.x-grid-row .col-xxl-order-10{order:10}.x-grid-row .col-xxl-9{-webkit-box-flex:0;display:block;flex:0 0 37.5%;max-width:37.5%}.x-grid-row .col-xxl-push-9{left:37.5%}.x-grid-row .col-xxl-pull-9{right:37.5%}.x-grid-row .col-xxl-offset-9{margin-left:37.5%}.x-grid-row .col-xxl-order-9{order:9}.x-grid-row .col-xxl-8{-webkit-box-flex:0;display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.x-grid-row .col-xxl-push-8{left:33.33333333%}.x-grid-row .col-xxl-pull-8{right:33.33333333%}.x-grid-row .col-xxl-offset-8{margin-left:33.33333333%}.x-grid-row .col-xxl-order-8{order:8}.x-grid-row .col-xxl-7{-webkit-box-flex:0;display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.x-grid-row .col-xxl-push-7{left:29.16666667%}.x-grid-row .col-xxl-pull-7{right:29.16666667%}.x-grid-row .col-xxl-offset-7{margin-left:29.16666667%}.x-grid-row .col-xxl-order-7{order:7}.x-grid-row .col-xxl-6{-webkit-box-flex:0;display:block;flex:0 0 25%;max-width:25%}.x-grid-row .col-xxl-push-6{left:25%}.x-grid-row .col-xxl-pull-6{right:25%}.x-grid-row .col-xxl-offset-6{margin-left:25%}.x-grid-row .col-xxl-order-6{order:6}.x-grid-row .col-xxl-5{-webkit-box-flex:0;display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.x-grid-row .col-xxl-push-5{left:20.83333333%}.x-grid-row .col-xxl-pull-5{right:20.83333333%}.x-grid-row .col-xxl-offset-5{margin-left:20.83333333%}.x-grid-row .col-xxl-order-5{order:5}.x-grid-row .col-xxl-4{-webkit-box-flex:0;display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.x-grid-row .col-xxl-push-4{left:16.66666667%}.x-grid-row .col-xxl-pull-4{right:16.66666667%}.x-grid-row .col-xxl-offset-4{margin-left:16.66666667%}.x-grid-row .col-xxl-order-4{order:4}.x-grid-row .col-xxl-3{-webkit-box-flex:0;display:block;flex:0 0 12.5%;max-width:12.5%}.x-grid-row .col-xxl-push-3{left:12.5%}.x-grid-row .col-xxl-pull-3{right:12.5%}.x-grid-row .col-xxl-offset-3{margin-left:12.5%}.x-grid-row .col-xxl-order-3{order:3}.x-grid-row .col-xxl-2{-webkit-box-flex:0;display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.x-grid-row .col-xxl-push-2{left:8.33333333%}.x-grid-row .col-xxl-pull-2{right:8.33333333%}.x-grid-row .col-xxl-offset-2{margin-left:8.33333333%}.x-grid-row .col-xxl-order-2{order:2}.x-grid-row .col-xxl-1{-webkit-box-flex:0;display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.x-grid-row .col-xxl-push-1{left:4.16666667%}.x-grid-row .col-xxl-pull-1{right:4.16666667%}.x-grid-row .col-xxl-offset-1{margin-left:4.16666667%}.x-grid-row .col-xxl-order-1{order:1}.x-grid-row .col-xxl-0{display:none}.x-grid-row .col-push-0{left:auto}.x-grid-row .col-pull-0{right:auto}.x-grid-row .col-xxl-push-0{left:auto}.x-grid-row .col-xxl-pull-0{right:auto}.x-grid-row .col-xxl-offset-0{margin-left:0}.x-grid-row .col-xxl-order-0{order:0}}.x-back-top{bottom:76px;cursor:pointer;position:fixed;right:21px;z-index:10}.x-back-top *,.x-back-top :after,.x-back-top :before{box-sizing:border-box}.x-back-top:empty{display:none}.x-back-top-content{border-radius:50%;color:#b5b8be;overflow:hidden;text-align:center;transition:all .3s}.x-back-top-content:hover{color:var(--fd-color-brand-6,#00b899);transition:all .3s}.x-back-top-icon{font-size:40px;line-height:40px;position:relative}.x-back-top-icon:after{background:#fff;border-radius:50%;content:"";height:28px;left:4px;position:absolute;top:4px;width:28px;z-index:-1}.x-color-picker{background-color:var(--fd-color-bg-container);border-radius:var(--fd-border-radius-lg);box-shadow:var(--fd-box-shadow-secondary);display:inline-block;padding:var(--fd-padding-layout-sm);position:relative}.x-color-picker *,.x-color-picker :after,.x-color-picker :before{box-sizing:border-box}.x-color-picker.without-opacity .main-wrapper .main-right{justify-content:center}.x-color-picker.without-opacity .footer-wrapper .rgb-input{flex:auto;width:48px}.x-color-picker .header-wrapper,.x-color-picker .main-wrapper{margin-bottom:var(--fd-gap-xl)}.x-color-picker .main-wrapper{display:flex}.x-color-picker .main-wrapper .main-left{border:1px solid var(--fd-color-fill-secondary);border-radius:var(--fd-border-radius);height:var(--fd-line-height-2xl);overflow:hidden;position:relative;width:var(--fd-line-height-2xl)}.x-color-picker .main-wrapper .main-left .color-value-bg{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==) 0;inset:0;position:absolute}.x-color-picker .main-wrapper .main-left .color-value{inset:0;position:absolute}.x-color-picker .main-wrapper .main-right{-webkit-box-align:stretch;-ms-flex-align:stretch;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:stretch;display:flex;flex-direction:column;justify-content:space-between;margin-left:var(--fd-gap-xl)}.x-color-picker .footer-wrapper{align-items:center;display:inline-flex;gap:var(--fd-gap-sm)}.x-color-picker .footer-wrapper .region-wrapper{flex:1 0 auto}.x-color-picker .footer-wrapper .region-wrapper .region-title{color:var(--fd-color-text-description);font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm)}.x-color-picker .footer-wrapper .region-divider{margin:var(--fd-line-height-sm) calc(var(--fd-gap)/2) 0 calc(var(--fd-gap)/2)}.x-color-picker .footer-wrapper .alpha-input,.x-color-picker .footer-wrapper .rgb-input{flex:none}.x-color-picker .footer-wrapper .rgb-input{width:32px}.x-color-picker .footer-wrapper .hex-input{flex:auto;width:64px}.x-color-picker .footer-wrapper .hex-input .x-inner-wrapper .x-prefix{left:8px;width:10px}.x-color-picker .footer-wrapper .alpha-input{width:46px}.x-color-picker .footer-wrapper .alpha-input .x-inner-wrapper .x-suffix{font-size:var(--fd-font-size-sm);right:4px;width:10px}.x-color-picker .footer-wrapper .alpha-input .x-inner-wrapper .input-inner{padding-left:4px;padding-right:14px}.x-color-picker .extra-divider{margin:var(--fd-gap) 0 0 0}.x-color-picker .extra-wrapper{margin-top:var(--fd-gap)}.x-color-picker .extra-wrapper .x-collapse.small .x-collapse-header,.x-color-picker .extra-wrapper .x-collapse.small .x-panel-content .x-panel-box{padding:0}.x-color-picker .extra-wrapper .x-collapse.small .no-message{color:var(--fd-color-text-placeholder);font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm)}.x-color-picker .extra-wrapper .color-region{display:flex;flex-wrap:wrap;gap:6px;padding:var(--fd-padding) 0}.x-color-picker .extra-wrapper .color-region>.color-square{border:1px solid var(--fd-color-fill-secondary);border-radius:4px;height:18px;position:relative;width:18px}.x-color-picker .extra-wrapper .color-region>.color-square .color-value-bg{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==) 0;inset:0;position:absolute}.x-color-picker .extra-wrapper .color-region>.color-square .color-value{inset:0;position:absolute}.x-color-picker .x-hue-slider{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);border-radius:var(--fd-border-radius);height:8px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-color-picker .x-hue-slider .x-hue-slider-cursor{background:var(--fd-color-primary);border:2px solid var(--fd-color-white);border-radius:50%;box-shadow:0 1px 4px #00000040;height:12px;position:absolute;top:50%;transform:translateY(-50%);width:12px}.x-color-picker .x-opacity-slider{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==) 0;border-radius:var(--fd-border-radius);height:8px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-color-picker .x-opacity-slider .x-opacity-slider-value{border-radius:var(--fd-border-radius);inset:0;position:absolute}.x-color-picker .x-opacity-slider .x-opacity-slider-value .x-opacity-slider-cursor{background:var(--fd-color-primary);border:2px solid var(--fd-color-white);border-radius:50%;box-shadow:0 1px 4px #00000040;height:12px;position:absolute;top:50%;transform:translateY(-50%);width:12px}.x-color-picker .x-sv-panel{border-radius:4px;height:110px;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-color-picker .x-sv-panel .x-sv-panel-white{background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0));inset:0;position:absolute}.x-color-picker .x-sv-panel .x-sv-panel-black{background:linear-gradient(0deg,#000,transparent);inset:0;position:absolute}.x-color-picker .x-sv-panel .x-sv-panel-cursor{position:absolute}.x-color-picker .x-sv-panel .x-sv-panel-cursor div{border:2px solid var(--fd-color-white);border-radius:50%;box-shadow:0 1px 4px #00000040;height:18px;transform:translate(-50%,-50%);width:18px}.x-virtual-table{height:100%;overflow-x:hidden;overflow-y:auto;position:relative}.x-virtual-table *,.x-virtual-table :after,.x-virtual-table :before{box-sizing:border-box}.x-virtual-table.resizing{cursor:ew-resize;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-virtual-table.resizing .table-body,.x-virtual-table.resizing .table-header{pointer-events:none}.x-virtual-table.large .virtual-table-wrapper td,.x-virtual-table.large .virtual-table-wrapper th{height:46px}.x-virtual-table.striped .virtual-table-wrapper .table-body .table-row.odd td{background:#f5f6f8}.x-virtual-table.has-cell-border td,.x-virtual-table.has-cell-border th{border-left:none;border-right:1px solid #e1e3e5}.x-virtual-table.has-out-border{border:1px solid #e1e3e5;border-radius:3px}.x-virtual-table.no-wrap .virtual-table-wrapper .table-body .table-row td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-virtual-table .virtual-table-wrapper{min-height:100%;position:relative}.x-virtual-table .virtual-table-wrapper table{border-collapse:separate;border-spacing:0;display:table;margin:0;padding:0;table-layout:fixed;width:100%}.x-virtual-table .virtual-table-wrapper table td,.x-virtual-table .virtual-table-wrapper table th{border-bottom:1px solid #e1e3e5;border-left:none;border-top:none;font-size:13px;height:34px;padding:3px 10px;text-align:left}.x-virtual-table .virtual-table-wrapper table td.fixed-left,.x-virtual-table .virtual-table-wrapper table th.fixed-left{z-index:5}.x-virtual-table .virtual-table-wrapper table td{line-height:20px}.x-virtual-table .virtual-table-wrapper table th{background:#f0f1f4;color:#141e31;font-weight:400;overflow:visible;position:relative}.x-virtual-table .virtual-table-wrapper table th .header-cell-content{-webkit-line-clamp:3;-webkit-box-orient:vertical;word-wrap:break-word;display:-webkit-inline-box;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;word-break:break-word}.x-virtual-table .virtual-table-wrapper table th .resize-spanner{bottom:0;cursor:ew-resize;opacity:0;position:absolute;right:-2px;top:0;transition:background-color .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:4px;z-index:1}.x-virtual-table .virtual-table-wrapper .no-scrollbar::-webkit-scrollbar{display:none}.x-virtual-table .virtual-table-wrapper .table-header{overflow:hidden}.x-virtual-table .virtual-table-wrapper .table-header.fixed{position:sticky;top:0;z-index:6}.x-virtual-table .virtual-table-wrapper .table-header th{word-wrap:break-word;white-space:normal;word-break:break-word}.x-virtual-table .virtual-table-wrapper .table-header th .sort-icon{align-items:center;bottom:0;display:flex;font-size:12px;font-weight:400;position:absolute;right:5px;top:0}.x-virtual-table .virtual-table-wrapper .table-body{overflow-x:auto;overflow-y:hidden}.x-virtual-table .virtual-table-wrapper .table-body>table{min-height:1px}.x-virtual-table .virtual-table-wrapper .table-body::-webkit-scrollbar,.x-virtual-table .virtual-table-wrapper .table-body::-webkit-scrollbar-thumb{background:transparent}.x-virtual-table .virtual-table-wrapper .table-body .table-row{min-height:48px}.x-virtual-table .virtual-table-wrapper .table-body .table-row .table-cell{word-wrap:break-word;background:#fff;white-space:normal;word-break:break-word}.x-virtual-table .virtual-table-wrapper .table-body .table-row.hover td.table-cell,.x-virtual-table .virtual-table-wrapper .table-body .table-row:hover td.table-cell{background:#f0f1f4}.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask{bottom:0;overflow:hidden;pointer-events:none;position:absolute;top:0;z-index:7}.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask .fixed-shadow{height:100%}.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask .left,.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask .right{box-shadow:none}.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask .left.show-shadow,.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask .right.show-shadow{box-shadow:0 0 6px 2px #00000026}.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask .left{margin-right:20px}.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask .left.show-shadow{border-right:1px solid #e1e3e5}.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask .right{margin-left:20px}.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask .right.show-shadow{border-left:1px solid #e1e3e5}.x-virtual-table .horizontal-scroll-container{bottom:0;display:none;overflow:auto;position:sticky;z-index:7}.x-virtual-table .horizontal-scroll-container.not-support-sticky{left:0;position:absolute;right:0}.x-virtual-table .horizontal-scroll-container.show{display:block}.x-virtual-table .horizontal-scroll-container .scroll-item{height:1px}.x-virtual-table .column-resize-line{border-color:var(--fd-color-brand-6,#00b899);display:none;height:100%;left:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:1px;z-index:7}.x-virtual-table .column-resize-line.active{cursor:ew-resize;display:block}.x-svgicon{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;text-align:center;text-rendering:optimizeLegibility;text-transform:none}.x-svgicon>svg{vertical-align:-.125em}.x-svgicon.spin{animation:x-rotate 1s linear infinite;transform-origin:center}.x-collapse{background-color:var(--fd-color-fill-alter);border:1px solid var(--fd-color-border);border-bottom:0;border-radius:var(--fd-border-radius-lg);display:flex;flex-direction:column}.x-collapse *,.x-collapse :after,.x-collapse :before{box-sizing:border-box}.x-collapse>.x-collapse-item{border-bottom:1px solid var(--fd-color-border);font-size:var(--fd-font-size)}.x-collapse>.x-collapse-item:last-child,.x-collapse>.x-collapse-item:last-child>.x-collapse-header,.x-collapse>.x-collapse-item:last-child>.x-panel-content{border-radius:0 0 var(--fd-border-radius-lg) var(--fd-border-radius-lg)}.x-collapse>.x-collapse-item>.x-collapse-header{color:var(--fd-color-text);cursor:pointer;display:flex;flex-wrap:nowrap;line-height:var(--fd-line-height);padding:var(--fd-padding-lg) var(--fd-padding-xl);transition:all .3s}.x-collapse>.x-collapse-item>.x-collapse-header:focus{outline:none}.x-collapse>.x-collapse-item>.x-collapse-header>.x-collapse-header-text{flex:auto}.x-collapse>.x-collapse-item>.x-collapse-header>.x-collapse-header-text:not(.auto-wrap){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-collapse>.x-collapse-item>.x-collapse-header .x-collapse-expand-icon{align-items:center;color:var(--fd-color-icon-normal);display:flex;font-size:var(--fd-icon-size);margin-right:var(--fd-gap-xl)}.x-collapse>.x-collapse-item>.x-collapse-header .x-collapse-arrow svg{transition:transform .3s}.x-collapse>.x-collapse-item>.x-collapse-header .x-collapse-arrow.expand svg{transform:rotate(90deg)}.x-collapse>.x-collapse-item .x-collapse-header-collapsible-only{cursor:default}.x-collapse>.x-collapse-item .x-collapse-header-collapsible-only .x-collapse-header-text{-webkit-box-flex:0;cursor:pointer;flex:0 1 auto}.x-collapse>.x-collapse-item .x-collapse-icon-collapsible-only{cursor:default}.x-collapse>.x-collapse-item .x-collapse-icon-collapsible-only .x-collapse-expand-icon{cursor:pointer}.x-collapse>.x-collapse-item>.x-panel-content{background-color:var(--fd-color-white);border-top:1px solid var(--fd-color-border);color:var(--fd-color-text)}.x-collapse>.x-collapse-item>.x-panel-content .x-panel-box{padding:var(--fd-collapse-panel-padding)}.x-collapse>.x-collapse-item>.x-panel-content-enter{opacity:0}.x-collapse>.x-collapse-item>.x-panel-content-enter-active{opacity:1;transition:all .2s}.x-collapse>.x-collapse-item>.x-panel-content-exit{opacity:1}.x-collapse>.x-collapse-item>.x-panel-content-exit-active{opacity:0;overflow:hidden;transition:all .2s}.x-collapse>.x-collapse-item>.x-panel-content-exit-done{display:none}.x-collapse .x-collapse-item-flex{-webkit-box-flex:1;display:flex;flex:1;flex-direction:column}.x-collapse .x-collapse-item-flex .x-panel-content{flex:1}.x-collapse .x-collapse-item-flex .x-panel-content .x-panel-box{height:100%}.x-collapse.small>.x-collapse-item>.x-collapse-header{padding:var(--fd-padding) var(--fd-padding-lg)}.x-collapse.small>.x-collapse-item>.x-panel-content>.x-panel-box{line-height:var(--fd-line-height);padding:var(--fd-collapse-panel-padding-sm)}.x-collapse.large>.x-collapse-item{font-size:var(--fd-font-size-lg)}.x-collapse.large>.x-collapse-item>.x-collapse-header{line-height:var(--fd-line-height-lg);padding:var(--fd-padding-xl) var(--fd-padding-3xl)}.x-collapse.large>.x-collapse-item>.x-panel-content>.x-panel-box{font-size:var(--fd-font-size-lg);line-height:var(--fd-line-height-lg);padding:var(--fd-collapse-panel-padding-lg)}.x-collapse .x-collapse-item-disabled>.x-collapse-header,.x-collapse .x-collapse-item-disabled>.x-collapse-header>.arrow{color:var(--fd-color-text-disabled);cursor:not-allowed}.x-collapse.x-collapse-icon-position-end>.x-collapse-item>.x-collapse-header .x-collapse-expand-icon{-webkit-box-ordinal-group:2;-ms-flex-order:1;margin-left:var(--fd-gap);margin-right:0;order:1}.x-collapse-borderless{background-color:var(--fd-color-fill-alter);border:0}.x-collapse-borderless .x-collapse-item{border-bottom:1px solid #d7d9dc}.x-collapse-borderless .x-collapse-item:last-child,.x-collapse-borderless>.x-collapse-item:last-child .x-collapse-header{border-radius:0}.x-collapse-borderless .x-collapse-item:last-child{border-bottom:0}.x-collapse-borderless>.x-collapse-item>.x-panel-content{background-color:transparent;border-top:0}.x-collapse-borderless>.x-collapse-item>.x-panel-content .x-panel-box{padding:var(--fd-collapse-panel-padding-no-border)}.x-collapse-borderless.large>.x-collapse-item>.x-panel-content .x-panel-box{padding:var(--fd-collapse-panel-padding-no-border-lg)}.x-collapse-borderless.small>.x-collapse-item>.x-panel-content .x-panel-box{padding:var(--fd-collapse-panel-padding-no-border-sm)}.x-collapse-ghost{background-color:transparent;border:0}.x-collapse-ghost .x-collapse-item{border-bottom:0}.x-collapse-ghost .x-collapse-item>.x-panel-content{background-color:transparent;border:0}.x-slider{cursor:pointer;position:relative}.x-slider *,.x-slider :after,.x-slider :before{box-sizing:border-box}.x-slider .x-slider-rail{background-color:var(--fd-color-fill-tertiary)}.x-slider .x-slider-rail,.x-slider .x-slider-track{border-radius:2px;position:absolute;transition:background-color .2s}.x-slider .x-slider-track{background-color:var(--fd-color-primary-border)}.x-slider:hover .x-slider-rail{background-color:var(--fd-color-fill-secondary)}.x-slider:hover .x-slider-track{background-color:var(--fd-color-primary-border-hover)}.x-slider:hover .x-slider-step .x-slider-dot{border-color:var(--fd-color-border)}.x-slider:hover .x-slider-handle:after{box-shadow:0 0 0 2px var(--fd-color-primary-border-hover)}.x-slider:hover .x-slider-dot-active{border-color:var(--fd-color-primary-border)}.x-slider .x-slider-handle{height:10px;position:absolute;width:10px}.x-slider .x-slider-handle.handle-bg:after{background:var(--fd-slider-handle-fg);box-shadow:0 0 0 2px var(--fd-slider-handle-bg)}.x-slider .x-slider-handle.handle-bg:active:after,.x-slider .x-slider-handle.handle-bg:focus:after,.x-slider .x-slider-handle.handle-bg:hover:after{box-shadow:0 0 0 4px var(--fd-slider-handle-bg)}.x-slider .x-slider-handle .x-slider-dragging{z-index:1}.x-slider .x-slider-handle:after{background-color:#fff;border-radius:50%;box-shadow:0 0 0 2px var(--fd-color-primary-border);content:" ";cursor:pointer;height:10px;position:absolute;transition:width .2s,height .2s,box-shadow .2s;width:10px}.x-slider .x-slider-handle:active,.x-slider .x-slider-handle:focus,.x-slider .x-slider-handle:hover{outline:none}.x-slider .x-slider-handle:active:after,.x-slider .x-slider-handle:focus:after,.x-slider .x-slider-handle:hover:after{box-shadow:0 0 0 4px var(--fd-color-primary);height:12px;width:12px}.x-slider .x-slider-mark{font-size:var(--fd-font-size);line-height:var(--fd-line-height);position:absolute}.x-slider .x-slider-mark .x-slider-mark-text{color:var(--fd-color-text);cursor:pointer;display:inline-block;position:absolute;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-slider .x-slider-mark .x-slider-mark-text.x-slider-mark-text-active{color:var(--fd-color-text)}.x-slider .x-slider-step{background:transparent;pointer-events:none;position:absolute}.x-slider .x-slider-step .x-slider-dot{background-color:#fff;border:2px solid var(--fd-color-border-secondary);border-radius:50%;cursor:pointer;height:8px;pointer-events:auto;position:absolute;transition:border-color .3s;width:8px}.x-slider .x-slider-step .x-slider-dot:hover{border-color:var(--fd-color-border)}.x-slider .x-slider-step .x-slider-dot.x-slider-dot-active{border-color:var(--fd-color-primary-border)}.x-slider .x-slider-step .x-slider-dot.x-slider-dot-active:hover{border-color:var(--fd-color-primary)}.x-slider.x-slider-disabled{cursor:not-allowed}.x-slider.x-slider-disabled .x-slider-rail{background-color:var(--fd-color-fill-tertiary)!important}.x-slider.x-slider-disabled .x-slider-track{background-color:var(--fd-color-bg-container-disabled)!important}.x-slider.x-slider-disabled .x-slider-dot{background-color:#fff;border-color:var(--fd-color-border-secondary)!important;box-shadow:none;cursor:not-allowed}.x-slider.x-slider-disabled .x-slider-handle:after{background-color:#fff;box-shadow:0 0 0 2px var(--fd-color-text-disabled);cursor:not-allowed;height:10px;width:10px}.x-slider.x-slider-disabled .x-slider-dot,.x-slider.x-slider-disabled .x-slider-mark-text{color:var(--fd-color-text-disabled)!important;cursor:not-allowed!important}.x-slider.x-slider-horizontal{height:12px;margin:var(--fd-padding);padding-bottom:4px;padding-top:4px}.x-slider.x-slider-horizontal .x-slider-rail{height:4px;width:100%}.x-slider.x-slider-horizontal .x-slider-track{height:4px}.x-slider.x-slider-horizontal .x-slider-handle{top:1px}.x-slider.x-slider-horizontal .x-slider-mark{top:12px;width:100%}.x-slider.x-slider-horizontal .x-slider-step{height:4px;top:4px;width:100%}.x-slider.x-slider-horizontal .x-slider-dot{position:absolute;top:-2px}.x-slider.x-slider-horizontal.x-slider-with-marks{margin-bottom:30px}.x-slider.x-slider-vertical{height:100%;margin:var(--fd-padding) var(--fd-padding-xs);padding-left:4px;padding-right:4px;width:12px}.x-slider.x-slider-vertical .x-slider-rail{height:100%;width:4px}.x-slider.x-slider-vertical .x-slider-track{width:4px}.x-slider.x-slider-vertical .x-slider-handle{left:1px}.x-slider.x-slider-vertical .x-slider-mark{height:100%;margin-left:17px}.x-slider.x-slider-vertical .x-slider-step{height:100%;left:4px;width:4px}.x-slider.x-slider-vertical .x-slider-step .x-slider-dot{left:-2px;position:absolute}.x-image{display:inline-block;position:relative}.x-image *,.x-image :after,.x-image :before{box-sizing:border-box}.x-image img{border:0;outline:none}.x-image .x-image-img{height:auto;vertical-align:middle;width:100%}.x-image .x-image-mask{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:var(--fd-color-bg-mask);color:var(--fd-color-text-light-solid);cursor:pointer;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .3s}.x-image .x-image-mask .x-image-mask-info{font-size:var(--fd-font-size-lg);line-height:var(--fd-line-height-lg);overflow:hidden;padding:0 var(--fd-padding-xl);text-overflow:ellipsis;white-space:nowrap}.x-image .x-image-mask .x-image-mask-info .x-svgicon{margin-right:var(--fd-gap-sm)}.x-image .x-image-mask:hover{opacity:1}.x-image .x-image-placeholder{inset:0;position:absolute}.x-dropdown{background:var(--fd-color-bg-elevater);border-radius:var(--fd-border-radius-lg);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;display:block;position:absolute}.x-dropdown *,.x-dropdown :after,.x-dropdown :before{box-sizing:border-box}.x-dropdown .dropdown-arrow{display:block;height:12px;overflow:hidden;pointer-events:none;position:absolute;width:12px;z-index:1}.x-dropdown .dropdown-arrow.no-arrow{display:none!important}.x-dropdown .dropdown-arrow:before{background:#fff;bottom:0;clip-path:polygon(1.65685425px 100%,50% 1.65685425px,10.34314575px 100%,1.65685425px 100%);clip-path:path("M 0 6 A 4 4 0 0 0 2.82842712474619 4.82842712474619 L 4.585786437626905 3.0710678118654755 A 2 2 0 0 1 7.414213562373095 3.0710678118654755 L 9.17157287525381 4.82842712474619 A 4 4 0 0 0 12 6 Z");content:"";height:6px;inset-inline-start:0;position:absolute;width:12px}.x-dropdown .dropdown-arrow:after{background:transparent;border-radius:0 0 2px;bottom:0;box-shadow:2px 2px 5px #0000000d;content:"";height:6.14213562px;inset-inline:0;margin:auto;position:absolute;transform:translateY(50%) rotate(-135deg);width:6.14213562px;z-index:0}.x-dropdown.placement-top .dropdown-arrow,.x-dropdown.placement-top-left .dropdown-arrow,.x-dropdown.placement-top-right .dropdown-arrow{bottom:0;transform:translateY(100%) rotate(180deg)}.x-dropdown.placement-top .dropdown-arrow{left:50%;transform:translate(-50%) translateY(100%) rotate(180deg)}.x-dropdown.placement-top-left .dropdown-arrow{left:8px}.x-dropdown.placement-top-right .dropdown-arrow{right:8px}.x-dropdown.placement-bottom .dropdown-arrow,.x-dropdown.placement-bottom-left .dropdown-arrow,.x-dropdown.placement-bottom-right .dropdown-arrow{top:0;transform:translateY(-100%)}.x-dropdown.placement-bottom .dropdown-arrow{left:50%;transform:translate(-50%) translateY(-100%)}.x-dropdown.placement-bottom-left .dropdown-arrow{left:8px}.x-dropdown.placement-bottom-right .dropdown-arrow{right:8px}.x-dropdown.placement-left .dropdown-arrow,.x-dropdown.placement-left-bottom .dropdown-arrow,.x-dropdown.placement-left-top .dropdown-arrow{right:0;transform:translate(100%) rotate(90deg)}.x-dropdown.placement-left .dropdown-arrow{top:50%;transform:translateY(-50%) translate(100%) rotate(90deg)}.x-dropdown.placement-left-top .dropdown-arrow{top:8px}.x-dropdown.placement-left-bottom .dropdown-arrow{bottom:8px}.x-dropdown.placement-right .dropdown-arrow,.x-dropdown.placement-right-bottom .dropdown-arrow,.x-dropdown.placement-right-top .dropdown-arrow{left:0;transform:translate(-100%) rotate(-90deg)}.x-dropdown.placement-right .dropdown-arrow{top:50%;transform:translateY(-50%) translate(-100%) rotate(-90deg)}.x-dropdown.placement-right-top .dropdown-arrow{top:8px}.x-dropdown.placement-right-bottom .dropdown-arrow{bottom:8px}.x-dropdown-top-appear,.x-dropdown-top-enter{animation:x-move-bottom-small .2s ease;animation-fill-mode:forwards}.x-dropdown-top-exit{animation:x-move-bottom-small .1s ease-in reverse;animation-fill-mode:forwards}.x-dropdown-bottom-appear,.x-dropdown-bottom-enter{animation:x-move-top-small .2s ease;animation-fill-mode:forwards}.x-dropdown-bottom-exit{animation:x-move-top-small .1s ease-in reverse;animation-fill-mode:forwards}.x-autocomplete *,.x-autocomplete :after,.x-autocomplete :before{box-sizing:border-box}.x-autocomplete.borderless .x-inner-wrapper{border:none}.x-autocomplete-popover .x-autocomplete-list{max-height:256px;overflow-y:auto}.x-autocomplete-popover .x-autocomplete-item{border-radius:var(--fd-border-radius-sm);box-sizing:border-box;color:var(--fd-color-text);cursor:pointer;display:block;font-size:var(--fd-font-size);line-height:var(--fd-line-height);min-height:var(--fd-control-height);overflow:hidden;padding:var(--fd-padding-xs) var(--fd-padding);position:relative;text-overflow:ellipsis;white-space:nowrap}.x-autocomplete-popover .x-autocomplete-item.active:not(.disabled){background-color:var(--fd-control-item-bg-active)}.x-autocomplete-popover .x-autocomplete-item.disabled{color:var(--fd-color-text-disabled);cursor:not-allowed}.x-autocomplete-popover .x-autocomplete-loading{min-height:var(--fd-control-height)}.x-autocomplete-popover .x-popover-wrapper{padding:var(--fd-padding-layout-2xs)}.x-typography{color:var(--fd-color-text);word-break:break-word}.x-typography.x-typography-secondary{color:var(--fd-color-text-secondary)}.x-typography.x-typography-success{color:var(--fd-color-success)}.x-typography.x-typography-warning{color:var(--fd-color-warning)}.x-typography.x-typography-danger{color:var(--fd-color-error)}a:active.x-typography.x-typography-danger,a:focus.x-typography.x-typography-danger{color:var(--fd-color-error-text-active)}a:hover.x-typography.x-typography-danger{color:var(--fd-color-error-text-hover)}.x-typography.x-typography-disabled{color:var(--fd-color-text-disabled);cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-typography p,div.x-typography{margin-bottom:1em}.x-typography div.x-typography-h1,.x-typography div.x-typography-h1>textarea,.x-typography h1,h1.x-typography{color:var(--fd-color-text);font-size:var(--fd-font-size-heading-1);font-weight:600;line-height:var(--fd-line-height-heading-1);margin-bottom:.5em}.x-typography div.x-typography-h2,.x-typography div.x-typography-h2>textarea,.x-typography h2,h2.x-typography{color:var(--fd-color-text);font-size:var(--fd-font-size-heading-2);font-weight:600;line-height:var(--fd-line-height-heading-2);margin-bottom:.5em}.x-typography div.x-typography-h3,.x-typography div.x-typography-h3>textarea,.x-typography h3,h3.x-typography{color:var(--fd-color-text);font-size:var(--fd-font-size-heading-3);font-weight:600;line-height:var(--fd-line-height-heading-3);margin-bottom:.5em}.x-typography div.x-typography-h4,.x-typography div.x-typography-h4>textarea,.x-typography h4,h4.x-typography{color:var(--fd-color-text);font-size:var(--fd-font-size-heading-4);font-weight:600;line-height:var(--fd-line-height-heading-4);margin-bottom:.5em}.x-typography div.x-typography-h5,.x-typography div.x-typography-h5>textarea,.x-typography h5,h5.x-typography{color:var(--fd-color-text);font-size:var(--fd-font-size-heading-5);font-weight:600;line-height:var(--fd-line-height-heading-5);margin-bottom:.5em}.x-typography div+h1,.x-typography div+h2,.x-typography div+h3,.x-typography div+h4,.x-typography div+h5,.x-typography h1+h1,.x-typography h1+h2,.x-typography h1+h3,.x-typography h1+h4,.x-typography h1+h5,.x-typography h2+h1,.x-typography h2+h2,.x-typography h2+h3,.x-typography h2+h4,.x-typography h2+h5,.x-typography h3+h1,.x-typography h3+h2,.x-typography h3+h3,.x-typography h3+h4,.x-typography h3+h5,.x-typography h4+h1,.x-typography h4+h2,.x-typography h4+h3,.x-typography h4+h4,.x-typography h4+h5,.x-typography h5+h1,.x-typography h5+h2,.x-typography h5+h3,.x-typography h5+h4,.x-typography h5+h5,.x-typography li+h1,.x-typography li+h2,.x-typography li+h3,.x-typography li+h4,.x-typography li+h5,.x-typography p+h1,.x-typography p+h2,.x-typography p+h3,.x-typography p+h4,.x-typography p+h5,.x-typography ul+h1,.x-typography ul+h2,.x-typography ul+h3,.x-typography ul+h4,.x-typography ul+h5,.x-typography+h1.x-typography,.x-typography+h2.x-typography,.x-typography+h3.x-typography,.x-typography+h4.x-typography,.x-typography+h5.x-typography{margin-top:1.2em}.x-typography a,a.x-typography{color:var(--fd-color-primary);cursor:pointer;outline:none;text-decoration:none;transition:.3s}.x-typography a:focus,.x-typography a:hover,a.x-typography:focus,a.x-typography:hover{color:var(--fd-color-primary-hover);outline:none}.x-typography a:active,a.x-typography:active{color:var(--fd-color-primary-active)}.x-typography a:active,.x-typography a:hover,a.x-typography:active,a.x-typography:hover{text-decoration:none}.x-typography a.x-typography-disabled,.x-typography a[disabled],a.x-typography.x-typography-disabled,a.x-typography[disabled]{color:var(--fd-color-text-disabled);cursor:not-allowed}.x-typography a.x-typography-disabled:active,.x-typography a.x-typography-disabled:hover,.x-typography a[disabled]:active,.x-typography a[disabled]:hover,a.x-typography.x-typography-disabled:active,a.x-typography.x-typography-disabled:hover,a.x-typography[disabled]:active,a.x-typography[disabled]:hover{color:var(--fd-color-text-disabled)}.x-typography a.x-typography-disabled:active,.x-typography a[disabled]:active,a.x-typography.x-typography-disabled:active,a.x-typography[disabled]:active{pointer-events:none}.x-typography .x-typography-copy,.x-typography .x-typography-edit,.x-typography .x-typography-expand{color:var(--fd-color-primary);cursor:pointer;margin-left:4px;outline:none;text-decoration:none;transition:.3s}.x-typography .x-typography-copy:focus,.x-typography .x-typography-copy:hover,.x-typography .x-typography-edit:focus,.x-typography .x-typography-edit:hover,.x-typography .x-typography-expand:focus,.x-typography .x-typography-expand:hover{color:var(--fd-color-primary-hover);outline:none}.x-typography .x-typography-copy:active,.x-typography .x-typography-edit:active,.x-typography .x-typography-expand:active{color:var(--fd-color-primary-active)}.x-typography .x-typography-copy,.x-typography .x-typography-edit{background:transparent;border:0;display:inline-block;padding:0}.x-typography .x-typography-copy.disabled,.x-typography .x-typography-edit.disabled{pointer-events:none}.x-typography.x-typography-edit-content{position:relative}div.x-typography.x-typography-edit-content{margin-bottom:calc(1em - 5px);margin-left:-12px;margin-top:-5px}.x-typography.x-typography-edit-content .x-typography-edit-content-confirm{color:var(--fd-color-text-description);font-size:var(--fd-font-size);font-style:normal;font-weight:400;pointer-events:none;position:absolute;right:10px;top:6px}.x-typography.x-typography-edit-content textarea{height:1em;margin:0!important}.x-typography .x-typography-copy-success,.x-typography .x-typography-copy-success:focus,.x-typography .x-typography-copy-success:hover{color:var(--fd-color-success)}a.x-typography.x-typography-ellipsis,span.x-typography.x-typography-ellipsis{display:inline-block;max-width:100%}.x-typography.x-typography-single-line{white-space:nowrap}.x-typography.x-typography-ellipsis-single-line{overflow:hidden;text-overflow:ellipsis}a.x-typography.x-typography-ellipsis-single-line,span.x-typography.x-typography-ellipsis-single-line{vertical-align:bottom}.x-typography .x-typography-ellipsis-multiple-line{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.x-select{color:var(--fd-color-text);cursor:pointer;display:inline-block;font-size:var(--fd-font-size);margin:0;padding:0;position:relative;width:200px}.x-select *,.x-select :after,.x-select :before{box-sizing:border-box}.x-select-borderless .x-select-selector{background-color:transparent!important;border-color:transparent!important;box-shadow:none!important}.x-select.x-select-open .x-select-arrow .x-select-suffix{transform:rotate(180deg)}.x-select .x-select-selector{background:var(--fd-color-bg-container);border:1px solid var(--fd-color-border);position:relative;transition:all .2s cubic-bezier(.43,.1,.54,.85)}.x-select-disabled.x-select .x-select-selector{color:var(--fd-color-text-data-disabled);cursor:not-allowed}.x-select-disabled.x-select .x-select-selector,.x-select-multiple.x-select-disabled.x-select .x-select-selector{background:var(--fd-color-bg-container-disabled)}.x-select .x-select-custom-selector{height:100%}.x-select .x-select-selection-item{flex:1;font-weight:400;overflow:hidden;position:relative;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.x-select .x-select-selection-item>.x-typography{display:inline}.x-select .x-select-selection-placeholder{-webkit-box-flex:1;color:var(--fd-color-text-placeholder);flex:1;overflow:hidden;pointer-events:none;text-overflow:ellipsis;white-space:nowrap}.x-select .x-select-arrow{align-items:center;color:var(--fd-color-icon-normal);display:flex;line-height:1;pointer-events:none;position:absolute;text-align:center;text-transform:none;top:50%;transform:translateY(-50%)}.x-select .x-select-arrow .x-select-suffix{transform:rotate(0);transition:transform .2s ease}.x-select .x-select-arrow .x-svgicon{transition:transform .3s}.x-select .x-select-arrow .x-svgicon:not(.x-select-suffix){pointer-events:auto}.x-select-disabled.x-select .x-select-arrow{color:var(--fd-color-text-disabled);cursor:not-allowed}.x-select .x-select-arrow>:not(:last-child){margin-inline-end:8px}.x-select .x-select-clear{background:var(--fd-color-bg-container);color:var(--fd-color-icon);cursor:pointer;display:inline-block;font-style:normal;line-height:1;opacity:0;position:absolute;text-align:center;text-rendering:auto;text-transform:none;top:50%;transform:translateY(-50%);transition:color .2s ease,opacity .3s ease;z-index:1}.x-select .x-select-clear:before{display:none}.x-select .x-select-clear:hover{color:var(--fd-color-icon-hover)}.x-select:not(.x-select-disabled):hover .x-select-clear{opacity:1}.x-select .x-select-arrow,.x-select .x-select-clear,.x-select .x-select-loading{font-size:var(--fd-icon-size);height:var(--fd-icon-size);right:var(--fd-padding);width:var(--fd-icon-size)}.x-select.x-select-sm .x-select-arrow,.x-select.x-select-sm .x-select-clear,.x-select.x-select-sm .x-select-loading{font-size:var(--fd-icon-size);height:var(--fd-icon-size);right:var(--fd-padding-xs);width:var(--fd-icon-size)}.x-select.x-select-lg .x-select-arrow,.x-select.x-select-lg .x-select-clear,.x-select.x-select-lg .x-select-loading{font-size:var(--fd-icon-size);height:var(--fd-icon-size);right:var(--fd-padding);width:var(--fd-icon-size)}.x-select:not(.x-select-disabled) .x-select-selector{border-color:var(--fd-color-border)}.x-select-focused.x-select:not(.x-select-disabled) .x-select-selector,.x-select-open.x-select:not(.x-select-disabled) .x-select-selector{border-color:var(--fd-color-primary-hover);box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-control-outline);outline:0}.x-select:not(.x-select-disabled):hover .x-select-selector{border-color:var(--fd-color-primary-hover)}.x-select.x-select-status-success:not(.x-select-disabled) .x-select-selector{border-color:var(--fd-color-success)}.x-select-focused.x-select.x-select-status-success:not(.x-select-disabled) .x-select-selector,.x-select-open.x-select.x-select-status-success:not(.x-select-disabled) .x-select-selector{border-color:var(--fd-color-success-hover);box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-control-outline);outline:0}.x-select.x-select-status-success:not(.x-select-disabled):hover .x-select-selector{border-color:var(--fd-color-success-hover)}.x-select.x-select-status-error:not(.x-select-disabled) .x-select-selector{border-color:var(--fd-color-error)}.x-select-focused.x-select.x-select-status-error:not(.x-select-disabled) .x-select-selector,.x-select-open.x-select.x-select-status-error:not(.x-select-disabled) .x-select-selector{border-color:var(--fd-color-error-hover);box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-error-outline);outline:0}.x-select.x-select-status-error:not(.x-select-disabled):hover .x-select-selector{border-color:var(--fd-color-error-hover)}.x-select.x-select-status-warning:not(.x-select-disabled) .x-select-selector{border-color:var(--fd-color-warning)}.x-select-focused.x-select.x-select-status-warning:not(.x-select-disabled) .x-select-selector,.x-select-open.x-select.x-select-status-warning:not(.x-select-disabled) .x-select-selector{border-color:var(--fd-color-warning-hover);box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-warning-outline);outline:0}.x-select.x-select-status-warning:not(.x-select-disabled):hover .x-select-selector{border-color:var(--fd-color-warning-hover)}.x-select-multiple,.x-select-single{font-size:var(--fd-font-size);height:var(--fd-control-height)}.x-select-multiple .x-select-selector,.x-select-single .x-select-selector{border-radius:var(--fd-border-radius);display:flex;height:100%;padding:0 var(--fd-padding);width:100%}.x-select-multiple .x-select-selector:after,.x-select-single .x-select-selector:after{line-height:calc(var(--fd-control-height) - 2px)}.x-select-multiple .x-select-selector .x-select-selection-item,.x-select-multiple .x-select-selector .x-select-selection-placeholder,.x-select-single .x-select-selector .x-select-selection-item,.x-select-single .x-select-selector .x-select-selection-placeholder{align-self:center;line-height:calc(var(--fd-control-height) - 2px);padding:0;transition:all .3s,visibility 0s}.x-select-multiple .x-select-selector .x-select-selection-placeholder,.x-select-single .x-select-selector .x-select-selection-placeholder{pointer-events:none;transition:none}.x-select-multiple .x-select-selector .x-select-selection-item-error,.x-select-single .x-select-selector .x-select-selection-item-error{color:var(--fd-color-error-text)}.x-select-multiple .x-select-selector .x-select-selection-item:empty:after,.x-select-multiple .x-select-selector .x-select-selection-placeholder:empty:after,.x-select-multiple .x-select-selector:after,.x-select-single .x-select-selector .x-select-selection-item:empty:after,.x-select-single .x-select-selector .x-select-selection-placeholder:empty:after,.x-select-single .x-select-selector:after{content:"\\a0";display:inline-block;visibility:hidden;width:0}.x-select-multiple.x-select-clear .x-select-selector,.x-select-multiple.x-select-clear .x-select-selector .x-select-selection-placeholder,.x-select-multiple.x-select-show-arrow .x-select-selector,.x-select-multiple.x-select-show-arrow .x-select-selector .x-select-selection-placeholder,.x-select-single.x-select-clear .x-select-selector,.x-select-single.x-select-clear .x-select-selector .x-select-selection-placeholder,.x-select-single.x-select-show-arrow .x-select-selector,.x-select-single.x-select-show-arrow .x-select-selector .x-select-selection-placeholder{padding-right:calc(var(--fd-padding) + var(--fd-gap-sm) + var(--fd-icon-size))}.x-select-multiple.x-select-sm,.x-select-single.x-select-sm{font-size:var(--fd-font-size-sm);height:var(--fd-control-height-sm)}.x-select-multiple.x-select-sm .x-select-selector,.x-select-single.x-select-sm .x-select-selector{border-radius:var(--fd-border-radius);display:flex;height:100%;padding:0 var(--fd-padding-xs);width:100%}.x-select-multiple.x-select-sm .x-select-selector:after,.x-select-single.x-select-sm .x-select-selector:after{line-height:calc(var(--fd-control-height-sm) - 2px)}.x-select-multiple.x-select-sm .x-select-selector .x-select-selection-item,.x-select-multiple.x-select-sm .x-select-selector .x-select-selection-placeholder,.x-select-single.x-select-sm .x-select-selector .x-select-selection-item,.x-select-single.x-select-sm .x-select-selector .x-select-selection-placeholder{align-self:center;line-height:calc(var(--fd-control-height-sm) - 2px);padding:0;transition:all .3s,visibility 0s}.x-select-multiple.x-select-sm .x-select-selector .x-select-selection-placeholder,.x-select-single.x-select-sm .x-select-selector .x-select-selection-placeholder{pointer-events:none;transition:none}.x-select-multiple.x-select-sm .x-select-selector .x-select-selection-item-error,.x-select-single.x-select-sm .x-select-selector .x-select-selection-item-error{color:var(--fd-color-error-text)}.x-select-multiple.x-select-sm .x-select-selector .x-select-selection-item:empty:after,.x-select-multiple.x-select-sm .x-select-selector .x-select-selection-placeholder:empty:after,.x-select-multiple.x-select-sm .x-select-selector:after,.x-select-single.x-select-sm .x-select-selector .x-select-selection-item:empty:after,.x-select-single.x-select-sm .x-select-selector .x-select-selection-placeholder:empty:after,.x-select-single.x-select-sm .x-select-selector:after{content:"\\a0";display:inline-block;visibility:hidden;width:0}.x-select-multiple.x-select-sm.x-select-clear .x-select-selector,.x-select-multiple.x-select-sm.x-select-clear .x-select-selector .x-select-selection-placeholder,.x-select-multiple.x-select-sm.x-select-show-arrow .x-select-selector,.x-select-multiple.x-select-sm.x-select-show-arrow .x-select-selector .x-select-selection-placeholder,.x-select-single.x-select-sm.x-select-clear .x-select-selector,.x-select-single.x-select-sm.x-select-clear .x-select-selector .x-select-selection-placeholder,.x-select-single.x-select-sm.x-select-show-arrow .x-select-selector,.x-select-single.x-select-sm.x-select-show-arrow .x-select-selector .x-select-selection-placeholder{padding-right:calc(var(--fd-padding-xs) + var(--fd-gap-sm) + var(--fd-icon-size))}.x-select-multiple.x-select-lg,.x-select-single.x-select-lg{font-size:var(--fd-font-size-lg);height:var(--fd-control-height-lg)}.x-select-multiple.x-select-lg .x-select-selector,.x-select-single.x-select-lg .x-select-selector{border-radius:var(--fd-border-radius);display:flex;height:100%;padding:0 var(--fd-padding);width:100%}.x-select-multiple.x-select-lg .x-select-selector:after,.x-select-single.x-select-lg .x-select-selector:after{line-height:calc(var(--fd-control-height-lg) - 2px)}.x-select-multiple.x-select-lg .x-select-selector .x-select-selection-item,.x-select-multiple.x-select-lg .x-select-selector .x-select-selection-placeholder,.x-select-single.x-select-lg .x-select-selector .x-select-selection-item,.x-select-single.x-select-lg .x-select-selector .x-select-selection-placeholder{align-self:center;line-height:calc(var(--fd-control-height-lg) - 2px);padding:0;transition:all .3s,visibility 0s}.x-select-multiple.x-select-lg .x-select-selector .x-select-selection-placeholder,.x-select-single.x-select-lg .x-select-selector .x-select-selection-placeholder{pointer-events:none;transition:none}.x-select-multiple.x-select-lg .x-select-selector .x-select-selection-item-error,.x-select-single.x-select-lg .x-select-selector .x-select-selection-item-error{color:var(--fd-color-error-text)}.x-select-multiple.x-select-lg .x-select-selector .x-select-selection-item:empty:after,.x-select-multiple.x-select-lg .x-select-selector .x-select-selection-placeholder:empty:after,.x-select-multiple.x-select-lg .x-select-selector:after,.x-select-single.x-select-lg .x-select-selector .x-select-selection-item:empty:after,.x-select-single.x-select-lg .x-select-selector .x-select-selection-placeholder:empty:after,.x-select-single.x-select-lg .x-select-selector:after{content:"\\a0";display:inline-block;visibility:hidden;width:0}.x-select-multiple.x-select-lg.x-select-clear .x-select-selector,.x-select-multiple.x-select-lg.x-select-clear .x-select-selector .x-select-selection-placeholder,.x-select-multiple.x-select-lg.x-select-show-arrow .x-select-selector,.x-select-multiple.x-select-lg.x-select-show-arrow .x-select-selector .x-select-selection-placeholder,.x-select-single.x-select-lg.x-select-clear .x-select-selector,.x-select-single.x-select-lg.x-select-clear .x-select-selector .x-select-selection-placeholder,.x-select-single.x-select-lg.x-select-show-arrow .x-select-selector,.x-select-single.x-select-lg.x-select-show-arrow .x-select-selector .x-select-selection-placeholder{padding-right:calc(var(--fd-padding) + var(--fd-gap-sm) + var(--fd-icon-size))}.x-select-tags{font-size:var(--fd-font-size)}.x-select-tags .x-select-selection-overflow{-webkit-box-flex:1;display:flex;flex:auto;flex-wrap:wrap;max-width:100%;position:relative}.x-select-tags .x-select-selection-overflow-item{-webkit-box-flex:0;align-self:center;display:inline-flex;flex:none;max-width:100%}.x-select-tags .x-select-selector{align-items:center;border-radius:var(--fd-border-radius);display:flex;flex-wrap:wrap;height:100%;padding:0 var(--fd-padding) 0 var(--fd-padding-xs)}.x-select-disabled.x-select-tags .x-select-selector{background:var(--fd-color-bg-container-disabled);cursor:not-allowed}.x-select-tags .x-select-selector:after{content:'"\\\\a0"';display:inline-block;line-height:calc(var(--fd-control-height) - 2px - var(--fd-padding-xs)*2);margin:var(--fd-padding-xs) 0;visibility:hidden;width:0}.x-select-tags.x-select-allow-clear .x-select-selector,.x-select-tags.x-select-allow-clear .x-select-selector .x-select-selection-placeholder,.x-select-tags.x-select-show-arrow .x-select-selector,.x-select-tags.x-select-show-arrow .x-select-selector .x-select-selection-placeholder{padding-right:calc(var(--fd-padding) + var(--fd-gap-sm) + var(--fd-icon-size))}.x-select-tags .x-select-selection-item{-ms-flex-item-align:center;-webkit-margin-end:var(--fd-gap-sm);align-self:center;background:var(--fd-color-fill-tertiary);border:1px solid transparent;border-radius:var(--fd-border-radius-xs);cursor:default;display:flex;float:none;height:calc(var(--fd-control-height) - 2px - var(--fd-padding-xs)*2);line-height:calc(var(--fd-control-height) - 4px - var(--fd-padding-xs)*2);margin-bottom:var(--fd-padding-xs);margin-top:var(--fd-padding-xs);margin-inline-end:var(--fd-gap-sm);max-width:100%;padding:0 var(--fd-padding-sm);transition:font-size .3s,line-height .3s,height .3s}.x-select-tags .x-select-selection-item-error{background:var(--fd-color-error-bg-hover);color:var(--fd-color-error-text)}.x-select-tags .x-select-selection-item-disabled{background:var(--fd-color-fill-tertiary);color:var(--fd-color-text-data-disabled);cursor:not-allowed}.x-select-tags .x-select-selection-item-content{-webkit-margin-end:4px;display:inline-block;margin-inline-end:4px;overflow:hidden;text-overflow:ellipsis;white-space:pre}.x-select-tags .x-select-selection-item-remove{align-items:center;color:var(--fd-color-icon);cursor:pointer;display:inline-block;font-size:10px;font-weight:700;line-height:inherit}.x-select-tags .x-select-selection-item-remove>.x-svgicon{vertical-align:.2em}.x-select-tags .x-select-selection-item-remove:hover{color:var(--fd-color-icon-hover)}.x-select-tags .x-select-selection-overflow-item+.x-select-selection-overflow-item .x-select-selection-search{margin-inline-start:0}.x-select-tags .x-select-selection-placeholder{left:0;padding:0 var(--fd-padding) 0 var(--fd-padding-xs);position:absolute;right:0;top:50%;transform:translateY(-50%);transition:all .3s}.x-select-tags.x-select-sm{font-size:var(--fd-font-size-sm)}.x-select-tags.x-select-sm .x-select-selection-overflow{-webkit-box-flex:1;display:flex;flex:auto;flex-wrap:wrap;max-width:100%;position:relative}.x-select-tags.x-select-sm .x-select-selection-overflow-item{-webkit-box-flex:0;align-self:center;display:inline-flex;flex:none;max-width:100%}.x-select-tags.x-select-sm .x-select-selector{align-items:center;border-radius:var(--fd-border-radius);display:flex;flex-wrap:wrap;height:100%;padding:0 var(--fd-padding-xs) 0 var(--fd-padding-2xs)}.x-select-disabled.x-select-tags.x-select-sm .x-select-selector{background:var(--fd-color-bg-container-disabled);cursor:not-allowed}.x-select-tags.x-select-sm .x-select-selector:after{content:'"\\\\a0"';display:inline-block;line-height:calc(var(--fd-control-height-sm) - 2px - var(--fd-padding-2xs)*2);margin:var(--fd-padding-2xs) 0;visibility:hidden;width:0}.x-select-tags.x-select-sm.x-select-allow-clear .x-select-selector,.x-select-tags.x-select-sm.x-select-allow-clear .x-select-selector .x-select-selection-placeholder,.x-select-tags.x-select-sm.x-select-show-arrow .x-select-selector,.x-select-tags.x-select-sm.x-select-show-arrow .x-select-selector .x-select-selection-placeholder{padding-right:calc(var(--fd-padding-xs) + var(--fd-gap-sm) + var(--fd-icon-size))}.x-select-tags.x-select-sm .x-select-selection-item{-ms-flex-item-align:center;-webkit-margin-end:var(--fd-gap-sm);align-self:center;background:var(--fd-color-fill-tertiary);border:1px solid transparent;border-radius:var(--fd-border-radius-xs);cursor:default;display:flex;float:none;height:calc(var(--fd-control-height-sm) - 2px - var(--fd-padding-2xs)*2);line-height:calc(var(--fd-control-height-sm) - 4px - var(--fd-padding-2xs)*2);margin-bottom:var(--fd-padding-2xs);margin-top:var(--fd-padding-2xs);margin-inline-end:var(--fd-gap-sm);max-width:100%;padding:0 var(--fd-padding-sm);transition:font-size .3s,line-height .3s,height .3s}.x-select-tags.x-select-sm .x-select-selection-item-error{background:var(--fd-color-error-bg-hover);color:var(--fd-color-error-text)}.x-select-tags.x-select-sm .x-select-selection-item-disabled{background:var(--fd-color-fill-tertiary);color:var(--fd-color-text-data-disabled);cursor:not-allowed}.x-select-tags.x-select-sm .x-select-selection-item-content{-webkit-margin-end:4px;display:inline-block;margin-inline-end:4px;overflow:hidden;text-overflow:ellipsis;white-space:pre}.x-select-tags.x-select-sm .x-select-selection-item-remove{align-items:center;color:var(--fd-color-icon);cursor:pointer;display:inline-block;font-size:10px;font-weight:700;line-height:inherit}.x-select-tags.x-select-sm .x-select-selection-item-remove>.x-svgicon{vertical-align:.2em}.x-select-tags.x-select-sm .x-select-selection-item-remove:hover{color:var(--fd-color-icon-hover)}.x-select-tags.x-select-sm .x-select-selection-overflow-item+.x-select-selection-overflow-item .x-select-selection-search{margin-inline-start:0}.x-select-tags.x-select-sm .x-select-selection-placeholder{left:0;padding:0 var(--fd-padding-xs) 0 var(--fd-padding-2xs);position:absolute;right:0;top:50%;transform:translateY(-50%);transition:all .3s}.x-select-tags.x-select-lg{font-size:var(--fd-font-size-lg)}.x-select-tags.x-select-lg .x-select-selection-overflow{-webkit-box-flex:1;display:flex;flex:auto;flex-wrap:wrap;max-width:100%;position:relative}.x-select-tags.x-select-lg .x-select-selection-overflow-item{-webkit-box-flex:0;align-self:center;display:inline-flex;flex:none;max-width:100%}.x-select-tags.x-select-lg .x-select-selector{align-items:center;border-radius:var(--fd-border-radius);display:flex;flex-wrap:wrap;height:100%;padding:0 var(--fd-padding) 0 var(--fd-padding-xs)}.x-select-disabled.x-select-tags.x-select-lg .x-select-selector{background:var(--fd-color-bg-container-disabled);cursor:not-allowed}.x-select-tags.x-select-lg .x-select-selector:after{content:'"\\\\a0"';display:inline-block;line-height:calc(var(--fd-control-height-lg) - 2px - var(--fd-padding-xs)*2);margin:var(--fd-padding-xs) 0;visibility:hidden;width:0}.x-select-tags.x-select-lg.x-select-allow-clear .x-select-selector,.x-select-tags.x-select-lg.x-select-allow-clear .x-select-selector .x-select-selection-placeholder,.x-select-tags.x-select-lg.x-select-show-arrow .x-select-selector,.x-select-tags.x-select-lg.x-select-show-arrow .x-select-selector .x-select-selection-placeholder{padding-right:calc(var(--fd-padding) + var(--fd-gap-sm) + var(--fd-icon-size))}.x-select-tags.x-select-lg .x-select-selection-item{-ms-flex-item-align:center;-webkit-margin-end:var(--fd-gap-sm);align-self:center;background:var(--fd-color-fill-tertiary);border:1px solid transparent;border-radius:var(--fd-border-radius-xs);cursor:default;display:flex;float:none;height:calc(var(--fd-control-height-lg) - 2px - var(--fd-padding-xs)*2);line-height:calc(var(--fd-control-height-lg) - 4px - var(--fd-padding-xs)*2);margin-bottom:var(--fd-padding-xs);margin-top:var(--fd-padding-xs);margin-inline-end:var(--fd-gap-sm);max-width:100%;padding:0 var(--fd-padding-sm);transition:font-size .3s,line-height .3s,height .3s}.x-select-tags.x-select-lg .x-select-selection-item-error{background:var(--fd-color-error-bg-hover);color:var(--fd-color-error-text)}.x-select-tags.x-select-lg .x-select-selection-item-disabled{background:var(--fd-color-fill-tertiary);color:var(--fd-color-text-data-disabled);cursor:not-allowed}.x-select-tags.x-select-lg .x-select-selection-item-content{-webkit-margin-end:4px;display:inline-block;margin-inline-end:4px;overflow:hidden;text-overflow:ellipsis;white-space:pre}.x-select-tags.x-select-lg .x-select-selection-item-remove{align-items:center;color:var(--fd-color-icon);cursor:pointer;display:inline-block;font-size:10px;font-weight:700;line-height:inherit}.x-select-tags.x-select-lg .x-select-selection-item-remove>.x-svgicon{vertical-align:.2em}.x-select-tags.x-select-lg .x-select-selection-item-remove:hover{color:var(--fd-color-icon-hover)}.x-select-tags.x-select-lg .x-select-selection-overflow-item+.x-select-selection-overflow-item .x-select-selection-search{margin-inline-start:0}.x-select-tags.x-select-lg .x-select-selection-placeholder{left:0;padding:0 var(--fd-padding) 0 var(--fd-padding-xs);position:absolute;right:0;top:50%;transform:translateY(-50%);transition:all .3s}.x-select-dropdown{background:var(--fd-color-bg-elevater);border-radius:var(--fd-border-radius-lg);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;box-sizing:border-box;color:var(--fd-color-text);display:block;font-size:var(--fd-font-size);font-variant:normal;line-height:var(--fd-line-height);margin:0;overflow:hidden;padding:0;position:absolute;top:-9999px}.x-select-dropdown .x-select-list{padding:var(--fd-padding-layout-2xs)}.x-select-dropdown .x-select-item{align-items:center;border-radius:var(--fd-border-radius-sm);box-sizing:border-box;color:var(--fd-color-text);cursor:pointer;display:flex;font-size:var(--fd-font-size);font-weight:400;height:var(--fd-control-height);line-height:var(--fd-line-height);padding:0 var(--fd-padding);position:relative;transition:background .3s ease}.x-select-dropdown .x-select-item-group{color:var(--fd-color-text-description);cursor:default;font-size:var(--fd-font-size-sm);height:auto;line-height:var(--fd-line-height-sm);padding:var(--fd-padding-xs) var(--fd-padding) 0 var(--fd-padding)}.x-select-dropdown .x-select-item-option-icon{flex:none;font-size:var(--fd-icon-size);font-weight:400;margin-right:var(--fd-gap-sm)}.x-select-dropdown .x-select-item-option-content{flex:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-select-dropdown .x-select-item-option-check{margin-right:var(--fd-gap)}.x-select-dropdown .x-select-item-option-active:not(.x-select-item-option-disabled){background-color:var(--fd-color-fill-quaternary)}.x-select-dropdown .x-select-item-option-selected:not(.x-select-item-option-disabled):not(.x-select-item-option-disabled):not(.x-select-item-option-error).x-select-item-option-single{background-color:var(--fd-control-item-bg-active);color:var(--fd-color-text);font-weight:var(--fd-control-item-font-weight-active)}.x-select-dropdown .x-select-item-option-check-all,.x-select-dropdown .x-select-item-option-selected:not(.x-select-item-option-disabled):not(.x-select-item-option-disabled):not(.x-select-item-option-error).x-select-item-option-multiple{color:var(--fd-color-primary-text)}.x-select-dropdown .x-select-item-option-error{color:var(--fd-color-error-text)}.x-select-dropdown .x-select-item-option-disabled{color:var(--fd-color-text-disabled);cursor:not-allowed}.x-select-dropdown .x-select-item-option-grouped{padding-left:var(--fd-padding-xl)}.x-select-dropdown .x-select-empty{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;color:var(--fd-color-text-description);display:flex;height:var(--fd-control-height);justify-content:center}.x-select-dropdown .x-select-dropdown-search-input{border-bottom:1px solid var(--fd-color-split);border-radius:var(--fd-border-radius-lg) var(--fd-border-radius-lg) 0 0}.x-select-dropdown .x-select-dropdown-search-input input{background:var(--fd-color-bg-elevater)}.x-select-loading .spin-content{height:100%;width:100%}.x-select-loading .spin-content .spin-indicator{border-color:transparent!important;border-top-color:var(--fd-color-icon)!important;height:100%!important;width:100%!important}.x-tree-select{width:200px}.x-tree-select-dropdown .x-select-tree-list{max-height:256px;overflow-y:auto;padding:var(--fd-padding-layout-2xs)}.x-navigation{font-size:var(--fd-font-size);line-height:0;list-style:none;margin-bottom:0;outline:none;padding:0;transition:width .3s ease-out 0s}.x-navigation *,.x-navigation :after,.x-navigation :before{box-sizing:border-box}.x-navigation li{list-style-type:none}.x-navigation ol,.x-navigation ul{list-style:none;margin:0;padding:0}.x-navigation .x-navigation-overflow{display:flex}.x-navigation .x-navigation-overflow .x-navigation-item{flex:none}.x-navigation .x-navigation-item,.x-navigation .x-navigation-submenu,.x-navigation .x-navigation-submenu-title{border-radius:var(--fd-border-radius)}.x-navigation .x-navigation-submenu-inline.x-navigation-submenu-open+.x-navigation-item,.x-navigation .x-navigation-submenu-inline.x-navigation-submenu-open+.x-navigation-submenu .x-navigation-submenu-title{margin-block-start:calc(var(--fd-gap)/2)}.x-navigation .x-navigation-item-group-title{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);margin-inline:var(--fd-padding-layout-xs);margin-top:var(--fd-gap-sm);overflow:hidden;padding:var(--fd-padding-xs) var(--fd-padding-xs) 0 var(--fd-padding-xs);text-overflow:ellipsis;transition:all .3s;white-space:nowrap}.x-navigation .x-navigation-submenu,.x-navigation .x-navigation-submenu-inline{transition:border-color .3s ease-out,background .3s ease-out,padding .3s ease-out}.x-navigation .x-navigation-submenu .x-navigation-sub{cursor:auto}.x-navigation .x-navigation-title-content{transition:color .3s}.x-navigation .x-navigation-title-content>.x-typography-ellipsis-single-line{display:inline;vertical-align:unset}.x-navigation .x-navigation-item a:before{background-color:transparent;content:"";inset:0;position:absolute}.x-navigation .x-navigation-item-divider{line-height:0;margin:var(--fd-gap-sm) var(--fd-padding-layout-xs) 0 var(--fd-padding-layout-xs);overflow:hidden;padding-block:var(--fd-padding-layout-xs);padding-inline:var(--fd-padding-xs)}.x-navigation .x-navigation-item-divider .x-navigation-item-divider-line{border-color:var(--fd-color-split);border-style:solid;border-width:1px 0 0}.x-navigation .x-navigation-item-divider .x-navigation-item-divider-dashed{border-style:dashed}.x-navigation .x-navigation-item,.x-navigation .x-navigation-submenu-title{cursor:pointer;display:block;margin-inline:var(--fd-padding-layout-xs);padding:var(--fd-padding) var(--fd-padding-xl) var(--fd-padding) var(--fd-padding-lg);position:relative;transition:border-color .3s,background .3s,padding .3s ease-out;white-space:nowrap}.x-navigation .x-navigation-item .x-navigation-item-icon,.x-navigation .x-navigation-submenu-title .x-navigation-item-icon{color:var(--fd-color-icon-normal)}.x-navigation .x-navigation-item .x-navigation-item-icon,.x-navigation .x-navigation-item .x-svgicon,.x-navigation .x-navigation-submenu-title .x-navigation-item-icon,.x-navigation .x-navigation-submenu-title .x-svgicon{font-size:var(--fd-icon-size);min-width:var(--fd-icon-size);transition:font-size .3s ease-out,margin .3s ease-out,color .3s}.x-navigation .x-navigation-item .x-navigation-item-icon+span,.x-navigation .x-navigation-item .x-svgicon+span,.x-navigation .x-navigation-submenu-title .x-navigation-item-icon+span,.x-navigation .x-navigation-submenu-title .x-svgicon+span{margin-left:var(--fd-gap);opacity:1;transition:padding .3s ease-out,margin .3s,color .3s}.x-navigation .x-navigation-item.x-navigation-item-only-child>.x-navigation-item-icon,.x-navigation .x-navigation-item.x-navigation-item-only-child>.x-svgicon,.x-navigation .x-navigation-submenu-title.x-navigation-item-only-child>.x-navigation-item-icon,.x-navigation .x-navigation-submenu-title.x-navigation-item-only-child>.x-svgicon{margin-right:0}.x-navigation .x-navigation-item,.x-navigation .x-navigation-submenu-title{margin-block-start:var(--fd-gap-sm)}.x-navigation .x-navigation-item{display:flex}.x-navigation .x-navigation-item-disabled,.x-navigation .x-navigation-submenu-disabled{background:none!important;cursor:not-allowed}.x-navigation .x-navigation-item-disabled:after,.x-navigation .x-navigation-submenu-disabled:after{border-color:transparent!important}.x-navigation .x-navigation-item-disabled a,.x-navigation .x-navigation-submenu-disabled a{color:inherit!important}.x-navigation .x-navigation-item-disabled>.x-navigation-submenu-title,.x-navigation .x-navigation-submenu-disabled>.x-navigation-submenu-title{color:inherit!important;cursor:not-allowed}.x-navigation .x-navigation-item-group .x-navigation-item-group-list{margin:0;padding:0}.x-navigation .x-navigation-item-group .x-navigation-item-group-list .x-navigation-item,.x-navigation .x-navigation-item-group .x-navigation-item-group-list .x-navigation-submenu-title{padding-inline:var(--fd-padding) var(--fd-padding-xl)}.x-navigation .x-navigation-submenu .x-navigation-submenu-popup{border-radius:var(--fd-border-radius-lg);box-shadow:none;position:absolute;transform-origin:0 0;z-index:1050}.x-navigation .x-navigation-submenu .x-navigation-submenu-popup.x-navigation-submenu{background:transparent}.x-navigation .x-navigation-submenu .x-navigation-submenu-popup:before{content:"";height:100%;inset:-7px 0 0;opacity:0;position:absolute;width:100%;z-index:-1}.x-navigation .x-navigation-submenu .x-navigation-submenu-placement-rightTop:before{inset-inline-start:-7px;top:0}.x-navigation .x-navigation-submenu .placement-bottomRight,.x-navigation .x-navigation-submenu .placement-left-top{transform-origin:100% 0}.x-navigation .x-navigation-submenu .placement-left-bottom,.x-navigation .x-navigation-submenu .placement-top-right{transform-origin:100% 100%}.x-navigation .x-navigation-submenu .placement-right-bottom,.x-navigation .x-navigation-submenu .placement-top-left{transform-origin:0 100%}.x-navigation .x-navigation-submenu .placement-bottom-left,.x-navigation .x-navigation-submenu .placement-right-top{transform-origin:0 0}.x-navigation .x-navigation-submenu .placement-left-bottom,.x-navigation .x-navigation-submenu .placement-left-top{padding-inline-end:var(--fd-padding-xs)}.x-navigation .x-navigation-submenu .placement-right-bottom,.x-navigation .x-navigation-submenu .placement-right-top{padding-inline-start:var(--fd-padding-xs)}.x-navigation .x-navigation-submenu .placement-topLeft,.x-navigation .x-navigation-submenu .placement-topRight{padding-bottom:var(--fd-padding-xs)}.x-navigation .x-navigation-submenu .placement-bottomLeft,.x-navigation .x-navigation-submenu .placement-bottomRight{padding-top:var(--fd-padding-xs)}.x-navigation .x-navigation-submenu>.x-navigation{border-radius:var(--fd-border-radius-lg)}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title{cursor:pointer;display:block;margin-inline:var(--fd-padding-layout-xs);padding:var(--fd-padding) var(--fd-padding-xl) var(--fd-padding) var(--fd-padding-lg);position:relative;transition:border-color .3s,background .3s,padding .3s ease-out;white-space:nowrap}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item .x-navigation-item-icon,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title .x-navigation-item-icon{color:var(--fd-color-icon-normal)}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item .x-navigation-item-icon,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item .x-svgicon,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title .x-navigation-item-icon,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title .x-svgicon{font-size:var(--fd-icon-size);min-width:var(--fd-icon-size);transition:font-size .3s ease-out,margin .3s ease-out,color .3s}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item .x-navigation-item-icon+span,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item .x-svgicon+span,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title .x-navigation-item-icon+span,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title .x-svgicon+span{margin-left:var(--fd-gap);opacity:1;transition:padding .3s ease-out,margin .3s,color .3s}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item.x-navigation-item-only-child>.x-navigation-item-icon,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item.x-navigation-item-only-child>.x-svgicon,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title.x-navigation-item-only-child>.x-navigation-item-icon,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title.x-navigation-item-only-child>.x-svgicon{margin-right:0}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title{margin-block-start:var(--fd-gap-sm)}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item{display:flex}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item-disabled,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-disabled{background:none!important;cursor:not-allowed}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item-disabled:after,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-disabled:after{border-color:transparent!important}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item-disabled a,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-disabled a{color:inherit!important}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item-disabled>.x-navigation-submenu-title,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-disabled>.x-navigation-submenu-title{color:inherit!important;cursor:not-allowed}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu .x-navigation-submenu-expand-icon{color:currentColor;inset-inline-end:var(--fd-padding-xl);position:absolute;top:50%;transform:translateY(-50%);transition:transform .3s ease-out,opacity .3s;width:10px}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow:after,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow:before{background-color:var(--fd-color-icon-normal);border-radius:var(--fd-border-radius);content:"";height:1.5px;position:absolute;transition:transform .3s ease-out,background .3s ease-out,top .3s ease-out,color .3s ease-out;width:6px}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow:before{transform:rotate(45deg) translateY(-2.5px)}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow:after{transform:rotate(-45deg) translateY(2.5px)}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu>.x-navigation-submenu-title{border-radius:var(--fd-border-radius-lg)}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title:after{transition:transform .3s ease-out}.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow,.x-navigation .x-navigation-submenu .x-navigation-submenu-expand-icon{color:currentColor;inset-inline-end:var(--fd-padding-xl);position:absolute;top:50%;transform:translateY(-50%);transition:transform .3s ease-out,opacity .3s;width:10px}.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow:after,.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow:before{background-color:var(--fd-color-icon-normal);border-radius:var(--fd-border-radius);content:"";height:1.5px;position:absolute;transition:transform .3s ease-out,background .3s ease-out,top .3s ease-out,color .3s ease-out;width:6px}.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow:before{transform:rotate(45deg) translateY(-2.5px)}.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow:after,.x-navigation .x-navigation-submenu-inline-collapsed .x-navigation-submenu-arrow:before,.x-navigation .x-navigation-submenu-inline.x-navigation-submenu>.x-navigation-submenu-title>.x-navigation-submenu-arrow:before{transform:rotate(-45deg) translateY(2.5px)}.x-navigation .x-navigation-submenu-inline-collapsed .x-navigation-submenu-arrow:after,.x-navigation .x-navigation-submenu-inline.x-navigation-submenu>.x-navigation-submenu-title>.x-navigation-submenu-arrow:after{transform:rotate(45deg) translateY(2.5px)}.x-navigation .x-navigation-submenu-open.x-navigation-submenu-inline>.x-navigation-submenu-title>.x-navigation-submenu-arrow{transform:translateY(-3px)}.x-navigation .x-navigation-submenu-open.x-navigation-submenu-inline>.x-navigation-submenu-title>.x-navigation-submenu-arrow:after{transform:rotate(-45deg) translate(-2.5px)}.x-navigation .x-navigation-submenu-open.x-navigation-submenu-inline>.x-navigation-submenu-title>.x-navigation-submenu-arrow:before{transform:rotate(45deg) translate(2.5px)}.x-navigation .x-navigation-submenu-list-enter{opacity:0}.x-navigation .x-navigation-submenu-list-enter-active{opacity:1;transition:all .3s ease-out}.x-navigation .x-navigation-submenu-list-exit{opacity:1}.x-navigation .x-navigation-submenu-list-exit-active{opacity:0;transition:all .3s ease-out}.x-navigation .x-navigation-submenu-list-exit-done{display:none}.x-navigation-inline.x-navigation-root,.x-navigation-vertical.x-navigation-root{box-shadow:none;padding-bottom:var(--fd-padding-layout-xs);padding-top:var(--fd-padding-xs)}.x-navigation-inline .x-navigation-item,.x-navigation-vertical .x-navigation-item{overflow:hidden;position:relative}.x-navigation-inline .x-navigation-item,.x-navigation-inline .x-navigation-submenu-title,.x-navigation-vertical .x-navigation-item,.x-navigation-vertical .x-navigation-submenu-title{height:calc(var(--fd-padding)*2 + var(--fd-line-height));line-height:var(--fd-line-height);overflow:hidden;text-overflow:ellipsis}.x-navigation-inline>.x-navigation-item,.x-navigation-inline>.x-navigation-submenu>.x-navigation-submenu-title,.x-navigation-vertical>.x-navigation-item,.x-navigation-vertical>.x-navigation-submenu>.x-navigation-submenu-title{height:calc(var(--fd-padding)*2 + var(--fd-line-height));line-height:var(--fd-line-height)}.x-navigation-submenu-popup .x-navigation-vertical{border-radius:var(--fd-border-radius-lg);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014}.x-navigation-submenu-popup .x-navigation-vertical .x-navigation-item{overflow:hidden;position:relative}.x-navigation-submenu-popup .x-navigation-vertical .x-navigation-item,.x-navigation-submenu-popup .x-navigation-vertical .x-navigation-submenu-title{height:calc(var(--fd-padding)*2 + var(--fd-line-height));line-height:var(--fd-line-height);overflow:hidden;text-overflow:ellipsis}.x-navigation-submenu-popup .x-navigation-vertical>.x-navigation-item,.x-navigation-submenu-popup .x-navigation-vertical>.x-navigation-submenu>.x-navigation-submenu-title{height:calc(var(--fd-padding)*2 + var(--fd-line-height));line-height:var(--fd-line-height)}.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub{border-right:0;overflow:hidden;padding:var(--fd-padding-xs)}.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub:not([class*=-active]){overflow-x:hidden;overflow-y:auto}.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub .x-navigation-item,.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub .x-navigation-submenu-title{margin:0;margin-bottom:var(--fd-gap-sm);padding-inline:var(--fd-padding-xl)}.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub .x-navigation-item:last-child,.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub .x-navigation-submenu-title:last-child{margin-bottom:0}.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub .x-navigation-submenu-title .x-navigation-title-content{padding-right:var(--fd-padding-xl)}.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub .x-navigation-item-group-title{margin-inline:var(--fd-padding-layout-xs);padding:var(--fd-padding-2xs) var(--fd-padding) 0 var(--fd-padding)}.x-navigation-inline{width:100%}.x-navigation-inline.x-navigation-root .x-navigation-item,.x-navigation-inline.x-navigation-root .x-navigation-submenu-title{align-items:center;display:flex;transition:border-color .3s,background .3s,padding .3s ease-out}.x-navigation-inline.x-navigation-root .x-navigation-item>.x-navigation-title-content,.x-navigation-inline.x-navigation-root .x-navigation-submenu-title>.x-navigation-title-content{flex:auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.x-navigation-inline.x-navigation-root .x-navigation-item>*,.x-navigation-inline.x-navigation-root .x-navigation-submenu-title>*{flex:none}.x-navigation-inline .x-navigation-sub.x-navigation-inline{border:0;border-radius:0;box-shadow:none}.x-navigation-inline .x-navigation-item,.x-navigation-inline .x-navigation-sub.x-navigation-inline>.x-navigation-submenu>.x-navigation-submenu-title{height:calc(var(--fd-padding)*2 + var(--fd-line-height));line-height:var(--fd-line-height);list-style-position:inside;list-style-type:disc}.x-navigation-inline-collapsed{width:var(--fd-navigation-collapsed-width)}.x-navigation-inline-collapsed.x-navigation-root .x-navigation-item>.x-navigation-inline-collapsed-noicon,.x-navigation-inline-collapsed.x-navigation-root .x-navigation-submenu .x-navigation-submenu-title>.x-navigation-inline-collapsed-noicon{font-size:var(--fd-icon-size);text-align:center}.x-navigation-inline-collapsed>.x-navigation-item,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-item,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-submenu>.x-navigation-submenu-title,.x-navigation-inline-collapsed>.x-navigation-submenu>.x-navigation-submenu-title{inset-inline-start:0;padding-inline:calc(var(--fd-navigation-collapsed-width)/2 - var(--fd-icon-size)/2 - var(--fd-gap));text-overflow:clip}.x-navigation-inline-collapsed>.x-navigation-item .x-navigation-submenu-arrow,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-item .x-navigation-submenu-arrow,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-submenu>.x-navigation-submenu-title .x-navigation-submenu-arrow,.x-navigation-inline-collapsed>.x-navigation-submenu>.x-navigation-submenu-title .x-navigation-submenu-arrow{inset-inline-end:0}.x-navigation-inline-collapsed>.x-navigation-item .x-navigation-item-icon,.x-navigation-inline-collapsed>.x-navigation-item .x-svgicon,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-item .x-navigation-item-icon,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-item .x-svgicon,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-submenu>.x-navigation-submenu-title .x-navigation-item-icon,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-submenu>.x-navigation-submenu-title .x-svgicon,.x-navigation-inline-collapsed>.x-navigation-submenu>.x-navigation-submenu-title .x-navigation-item-icon,.x-navigation-inline-collapsed>.x-navigation-submenu>.x-navigation-submenu-title .x-svgicon{font-size:var(--fd-icon-size);line-height:var(--fd-line-height);margin:0}.x-navigation-inline-collapsed>.x-navigation-item .x-navigation-item-icon+span,.x-navigation-inline-collapsed>.x-navigation-item .x-svgicon+span,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-item .x-navigation-item-icon+span,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-item .x-svgicon+span,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-submenu>.x-navigation-submenu-title .x-navigation-item-icon+span,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-submenu>.x-navigation-submenu-title .x-svgicon+span,.x-navigation-inline-collapsed>.x-navigation-submenu>.x-navigation-submenu-title .x-navigation-item-icon+span,.x-navigation-inline-collapsed>.x-navigation-submenu>.x-navigation-submenu-title .x-svgicon+span{display:inline-block;opacity:0}.x-navigation-inline-collapsed .x-navigation-item-icon,.x-navigation-inline-collapsed .x-svgicon{display:inline-block}.x-navigation-inline-collapsed .x-navigation-tooltip{pointer-events:none}.x-navigation-inline-collapsed .x-navigation-tooltip .x-navigation-item-icon,.x-navigation-inline-collapsed .x-navigation-tooltip .x-svgicon{display:none}.x-navigation-inline-collapsed .x-navigation-tooltip a,.x-navigation-inline-collapsed .x-navigation-tooltip a:hover{color:var(--fd-color-text-light-solid)}.x-navigation-inline-collapsed .x-navigation-item-group-title{overflow:hidden;padding-inline:var(--fd-padding-xs);text-overflow:ellipsis;white-space:nowrap}.x-navigation-inline-collapsed .x-navigation-item-group-title-collapse{margin:var(--fd-gap-sm) var(--fd-padding-layout-xs) 0 var(--fd-padding-layout-xs);padding-block:var(--fd-padding-layout-xs);padding-inline:var(--fd-padding-xs)}.x-navigation-inline-collapsed .x-navigation-item-group-title-collapse .x-navigation-item-divider-line{border-color:var(--fd-color-split);border-style:solid;border-width:1px 0 0}.x-navigation-light,.x-navigation-light>.x-navigation{background:var(--fd-color-bg-container);color:var(--fd-color-text)}.x-navigation-light .x-navigation-item-group-title,.x-navigation-light>.x-navigation .x-navigation-item-group-title{color:var(--fd-color-text-description)}.x-navigation-light .x-navigation-submenu-selected>.x-navigation-submenu-title,.x-navigation-light .x-navigation-submenu-selected>.x-navigation-submenu-title .x-navigation-item-icon,.x-navigation-light>.x-navigation .x-navigation-submenu-selected>.x-navigation-submenu-title,.x-navigation-light>.x-navigation .x-navigation-submenu-selected>.x-navigation-submenu-title .x-navigation-item-icon{color:var(--fd-color-primary)}.x-navigation-light .x-navigation-item-disabled,.x-navigation-light .x-navigation-submenu-disabled,.x-navigation-light>.x-navigation .x-navigation-item-disabled,.x-navigation-light>.x-navigation .x-navigation-submenu-disabled{color:var(--fd-color-text-disabled)!important}.x-navigation-light .x-navigation-item:not(.x-navigation-item-selected):not(.x-navigation-submenu-selected):hover,.x-navigation-light .x-navigation-item:not(.x-navigation-item-selected):not(.x-navigation-submenu-selected)>.x-navigation-submenu-title:hover,.x-navigation-light>.x-navigation .x-navigation-item:not(.x-navigation-item-selected):not(.x-navigation-submenu-selected):hover,.x-navigation-light>.x-navigation .x-navigation-item:not(.x-navigation-item-selected):not(.x-navigation-submenu-selected)>.x-navigation-submenu-title:hover{color:var(--fd-color-text)}.x-navigation-light .x-navigation-item:not(.x-navigation-item-selected):hover,.x-navigation-light>.x-navigation .x-navigation-item:not(.x-navigation-item-selected):hover{background-color:var(--fd-color-bg-text-hover)}.x-navigation-light .x-navigation-item:not(.x-navigation-item-selected):active,.x-navigation-light>.x-navigation .x-navigation-item:not(.x-navigation-item-selected):active{background-color:var(--fd-color-bg-text-active)}.x-navigation-light .x-navigation-submenu-title:hover,.x-navigation-light>.x-navigation .x-navigation-submenu-title:hover{background-color:var(--fd-color-bg-text-hover)}.x-navigation-light .x-navigation-submenu-title:active,.x-navigation-light>.x-navigation .x-navigation-submenu-title:active{background-color:var(--fd-color-bg-text-active)}.x-navigation-light .x-navigation-item-danger,.x-navigation-light .x-navigation-item-danger.x-navigation-item:hover:not(.x-navigation-item-selected):not(.x-navigation-submenu-selected),.x-navigation-light>.x-navigation .x-navigation-item-danger,.x-navigation-light>.x-navigation .x-navigation-item-danger.x-navigation-item:hover:not(.x-navigation-item-selected):not(.x-navigation-submenu-selected){color:var(--fd-color-error)}.x-navigation-light .x-navigation-item-danger.x-navigation-item:active,.x-navigation-light>.x-navigation .x-navigation-item-danger.x-navigation-item:active{background:var(--fd-color-error)}.x-navigation-light .x-navigation-item a,.x-navigation-light .x-navigation-item a:hover,.x-navigation-light>.x-navigation .x-navigation-item a,.x-navigation-light>.x-navigation .x-navigation-item a:hover{color:inherit}.x-navigation-light .x-navigation-item-selected,.x-navigation-light>.x-navigation .x-navigation-item-selected{background-color:var(--fd-control-item-bg-active);color:var(--fd-color-primary)}.x-navigation-light .x-navigation-item-selected.x-navigation-item-danger,.x-navigation-light>.x-navigation .x-navigation-item-selected.x-navigation-item-danger{background-color:var(--fd-color-error-bg);color:var(--fd-color-error)}.x-navigation-light .x-navigation-item-selected a,.x-navigation-light .x-navigation-item-selected a:hover,.x-navigation-light>.x-navigation .x-navigation-item-selected a,.x-navigation-light>.x-navigation .x-navigation-item-selected a:hover{color:inherit}.x-navigation-light.x-navigation-popup>.x-navigation,.x-navigation-light.x-navigation-submenu>.x-navigation,.x-navigation-light>.x-navigation.x-navigation-popup>.x-navigation,.x-navigation-light>.x-navigation.x-navigation-submenu>.x-navigation{background-color:var(--fd-color-bg-elevater)}.x-navigation-light.x-navigation-inline .x-navigation-item,.x-navigation-light>.x-navigation.x-navigation-inline .x-navigation-item{position:relative}.x-navigation-light.x-navigation-inline .x-navigation-item.x-navigation-item-danger:after,.x-navigation-light>.x-navigation.x-navigation-inline .x-navigation-item.x-navigation-item-danger:after{border-inline-end-color:var(--fd-color-error)}.x-navigation-light.x-navigation-inline .x-navigation-item-selected:after,.x-navigation-light.x-navigation-inline .x-navigation-selected:after,.x-navigation-light>.x-navigation.x-navigation-inline .x-navigation-item-selected:after,.x-navigation-light>.x-navigation.x-navigation-inline .x-navigation-selected:after{opacity:1;transform:scaleY(1);transition:transform .3s ease-out,opacity .3s ease-out}.x-carousel{overflow:hidden;position:relative}.x-carousel-content{height:100%;overflow:hidden;position:relative;width:100%}.x-carousel-content>.x-carousel-content-item{height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.x-carousel-content>.x-carousel-content-item-current{z-index:1}.x-carousel-content>.x-carousel-content-fade>*{opacity:0}.x-carousel-content>.x-carousel-content-fade .x-carousel-content-item-current{opacity:1}.x-carousel-content>.x-carousel-content-slide>:not(.x-carousel-content-item-current){visibility:hidden}.x-carousel-content>.x-carousel-content-slide .x-carousel-content-item-slide-out{animation:x-carousel-content-item-keyframe-slide-out;animation-fill-mode:forwards;display:block}.x-carousel-content>.x-carousel-content-slide .x-carousel-content-item-slide-in{animation:x-carousel-content-item-keyframe-slide-in;animation-fill-mode:forwards;display:block}.x-carousel-content>.x-carousel-content-reverse .x-carousel-content-item-slide-out{animation:x-carousel-content-item-keyframe-slide-out-reverse;animation-fill-mode:forwards}.x-carousel-content>.x-carousel-content-reverse .x-carousel-content-item-slide-in{animation:x-carousel-content-item-keyframe-slide-in-reverse;animation-fill-mode:forwards}.x-carousel-indicator{align-items:flex-end;z-index:2}.x-carousel-indicator,.x-carousel-indicator-left{display:flex}.x-carousel-indicator-left{flex-direction:column;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.x-carousel-indicator-left .x-carousel-indicator-item{height:16px;width:3px}.x-carousel-indicator-left .x-carousel-indicator-item .x-carousel-indicator-item-active{height:24px}.x-carousel-indicator-left .x-carousel-indicator-item:not(:last-child){margin-bottom:var(--fd-gap)}.x-carousel-indicator-bottom{bottom:12px;left:50%;position:absolute;transform:translate(-50%)}.x-carousel-indicator-bottom .x-carousel-indicator-item{height:3px;width:16px}.x-carousel-indicator-bottom .x-carousel-indicator-item.x-carousel-indicator-item-active{width:24px}.x-carousel-indicator-bottom .x-carousel-indicator-item:not(:last-child){margin-right:var(--fd-gap)}.x-carousel-indicator-top{left:50%;position:absolute;top:12px;transform:translate(-50%)}.x-carousel-indicator-top .x-carousel-indicator-item{height:3px;width:16px}.x-carousel-indicator-top .x-carousel-indicator-item.x-carousel-indicator-item-active{width:24px}.x-carousel-indicator-top .x-carousel-indicator-item:not(:last-child){margin-right:var(--fd-gap)}.x-carousel-indicator-right{display:flex;flex-direction:column;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.x-carousel-indicator-right .x-carousel-indicator-item{height:16px;width:3px}.x-carousel-indicator-right .x-carousel-indicator-item.x-carousel-indicator-item-active{height:24px}.x-carousel-indicator-right .x-carousel-indicator-item:not(:last-child){margin-bottom:var(--fd-gap)}.x-carousel-indicator-line .x-carousel-indicator-item{background-color:var(--fd-color-bg-container);border-radius:var(--fd-border-radius-xs);cursor:pointer;opacity:.3}.x-carousel-indicator-line .x-carousel-indicator-item.x-carousel-indicator-item-active,.x-carousel-indicator-line .x-carousel-indicator-item:active,.x-carousel-indicator-line .x-carousel-indicator-item:hover{opacity:1}@keyframes x-carousel-content-item-keyframe-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes x-carousel-content-item-keyframe-slide-out{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes x-carousel-content-item-keyframe-slide-in-reverse{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes x-carousel-content-item-keyframe-slide-out-reverse{0%{transform:translate(0)}to{transform:translate(100%)}}:root{--fd-color-brand-1:#e6f8f5;--fd-color-brand-2:#b3eae0;--fd-color-brand-3:#99e3d6;--fd-color-brand-4:#80dccc;--fd-color-brand-5:#4dcdb8;--fd-color-brand-6:#00b899;--fd-color-brand-7:#00937a;--fd-color-brand-8:#006e5c;--fd-color-brand-9:#004a3d;--fd-color-brand-10:#00372e;--fd-color-error-1:#fdeeee;--fd-color-error-2:#f9cbcb;--fd-color-error-3:#f7b9b9;--fd-color-error-4:#f5a8a8;--fd-color-error-5:#f18585;--fd-color-error-6:#eb5050;--fd-color-error-7:#bc4040;--fd-color-error-8:#8d3030;--fd-color-error-9:#5e2020;--fd-color-error-10:#471818;--fd-color-warning-1:#fef6e6;--fd-color-warning-2:#fbe5b3;--fd-color-warning-3:#f9dc99;--fd-color-warning-4:#f8d480;--fd-color-warning-5:#f5c24d;--fd-color-warning-6:#f0a800;--fd-color-warning-7:#c08600;--fd-color-warning-8:#906500;--fd-color-warning-9:#604300;--fd-color-warning-10:#483200;--fd-color-success-1:#edf9f1;--fd-color-success-2:#c8edd4;--fd-color-success-3:#b5e7c5;--fd-color-success-4:#a3e1b7;--fd-color-success-5:#7ed49a;--fd-color-success-6:#46c26f;--fd-color-success-7:#389b59;--fd-color-success-8:#2a7443;--fd-color-success-9:#1c4e2c;--fd-color-success-10:#153a21;--fd-color-info-1:#eaf2fd;--fd-color-info-2:#c1d8f9;--fd-color-info-3:#accbf7;--fd-color-info-4:#97bef5;--fd-color-info-5:#6da4f1;--fd-color-info-6:#2f7deb;--fd-color-info-7:#2664bc;--fd-color-info-8:#1c4b8d;--fd-color-info-9:#13325e;--fd-color-info-10:#0e2647;--fd-color-grey-1:#fff;--fd-color-grey-2:#f5f6f8;--fd-color-grey-3:#f0f1f4;--fd-color-grey-4:#edeff3;--fd-color-grey-5:#e6e8ed;--fd-color-grey-6:#ebecee;--fd-color-grey-7:#e1e3e5;--fd-color-grey-8:#d7d9dc;--fd-color-grey-9:#b5b8be;--fd-color-grey-10:#838892;--fd-color-grey-11:#525967;--fd-color-grey-12:#141e31;--fd-color-grey-13:#000;--fd-color-transparent-1:#000;--fd-color-transparent-2:rgba(0,10,31,.92);--fd-color-transparent-3:rgba(1,11,31,.68);--fd-color-transparent-4:rgba(2,12,33,.49);--fd-color-transparent-5:rgba(0,10,31,.29);--fd-color-transparent-6:rgba(5,18,36,.16);--fd-color-transparent-7:rgba(5,22,38,.12);--fd-color-transparent-8:rgba(5,17,42,.08);--fd-color-transparent-9:rgba(5,25,75,.1);--fd-color-transparent-10:rgba(30,55,105,.08);--fd-color-transparent-11:rgba(5,22,72,.06);--fd-color-transparent-12:rgba(5,30,80,.04);--fd-color-transparent-13:transparent;--fd-border-radius-xs:2px;--fd-border-radius-sm:3px;--fd-border-radius:4px;--fd-border-radius-lg:6px;--fd-border-radius-xl:8px;--fd-gap-xs:2px;--fd-gap-sm:4px;--fd-gap:8px;--fd-gap-lg:10px;--fd-gap-xl:12px;--fd-gap-2xl:16px;--fd-gap-3xl:20px;--fd-gap-4xl:24px;--fd-gap-5xl:24px;--fd-padding-layout-3xs:2px;--fd-padding-layout-2xs:4px;--fd-padding-layout-xs:8px;--fd-padding-layout-sm:12px;--fd-padding-layout:16px;--fd-padding-layout-lg:20px;--fd-padding-layout-xl:24px;--fd-padding-layout-2xl:32px;--fd-padding-layout-3xl:48px;--fd-padding-zero:0;--fd-padding-2xs:2px;--fd-padding-xs:4px;--fd-padding-sm:6px;--fd-padding:8px;--fd-padding-lg:12px;--fd-padding-xl:16px;--fd-padding-2xl:20px;--fd-padding-3xl:24px;--fd-padding-4xl:32px;--fd-control-height-xs:16px;--fd-control-height-sm:24px;--fd-control-height:32px;--fd-control-height-lg:40px;--fd-font-size-sm:12px;--fd-font-size:14px;--fd-font-size-lg:16px;--fd-font-size-xl:18px;--fd-font-size-2xl:20px;--fd-font-size-heading-1:38px;--fd-font-size-heading-2:30px;--fd-font-size-heading-3:24px;--fd-font-size-heading-4:20px;--fd-font-size-heading-5:16px;--fd-control-item-font-weight-active:400;--fd-icon-size-2sm:12px;--fd-icon-size-sm:14px;--fd-icon-size:16px;--fd-icon-size-lg:18px;--fd-line-height-sm:20px;--fd-line-height:22px;--fd-line-height-lg:24px;--fd-line-height-xl:26px;--fd-line-height-2xl:28px;--fd-line-height-heading-1:46px;--fd-line-height-heading-2:38px;--fd-line-height-heading-3:32px;--fd-line-height-heading-4:28px;--fd-line-height-heading-5:24px;--fd-line-width:1px;--fd-line-width-bold:2px;--fd-line-width-focus:4px;--fd-control-outline-width:2px;--fd-color-primary:var(--fd-color-brand-6);--fd-color-primary-active:var(--fd-color-brand-7);--fd-color-primary-hover:var(--fd-color-brand-5);--fd-color-primary-bg:var(--fd-color-brand-1);--fd-color-primary-bg-active:var(--fd-color-brand-3);--fd-color-primary-bg-hover:var(--fd-color-brand-2);--fd-color-primary-border:var(--fd-color-brand-3);--fd-color-primary-border-hover:var(--fd-color-brand-4);--fd-color-primary-text:var(--fd-color-brand-6);--fd-color-primary-text-active:var(--fd-color-brand-7);--fd-color-primary-text-hover:var(--fd-color-brand-5);--fd-color-link:var(--fd-color-brand-6);--fd-color-link-active:var(--fd-color-brand-7);--fd-color-link-hover:var(--fd-color-brand-4);--fd-color-control-outline:rgba(0,184,153,.1);--fd-color-info:var(--fd-color-info-6);--fd-color-info-active:var(--fd-color-info-7);--fd-color-info-hover:var(--fd-color-info-4);--fd-color-info-bg:var(--fd-color-info-1);--fd-color-info-bg-hover:var(--fd-color-info-2);--fd-color-info-border:var(--fd-color-info-3);--fd-color-info-border-hover:var(--fd-color-info-4);--fd-color-info-text:var(--fd-color-info-6);--fd-color-info-text-active:var(--fd-color-info-7);--fd-color-info-text-hover:var(--fd-color-info-5);--fd-color-success:var(--fd-color-success-6);--fd-color-success-active:var(--fd-color-success-7);--fd-color-success-hover:var(--fd-color-success-4);--fd-color-success-bg:var(--fd-color-success-1);--fd-color-success-bg-hover:var(--fd-color-success-2);--fd-color-success-border:var(--fd-color-success-3);--fd-color-success-border-hover:var(--fd-color-success-4);--fd-color-success-text:var(--fd-color-success-6);--fd-color-success-text-active:var(--fd-color-success-7);--fd-color-success-text-hover:var(--fd-color-success-5);--fd-color-warning:var(--fd-color-warning-6);--fd-color-warning-active:var(--fd-color-warning-7);--fd-color-warning-hover:var(--fd-color-warning-4);--fd-color-warning-bg:var(--fd-color-warning-1);--fd-color-warning-bg-hover:var(--fd-color-warning-2);--fd-color-warning-border:var(--fd-color-warning-3);--fd-color-warning-border-hover:var(--fd-color-warning-4);--fd-color-warning-text:var(--fd-color-warning-6);--fd-color-warning-text-active:var(--fd-color-warning-7);--fd-color-warning-text-hover:var(--fd-color-warning-5);--fd-color-warning-outline:rgba(240,168,0,.1);--fd-color-error:var(--fd-color-error-6);--fd-color-error-active:var(--fd-color-error-7);--fd-color-error-hover:var(--fd-color-error-5);--fd-color-error-bg:var(--fd-color-error-1);--fd-color-error-bg-hover:var(--fd-color-error-2);--fd-color-error-bg-active:var(--fd-color-error-3);--fd-color-error-border:var(--fd-color-error-3);--fd-color-error-border-hover:var(--fd-color-error-4);--fd-color-error-text:var(--fd-color-error-6);--fd-color-error-text-active:var(--fd-color-error-7);--fd-color-error-text-hover:var(--fd-color-error-5);--fd-color-error-outline:rgba(235,80,80,.06);--fd-color-white:#fff;--fd-color-black:#000;--fd-color-transparent:var(--fd-color-transparent-13);--fd-color-text:var(--fd-color-transparent-2);--fd-color-text-secondary:var(--fd-color-transparent-3);--fd-color-text-tertiary:var(--fd-color-transparent-4);--fd-color-text-quaternary:var(--fd-color-transparent-5);--fd-color-text-placeholder:var(--fd-color-text-quaternary);--fd-color-text-description:var(--fd-color-text-tertiary);--fd-color-text-disabled:var(--fd-color-text-quaternary);--fd-color-text-data-disabled:var(--fd-color-text-disabled);--fd-color-text-heading:var(--fd-color-text);--fd-color-text-light-solid:#fff;--fd-color-text-label:var(--fd-color-text-secondary);--fd-color-text-active:var(--fd-color-fill);--fd-color-fill:var(--fd-color-transparent-7);--fd-color-fill-secondary:var(--fd-color-transparent-9);--fd-color-fill-tertiary:var(--fd-color-transparent-11);--fd-color-fill-quaternary:var(--fd-color-transparent-12);--fd-color-bg-container:var(--fd-color-white);--fd-color-bg-container-disabled:var(--fd-color-fill-quaternary);--fd-color-bg-elevater:#fff;--fd-color-bg-spotilight:var(--fd-color-transparent-3);--fd-color-bg-mask:var(--fd-color-transparent-5);--fd-control-item-bg-hover:var(--fd-color-fill-tertiary);--fd-control-item-bg-active:var(--fd-color-primary-bg);--fd-control-item-bg-active-hover:var(--fd-color-primary-bg-hover);--fd-control-item-bg-active-disabled:var(--fd-color-fill);--fd-color-bg-text-hover:var(--fd-color-fill-secondary);--fd-color-bg-text-active:var(--fd-color-fill);--fd-color-fill-alter:var(--fd-color-fill-quaternary);--fd-color-fill-content:var(--fd-color-fill-secondary);--fd-color-icon:var(--fd-color-text-tertiary);--fd-color-icon-hover:var(--fd-color-text-secondary);--fd-color-icon-active:var(--fd-color-text);--fd-color-icon-normal:var(--fd-color-text-secondary);--fd-color-border:var(--fd-color-grey-5);--fd-color-border-secondary:var(--fd-color-grey-4);--fd-color-split:var(--fd-color-border-secondary);--fd-box-shadow:0 0 0 0 #000,0 6px 30px 5px rgba(0,0,0,.05),0 16px 24px 2px rgba(0,0,0,.04),0 0 0 0 #000;--fd-box-shadow-secondary:0 0 0 0 #000,0 3px 14px 2px rgba(0,0,0,.05),0 6px 10px 1px rgba(0,0,0,.06),0 0 0 0 #000;--fd-box-shadow-tertiary:0 0 0 0 #000,0 2px 10px 0 rgba(0,0,0,.04),0 6px 10px 0 rgba(0,0,0,.06),0 0 0 0 #000}*,:after,:before{box-sizing:content-box}.-translate-y-full,.group-\\[\\.v-wrapper\\]\\:rotate-90,.rotate-180,.rotate-90,.transform,.translate-x-1\\/2,.translate-x-\\[-50\\%\\],.translate-y-\\[-50\\%\\]{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1}.shadow-lg{--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.solid-border{border-color:var(--fd-color-border);border-style:solid;border-width:1px}.solid-border-l{border-color:var(--fd-color-border);border-width:0;border-left-width:1px!important;border-style:solid}.solid-border-r{border-color:var(--fd-color-border);border-width:0;border-right-width:1px!important;border-style:solid}.solid-border-t{border-color:var(--fd-color-border);border-style:solid;border-width:0;border-top-width:1px!important}.solid-border-b{border-width:0;border-bottom-width:1px!important;border-color:var(--fd-color-border);border-style:solid}.text-ellipse{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collapse{visibility:collapse}.static{position:static}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.bottom-\\[-6px\\]{bottom:-6px}.bottom-layoutSm{bottom:var(--fd-padding-layout-sm)}.left-1\\/2{left:50%}.left-\\[12px\\]{left:12px}.right-0{right:0}.right-\\[-2px\\]{right:-2px}.right-layoutSm{right:var(--fd-padding-layout-sm)}.top-1\\/2{top:50%}.top-\\[12px\\]{top:12px}.z-\\[1\\]{z-index:1}.m-\\[4px_8px\\]{margin:4px 8px}.m-gap{margin:var(--fd-gap)}.mx-layoutSm{margin-left:var(--fd-padding-layout-sm);margin-right:var(--fd-padding-layout-sm)}.\\!ml-\\[0\\]{margin-left:0!important}.\\!ml-gap{margin-left:var(--fd-gap)!important}.-mt-\\[12px\\]{margin-top:-12px}.mb-\\[10px\\]{margin-bottom:10px}.mb-layoutXs{margin-bottom:var(--fd-padding-layout-xs)}.ml-auto{margin-left:auto}.mt-\\[10px\\]{margin-top:10px}.mt-gap{margin-top:var(--fd-gap)}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.h-\\[16px\\]{height:16px}.h-\\[18px\\]{height:18px}.h-\\[20px\\]{height:20px}.h-control{height:var(--fd-control-height)}.h-full{height:100%}.max-h-\\[164px\\]{max-height:164px}.min-h-\\[0\\]{min-height:0}.w-\\[16px\\]{width:16px}.w-\\[18px\\]{width:18px}.w-\\[200px\\]{width:200px}.w-\\[20px\\]{width:20px}.w-\\[24px\\]{width:24px}.w-\\[30px\\]{width:30px}.w-full{width:100%}.min-w-0{min-width:0}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.basis-\\[30px\\]{flex-basis:30px}.basis-\\[60px\\]{flex-basis:60px}.-translate-y-full{--tw-translate-y:-100%}.-translate-y-full,.translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1\\/2{--tw-translate-x:50%}.translate-x-\\[-50\\%\\]{--tw-translate-x:-50%}.translate-x-\\[-50\\%\\],.translate-y-\\[-50\\%\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[-50\\%\\]{--tw-translate-y:-50%}.rotate-180{--tw-rotate:180deg}.rotate-180,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded{border-radius:var(--fd-border-radius)}.rounded-\\[50\\%\\]{border-radius:50%}.rounded-lg{border-radius:var(--fd-border-radius-lg)}.rounded-xl{border-radius:var(--fd-border-radius-xl)}.rounded-ee-\\[0\\]{border-end-end-radius:0}.rounded-ee-xl{border-end-end-radius:var(--fd-border-radius-xl)}.rounded-es-\\[0\\]{border-end-start-radius:0}.rounded-es-lg{border-end-start-radius:var(--fd-border-radius-lg)}.rounded-se-\\[0\\]{border-start-end-radius:0}.rounded-se-xl{border-start-end-radius:var(--fd-border-radius-xl)}.rounded-ss-\\[0\\]{border-start-start-radius:0}.rounded-ss-lg{border-start-start-radius:var(--fd-border-radius-lg)}.border{border-width:1px}.\\!border-r-transparent{border-right-color:transparent!important}.bg-container{background-color:var(--fd-color-bg-container)}.bg-container-disabled{background-color:var(--fd-color-bg-container-disabled)}.bg-error{background-color:var(--fd-color-error)}.bg-fill-quaternary{background-color:var(--fd-color-fill-quaternary)}.bg-fill-secondary{background-color:var(--fd-color-fill-secondary)}.bg-text-active{background-color:var(--fd-color-bg-text-active)}.p-\\[4px_0\\]{padding:4px 0}.p-\\[4px_8px\\]{padding:4px 8px}.px-\\[4px\\]{padding-left:4px;padding-right:4px}.px-layoutSm{padding-left:var(--fd-padding-layout-sm);padding-right:var(--fd-padding-layout-sm)}.py-\\[4px\\]{padding-bottom:4px;padding-top:4px}.py-gap{padding-bottom:var(--fd-gap);padding-top:var(--fd-gap)}.pt-layoutXs{padding-top:var(--fd-padding-layout-xs)}.text-center{text-align:center}.align-\\[-0\\.14em\\]{vertical-align:-.14em}.\\!text{font-size:var(--fd-font-size)!important}.text{font-size:var(--fd-font-size)}.text-lg{font-size:var(--fd-font-size-lg)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.leading{line-height:var(--fd-line-height)}.leading-\\[14px\\]{line-height:14px}.text-disabled{color:var(--fd-color-text-disabled)}.text-error{color:var(--fd-color-error)}.text-icon{color:var(--fd-color-icon-normal)}.text-lightSolid{color:var(--fd-color-text-light-solid)}.text-search{color:var(--fd-color-warning)}.text-text{color:var(--fd-color-text)}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.ease-linear{transition-timing-function:linear}.x-search-input .input-wrapper{height:calc(var(--fd-control-height-sm) + 2px)}.x-search-input .input-wrapper .input-content{inset:1px;line-height:0}.\\[\\&\\>\\.leaf-node\\]\\:solid-border>.leaf-node{border-color:var(--fd-color-border);border-style:solid;border-width:1px}.after\\:hidden:after{content:var(--tw-content);display:none}.hover\\:bg-fill-secondary:hover{background-color:var(--fd-color-fill-secondary)}.hover\\:bg-text-hover:hover{background-color:var(--fd-color-bg-text-hover)}.hover\\:text-primary:hover{color:var(--fd-color-primary)}.active\\:bg-text-active:active{background-color:var(--fd-color-bg-text-active)}.group:hover .group-hover-\\[\\.h-wrapper\\]\\:text-primary{color:var(--fd-color-primary)}.group.h-wrapper .group-\\[\\.h-wrapper\\]\\:mt-\\[6px\\]{margin-top:6px}.group.v-wrapper .group-\\[\\.v-wrapper\\]\\:ml-\\[12px\\]{margin-left:12px}.group.h-wrapper .group-\\[\\.h-wrapper\\]\\:inline-block{display:inline-block}.group.h-wrapper .group-\\[\\.h-wrapper\\]\\:w-full{width:100%}.group.v-wrapper .group-\\[\\.v-wrapper\\]\\:rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group.h-wrapper .group-\\[\\.h-wrapper\\]\\:text-center{text-align:center}.\\[\\&\\>\\.fd-svgicon\\]\\:h-\\[16px\\]>.fd-svgicon{height:16px}.\\[\\&\\>\\.fd-svgicon\\]\\:text-\\[16px\\]>.fd-svgicon{font-size:16px}.\\[\\&\\>\\.item-icon\\]\\:\\!text-error>.item-icon{color:var(--fd-color-error)!important}.\\[\\&\\>\\.leaf-node\\]\\:flex-1>.leaf-node{flex:1 1 0%}.\\[\\&\\>\\.leaf-node\\]\\:rounded-lg>.leaf-node{border-radius:var(--fd-border-radius-lg)}.\\[\\&\\>\\.logic-wrapper\\]\\:m-\\[0\\]>.logic-wrapper{margin:0}.\\[\\&_\\.x-list-tree\\]\\:overflow-x-hidden .x-list-tree{overflow-x:hidden}:where(.fdi-global-adaptor *){border-width:0;border-style:solid}:where(.fdi-global-adaptor *) img{display:inline}.fdi-global-adaptor *{box-sizing:border-box}#fdi-data-choose{width:100%;height:100%}ul{margin:0}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.fdi-component-font-sm,.fdi-component-font-md{font-size:12px;line-height:20px}.fdi-component-font-lg{font-size:14px;line-height:22px}.fdi-component-font-xl{font-size:16px;line-height:24px}.fdi-component-font-xxl{font-size:18px;line-height:26px}.fdi-component-title-sm{font-size:12px;line-height:20px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;font-weight:600}.fdi-component-border-0{border-width:0px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(218 222 231 / var(--tw-border-opacity))}.fdi-component-border-1{border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(218 222 231 / var(--tw-border-opacity))}.fdi-component-border-r{border-width:0px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(218 222 231 / var(--tw-border-opacity));border-right-width:1px}.fdi-component-border-t{border-width:0px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(218 222 231 / var(--tw-border-opacity));border-top-width:1px}.fdi-component-border-b{border-width:0px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(218 222 231 / var(--tw-border-opacity));border-bottom-width:1px}.fdi-component-border-transparent{border-width:1px;border-style:solid;border-color:transparent}.fdi-component-border-normal{border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(230 233 239 / var(--tw-border-opacity))}.fdi-component-keyword-highlight{background-color:transparent;--tw-text-opacity: 1;color:rgb(240 172 60 / var(--tw-text-opacity))}.fdi-component-text-placeholder{color:#091e4078}.fdi-component-text-secondary{color:#091e40a8}.fdi-component-flex-col-layout{display:flex;height:100%;width:100%;flex-direction:column}.fdi-component-absolute-0-layout{position:absolute;inset:0}.fdi-component-center-layout{display:flex;align-items:center;justify-content:center}.fdi-component-flex-h-fill-layout{height:0px;flex:1 1 0%}.fdi-component-flex-w-fill-layout{width:0px;flex:1 1 0%}.fdi-component-grid-auto-fill-layout{display:grid;grid-template-columns:auto minmax(0,1fr)}.fdi-component-list-item{cursor:pointer;border-radius:.25rem}.fdi-component-list-item:hover{--tw-bg-opacity: 1;background-color:rgb(238 241 246 / var(--tw-bg-opacity))}.fdi-component-list-item:active{--tw-bg-opacity: 1;background-color:rgb(230 233 239 / var(--tw-bg-opacity))}.fdi-component-list-item.selected{--tw-bg-opacity: 1;background-color:rgb(229 239 255 / var(--tw-bg-opacity))}.fdi-component-active-tag{--tw-bg-opacity: 1;background-color:rgb(229 239 255 / var(--tw-bg-opacity));font-weight:600;--tw-text-opacity: 1;color:rgb(44 96 219 / var(--tw-text-opacity))}.fdi-component-primary-button{border:0;background:linear-gradient(299deg,#2562FF 34.69%,#4584FF 100%)!important}.fdi-pointer-events-none{pointer-events:none}.fdi-visible{visibility:visible}.fdi-invisible{visibility:hidden}.fdi-fixed{position:fixed}.fdi-absolute{position:absolute}.fdi-relative{position:relative}.fdi-inset-0{inset:0}.fdi-bottom-0{bottom:0}.fdi-left-0{left:0}.fdi-left-4{left:1rem}.fdi-left-\\[4px\\]{left:4px}.fdi-left-md{left:8px}.fdi-right-0{right:0}.fdi-right-4{right:1rem}.fdi-right-lg{right:12px}.fdi-right-xl{right:16px}.fdi-top-0{top:0}.fdi-top-1\\/2{top:50%}.fdi-top-\\[28px\\]{top:28px}.fdi-top-\\[32px\\]{top:32px}.fdi-top-\\[34px\\]{top:34px}.fdi-top-lg{top:12px}.fdi-top-sm{top:4px}.fdi-top-xl{top:16px}.fdi-z-0{z-index:0}.fdi-z-10{z-index:10}.fdi-m-0{margin:0}.fdi-m-6{margin:1.5rem}.fdi-m-\\[8px\\]{margin:8px}.fdi-mx-lg{margin-left:10px;margin-right:10px}.fdi-mx-md{margin-left:8px;margin-right:8px}.fdi-my-0{margin-top:0;margin-bottom:0}.fdi-mb-2{margin-bottom:.5rem}.fdi-mb-6{margin-bottom:1.5rem}.fdi-mb-\\[-16px\\]{margin-bottom:-16px}.fdi-mb-\\[20px\\]{margin-bottom:20px}.fdi-mb-\\[36px\\]{margin-bottom:36px}.fdi-mb-md{margin-bottom:8px}.fdi-mb-sm{margin-bottom:6px}.fdi-mb-xl{margin-bottom:12px}.fdi-mb-xxl{margin-bottom:16px}.fdi-ml-1{margin-left:.25rem}.fdi-ml-\\[4px\\]{margin-left:4px}.fdi-ml-lg{margin-left:10px}.fdi-ml-md{margin-left:8px}.fdi-ml-xl{margin-left:12px}.fdi-ml-xs{margin-left:2px}.fdi-mr-\\[4px\\]{margin-right:4px}.fdi-mr-\\[6px\\]{margin-right:6px}.fdi-mr-\\[9px\\]{margin-right:9px}.fdi-mr-md{margin-right:8px}.fdi-mr-sm{margin-right:6px}.fdi-mt-5{margin-top:1.25rem}.fdi-mt-md{margin-top:8px}.fdi-mt-sm{margin-top:6px}.fdi-mt-xl{margin-top:12px}.fdi-mt-xs{margin-top:2px}.fdi-mt-xxl{margin-top:16px}.fdi-box-border{box-sizing:border-box}.fdi-line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.fdi-line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.fdi-line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.fdi-block{display:block}.fdi-inline-block{display:inline-block}.fdi-flex{display:flex}.fdi-inline-flex{display:inline-flex}.fdi-hidden{display:none}.fdi-h-4{height:1rem}.fdi-h-6{height:1.5rem}.fdi-h-\\[120px\\]{height:120px}.fdi-h-\\[14px\\]{height:14px}.fdi-h-\\[20px\\]{height:20px}.fdi-h-\\[24px\\]{height:24px}.fdi-h-\\[28px\\]{height:28px}.fdi-h-\\[32px\\]{height:32px}.fdi-h-\\[36px\\]{height:36px}.fdi-h-\\[40px\\]{height:40px}.fdi-h-\\[420px\\]{height:420px}.fdi-h-auto{height:auto}.fdi-h-full{height:100%}.fdi-max-h-\\[232px\\]{max-height:232px}.fdi-max-h-\\[278px\\]{max-height:278px}.fdi-max-h-\\[300px\\]{max-height:300px}.fdi-max-h-\\[428px\\]{max-height:428px}.fdi-max-h-\\[450px\\]{max-height:450px}.fdi-min-h-\\[280px\\]{min-height:280px}.fdi-w-4{width:1rem}.fdi-w-\\[100px\\]{width:100px}.fdi-w-\\[116px\\]{width:116px}.fdi-w-\\[120px\\]{width:120px}.fdi-w-\\[160px\\]{width:160px}.fdi-w-\\[176px\\]{width:176px}.fdi-w-\\[200px\\]{width:200px}.fdi-w-\\[236px\\]{width:236px}.fdi-w-\\[240px\\]{width:240px}.fdi-w-\\[252px\\]{width:252px}.fdi-w-\\[36px\\]{width:36px}.fdi-w-\\[370px\\]{width:370px}.fdi-w-\\[3px\\]{width:3px}.fdi-w-\\[400px\\]{width:400px}.fdi-w-\\[408px\\]{width:408px}.fdi-w-\\[424px\\]{width:424px}.fdi-w-\\[68px\\]{width:68px}.fdi-w-\\[80px\\]{width:80px}.fdi-w-full{width:100%}.fdi-min-w-\\[40px\\]{min-width:40px}.fdi-max-w-\\[200px\\]{max-width:200px}.fdi-max-w-\\[238px\\]{max-width:238px}.fdi-max-w-full{max-width:100%}.fdi-flex-0{flex:0 0 auto}.fdi-flex-1{flex:1 1 0%}.fdi-flex-none{flex:none}.fdi-flex-shrink-0{flex-shrink:0}.fdi-shrink{flex-shrink:1}.fdi-shrink-0{flex-shrink:0}.fdi-grow{flex-grow:1}.fdi--translate-y-2\\/4{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.fdi-rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.fdi-cursor-default{cursor:default}.fdi-cursor-move{cursor:move}.fdi-cursor-pointer{cursor:pointer}.fdi-flex-col{flex-direction:column}.fdi-flex-wrap{flex-wrap:wrap}.fdi-items-center{align-items:center}.fdi-items-stretch{align-items:stretch}.\\!fdi-justify-start{justify-content:flex-start!important}.fdi-justify-start{justify-content:flex-start}.fdi-justify-end{justify-content:flex-end}.fdi-justify-center{justify-content:center}.fdi-justify-between{justify-content:space-between}.fdi-justify-stretch{justify-content:stretch}.\\!fdi-gap-1{gap:.25rem!important}.fdi-gap-5{gap:1.25rem}.fdi-gap-\\[2px\\]{gap:2px}.fdi-gap-\\[32px\\]{gap:32px}.fdi-gap-\\[4px\\]{gap:4px}.fdi-gap-\\[8px\\]{gap:8px}.fdi-gap-lg{gap:10px}.fdi-gap-md{gap:8px}.fdi-gap-sm{gap:6px}.fdi-gap-xl{gap:12px}.fdi-gap-xxl{gap:16px}.fdi-gap-x-\\[6px\\]{-moz-column-gap:6px;column-gap:6px}.fdi-self-start{align-self:flex-start}.fdi-self-center{align-self:center}.fdi-overflow-auto{overflow:auto}.fdi-overflow-hidden{overflow:hidden}.fdi-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fdi-whitespace-break-spaces{white-space:break-spaces}.fdi-break-all{word-break:break-all}.\\!fdi-rounded-xs{border-radius:2px!important}.fdi-rounded{border-radius:.25rem}.fdi-rounded-lg{border-radius:6px}.fdi-rounded-xl{border-radius:8px}.fdi-rounded-b-sm{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.fdi-rounded-bl-xl{border-bottom-left-radius:8px}.fdi-rounded-br-xl{border-bottom-right-radius:8px}.fdi-border{border-width:1px}.fdi-border-b{border-bottom-width:1px}.fdi-border-l{border-left-width:1px}.fdi-border-r{border-right-width:1px}.fdi-border-t-2{border-top-width:2px}.fdi-border-none{border-style:none}.fdi-border-brand-light-4{--tw-border-opacity: 1;border-color:rgb(135 176 247 / var(--tw-border-opacity))}.fdi-border-neutral-light-3{--tw-border-opacity: 1;border-color:rgb(230 233 239 / var(--tw-border-opacity))}.fdi-border-neutral-light-4{--tw-border-opacity: 1;border-color:rgb(218 222 231 / var(--tw-border-opacity))}.fdi-border-transparent{border-color:transparent}.fdi-border-t-brand-light-6{--tw-border-opacity: 1;border-top-color:rgb(44 96 219 / var(--tw-border-opacity))}.\\!fdi-bg-neutral-alpha-light-6{background-color:#091e404a!important}.\\!fdi-bg-transparent{background-color:transparent!important}.fdi-bg-brand-light-2{--tw-bg-opacity: 1;background-color:rgb(229 239 255 / var(--tw-bg-opacity))}.fdi-bg-brand-light-6{--tw-bg-opacity: 1;background-color:rgb(44 96 219 / var(--tw-bg-opacity))}.fdi-bg-netr-light-1{--tw-bg-opacity: 1;background-color:rgb(248 249 252 / var(--tw-bg-opacity))}.fdi-bg-neutral-light-0{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.fdi-bg-neutral-light-1{--tw-bg-opacity: 1;background-color:rgb(248 249 252 / var(--tw-bg-opacity))}.fdi-bg-neutral-light-2{--tw-bg-opacity: 1;background-color:rgb(238 241 246 / var(--tw-bg-opacity))}.fdi-bg-orange-light-1{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity))}.fdi-bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.fdi-bg-opacity-80{--tw-bg-opacity: .8}.fdi-p-0{padding:0}.fdi-p-1{padding:.25rem}.fdi-p-1\\.5{padding:.375rem}.fdi-p-4{padding:1rem}.fdi-p-5{padding:1.25rem}.fdi-p-\\[16px\\]{padding:16px}.fdi-p-\\[6px\\]{padding:6px}.fdi-p-lg,.fdi-p-sm{padding:8px}.fdi-p-xl{padding:12px}.fdi-p-xs{padding:4px}.fdi-p-xxl{padding:20px}.fdi-p-xxs{padding:2px}.\\!fdi-px-0{padding-left:0!important;padding-right:0!important}.\\!fdi-px-lg,.\\!fdi-px-md{padding-left:8px!important;padding-right:8px!important}.\\!fdi-py-\\[6px\\]{padding-top:6px!important;padding-bottom:6px!important}.fdi-px-\\[16px\\]{padding-left:16px;padding-right:16px}.fdi-px-lg,.fdi-px-sm{padding-left:8px;padding-right:8px}.fdi-px-xl{padding-left:12px;padding-right:12px}.fdi-px-xxl{padding-left:20px;padding-right:20px}.fdi-py-\\[3px\\]{padding-top:3px;padding-bottom:3px}.fdi-py-\\[6px\\]{padding-top:6px;padding-bottom:6px}.fdi-py-lg,.fdi-py-sm{padding-top:8px;padding-bottom:8px}.fdi-py-xl{padding-top:12px;padding-bottom:12px}.fdi-py-xs{padding-top:4px;padding-bottom:4px}.fdi-py-xxl{padding-top:20px;padding-bottom:20px}.\\!fdi-pl-0{padding-left:0!important}.\\!fdi-pl-sm{padding-left:8px!important}.\\!fdi-pr-sm{padding-right:8px!important}.fdi-pb-\\[16px\\]{padding-bottom:16px}.fdi-pb-lg,.fdi-pb-md,.fdi-pb-sm{padding-bottom:8px}.fdi-pb-xl{padding-bottom:12px}.fdi-pb-xs{padding-bottom:4px}.fdi-pb-xxl{padding-bottom:20px}.fdi-pl-4{padding-left:1rem}.fdi-pl-lg,.fdi-pl-sm{padding-left:8px}.fdi-pl-xl{padding-left:12px}.fdi-pl-xs{padding-left:4px}.fdi-pl-xxxl{padding-left:24px}.fdi-pr-lg{padding-right:8px}.fdi-pr-xs{padding-right:4px}.fdi-pr-xxl{padding-right:20px}.fdi-pr-xxxl{padding-right:24px}.fdi-pt-\\[16px\\]{padding-top:16px}.fdi-pt-lg{padding-top:8px}.fdi-pt-xl{padding-top:12px}.fdi-pt-xs{padding-top:4px}.fdi-pt-xxl{padding-top:20px}.fdi-pt-xxs{padding-top:2px}.fdi-text-left{text-align:left}.fdi-text-center{text-align:center}.fdi-text-\\[20px\\]{font-size:20px}.fdi-text-sm{font-size:12px}.fdi-text-xxl{font-size:18px}.fdi-text-xxxl{font-size:36px}.fdi-font-400{font-weight:400}.fdi-font-600{font-weight:600}.fdi-font-bold{font-weight:700}.fdi-font-normal{font-weight:400}.fdi-font-semibold{font-weight:600}.fdi-leading-4{line-height:1rem}.fdi-leading-5{line-height:1.25rem}.fdi-leading-\\[22px\\]{line-height:22px}.fdi-leading-\\[28px\\]{line-height:28px}.fdi-leading-normal{line-height:1.5}.fdi-leading-sm{line-height:20px}.fdi-leading-xxl{line-height:26px}.fdi-leading-xxxl{line-height:50px}.\\!fdi-text-neutral-light-12{--tw-text-opacity: 1 !important;color:rgb(9 30 64 / var(--tw-text-opacity))!important}.fdi-text-black-2{color:#091e40a8}.fdi-text-black-3{color:#091e4078}.fdi-text-brand-light-6{--tw-text-opacity: 1;color:rgb(44 96 219 / var(--tw-text-opacity))}.fdi-text-brand-light-7{--tw-text-opacity: 1;color:rgb(28 75 186 / var(--tw-text-opacity))}.fdi-text-coral-red-light-6{--tw-text-opacity: 1;color:rgb(230 82 81 / var(--tw-text-opacity))}.fdi-text-neutral-light-12{--tw-text-opacity: 1;color:rgb(9 30 64 / var(--tw-text-opacity))}.fdi-text-spring-green-light-6{--tw-text-opacity: 1;color:rgb(36 143 46 / var(--tw-text-opacity))}.fdi-underline-offset-2{text-underline-offset:2px}.fdi-shadow-light-small{--tw-shadow: 0px 4px 12px 0px rgba(9, 30, 64, .08);--tw-shadow-colored: 0px 4px 12px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.fdi-transition-\\[width\\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.fdi-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.fdi-duration-200{transition-duration:.2s}.fdi-duration-300{transition-duration:.3s}.hover\\:fdi-component-border-1:hover{border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(218 222 231 / var(--tw-border-opacity))}.hover\\:fdi-bg-neutral-light-0:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.hover\\:fdi-bg-orange-light-2:hover{--tw-bg-opacity: 1;background-color:rgb(255 245 215 / var(--tw-bg-opacity))}.hover\\:fdi-text-brand-light-5:hover{--tw-text-opacity: 1;color:rgb(82 133 234 / var(--tw-text-opacity))}.active\\:fdi-text-brand-light-7:active{--tw-text-opacity: 1;color:rgb(28 75 186 / var(--tw-text-opacity))}.fdi-group:hover .group-hover\\:fdi-block{display:block}.fdi-filter-condition-pane-content .inner-pane .leaf-node{--tw-bg-opacity: 1;background-color:rgb(248 249 252 / var(--tw-bg-opacity));height:auto}.fdi-filter-condition-pane-content .inner-pane .leaf-node>button>.ant-btn-icon{font-size:16px}.fdi-filter-condition-pane-content .inner-pane .leaf-node>button>.ant-btn-icon svg{vertical-align:middle}.fdi-filter-condition-pane-content>.ant-space-align-center{margin-top:6px}
-`,document.head.appendChild(mv);var On=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function qt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function oo(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){if(this instanceof n){var a=[null];a.push.apply(a,arguments);var o=Function.bind.apply(t,a);return new o}return t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,a.get?a:{enumerable:!0,get:function(){return e[n]}})}),r}var xv={},See={get exports(){return xv},set exports(e){xv=e}},Zm={},m={},Eee={get exports(){return m},set exports(e){m=e}},dr={};/**
+(function(wv){typeof define=="function"&&define.amd?define(wv):wv()})(function(){"use strict";var wv=document.createElement("style");wv.textContent=`:root{--fd-color-brand-1:#e6f8f5;--fd-color-brand-2:#b3eae0;--fd-color-brand-3:#99e3d6;--fd-color-brand-4:#80dccc;--fd-color-brand-5:#4dcdb8;--fd-color-brand-6:#00B899;--fd-color-brand-7:#00937a;--fd-color-brand-8:#006e5c;--fd-color-brand-9:#004a3d;--fd-color-brand-10:#00372e;--fd-color-error-1:#fdeeee;--fd-color-error-2:#f9cbcb;--fd-color-error-3:#f7b9b9;--fd-color-error-4:#f5a8a8;--fd-color-error-5:#f18585;--fd-color-error-6:#EB5050;--fd-color-error-7:#bc4040;--fd-color-error-8:#8d3030;--fd-color-error-9:#5e2020;--fd-color-error-10:#471818;--fd-color-warning-1:#fef6e6;--fd-color-warning-2:#fbe5b3;--fd-color-warning-3:#f9dc99;--fd-color-warning-4:#f8d480;--fd-color-warning-5:#f5c24d;--fd-color-warning-6:#F0A800;--fd-color-warning-7:#c08600;--fd-color-warning-8:#906500;--fd-color-warning-9:#604300;--fd-color-warning-10:#483200;--fd-color-success-1:#edf9f1;--fd-color-success-2:#c8edd4;--fd-color-success-3:#b5e7c5;--fd-color-success-4:#a3e1b7;--fd-color-success-5:#7ed49a;--fd-color-success-6:#46C26F;--fd-color-success-7:#389b59;--fd-color-success-8:#2a7443;--fd-color-success-9:#1c4e2c;--fd-color-success-10:#153a21;--fd-color-info-1:#eaf2fd;--fd-color-info-2:#c1d8f9;--fd-color-info-3:#accbf7;--fd-color-info-4:#97bef5;--fd-color-info-5:#6da4f1;--fd-color-info-6:#2F7DEB;--fd-color-info-7:#2664bc;--fd-color-info-8:#1c4b8d;--fd-color-info-9:#13325e;--fd-color-info-10:#0e2647;--fd-color-grey-1:#FFFFFF;--fd-color-grey-2:#F5F6F8;--fd-color-grey-3:#F0F1F4;--fd-color-grey-4:#EDEFF3;--fd-color-grey-5:#E6E8ED;--fd-color-grey-6:#EBECEE;--fd-color-grey-7:#E1E3E5;--fd-color-grey-8:#D7D9DC;--fd-color-grey-9:#B5B8BE;--fd-color-grey-10:#838892;--fd-color-grey-11:#525967;--fd-color-grey-12:#141E31;--fd-color-grey-13:#000000;--fd-color-transparent-1:#000000;--fd-color-transparent-2:rgba(0, 10, 31, .92);--fd-color-transparent-3:rgba(1, 11, 31, .68);--fd-color-transparent-4:rgba(2, 12, 33, .49);--fd-color-transparent-5:rgba(0, 10, 31, .29);--fd-color-transparent-6:rgba(5, 18, 36, .16);--fd-color-transparent-7:rgba(5, 22, 38, .12);--fd-color-transparent-8:rgba(5, 17, 42, .08);--fd-color-transparent-9:rgba(5, 25, 75, .1);--fd-color-transparent-10:rgba(30, 55, 105, .08);--fd-color-transparent-11:rgba(5, 22, 72, .06);--fd-color-transparent-12:rgba(5, 30, 80, .04);--fd-color-transparent-13:transparent;--fd-border-radius-xs:2px;--fd-border-radius-sm:3px;--fd-border-radius:4px;--fd-border-radius-lg:6px;--fd-border-radius-xl:8px;--fd-gap-xs:2px;--fd-gap-sm:4px;--fd-gap:8px;--fd-gap-lg:10px;--fd-gap-xl:12px;--fd-gap-2xl:16px;--fd-gap-3xl:20px;--fd-gap-4xl:24px;--fd-gap-5xl:32px;--fd-padding-layout-3xs:2px;--fd-padding-layout-2xs:4px;--fd-padding-layout-xs:8px;--fd-padding-layout-sm:12px;--fd-padding-layout:16px;--fd-padding-layout-lg:20px;--fd-padding-layout-xl:24px;--fd-padding-layout-2xl:32px;--fd-padding-layout-3xl:48px;--fd-padding-zero:0;--fd-padding-2xs:2px;--fd-padding-xs:4px;--fd-padding-sm:6px;--fd-padding:8px;--fd-padding-lg:12px;--fd-padding-xl:16px;--fd-padding-2xl:20px;--fd-padding-3xl:24px;--fd-padding-4xl:32px;--fd-control-height-xs:16px;--fd-control-height-sm:24px;--fd-control-height:32px;--fd-control-height-lg:40px;--fd-font-size-sm:12px;--fd-font-size:14px;--fd-font-size-lg:16px;--fd-font-size-xl:18px;--fd-font-size-2xl:20px;--fd-font-size-heading-1:38px;--fd-font-size-heading-2:30px;--fd-font-size-heading-3:24px;--fd-font-size-heading-4:20px;--fd-font-size-heading-5:16px;--fd-control-item-font-weight-active:400;--fd-icon-size-2sm:12px;--fd-icon-size-sm:14px;--fd-icon-size:16px;--fd-icon-size-lg:18px;--fd-line-height-sm:20px;--fd-line-height:22px;--fd-line-height-lg:24px;--fd-line-height-xl:26px;--fd-line-height-2xl:28px;--fd-line-height-heading-1:46px;--fd-line-height-heading-2:38px;--fd-line-height-heading-3:32px;--fd-line-height-heading-4:28px;--fd-line-height-heading-5:24px;--fd-line-width:1px;--fd-line-width-bold:2px;--fd-line-width-focus:4px;--fd-control-outline-width:2px;--fd-color-primary:var(--fd-color-brand-6);--fd-color-primary-active:var(--fd-color-brand-7);--fd-color-primary-hover:var(--fd-color-brand-5);--fd-color-primary-bg:var(--fd-color-brand-1);--fd-color-primary-bg-active:var(--fd-color-brand-3);--fd-color-primary-bg-hover:var(--fd-color-brand-2);--fd-color-primary-border:var(--fd-color-brand-3);--fd-color-primary-border-hover:var(--fd-color-brand-4);--fd-color-primary-text:var(--fd-color-brand-6);--fd-color-primary-text-active:var(--fd-color-brand-7);--fd-color-primary-text-hover:var(--fd-color-brand-5);--fd-color-link:var(--fd-color-brand-6);--fd-color-link-active:var(--fd-color-brand-7);--fd-color-link-hover:var(--fd-color-brand-4);--fd-color-control-outline:rgba(0, 184, 153, .1);--fd-color-info:var(--fd-color-info-6);--fd-color-info-active:var(--fd-color-info-7);--fd-color-info-hover:var(--fd-color-info-4);--fd-color-info-bg:var(--fd-color-info-1);--fd-color-info-bg-hover:var(--fd-color-info-2);--fd-color-info-border:var(--fd-color-info-3);--fd-color-info-border-hover:var(--fd-color-info-4);--fd-color-info-text:var(--fd-color-info-6);--fd-color-info-text-active:var(--fd-color-info-7);--fd-color-info-text-hover:var(--fd-color-info-5);--fd-color-success:var(--fd-color-success-6);--fd-color-success-active:var(--fd-color-success-7);--fd-color-success-hover:var(--fd-color-success-4);--fd-color-success-bg:var(--fd-color-success-1);--fd-color-success-bg-hover:var(--fd-color-success-2);--fd-color-success-border:var(--fd-color-success-3);--fd-color-success-border-hover:var(--fd-color-success-4);--fd-color-success-text:var(--fd-color-success-6);--fd-color-success-text-active:var(--fd-color-success-7);--fd-color-success-text-hover:var(--fd-color-success-5);--fd-color-warning:var(--fd-color-warning-6);--fd-color-warning-active:var(--fd-color-warning-7);--fd-color-warning-hover:var(--fd-color-warning-4);--fd-color-warning-bg:var(--fd-color-warning-1);--fd-color-warning-bg-hover:var(--fd-color-warning-2);--fd-color-warning-border:var(--fd-color-warning-3);--fd-color-warning-border-hover:var(--fd-color-warning-4);--fd-color-warning-text:var(--fd-color-warning-6);--fd-color-warning-text-active:var(--fd-color-warning-7);--fd-color-warning-text-hover:var(--fd-color-warning-5);--fd-color-warning-outline:rgba(240, 168, 0, .1);--fd-color-error:var(--fd-color-error-6);--fd-color-error-active:var(--fd-color-error-7);--fd-color-error-hover:var(--fd-color-error-5);--fd-color-error-bg:var(--fd-color-error-1);--fd-color-error-bg-hover:var(--fd-color-error-2);--fd-color-error-bg-active:var(--fd-color-error-3);--fd-color-error-border:var(--fd-color-error-3);--fd-color-error-border-hover:var(--fd-color-error-4);--fd-color-error-text:var(--fd-color-error-6);--fd-color-error-text-active:var(--fd-color-error-7);--fd-color-error-text-hover:var(--fd-color-error-5);--fd-color-error-outline:rgba(235, 80, 80, .06);--fd-color-white:#FFFFFF;--fd-color-black:#000000;--fd-color-transparent:var(--fd-color-transparent-13);--fd-color-text:var(--fd-color-transparent-2);--fd-color-text-secondary:var(--fd-color-transparent-3);--fd-color-text-tertiary:var(--fd-color-transparent-4);--fd-color-text-quaternary:var(--fd-color-transparent-5);--fd-color-text-placeholder:var(--fd-color-text-quaternary);--fd-color-text-description:var(--fd-color-text-tertiary);--fd-color-text-disabled:var(--fd-color-text-quaternary);--fd-color-text-data-disabled:var(--fd-color-text-disabled);--fd-color-text-heading:var(--fd-color-text);--fd-color-text-light-solid:#FFFFFF;--fd-color-text-label:var(--fd-color-text-secondary);--fd-color-text-active:var(--fd-color-fill);--fd-color-fill:var(--fd-color-transparent-7);--fd-color-fill-secondary:var(--fd-color-transparent-9);--fd-color-fill-tertiary:var(--fd-color-transparent-11);--fd-color-fill-quaternary:var(--fd-color-transparent-12);--fd-color-bg-container:var(--fd-color-white);--fd-color-bg-container-disabled:var(--fd-color-fill-quaternary);--fd-color-bg-elevated:#FFFFFF;--fd-color-bg-spotlight:var(--fd-color-transparent-3);--fd-color-bg-mask:var(--fd-color-transparent-5);--fd-control-item-bg-hover:var(--fd-color-fill-tertiary);--fd-control-item-bg-active:var(--fd-color-primary-bg);--fd-control-item-bg-active-hover:var(--fd-color-primary-bg-hover);--fd-control-item-bg-active-disabled:var(--fd-color-fill-secondary);--fd-color-bg-text-hover:var(--fd-color-fill-quaternary);--fd-color-bg-text-active:var(--fd-color-fill-tertiary);--fd-color-fill-alter:var(--fd-color-fill-quaternary);--fd-color-fill-content:var(--fd-color-fill-secondary);--fd-color-icon:var(--fd-color-text-tertiary);--fd-color-icon-hover:var(--fd-color-text-secondary);--fd-color-icon-active:var(--fd-color-text);--fd-color-icon-normal:var(--fd-color-text-secondary);--fd-color-icon-disabled:var(--fd-color-transparent-7);--fd-color-border:var(--fd-color-grey-5);--fd-color-border-secondary:var(--fd-color-grey-4);--fd-color-split:var(--fd-color-border-secondary);--fd-box-shadow:0 0 0 0 #000000,0 6px 30px 5px rgba(0, 0, 0, .05),0 16px 24px 2px rgba(0, 0, 0, .04),0 0 0 0 rgb(0, 0, 0);--fd-box-shadow-secondary:0 0 0 0 #000000,0 3px 14px 2px rgba(0, 0, 0, .05),0 6px 10px 1px rgba(0, 0, 0, .06),0 0 0 0 rgb(0, 0, 0);--fd-box-shadow-tertiary:0 0 0 0 #000000,0 2px 10px 0 rgba(0, 0, 0, .04),0 6px 10px 0 rgba(0, 0, 0, .06),0 0 0 0 rgb(0, 0, 0)}.fdi-list .x-list{border:none;border-radius:0}.fdi-global-adaptor .x-form>.x-form-item .form-item-label{font-weight:600}.fdi-global-adaptor .fdi-icon-extensible-input-popover .x-popover-wrapper{box-shadow:none}.fdi-global-adaptor .x-msg-toast-container{z-index:2000000!important}.fdi-global-adaptor .fdi-graph-node-collapse.x-collapse .x-collapse-item .x-collapse-header{padding-left:6px}.fdi-global-adaptor .fdi-graph-node-collapse.x-collapse .x-collapse-item .x-collapse-header .x-collapse-expand-icon{margin-right:2px}.fdi-global-adaptor .disable .fdi-icon{color:#091e4078!important}.fdi-global-adaptor .fdi-draggable-table.x-table tr.fdi-draggable-table-row td:first-child{height:0px;padding-top:0;padding-bottom:0}.fdi-global-adaptor .fdi-draggable-table.x-table tr.fdi-draggable-table-row td:first-child .fixed-width-cell-content{height:100%}.fdi-global-adaptor .fdi-component-list-item.selected td{background:transparent!important}.fdi-global-adaptor .fdi-multi-select-tag-box.x-select{width:100%}.fdi-global-adaptor .fdi-multi-select-tag-box.x-select .x-select-selector{padding-left:0;padding-right:26px}.fdi-global-adaptor .fdi-multi-select-tag-box.x-select .x-select-selector .x-select-selection-overflow{display:flex;overflow:auto;padding:2px;max-height:78px;gap:4px}.fdi-global-adaptor .x-skeleton-paragraph{padding:0}.fdi-global-adaptor.fdi-select-dropdown .x-search-input .search-prefix{margin-left:8px;margin-right:0}.fdi-global-adaptor.fdi-select-dropdown .x-search-input .input-wrapper .input-content input{padding-left:4px}.pane-expand-collapse-btn.collapse{visibility:visible}.fdi-tab{display:flex;height:100%;width:100%;flex-direction:column;width:0px;flex:1 1 0%}.fdi-tab.x-tab.horizontal-tab .tab-header{padding-left:4px;padding-right:4px}.fdi-tab.x-tab.size-large>.tab-header .tab-header-wrapper .tab-header-item{margin-left:4px;margin-right:4px}.fdi-tab.x-tab .tab-header .tab-header-wrapper .tab-header-item{font-weight:600;color:#091e40a8}.fdi-editable-tree-node{display:flex;width:100%;align-items:center;justify-content:space-between}.fdi-editable-tree-node-title{flex:1;width:0;font-size:12px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fdi-check-card{width:166px;height:158px;border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(230 233 239 / var(--tw-border-opacity));display:flex;cursor:pointer;flex-direction:column;border-radius:6px;padding:8px}.fdi-check-card:hover{--tw-shadow: 0px 4px 12px 0px rgba(9, 30, 64, .08);--tw-shadow-colored: 0px 4px 12px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.fdi-check-card-selected{border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(135 176 247 / var(--tw-border-opacity))}.fdi-check-card-selected:hover{--tw-border-opacity: 1;border-color:rgb(135 176 247 / var(--tw-border-opacity))}.fdi-check-card-head{display:flex;width:100%;align-items:center;gap:8px}.fdi-check-card-head-title{font-size:12px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#091e40e6}.fdi-check-card-without-title{width:166px;height:158px;border-width:1px;border-style:solid;border-color:transparent;position:relative;display:flex;cursor:pointer;flex-direction:column;border-radius:8px;padding:12px}.fdi-check-card-without-title:hover{border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(230 233 239 / var(--tw-border-opacity));--tw-shadow: 0px 4px 12px 0px rgba(9, 30, 64, .08);--tw-shadow-colored: 0px 4px 12px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.fdi-check-card-without-title-selected{border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(135 176 247 / var(--tw-border-opacity))}.fdi-check-card-without-title-selected:hover{--tw-border-opacity: 1;border-color:rgb(135 176 247 / var(--tw-border-opacity))}.fdi-check-card-without-title-checkbox{position:absolute;top:12px;left:12px}.fdi-check-card-view{display:flex;height:100%;width:100%;flex-direction:column;overflow:auto;padding-bottom:12px}.fdi-check-card-view-head{display:flex;width:100%;align-items:center;gap:8px;padding:8px 20px}.fdi-check-card-view-deal-bar{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;border-radius:6px;--tw-bg-opacity: 1;background-color:rgb(229 239 255 / var(--tw-bg-opacity));padding:8px 8px 8px 12px}.fdi-check-card-view-content{display:flex;flex-wrap:wrap;gap:16px;overflow:auto;padding-left:20px;padding-right:20px;padding-bottom:12px}.fdi-check-card-view-card:hover .fdi-check-card-group-card-button{visibility:visible}.fdi-check-card-view-card-container{display:flex;height:100%;width:100%;flex-direction:column;margin-top:16px;align-items:center}.fdi-check-card-view-card-img{height:70px;display:flex;width:100%;align-items:center;justify-content:center}.fdi-check-card-view-card-title{font-size:12px;line-height:20px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-all;text-align:center;color:#091e40e6}.fdi-indicator-card{position:relative}.fdi-indicator-card-background{border-radius:6px}.fdi-indicator-card-container{padding:14px 24px;position:absolute;top:0;display:flex;height:100%;width:100%;align-items:center;justify-content:space-between;gap:8px}.fdi-indicator-card-label{font-size:12px;line-height:20px}.fdi-indicator-card-label>span{font-weight:400}.fdi-exhibit-list-item{font-size:14px;line-height:22px;display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 12px}.fdi-exhibit-list-item-icon{margin:8px}.fdi-exhibit-list-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fdi-directory-tree-select .x-list-tree .tree-node .node-content-wrapper .node-content .node-title{width:0}.fdi-data-detail-pane{width:280px;padding-top:39px;position:relative;height:100%}.fdi-data-detail-pane-container{border-width:0px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(218 222 231 / var(--tw-border-opacity));display:flex;height:100%;width:100%;flex-direction:column;gap:16px;border-left-width:1px;border-top-width:1px}.fdi-import-list{width:280px;border-width:0px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(218 222 231 / var(--tw-border-opacity));border-right-width:1px;display:flex;height:100%;flex-direction:column;justify-content:space-between;padding:20px}.fdi-import-list-container{gap:4px;height:0px;flex:1 1 0%;display:flex;flex-direction:column;overflow:auto}.fdi-import-list-item{height:28px;min-height:28px;cursor:pointer;border-radius:.25rem}.fdi-import-list-item:hover{--tw-bg-opacity: 1;background-color:rgb(238 241 246 / var(--tw-bg-opacity))}.fdi-import-list-item:active{--tw-bg-opacity: 1;background-color:rgb(230 233 239 / var(--tw-bg-opacity))}.fdi-import-list-item.selected{--tw-bg-opacity: 1;background-color:rgb(229 239 255 / var(--tw-bg-opacity))}.fdi-import-list-item{display:flex;width:100%;align-items:center;justify-content:space-between;padding-left:8px;padding-right:8px}.fdi-import-list-item:hover .fdi-import-list-action-button{display:flex}.fdi-import-list-item.error{--tw-text-opacity: 1;color:rgb(230 82 81 / var(--tw-text-opacity))}.fdi-import-list-action-button{display:none;align-items:center}.x-ui-hidden{display:none!important}@keyframes x-fade-down{0%{opacity:0;transform:translate3d(0,-15%,0)}to{opacity:1;transform:translateZ(0)}}@keyframes x-fade-down-large{0%{opacity:0;transform:translate3d(0,-100%,0)}to{opacity:1;transform:translateZ(0)}}@keyframes x-fade-in-left{0%{opacity:0;transform:translate3d(-40%,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes x-fade-in-right{0%{opacity:0;transform:translate3d(40%,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes x-rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes x-slide-down{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:scaleY(1)}}@keyframes x-zoom-in{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes x-zoom-in-big{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes x-zoom-by-size{0%{margin:0;opacity:0;padding:0;transform:scale(.5);width:0}to{opacity:1;transform:scale(1)}}@keyframes x-move-left{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes x-move-left-small{0%{opacity:0;transform:translate(-3px)}to{opacity:1;transform:translate(0)}}@keyframes x-move-left-small-light{0%{opacity:0;transform:translate(-3px)}to{opacity:.7;transform:translate(0)}}@keyframes x-move-right{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes x-move-right-small{0%{opacity:0;transform:translate(3px)}to{opacity:1;transform:translate(0)}}@keyframes x-move-right-small-light{0%{opacity:0;transform:translate(3px)}to{opacity:.7;transform:translate(0)}}@keyframes x-move-bottom{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translate(0)}}@keyframes x-move-bottom-small{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translate(0)}}@keyframes x-move-bottom-small-light{0%{opacity:0;transform:translateY(3px)}to{opacity:.7;transform:translate(0)}}@keyframes x-move-top{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translate(0)}}@keyframes x-move-top-small{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translate(0)}}@keyframes x-move-top-small-light{0%{opacity:0;transform:translateY(-3px)}to{opacity:.7;transform:translate(0)}}@keyframes x-spin-icon-load{0%{stroke-dasharray:105;stroke-dashoffset:105}to{stroke-dasharray:105;stroke-dashoffset:315}}@keyframes x-spin-skeleton-load{0%{background-position:100% 0}to{background-position:0 0}}.x-button-css-var{--fd-button-margin-between:10px;--fd-button-height-text-lg:28px;--fd-button-height-text:24px;--fd-button-height-text-sm:20px;--fd-button-padding-text-xl:6px;--fd-button-padding-text:4px;--fd-button-text-hover-background:var(--fd-color-primary-bg);--fd-button-text-active-background:var(--fd-color-primary-bg);--fd-button-text-danger-hover-background:var(--fd-color-error-bg);--fd-button-text-danger-active-background:var(--fd-color-error-bg)}.x-check-css-var{--fd-check-default-padding:4px 0}.x-collapse-css-var{--fd-collapse-panel-padding:var(--fd-padding-xl);--fd-collapse-panel-padding-sm:var(--fd-padding-lg);--fd-collapse-panel-padding-lg:var(--fd-padding-3xl) var(--fd-padding-xl);--fd-collapse-panel-padding-no-border:var(--fd-padding-xs) var(--fd-padding-xl) var(--fd-padding-xl) 40px;--fd-collapse-panel-padding-no-border-sm:var(--fd-padding-xs) var(--fd-padding-lg) var(--fd-padding-lg) 36px;--fd-collapse-panel-padding-no-border-lg:var(--fd-padding-xs) var(--fd-padding-3xl) var(--fd-padding-3xl) 48px}.x-input-css-var{--fd-input-active-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-control-outline);--fd-input-error-active-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-error-outline);--fd-input-waring-active-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-warning-outline)}.x-input-number-css-var{--fd-input-number-active-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-control-outline)}.x-navigation-css-var{--fd-navigation-collapsed-width:calc(var(--fd-control-height-lg)*2)}.x-radio-css-var,.x-radio-group-css-var{--fd-radio-default-padding:4px 0}.x-tooltip-css-var{--fd-tooltip-padding-layout-xs:var(--fd-padding-layout-xs);--fd-tooltip-padding-layout-2xs:var(--fd-padding-layout-2xs)}.x-spin-css-var{--fd-spin-height:30px;--fd-spin-height-sm:16px;--fd-spin-height-lg:46px}.x-button{background:var(--fd-color-bg-container);border:1px solid;border-radius:var(--fd-border-radius);cursor:pointer;display:inline-block;font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:var(--fd-font-size);font-weight:400;outline:none;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;transition:box-shadow .3s ease,background .3s ease,border-color .3s ease,color .3s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.x-button+.x-button{margin-left:var(--fd-button-margin-between)}.x-button .x-button-icon-wrapper{align-items:center;display:inline-flex;margin-right:var(--fd-gap-sm)}.x-button .x-button-icon-wrapper .x-button-icon{line-height:1}.x-button .x-button-icon-wrapper .x-button-icon>*{vertical-align:bottom}.x-button .x-button-icon-wrapper:only-child{margin-right:0}.x-button.size-small{font-size:var(--fd-font-size-sm);height:var(--fd-control-height-sm);line-height:calc(var(--fd-control-height-sm) - 2px);padding:0 var(--fd-padding)}.x-button.size-small .x-button-icon{font-size:var(--fd-icon-size)}.x-button.size-middle,.x-button.size-normal{height:var(--fd-control-height);line-height:calc(var(--fd-control-height) - 2px);padding:0 var(--fd-padding-xl)}.x-button.size-middle .x-button-icon,.x-button.size-normal .x-button-icon{font-size:var(--fd-icon-size)}.x-button.size-large{font-size:var(--fd-font-size-lg);height:var(--fd-control-height-lg);line-height:calc(var(--fd-control-height-lg) - 2px);padding:0 var(--fd-padding-xl)}.x-button.size-large .x-button-icon{font-size:var(--fd-icon-size-lg)}.x-button.shape-round{border-radius:9999px}.x-button.shape-round.size-small{padding:0 var(--fd-padding-lg)}.x-button.shape-round.size-middle,.x-button.shape-round.size-normal{padding:0 var(--fd-padding-xl)}.x-button.shape-round.size-large{padding:0 var(--fd-padding-2xl)}.x-button.compact-middle,.x-button.compact-normal{height:var(--fd-button-height-text);line-height:calc(var(--fd-button-height-text) - 2px);padding:0 var(--fd-button-padding-text-xl)}.x-button.compact-small{height:var(--fd-button-height-text-sm);line-height:calc(var(--fd-button-height-text-sm) - 2px);padding:0 var(--fd-button-padding-text)}.x-button.compact-large{height:var(--fd-button-height-text-lg);line-height:calc(var(--fd-button-height-text-lg) - 2px);padding:0 var(--fd-button-padding-text-xl)}.x-button.is-only-icon{padding:var(--fd-padding-zero)!important;width:var(--fd-control-height)}.x-button.is-only-icon.size-small{width:var(--fd-control-height-sm)}.x-button.is-only-icon.size-large{width:var(--fd-control-height-lg)}.x-button.block{width:100%}.x-button.loading{cursor:default;opacity:.4}.x-button.disable{cursor:not-allowed}.x-button:focus-visible{outline:4px solid var(--fd-color-primary-border);outline-offset:1px;transition:outline-offset 0s,outline 0s}.x-button:active{transition:unset}.x-button.style-primary{background:var(--fd-color-primary);border-color:var(--fd-color-primary);color:var(--fd-color-text-light-solid)}.x-button.style-primary:hover{background:var(--fd-color-primary-hover);border-color:var(--fd-color-primary-hover);color:var(--fd-color-text-light-solid)}.x-button.style-primary.is-active,.x-button.style-primary:active{background:var(--fd-color-primary-text-active);border-color:var(--fd-color-primary-text-active);color:var(--fd-color-text-light-solid)}.x-button.style-primary.danger{background:var(--fd-color-error);border-color:var(--fd-color-error);color:var(--fd-color-text-light-solid)}.x-button.style-primary.danger:hover{background:var(--fd-color-error-hover);border-color:var(--fd-color-error-hover);color:var(--fd-color-text-light-solid)}.x-button.style-primary.danger.is-active,.x-button.style-primary.danger:active{background:var(--fd-color-error-active);border-color:var(--fd-color-error-active);color:var(--fd-color-text-light-solid)}.x-button.style-primary.loading{background:var(--fd-color-primary)!important;border-color:var(--fd-color-primary)!important;color:var(--fd-color-text-light-solid)!important}.x-button.style-primary.loading .loader-icon:before{border-color:var(--fd-color-text-light-solid)!important}.x-button.style-primary.loading .loader-icon:after{border-top-color:var(--fd-color-text-light-solid)!important}.x-button.style-primary.loading.danger:not(.disable){background:var(--fd-color-error)!important;border-color:var(--fd-color-error)!important;color:var(--fd-color-text-light-solid)!important}.x-button.style-primary.loading.danger:not(.disable) .loader-icon:before{border-color:var(--fd-color-text-light-solid)!important}.x-button.style-primary.loading.danger:not(.disable) .loader-icon:after{border-top-color:var(--fd-color-text-light-solid)!important}.x-button.style-primary.disable{background:var(--fd-color-bg-container-disabled)!important;border-color:var(--fd-color-border)!important;color:var(--fd-color-text-disabled)!important}.x-button.style-primary.disable .loader-icon:before{border-color:var(--fd-color-text-disabled)!important}.x-button.style-primary.disable .loader-icon:after{border-top-color:var(--fd-color-text-disabled)!important}.x-button.style-primary.disable.has-icon .x-button-icon{color:var(--fd-color-icon-disabled)!important}.x-button.style-secondary{background:var(--fd-color-primary-bg);border-color:var(--fd-color-primary-bg);color:var(--fd-color-primary)}.x-button.style-secondary:hover{background:var(--fd-color-primary-bg-hover);border-color:var(--fd-color-primary-bg-hover);color:var(--fd-color-primary)}.x-button.style-secondary.is-active,.x-button.style-secondary:active{background:var(--fd-color-primary-bg-active);border-color:var(--fd-color-primary-bg-active);color:var(--fd-color-primary)}.x-button.style-secondary.danger{background:var(--fd-color-error-bg);border-color:var(--fd-color-error-bg);color:var(--fd-color-error)}.x-button.style-secondary.danger:hover{background:var(--fd-color-error-bg-hover);border-color:var(--fd-color-error-bg-hover);color:var(--fd-color-error)}.x-button.style-secondary.danger.is-active,.x-button.style-secondary.danger:active{background:var(--fd-color-error-bg-active);border-color:var(--fd-color-error-bg-active);color:var(--fd-color-error)}.x-button.style-secondary.loading{background:var(--fd-color-primary-bg)!important;border-color:var(--fd-color-primary-bg)!important;color:var(--fd-color-primary)!important}.x-button.style-secondary.loading .loader-icon:before{border-color:var(--fd-color-primary)!important}.x-button.style-secondary.loading .loader-icon:after{border-top-color:var(--fd-color-primary)!important}.x-button.style-secondary.loading.danger:not(.disable){background:var(--fd-color-error-bg)!important;border-color:var(--fd-color-error-bg)!important;color:var(--fd-color-error)!important}.x-button.style-secondary.loading.danger:not(.disable) .loader-icon:before{border-color:var(--fd-color-error)!important}.x-button.style-secondary.loading.danger:not(.disable) .loader-icon:after{border-top-color:var(--fd-color-error)!important}.x-button.style-secondary.disable{background:var(--fd-color-bg-container-disabled)!important;border-color:var(--fd-color-border)!important;color:var(--fd-color-text-disabled)!important}.x-button.style-secondary.disable .loader-icon:before{border-color:var(--fd-color-text-disabled)!important}.x-button.style-secondary.disable .loader-icon:after{border-top-color:var(--fd-color-text-disabled)!important}.x-button.style-secondary.disable.has-icon .x-button-icon{color:var(--fd-color-icon-disabled)!important}.x-button.style-normal{background:var(--fd-color-bg-container);border-color:var(--fd-color-primary);color:var(--fd-color-primary)}.x-button.style-normal:hover{background:var(--fd-color-primary-bg);border-color:var(--fd-color-primary-hover);color:var(--fd-color-primary-hover)}.x-button.style-normal.is-active,.x-button.style-normal:active{background:var(--fd-color-primary-bg);border-color:var(--fd-color-primary-active);color:var(--fd-color-primary-active)}.x-button.style-normal.danger{background:var(--fd-color-bg-container);border-color:var(--fd-color-error);color:var(--fd-color-error)}.x-button.style-normal.danger:hover{background:var(--fd-color-error-bg);border-color:var(--fd-color-error-border-hover);color:var(--fd-color-error-hover)}.x-button.style-normal.danger.is-active,.x-button.style-normal.danger:active{background:var(--fd-color-error-bg);border-color:var(--fd-color-error-active);color:var(--fd-color-error-active)}.x-button.style-normal.loading{background:var(--fd-color-bg-container)!important;color:var(--fd-color-primary)!important}.x-button.style-normal.loading,.x-button.style-normal.loading .loader-icon:before{border-color:var(--fd-color-primary)!important}.x-button.style-normal.loading .loader-icon:after{border-top-color:var(--fd-color-primary)!important}.x-button.style-normal.loading.danger:not(.disable){background:var(--fd-color-bg-container)!important;border-color:var(--fd-color-error)!important;color:var(--fd-color-error)!important}.x-button.style-normal.loading.danger:not(.disable) .loader-icon:before{border-color:var(--fd-color-error)!important}.x-button.style-normal.loading.danger:not(.disable) .loader-icon:after{border-top-color:var(--fd-color-error)!important}.x-button.style-normal.disable{background:var(--fd-color-bg-container-disabled)!important;border-color:var(--fd-color-border)!important;color:var(--fd-color-text-disabled)!important}.x-button.style-normal.disable .loader-icon:before{border-color:var(--fd-color-text-disabled)!important}.x-button.style-normal.disable .loader-icon:after{border-top-color:var(--fd-color-text-disabled)!important}.x-button.style-normal.disable.has-icon .x-button-icon{color:var(--fd-color-icon-disabled)!important}.x-button.style-negative{background:var(--fd-color-bg-container);border-color:var(--fd-color-border);color:var(--fd-color-text)}.x-button.style-negative:not(:hover,:active,.is-active,.danger,.loading,.disable) .x-button-icon{color:var(--fd-color-icon-normal);transition:color .3s ease}.x-button.style-negative:hover{background:var(--fd-color-bg-container);border-color:var(--fd-color-primary-hover);color:var(--fd-color-primary-hover)}.x-button.style-negative.is-active,.x-button.style-negative:active{background:var(--fd-color-bg-container);border-color:var(--fd-color-primary-active);color:var(--fd-color-primary-active)}.x-button.style-negative.danger{background:var(--fd-color-bg-container);border-color:var(--fd-color-error);color:var(--fd-color-error)}.x-button.style-negative.danger:hover{background:var(--fd-color-bg-container);border-color:var(--fd-color-error-border-hover);color:var(--fd-color-error-hover)}.x-button.style-negative.danger.is-active,.x-button.style-negative.danger:active{background:var(--fd-color-bg-container);border-color:var(--fd-color-error-active);color:var(--fd-color-error-active)}.x-button.style-negative.loading{background:var(--fd-color-bg-container)!important;border-color:var(--fd-color-border)!important;color:var(--fd-color-text)!important}.x-button.style-negative.loading .loader-icon:before{border-color:var(--fd-color-text)!important}.x-button.style-negative.loading .loader-icon:after{border-top-color:var(--fd-color-text)!important}.x-button.style-negative.loading.danger:not(.disable){background:var(--fd-color-bg-container)!important;border-color:var(--fd-color-error)!important;color:var(--fd-color-error)!important}.x-button.style-negative.loading.danger:not(.disable) .loader-icon:before{border-color:var(--fd-color-error)!important}.x-button.style-negative.loading.danger:not(.disable) .loader-icon:after{border-top-color:var(--fd-color-error)!important}.x-button.style-negative.disable{background:var(--fd-color-bg-container-disabled)!important;border-color:var(--fd-color-border)!important;color:var(--fd-color-text-disabled)!important}.x-button.style-negative.disable .loader-icon:before{border-color:var(--fd-color-text-disabled)!important}.x-button.style-negative.disable .loader-icon:after{border-top-color:var(--fd-color-text-disabled)!important}.x-button.style-negative.disable.has-icon .x-button-icon{color:var(--fd-color-icon-disabled)!important}.x-button.style-link{color:var(--fd-color-link);outline:none;padding:0 var(--fd-padding-zero)!important;text-decoration:underline}.x-button.style-link,.x-button.style-link:hover{background:var(--fd-color-transparent);border-color:var(--fd-color-transparent)}.x-button.style-link:hover{color:var(--fd-color-link-hover)}.x-button.style-link.is-active,.x-button.style-link:active{background:var(--fd-color-transparent);border-color:var(--fd-color-transparent);color:var(--fd-color-link-active)}.x-button.style-link.danger{color:var(--fd-color-error)}.x-button.style-link.danger,.x-button.style-link.danger:hover{background:var(--fd-color-transparent);border-color:var(--fd-color-transparent)}.x-button.style-link.danger:hover{color:var(--fd-color-error-hover)}.x-button.style-link.danger.is-active,.x-button.style-link.danger:active{background:var(--fd-color-transparent);border-color:var(--fd-color-transparent);color:var(--fd-color-error-active)}.x-button.style-link.loading{background:var(--fd-color-transparent)!important;border-color:var(--fd-color-transparent)!important;color:var(--fd-color-link)!important}.x-button.style-link.loading .loader-icon:before{border-color:var(--fd-color-link)!important}.x-button.style-link.loading .loader-icon:after{border-top-color:var(--fd-color-link)!important}.x-button.style-link.loading.danger:not(.disable){background:var(--fd-color-transparent)!important;border-color:var(--fd-color-transparent)!important;color:var(--fd-color-error)!important}.x-button.style-link.loading.danger:not(.disable) .loader-icon:before{border-color:var(--fd-color-error)!important}.x-button.style-link.loading.danger:not(.disable) .loader-icon:after{border-top-color:var(--fd-color-error)!important}.x-button.style-link.disable{background:var(--fd-color-transparent)!important;border-color:var(--fd-color-transparent)!important;color:var(--fd-color-text-disabled)!important}.x-button.style-link.disable .loader-icon:before{border-color:var(--fd-color-text-disabled)!important}.x-button.style-link.disable .loader-icon:after{border-top-color:var(--fd-color-text-disabled)!important}.x-button.style-link.disable.has-icon .x-button-icon{color:var(--fd-color-icon-disabled)!important}.x-button.style-text{background:var(--fd-color-transparent);border-color:var(--fd-color-transparent);color:var(--fd-color-primary)}.x-button.style-text:hover{background:var(--fd-button-text-hover-background);border-color:var(--fd-color-transparent);color:var(--fd-color-primary-hover)}.x-button.style-text.is-active,.x-button.style-text:active{background:var(--fd-button-text-active-background);border-color:var(--fd-color-transparent);color:var(--fd-color-primary-active)}.x-button.style-text.danger{background:var(--fd-color-transparent);border-color:var(--fd-color-transparent);color:var(--fd-color-error)}.x-button.style-text.danger:hover{background:var(--fd-button-text-danger-hover-background);border-color:var(--fd-color-transparent);color:var(--fd-color-error-hover)}.x-button.style-text.danger.is-active,.x-button.style-text.danger:active{background:var(--fd-button-text-danger-active-background);border-color:var(--fd-color-transparent);color:var(--fd-color-error-active)}.x-button.style-text.loading{background:var(--fd-color-transparent)!important;border-color:var(--fd-color-transparent)!important;color:var(--fd-color-primary)!important}.x-button.style-text.loading .loader-icon:before{border-color:var(--fd-color-primary)!important}.x-button.style-text.loading .loader-icon:after{border-top-color:var(--fd-color-primary)!important}.x-button.style-text.loading.danger:not(.disable){background:var(--fd-color-transparent)!important;border-color:var(--fd-color-transparent)!important;color:var(--fd-color-error)!important}.x-button.style-text.loading.danger:not(.disable) .loader-icon:before{border-color:var(--fd-color-error)!important}.x-button.style-text.loading.danger:not(.disable) .loader-icon:after{border-top-color:var(--fd-color-error)!important}.x-button.style-text.disable{background:var(--fd-color-transparent)!important;border-color:var(--fd-color-transparent)!important;color:var(--fd-color-text-disabled)!important}.x-button.style-text.disable .loader-icon:before{border-color:var(--fd-color-text-disabled)!important}.x-button.style-text.disable .loader-icon:after{border-top-color:var(--fd-color-text-disabled)!important}.x-button.style-text.disable.has-icon .x-button-icon{color:var(--fd-color-icon-disabled)!important}.x-button.style-text-normal{background:var(--fd-color-transparent);border-color:var(--fd-color-transparent);color:var(--fd-color-text)}.x-button.style-text-normal:not(:hover,:active,.is-active,.danger,.loading,.disable) .x-button-icon{color:var(--fd-color-icon-normal);transition:color .3s ease}.x-button.style-text-normal:hover{background:var(--fd-color-bg-text-hover);border-color:var(--fd-color-transparent);color:var(--fd-color-text)}.x-button.style-text-normal.is-active,.x-button.style-text-normal:active{background:var(--fd-color-bg-text-active);border-color:var(--fd-color-transparent);color:var(--fd-color-text)}.x-button.style-text-normal.danger{background:var(--fd-color-transparent);border-color:var(--fd-color-transparent);color:var(--fd-color-error)}.x-button.style-text-normal.danger:hover{background:var(--fd-color-error-bg);border-color:var(--fd-color-error-bg);color:var(--fd-color-error-hover)}.x-button.style-text-normal.danger.is-active,.x-button.style-text-normal.danger:active{background:var(--fd-color-error-bg);border-color:var(--fd-color-error-bg);color:var(--fd-color-error-active)}.x-button.style-text-normal.loading{background:var(--fd-color-transparent)!important;border-color:var(--fd-color-transparent)!important;color:var(--fd-color-text)!important}.x-button.style-text-normal.loading .loader-icon:before{border-color:var(--fd-color-text)!important}.x-button.style-text-normal.loading .loader-icon:after{border-top-color:var(--fd-color-text)!important}.x-button.style-text-normal.loading.danger:not(.disable){background:var(--fd-color-transparent)!important;border-color:var(--fd-color-transparent)!important;color:var(--fd-color-error)!important}.x-button.style-text-normal.loading.danger:not(.disable) .loader-icon:before{border-color:var(--fd-color-error)!important}.x-button.style-text-normal.loading.danger:not(.disable) .loader-icon:after{border-top-color:var(--fd-color-error)!important}.x-button.style-text-normal.disable{background:var(--fd-color-transparent)!important;border-color:var(--fd-color-transparent)!important;color:var(--fd-color-text-disabled)!important}.x-button.style-text-normal.disable .loader-icon:before{border-color:var(--fd-color-text)!important}.x-button.style-text-normal.disable .loader-icon:after{border-top-color:var(--fd-color-text)!important}.x-button.style-text-normal.disable.has-icon .x-button-icon{color:var(--fd-color-icon-disabled)!important}.x-button .loader-icon{background:transparent;display:inline-block;height:1em;position:relative;width:1em}.x-button .loader-icon:before{opacity:.2}.x-button .loader-icon:after,.x-button .loader-icon:before{border:2px solid transparent;border-radius:50%;content:"";inset:0;position:absolute}.x-button .loader-icon:after{animation:x-rotate 1s cubic-bezier(.43,.1,.54,.85) infinite}.x-button-group{display:inline-block}.x-button-group .x-button{margin:0!important;vertical-align:middle}.x-button-group .x-button.is-active,.x-button-group .x-button:active,.x-button-group .x-button:focus,.x-button-group .x-button:hover{z-index:2}.x-button-group .x-button.disable{z-index:auto}.x-button-group .x-button:not(:first-child).style-primary{border-left:1px solid var(--fd-color-text-light-solid)}.x-button-group .x-button:not(:first-child).style-secondary{border-left:1px solid var(--fd-color-primary-border)}.x-button-group .x-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px!important}.x-button-group .x-button:not(:last-child).style-primary{border-right:1px solid var(--fd-color-text-light-solid)}.x-button-group .x-button:not(:last-child).style-secondary{border-right:1px solid var(--fd-color-primary-border)}.x-button-group .x-button+.x-button{border-bottom-left-radius:0;border-top-left-radius:0}.x-input{height:var(--fd-control-height);line-height:calc(var(--fd-control-height) - 2px);width:150px}.x-input .input-inner{font-size:var(--fd-font-size);line-height:var(--fd-line-height);padding:0 var(--fd-padding)}.x-input.large{height:var(--fd-control-height-lg);line-height:calc(var(--fd-control-height-lg) - 2px)}.x-input.large .input-inner{font-size:var(--fd-font-size-lg);line-height:var(--fd-line-height-lg);padding:0 var(--fd-padding)}.x-input.small{height:var(--fd-control-height-sm);line-height:calc(var(--fd-control-height-sm) - 2px)}.x-input.small .input-inner{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);padding:0 var(--fd-padding-xs)}.x-input.has-after-addon,.x-input.has-before-addon{align-items:center;display:flex}.x-input.has-after-addon .x-after-addon>.x-svgicon,.x-input.has-after-addon .x-before-addon>.x-svgicon,.x-input.has-before-addon .x-after-addon>.x-svgicon,.x-input.has-before-addon .x-before-addon>.x-svgicon{border:1px solid var(--fd-color-border);border-bottom-left-radius:var(--fd-border-radius);border-top-left-radius:var(--fd-border-radius);color:var(--fd-color-icon-normal);height:var(--fd-control-height);padding:0 var(--fd-padding)}.x-input.has-after-addon .x-before-addon,.x-input.has-before-addon .x-before-addon{flex:none}.x-input.has-after-addon .x-before-addon>:first-child,.x-input.has-after-addon .x-before-addon>:first-child .x-combo-dropdown-label,.x-input.has-before-addon .x-before-addon>:first-child,.x-input.has-before-addon .x-before-addon>:first-child .x-combo-dropdown-label{border-bottom-right-radius:0;border-right:none;border-top-right-radius:0}.x-input.has-after-addon .x-inner-wrapper,.x-input.has-before-addon .x-inner-wrapper{flex:auto}.x-input.has-after-addon .x-after-addon,.x-input.has-before-addon .x-after-addon{flex:none}.x-input.has-after-addon .x-after-addon>:last-child,.x-input.has-after-addon .x-after-addon>:last-child .x-combo-dropdown-label,.x-input.has-before-addon .x-after-addon>:last-child,.x-input.has-before-addon .x-after-addon>:last-child .x-combo-dropdown-label{border-bottom-left-radius:0;border-left:none;border-top-left-radius:0}.x-input.has-before-addon .x-inner-wrapper{border-bottom-left-radius:0;border-top-left-radius:0}.x-input.has-after-addon .x-inner-wrapper{border-bottom-right-radius:0;border-top-right-radius:0}.x-input.allow-clear .x-inner-wrapper{align-items:center;display:flex}.x-input.allow-clear.has-suffix .x-inner-wrapper .input-inner{padding-right:60px}.x-textarea{height:80px;width:252px}.x-textarea.textarea-rows{height:auto}.x-textarea .textarea-inner{font-size:var(--fd-font-size);line-height:var(--fd-line-height);overflow:auto}.x-resize-textarea,.x-textarea .x-inner-wrapper .input-inner,.x-textarea .x-inner-wrapper .textarea-inner{padding:var(--fd-padding-xs) var(--fd-padding);vertical-align:top}.x-resize-textarea{background-color:var(--fd-color-bg-container);border:1px solid var(--fd-color-border);border-radius:var(--fd-border-radius);color:var(--fd-color-text);font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:var(--fd-font-size);font-variant-numeric:tabular-nums;line-height:var(--fd-line-height);outline:none;resize:none;transition:border-color .2s;width:252px}.x-resize-textarea *,.x-resize-textarea :after,.x-resize-textarea :before{box-sizing:border-box}.x-resize-textarea::-moz-placeholder{color:var(--fd-color-text-placeholder)!important}.x-resize-textarea:-ms-input-placeholder{color:var(--fd-color-text-placeholder)!important}.x-resize-textarea::placeholder{color:var(--fd-color-text-placeholder)!important}.x-resize-textarea:hover{border-color:var(--fd-color-primary-hover)}.x-resize-textarea.block{width:100%}.x-resize-textarea.textarea-disable{background:var(--fd-color-bg-container-disabled);border-color:var(--fd-color-border)}.x-resize-textarea.textarea-disable .textarea-inner{color:var(--fd-color-text)}.x-resize-textarea.textarea-disable:hover{background:var(--fd-color-bg-container-disabled);border-color:var(--fd-color-border)}.x-resize-textarea.textarea-disable:hover .textarea-inner{color:var(--fd-color-text)}.x-resize-textarea.textarea-focus{border-color:var(--fd-color-primary)!important;box-shadow:var(--fd-input-active-shadow)}.x-resize-textarea.textarea-error,.x-resize-textarea.textarea-invalid{border-color:var(--fd-color-error)}.x-resize-textarea.textarea-normal{border-color:var(--fd-color-border)}.x-resize-textarea.textarea-warning{border-color:var(--fd-color-warning)}.x-resize-textarea.textarea-readonly{border-color:var(--fd-color-border)}.x-input *,.x-input :after,.x-input :before,.x-textarea *,.x-textarea :after,.x-textarea :before{box-sizing:border-box}.x-input input,.x-input textarea,.x-textarea input,.x-textarea textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variant-numeric:tabular-nums;margin:0;outline:none}.x-input input::-moz-placeholder,.x-input textarea::-moz-placeholder,.x-textarea input::-moz-placeholder,.x-textarea textarea::-moz-placeholder{opacity:1}.x-input input:-ms-input-placeholder,.x-input textarea:-ms-input-placeholder,.x-textarea input:-ms-input-placeholder,.x-textarea textarea:-ms-input-placeholder{opacity:1}.x-input input::placeholder,.x-input textarea::placeholder,.x-textarea input::placeholder,.x-textarea textarea::placeholder{opacity:1}.x-input input::-ms-clear,.x-input input::-ms-reveal,.x-textarea input::-ms-clear,.x-textarea input::-ms-reveal{display:none}.x-input input[type=number],.x-textarea input[type=number]{-moz-appearance:textfield}.x-input input[type=number]::-webkit-inner-spin-button,.x-input input[type=number]::-webkit-outer-spin-button,.x-textarea input[type=number]::-webkit-inner-spin-button,.x-textarea input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.x-input.block,.x-textarea.block{width:100%}.x-input .x-inner-wrapper,.x-textarea .x-inner-wrapper{background-color:var(--fd-color-bg-container);border-radius:var(--fd-border-radius);height:100%;overflow:hidden;position:relative}.x-input .x-inner-wrapper:not(.wrapper-borderless),.x-textarea .x-inner-wrapper:not(.wrapper-borderless){border:1px solid var(--fd-color-border);transition:border-color .2s}.x-input .x-inner-wrapper:not(.wrapper-borderless):hover,.x-textarea .x-inner-wrapper:not(.wrapper-borderless):hover{border-color:var(--fd-color-primary-hover)}.x-input .x-inner-wrapper .clear-icon,.x-textarea .x-inner-wrapper .clear-icon{color:var(--fd-color-icon);font-size:16px;position:absolute;right:10px}.x-input .x-inner-wrapper .clear-icon:not(:last-child),.x-textarea .x-inner-wrapper .clear-icon:not(:last-child){right:40px}.x-input .x-inner-wrapper .clear-icon:hover,.x-textarea .x-inner-wrapper .clear-icon:hover{color:var(--fd-color-icon-hover);cursor:pointer}.x-input .x-inner-wrapper .x-prefix,.x-input .x-inner-wrapper .x-suffix,.x-textarea .x-inner-wrapper .x-prefix,.x-textarea .x-inner-wrapper .x-suffix{color:var(--fd-color-icon-normal);position:absolute;top:50%;transform:translateY(-50%)}.x-input .x-inner-wrapper .x-prefix>i,.x-input .x-inner-wrapper .x-suffix>i,.x-textarea .x-inner-wrapper .x-prefix>i,.x-textarea .x-inner-wrapper .x-suffix>i{font-size:var(--fd-font-size-lg)}.x-input .x-inner-wrapper .x-prefix,.x-textarea .x-inner-wrapper .x-prefix{left:10px}.x-input .x-inner-wrapper .x-suffix,.x-textarea .x-inner-wrapper .x-suffix{right:10px}.x-input .x-inner-wrapper .input-inner,.x-input .x-inner-wrapper .textarea-inner,.x-textarea .x-inner-wrapper .input-inner,.x-textarea .x-inner-wrapper .textarea-inner{background:transparent;border:none;color:var(--fd-color-text);height:100%;width:100%}.x-input .x-inner-wrapper .input-inner::-moz-placeholder,.x-input .x-inner-wrapper .textarea-inner::-moz-placeholder,.x-textarea .x-inner-wrapper .input-inner::-moz-placeholder,.x-textarea .x-inner-wrapper .textarea-inner::-moz-placeholder{color:var(--fd-color-text-placeholder)!important}.x-input .x-inner-wrapper .input-inner:-ms-input-placeholder,.x-input .x-inner-wrapper .textarea-inner:-ms-input-placeholder,.x-textarea .x-inner-wrapper .input-inner:-ms-input-placeholder,.x-textarea .x-inner-wrapper .textarea-inner:-ms-input-placeholder{color:var(--fd-color-text-placeholder)!important}.x-input .x-inner-wrapper .input-inner::placeholder,.x-input .x-inner-wrapper .textarea-inner::placeholder,.x-textarea .x-inner-wrapper .input-inner::placeholder,.x-textarea .x-inner-wrapper .textarea-inner::placeholder{color:var(--fd-color-text-placeholder)!important}.x-input .x-inner-wrapper .input-inner,.x-textarea .x-inner-wrapper .input-inner{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-input .x-inner-wrapper .input-inner:not(:first-child),.x-textarea .x-inner-wrapper .input-inner:not(:first-child){padding-left:30px}.x-input .x-inner-wrapper .input-inner:not(:last-child),.x-textarea .x-inner-wrapper .input-inner:not(:last-child){padding-right:30px}.x-input .x-inner-wrapper .textarea-inner,.x-textarea .x-inner-wrapper .textarea-inner{padding:var(--fd-padding-xs) var(--fd-padding);resize:none}.x-input.input-disable .x-inner-wrapper,.x-input.textarea-disable .x-inner-wrapper,.x-textarea.input-disable .x-inner-wrapper,.x-textarea.textarea-disable .x-inner-wrapper{background:var(--fd-color-bg-container-disabled);border-color:var(--fd-color-border)}.x-input.input-disable .x-inner-wrapper .input-inner,.x-input.input-disable .x-inner-wrapper .textarea-inner,.x-input.textarea-disable .x-inner-wrapper .input-inner,.x-input.textarea-disable .x-inner-wrapper .textarea-inner,.x-textarea.input-disable .x-inner-wrapper .input-inner,.x-textarea.input-disable .x-inner-wrapper .textarea-inner,.x-textarea.textarea-disable .x-inner-wrapper .input-inner,.x-textarea.textarea-disable .x-inner-wrapper .textarea-inner{color:var(--fd-color-text-data-disabled);cursor:not-allowed}.x-input.input-disable .x-inner-wrapper:hover,.x-input.textarea-disable .x-inner-wrapper:hover,.x-textarea.input-disable .x-inner-wrapper:hover,.x-textarea.textarea-disable .x-inner-wrapper:hover{background:var(--fd-color-bg-container-disabled);border-color:var(--fd-color-border)!important}.x-input.input-disable .x-inner-wrapper:hover .input-inner,.x-input.input-disable .x-inner-wrapper:hover .textarea-inner,.x-input.textarea-disable .x-inner-wrapper:hover .input-inner,.x-input.textarea-disable .x-inner-wrapper:hover .textarea-inner,.x-textarea.input-disable .x-inner-wrapper:hover .input-inner,.x-textarea.input-disable .x-inner-wrapper:hover .textarea-inner,.x-textarea.textarea-disable .x-inner-wrapper:hover .input-inner,.x-textarea.textarea-disable .x-inner-wrapper:hover .textarea-inner{color:var(--fd-color-text-data-disabled)}.x-input.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-input.textarea-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.textarea-focus .x-inner-wrapper:not(.wrapper-borderless){border-color:var(--fd-color-primary)!important;box-shadow:var(--fd-input-active-shadow)}.x-input.input-focus .input-inner,.x-textarea.input-focus .input-inner{text-overflow:clip}.x-input.input-readonly .x-inner-wrapper,.x-input.textarea-readonly .x-inner-wrapper,.x-textarea.input-readonly .x-inner-wrapper,.x-textarea.textarea-readonly .x-inner-wrapper{border-color:var(--fd-color-border)}.x-input.input-error .x-inner-wrapper,.x-input.input-error.input-focus .x-inner-wrapper,.x-input.textarea-error .x-inner-wrapper,.x-textarea.input-error .x-inner-wrapper,.x-textarea.input-error.input-focus .x-inner-wrapper,.x-textarea.textarea-error .x-inner-wrapper{border-color:var(--fd-color-error)!important}.x-input.input-error .x-inner-wrapper:hover,.x-input.input-error.input-focus .x-inner-wrapper:hover,.x-input.textarea-error .x-inner-wrapper:hover,.x-textarea.input-error .x-inner-wrapper:hover,.x-textarea.input-error.input-focus .x-inner-wrapper:hover,.x-textarea.textarea-error .x-inner-wrapper:hover{border-color:var(--fd-color-error-hover)!important}.x-input.input-error.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-input.input-error.input-focus.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-input.input-error.input-focus.textarea-focus .x-inner-wrapper:not(.wrapper-borderless),.x-input.input-error.textarea-focus .x-inner-wrapper:not(.wrapper-borderless),.x-input.textarea-error.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-input.textarea-error.textarea-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.input-error.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.input-error.input-focus.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.input-error.input-focus.textarea-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.input-error.textarea-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.textarea-error.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.textarea-error.textarea-focus .x-inner-wrapper:not(.wrapper-borderless){box-shadow:var(--fd-input-error-active-shadow)}.x-input.input-invalid .x-inner-wrapper,.x-input.textarea-invalid .x-inner-wrapper,.x-textarea.input-invalid .x-inner-wrapper,.x-textarea.textarea-invalid .x-inner-wrapper{border-color:var(--fd-color-error)}.x-input.input-warning .x-inner-wrapper,.x-input.textarea-warning .x-inner-wrapper,.x-textarea.input-warning .x-inner-wrapper,.x-textarea.textarea-warning .x-inner-wrapper{border-color:var(--fd-color-warning)!important}.x-input.input-warning .x-inner-wrapper:hover,.x-input.textarea-warning .x-inner-wrapper:hover,.x-textarea.input-warning .x-inner-wrapper:hover,.x-textarea.textarea-warning .x-inner-wrapper:hover{border-color:var(--fd-color-warning-hover)!important}.x-input.input-warning.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-input.input-warning.textarea-focus .x-inner-wrapper:not(.wrapper-borderless),.x-input.textarea-warning.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-input.textarea-warning.textarea-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.input-warning.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.input-warning.textarea-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.textarea-warning.input-focus .x-inner-wrapper:not(.wrapper-borderless),.x-textarea.textarea-warning.textarea-focus .x-inner-wrapper:not(.wrapper-borderless){box-shadow:var(--fd-input-waring-active-shadow)}.x-inputpassword-icon{color:var(--fd-color-icon);cursor:pointer}.x-inputpassword-icon:hover{color:var(--fd-color-icon-hover)}.x-input-number{border:1px solid var(--fd-color-border);border-radius:var(--fd-border-radius);color:var(--fd-color-text);height:var(--fd-control-height);line-height:normal;overflow:hidden;position:relative;transition:border .2s ease;width:130px}.x-input-number *,.x-input-number :after,.x-input-number :before{box-sizing:border-box}.x-input-number input,.x-input-number textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variant-numeric:tabular-nums;margin:0;outline:none}.x-input-number input::-moz-placeholder,.x-input-number textarea::-moz-placeholder{opacity:1}.x-input-number input:-ms-input-placeholder,.x-input-number textarea:-ms-input-placeholder{opacity:1}.x-input-number input::placeholder,.x-input-number textarea::placeholder{opacity:1}.x-input-number input::-ms-clear,.x-input-number input::-ms-reveal{display:none}.x-input-number input[type=number]{-moz-appearance:textfield}.x-input-number input[type=number]::-webkit-inner-spin-button,.x-input-number input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.x-input-number .prefix,.x-input-number .suffix{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;height:100%;justify-content:center;overflow:hidden;position:absolute;width:var(--fd-control-height)}.x-input-number .prefix .control-btn,.x-input-number .suffix .control-btn{color:var(--fd-color-text);height:100%;text-align:center;width:100%}.x-input-number .prefix .control-btn .btn,.x-input-number .suffix .control-btn .btn{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background:var(--fd-color-fill-quaternary);background-color:var(--fd-color-bg-container);color:var(--fd-color-text);cursor:pointer;display:flex;height:100%;justify-content:center;transition:all .2s ease}.x-input-number .prefix .control-btn .btn:hover,.x-input-number .suffix .control-btn .btn:hover{background-color:var(--fd-color-bg-text-hover)}.x-input-number .prefix .control-btn .btn:active,.x-input-number .suffix .control-btn .btn:active{background:var(--fd-color-bg-text-hover);transition:unset}.x-input-number .prefix .control-btn .btn.btn-disabled,.x-input-number .suffix .control-btn .btn.btn-disabled{background:var(--fd-color-bg-container-disabled)!important;border-color:var(--fd-color-border)!important;color:var(--fd-color-text-disabled)!important;cursor:not-allowed}.x-input-number .prefix .control-btn.add .btn,.x-input-number .suffix .control-btn.add .btn{border-left:1px solid var(--fd-color-border)}.x-input-number .prefix .control-btn.minus .btn,.x-input-number .suffix .control-btn.minus .btn{border-right:1px solid var(--fd-color-border)}.x-input-number .prefix{bottom:0;left:0;top:0}.x-input-number .suffix{bottom:0;right:0;top:0}.x-input-number .inner-input{border:none;border-radius:var(--fd-border-radius);color:var(--fd-color-text);height:100%;outline:none;padding:0 calc(var(--fd-padding) + var(--fd-control-height));text-align:center;width:100%}.x-input-number:not(.disabled):not(.input-readonly).hover{border-color:var(--fd-color-primary-hover)}.x-input-number:not(.disabled):not(.input-readonly).focus{border-color:var(--fd-color-primary-hover);box-shadow:var(--fd-input-number-active-shadow)}.x-input-number.input-readonly .inner-input{cursor:default}.x-input-number.disabled .inner-input{background:var(--fd-color-bg-container-disabled);color:var(--fd-color-text-data-disabled);cursor:not-allowed}.x-input-number.control-in-right:not(.disabled):not(.input-readonly):hover .suffix .control-group{background:var(--fd-color-bg-container);display:flex}.x-input-number.control-in-right .inner-input{padding:0 var(--fd-padding);text-align:left}.x-input-number.control-in-right .inner-input:not(:first-child){padding-left:var(--fd-control-height)}.x-input-number.control-in-right .suffix .control-group{-ms-flex-pack:distribute;color:var(--fd-color-text);display:none;flex-direction:column;height:100%;justify-content:space-around;padding:var(--fd-padding-2xs);padding-left:0;width:100%}.x-input-number.control-in-right .suffix .control-group .btn{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-flex:1;align-items:center;background:var(--fd-color-fill-quaternary);border-radius:var(--fd-border-radius-xs);color:var(--fd-color-text);cursor:pointer;display:flex;flex:1 0 auto;height:30%;justify-content:center;transition:all .2s ease;width:100%}.x-input-number.control-in-right .suffix .control-group .btn:hover{background-color:var(--fd-color-bg-text-hover)}.x-input-number.control-in-right .suffix .control-group .btn:active{background:var(--fd-color-bg-text-hover);transition:unset}.x-input-number.control-in-right .suffix .control-group .btn.btn-disabled{background:var(--fd-color-bg-container-disabled)!important;border-color:var(--fd-color-border)!important;color:var(--fd-color-text-disabled)!important;cursor:not-allowed}.x-input-number.control-in-right .suffix .control-group .btn:hover{height:60%}.x-input-number.control-in-right .suffix .control-group .btn:first-child{margin-bottom:var(--fd-line-width)}.x-input-number.size-large{height:var(--fd-control-height-lg);width:166px}.x-input-number.size-large .inner-input{font-size:var(--fd-font-size-lg);padding:0 calc(var(--fd-padding) + var(--fd-control-height-lg))}.x-input-number.size-large .prefix,.x-input-number.size-large .suffix{width:var(--fd-control-height-lg)}.x-input-number.size-large.control-in-right .inner-input{padding:0 var(--fd-padding)}.x-input-number.size-large.control-in-right .inner-input:not(:first-child){padding-left:var(--fd-control-height-lg)}.x-input-number.size-small{height:var(--fd-control-height-sm);width:110px}.x-input-number.size-small .inner-input{font-size:var(--fd-font-size-sm);padding:0 calc(var(--fd-padding-xs) + var(--fd-control-height-sm))}.x-input-number.size-small .prefix,.x-input-number.size-small .suffix{width:var(--fd-control-height-sm)}.x-input-number.size-small .prefix .control-btn .btn>i,.x-input-number.size-small .suffix .control-btn .btn>i{font-size:var(--fd-font-size-sm)}.x-input-number.size-small.control-in-right .inner-input{padding:0 var(--fd-padding-xs)}.x-input-number.size-small.control-in-right .inner-input:not(:first-child){padding-left:var(--fd-control-height-sm)}.x-input-number.no-control-btn .inner-input{padding:0 var(--fd-padding);text-align:left}.x-input-number.no-control-btn .inner-input:not(:first-child){padding-left:var(--fd-control-height)}.x-input-number.no-control-btn .inner-input:not(:last-child){padding-right:var(--fd-control-height)}.x-input-number.input-state-error,.x-input-number.input-state-error:not(.disabled):not(.input-readonly).hover{border-color:var(--fd-color-error)}.x-input-number.input-state-warning,.x-input-number.input-state-warning:not(.disabled):not(.input-readonly).hover{border-color:var(--fd-color-warning)}.x-input-number.input-state-success,.x-input-number.input-state-success:not(.disabled):not(.input-readonly).hover{border-color:var(--fd-color-success)}.x-badge{display:inline-block;position:relative}.x-badge *,.x-badge :after,.x-badge :before{box-sizing:border-box}.x-badge.is-only-badge{font-size:0;line-height:var(--fd-line-height-sm)}.x-badge.is-only-badge .badge-count{bottom:0;left:0;position:relative;transform:none;vertical-align:middle}.x-badge.size-small .badge-count{height:calc(var(--fd-font-size-sm) + 2px);line-height:calc(var(--fd-font-size-sm) + 2px);min-width:calc(var(--fd-font-size-sm) + 2px)}.x-badge.size-small .badge-count.badge-multiple-words{padding:0 var(--fd-padding-xs)}.x-badge.size-small .badge-count-dot{height:6px;min-width:auto;width:6px}.x-badge .badge-count{background-color:var(--fd-color-error);border-radius:9999px;bottom:100%;box-shadow:0 0 0 1px var(--fd-color-white);color:var(--fd-color-text-light-solid);display:inline-block;font-size:var(--fd-font-size-sm);height:var(--fd-line-height-sm);left:100%;line-height:var(--fd-line-height-sm);max-width:100px;min-width:20px;position:absolute;text-align:center;transform:translate(calc(0px - var(--fd-line-height-sm)/2),calc(var(--fd-line-height-sm)/2));white-space:nowrap}.x-badge .badge-count.badge-multiple-words{padding:0 var(--fd-padding)}.x-badge .badge-count:not(.x-badge .badge-count-dot){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-badge .badge-count-dot{height:6px;min-width:auto;padding:0;transform:translate(-3px,3px);width:6px}.x-badge .badge-count-zero{background-color:var(--fd-color-bg-container);box-shadow:0 0 0 1px var(--fd-color-border);color:var(--fd-color-text-disabled)}.x-drawer{background:var(--fd-color-bg-container);box-shadow:0 0 5px #91919180;color:var(--fd-color-text);overflow:hidden;position:fixed;z-index:1002}.x-drawer *,.x-drawer :after,.x-drawer :before{box-sizing:border-box}.x-drawer .x-drawer-header{border-bottom:1px solid var(--fd-color-border);font-size:var(--fd-font-size-xl);line-height:var(--fd-line-height-xl);overflow:hidden;padding:var(--fd-padding-layout) var(--fd-padding-layout-lg);position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap}.x-drawer .x-drawer-header .drawer-close-btn{position:absolute;top:50%;transform:translateY(-50%)}.x-drawer .drawer-header-text{font-weight:700}.x-drawer.x-drawer-with-title{display:flex;flex-direction:column}.x-drawer.x-drawer-with-title .x-drawer-body{flex:1;overflow:hidden;position:relative}.x-drawer.x-drawer-with-title .x-drawer-body.content-padding{padding:var(--fd-padding-layout-lg)}.x-drawer.x-drawer-with-title .x-drawer-footer{-ms-flex-negative:0;border-top:var(--fd-line-width) solid var(--fd-color-border);flex-shrink:0;padding:var(--fd-padding-layout-sm) var(--fd-padding-layout-lg)}.x-drawer .drawer-close-btn{border-radius:var(--fd-border-radius);color:var(--fd-color-text);cursor:pointer;display:block;font-size:var(--fd-icon-size);height:var(--fd-line-height-xl);position:absolute;right:var(--fd-padding-layout-lg);text-align:center;top:var(--fd-padding-layout);transition:color .2s ease;width:var(--fd-line-height-xl)}.x-drawer .drawer-close-btn .close-btn{line-height:var(--fd-line-height-xl)}.x-drawer .drawer-close-btn:hover{background:var(--fd-color-bg-text-hover);color:var(--fd-color-text)}.x-drawer.from-bottom{bottom:0;left:0;right:0}.x-drawer.from-bottom.bottom-appear,.x-drawer.from-bottom.bottom-enter{transform:translate3d(0,100%,0)}.x-drawer.from-bottom.bottom-appear-active,.x-drawer.from-bottom.bottom-enter-active{transform:translateZ(0);transition:all .2s ease-in-out}.x-drawer.from-bottom.bottom-exit{transform:translateZ(0)}.x-drawer.from-bottom.bottom-exit-active{transform:translate3d(0,100%,0);transition:all .2s ease-in-out}.x-drawer.from-bottom.bottom-exit-done{display:none}.x-drawer.from-top{left:0;right:0;top:0}.x-drawer.from-top.top-appear,.x-drawer.from-top.top-enter{transform:translate3d(0,-100%,0)}.x-drawer.from-top.top-appear-active,.x-drawer.from-top.top-enter-active{transform:translateZ(0);transition:all .2s ease-in-out}.x-drawer.from-top.top-exit{transform:translateZ(0)}.x-drawer.from-top.top-exit-active{transform:translate3d(0,-100%,0);transition:all .2s ease-in-out}.x-drawer.from-top.top-exit-done{display:none}.x-drawer.from-left{bottom:0;left:0;top:0}.x-drawer.from-left.left-appear,.x-drawer.from-left.left-enter{transform:translate3d(-100%,0,0)}.x-drawer.from-left.left-appear-active,.x-drawer.from-left.left-enter-active{transform:translateZ(0);transition:all .2s ease-in-out}.x-drawer.from-left.left-exit{transform:translateZ(0)}.x-drawer.from-left.left-exit-active{transform:translate3d(-100%,0,0);transition:all .2s ease-in-out}.x-drawer.from-left.left-exit-done{display:none}.x-drawer.from-right{bottom:0;right:0;top:0}.x-drawer.from-right.right-appear,.x-drawer.from-right.right-enter{transform:translate3d(100%,0,0)}.x-drawer.from-right.right-appear-active,.x-drawer.from-right.right-enter-active{transform:translateZ(0);transition:all .2s ease-in-out}.x-drawer.from-right.right-exit{transform:translateZ(0)}.x-drawer.from-right.right-exit-active{transform:translate3d(100%,0,0);transition:all .2s ease-in-out}.x-drawer.from-right.right-exit-done{display:none}.x-drawer .x-mask,.x-drawer .x-window-mask{position:absolute}.x-drawer .x-drawer{position:absolute;z-index:1002!important}.x-drawer-wrapper.not-body-container .x-drawer,.x-drawer-wrapper.not-body-container .x-mask,.x-drawer-wrapper.not-body-container .x-window-mask{position:absolute}.x-check{color:var(--fd-color-text);display:flex;line-height:normal}.x-check *,.x-check :after,.x-check :before{box-sizing:border-box}.x-check .check-label{align-items:flex-start;cursor:pointer;display:flex;position:relative}.x-check .check-label.has-default-padding{padding:var(--fd-check-default-padding)}.x-check .check-label.size-middle,.x-check .check-label.size-normal{font-size:var(--fd-font-size)}.x-check .check-label.size-middle .check-icon,.x-check .check-label.size-middle .check-origin,.x-check .check-label.size-normal .check-icon,.x-check .check-label.size-normal .check-origin{height:16px;margin:calc((var(--fd-line-height) - 16px)/2) 0;width:16px}.x-check .check-label.size-middle .check-icon .yes-icon,.x-check .check-label.size-middle .check-origin .yes-icon,.x-check .check-label.size-normal .check-icon .yes-icon,.x-check .check-label.size-normal .check-origin .yes-icon{left:4px;top:10px}.x-check .check-label .check-icon{-webkit-box-flex:0;background:var(--fd-color-bg-container);border:1px solid var(--fd-color-border);border-radius:2px;display:inline-block;flex:0 0 auto;position:relative;transition:all .2s ease;vertical-align:middle}.x-check .check-label .check-icon .yes-icon{position:absolute;transform:rotate(-45deg)}.x-check .check-label .check-icon .yes-icon:after,.x-check .check-label .check-icon .yes-icon:before{background:var(--fd-color-text-light-solid);content:"";display:block;position:absolute;transition:all .2s ease}.x-check .check-label .check-icon .yes-icon:before{border-radius:1px 1px 0 0;bottom:0;height:0;width:2px}.x-check .check-label .check-icon .yes-icon:after{border-radius:0 1px 1px 2px;height:2px;width:0}.x-check .check-label .check-origin{cursor:inherit;opacity:0;position:absolute}.x-check .check-label .check-text{word-wrap:break-word;line-height:var(--fd-line-height);max-width:100%;padding-left:var(--fd-gap);vertical-align:middle;word-break:break-word}.x-check .check-label.is-only-icon{align-items:center;height:16px}.x-check:not(.auto-wrap) .x-check-wrapper{min-width:0}.x-check:not(.auto-wrap) .x-check-wrapper .check-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-check.check-checked:not(.indeterminate) .check-label.size-middle .check-icon .yes-icon:before,.x-check.check-checked:not(.indeterminate) .check-label.size-normal .check-icon .yes-icon:before{height:4px}.x-check.check-checked:not(.indeterminate) .check-label.size-middle .check-icon .yes-icon:after,.x-check.check-checked:not(.indeterminate) .check-label.size-normal .check-icon .yes-icon:after{width:10px}.x-check.check-checked:not(.indeterminate) .check-label .check-icon{background:var(--fd-color-primary);border-color:var(--fd-color-primary)}.x-check.check-checked:not(.indeterminate):hover .check-icon{background-color:var(--fd-color-primary-hover)}.x-check .x-check-wrapper:focus{box-shadow:0 0 0 1px var(--fd-color-primary);outline:none}.x-check .x-check-wrapper:active{box-shadow:none}.x-check .x-check-wrapper:hover .check-icon{border-color:var(--fd-color-primary)}.x-check.check-disable .x-check-wrapper:focus{box-shadow:none}.x-check.check-disable .check-label{cursor:not-allowed}.x-check.check-disable .check-label .check-icon{background:var(--fd-color-bg-container-disabled)!important;border-color:var(--fd-color-border)!important}.x-check.check-disable .check-label .check-icon .indeterminate-icon,.x-check.check-disable .check-label .check-icon .yes-icon,.x-check.check-disable .check-label .check-icon:hover{border-color:var(--fd-color-border)!important}.x-check.check-disable .check-label .check-icon .indeterminate-icon:after,.x-check.check-disable .check-label .check-icon .indeterminate-icon:before,.x-check.check-disable .check-label .check-icon .yes-icon:after,.x-check.check-disable .check-label .check-icon .yes-icon:before{background:var(--fd-color-icon-disabled)!important}.x-check.check-disable .check-label .check-text{color:var(--fd-color-text-data-disabled)!important}.x-check.check-disable.check-checked .check-label .check-icon .yes-icon:after,.x-check.check-disable.check-checked .check-label .check-icon .yes-icon:before{background:var(--fd-color-icon-disabled)!important}.x-check.indeterminate .check-icon{border-color:var(--fd-color-primary)}.x-check.indeterminate .check-icon .indeterminate-icon:before{background-color:var(--fd-color-primary);content:"";display:block;height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .2s ease;width:8px}.x-switch{background:var(--fd-color-primary);border-radius:11px;cursor:pointer;display:inline-block;font-size:var(--fd-font-size-sm);height:22px;line-height:22px;position:relative;transition:background .1s ease-out;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-switch *,.x-switch :after,.x-switch :before{box-sizing:border-box}.x-switch.loading{opacity:.4}.x-switch:not(.state-open){background:var(--fd-color-text-quaternary)!important}.x-switch:not(.state-open) .switch-loading-status{border-top-color:var(--fd-color-text-quaternary)!important}.x-switch .inner-label{color:var(--fd-color-text-light-solid);display:inline-block;height:22px;min-width:44px;padding:0 8px 0 22px;text-align:right;vertical-align:top}.x-switch .inner-label .trigger-sign-box{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background:var(--fd-color-white);border-radius:50%;display:block;display:flex;filter:drop-shadow(0 2px 4px rgba(0,35,11,.2));height:18px;justify-content:center;left:2px;position:absolute;top:2px;transition-duration:.2s;transition-property:left,transform,margin;width:18px}.x-switch .inner-label .trigger-sign-box .switch-loading-status{animation:x-rotate .8s cubic-bezier(.43,.1,.54,.85) infinite;border:2px solid;border-radius:50%;border-top:2px solid var(--fd-color-primary);height:14px;margin:0 auto;transform-origin:center;width:14px}.x-switch.state-open .inner-label{padding:0 22px 0 8px;text-align:left}.x-switch.state-open .inner-label .trigger-sign-box{left:100%;margin-left:-2px;right:2px;transform:translate(-100%)}.x-switch.disabled{cursor:not-allowed;opacity:.4}.x-switch.size-small{height:16px;line-height:16px}.x-switch.size-small .inner-label{height:16px;min-width:28px;padding:0 6px 0 14px}.x-switch.size-small .inner-label .trigger-sign-box{height:12px;width:12px}.x-switch.size-small .inner-label .trigger-sign-box .switch-loading-status{height:10px;width:10px}.x-switch.size-small.state-open .inner-label{padding:0 14px 0 8px}.x-check-group{display:inline-block;max-width:100%}.x-check-group .x-check-all{color:var(--fd-color-primary)}.x-check-group.check-group-horizontal{display:flex;flex-wrap:wrap}.x-check-group.check-group-horizontal.no-default-padding{row-gap:var(--fd-gap)}.x-check-group.check-group-horizontal.no-default-padding .x-check .check-label{padding:0}.x-check-group.check-group-horizontal .x-check{display:inline-block;margin-right:var(--fd-gap-4xl);max-width:100%}.x-check-group.check-group-horizontal .x-check:last-child{margin-right:0}.x-check-group.check-group-vertical.no-default-padding .x-check:first-child .check-label{padding-top:0}.x-check-group.check-group-vertical.no-default-padding .x-check:last-child .check-label{padding-bottom:0}.x-combo,.x-combocheck{height:var(--fd-control-height);width:200px}.x-combo *,.x-combo :after,.x-combo :before,.x-combocheck *,.x-combocheck :after,.x-combocheck :before{box-sizing:border-box}.x-combo:not(.disabled) .x-combo-dropdown-label,.x-combocheck:not(.disabled) .x-combo-dropdown-label{border-color:var(--fd-color-border)}.x-combo:not(.disabled).active,.x-combo:not(.disabled):focus,.x-combocheck:not(.disabled).active,.x-combocheck:not(.disabled):focus{outline:none}.x-combo:not(.disabled).active .x-combo-dropdown-label,.x-combo:not(.disabled):focus .x-combo-dropdown-label,.x-combocheck:not(.disabled).active .x-combo-dropdown-label,.x-combocheck:not(.disabled):focus .x-combo-dropdown-label{border-color:var(--fd-color-primary-hover);box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-control-outline);outline:0}.x-combo:not(.disabled):hover .x-combo-dropdown-label,.x-combocheck:not(.disabled):hover .x-combo-dropdown-label{border-color:var(--fd-color-primary-hover)}.x-combo.status-error:not(.disabled) .x-combo-dropdown-label,.x-combocheck.status-error:not(.disabled) .x-combo-dropdown-label{border-color:var(--fd-color-error)}.x-combo.status-error:not(.disabled).active,.x-combo.status-error:not(.disabled):focus,.x-combocheck.status-error:not(.disabled).active,.x-combocheck.status-error:not(.disabled):focus{outline:none}.x-combo.status-error:not(.disabled).active .x-combo-dropdown-label,.x-combo.status-error:not(.disabled):focus .x-combo-dropdown-label,.x-combocheck.status-error:not(.disabled).active .x-combo-dropdown-label,.x-combocheck.status-error:not(.disabled):focus .x-combo-dropdown-label{border-color:var(--fd-color-error-hover);box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-error-outline);outline:0}.x-combo.status-error:not(.disabled):hover .x-combo-dropdown-label,.x-combocheck.status-error:not(.disabled):hover .x-combo-dropdown-label{border-color:var(--fd-color-error-hover)}.x-combo.status-success:not(.disabled) .x-combo-dropdown-label,.x-combocheck.status-success:not(.disabled) .x-combo-dropdown-label{border-color:var(--fd-color-success)}.x-combo.status-success:not(.disabled).active,.x-combo.status-success:not(.disabled):focus,.x-combocheck.status-success:not(.disabled).active,.x-combocheck.status-success:not(.disabled):focus{outline:none}.x-combo.status-success:not(.disabled).active .x-combo-dropdown-label,.x-combo.status-success:not(.disabled):focus .x-combo-dropdown-label,.x-combocheck.status-success:not(.disabled).active .x-combo-dropdown-label,.x-combocheck.status-success:not(.disabled):focus .x-combo-dropdown-label{border-color:var(--fd-color-success-hover);box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-control-outline);outline:0}.x-combo.status-success:not(.disabled):hover .x-combo-dropdown-label,.x-combocheck.status-success:not(.disabled):hover .x-combo-dropdown-label{border-color:var(--fd-color-success-hover)}.x-combo.status-warning:not(.disabled) .x-combo-dropdown-label,.x-combocheck.status-warning:not(.disabled) .x-combo-dropdown-label{border-color:var(--fd-color-warning)}.x-combo.status-warning:not(.disabled).active,.x-combo.status-warning:not(.disabled):focus,.x-combocheck.status-warning:not(.disabled).active,.x-combocheck.status-warning:not(.disabled):focus{outline:none}.x-combo.status-warning:not(.disabled).active .x-combo-dropdown-label,.x-combo.status-warning:not(.disabled):focus .x-combo-dropdown-label,.x-combocheck.status-warning:not(.disabled).active .x-combo-dropdown-label,.x-combocheck.status-warning:not(.disabled):focus .x-combo-dropdown-label{border-color:var(--fd-color-warning-hover);box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-warning-outline);outline:0}.x-combo.status-warning:not(.disabled):hover .x-combo-dropdown-label,.x-combocheck.status-warning:not(.disabled):hover .x-combo-dropdown-label{border-color:var(--fd-color-warning-hover)}.x-combo.no-border .x-combo-dropdown-label,.x-combocheck.no-border .x-combo-dropdown-label{border-color:transparent}.x-combo.no-border.active,.x-combo.no-border:focus,.x-combocheck.no-border.active,.x-combocheck.no-border:focus{outline:none}.x-combo.no-border.active .x-combo-dropdown-label,.x-combo.no-border:focus .x-combo-dropdown-label,.x-combocheck.no-border.active .x-combo-dropdown-label,.x-combocheck.no-border:focus .x-combo-dropdown-label{border-color:transparent;box-shadow:none;outline:0}.x-combo.no-border:hover .x-combo-dropdown-label,.x-combocheck.no-border:hover .x-combo-dropdown-label{border-color:transparent}.x-combo .x-combo-dropdown-custom-label,.x-combocheck .x-combo-dropdown-custom-label{height:100%;width:100%}.x-combo .x-combo-dropdown-label,.x-combocheck .x-combo-dropdown-label{font-size:var(--fd-font-size);line-height:var(--fd-line-height);padding:0 var(--fd-padding)}.x-combo .x-combo-dropdown-label .dropdown-icon,.x-combocheck .x-combo-dropdown-label .dropdown-icon{font-size:var(--fd-icon-size);line-height:var(--fd-icon-size)}.x-combo.size-small,.x-combocheck.size-small{height:var(--fd-control-height-sm)}.x-combo.size-small .x-combo-dropdown-label,.x-combocheck.size-small .x-combo-dropdown-label{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-lg);padding:0 var(--fd-padding-xs)}.x-combo.size-small .x-combo-dropdown-label .dropdown-icon,.x-combocheck.size-small .x-combo-dropdown-label .dropdown-icon{font-size:var(--fd-icon-size);line-height:var(--fd-icon-size)}.x-combo.size-large,.x-combocheck.size-large{height:var(--fd-control-height-lg)}.x-combo.size-large .x-combo-dropdown-label,.x-combocheck.size-large .x-combo-dropdown-label{font-size:var(--fd-font-size-lg);line-height:var(--fd-line-height-sm);padding:0 var(--fd-padding)}.x-combo.size-large .x-combo-dropdown-label .dropdown-icon,.x-combocheck.size-large .x-combo-dropdown-label .dropdown-icon{font-size:var(--fd-icon-size);line-height:var(--fd-icon-size)}.x-combo-dropdown-list .dropdown-extra{text-align:center}.x-combo-dropdown-list .dropdown-groups .group-label{color:var(--fd-color-text-secondary);font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);padding:var(--fd-padding-xs) var(--fd-padding) 0 var(--fd-padding)}.x-combo-dropdown-list .dropdown-groups .group-items .x-combo-dropdown-item{padding-left:var(--fd-padding-xl)}.x-combo-dropdown-list .x-combo-dropdown-item{align-items:center;border-radius:var(--fd-border-radius-sm);display:flex;height:var(--fd-control-height);padding:0 var(--fd-padding);transition:all .2s}.x-combo-dropdown-list .x-combo-dropdown-item-icon{flex:none;font-size:var(--fd-icon-size);font-weight:400;margin-right:var(--fd-gap-sm)}.x-combo-dropdown-list .x-combo-dropdown-item-content{flex:auto;font-size:var(--fd-font-size);line-height:var(--fd-line-height);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-combo-dropdown-list .x-combo-dropdown-item-check{flex:none;margin-right:var(--fd-gap)}.x-combo-dropdown-list .x-combo-dropdown-item .x-search-key,.x-combo-dropdown-list .x-combo-dropdown-item.check-all-item{color:var(--fd-color-primary-text)}.x-combo-dropdown-list .x-combo-dropdown-item:not(.disabled){cursor:pointer}.x-combo-dropdown-list .x-combo-dropdown-item:not(.disabled).selected.is-multi.is-focus,.x-combo-dropdown-list .x-combo-dropdown-item:not(.disabled).selected.is-multi:hover,.x-combo-dropdown-list .x-combo-dropdown-item:not(.disabled):not(.selected).is-focus,.x-combo-dropdown-list .x-combo-dropdown-item:not(.disabled):not(.selected):hover{background:var(--fd-color-fill-quaternary)}.x-combo-dropdown-list .x-combo-dropdown-item.selected{background:var(--fd-control-item-bg-active);font-weight:var(--fd-control-item-font-weight-active)}.x-combo-dropdown-list .x-combo-dropdown-item.selected.disabled{background:var(--fd-control-item-bg-active-disabled);font-weight:400}.x-combo-dropdown-list .x-combo-dropdown-item.disabled{color:var(--fd-color-text-disabled);cursor:not-allowed}.x-combo-dropdown-list .x-combo-dropdown-item.is-multi.selected{background:inherit;font-weight:400}.x-combo-dropdown-list .x-combo-dropdown-item.is-multi.selected.disabled{background:inherit}.x-combo-dropdown-list .x-combo-dropdown-item.is-multi.disabled .x-check{color:var(--fd-color-text-disabled)}.x-combo-dropdown-wrapper{background:var(--fd-color-bg-container);border-radius:var(--fd-border-radius-lg);box-shadow:0 6px 10px 1px #0000000f,0 3px 14px 2px #0000000d;font-size:var(--fd-font-size);line-height:var(--fd-line-height);overflow:hidden;position:relative}.x-combo-dropdown-wrapper .dropdown-search-input{border-bottom:1px solid var(--fd-color-split)}.x-combo-dropdown-wrapper .inner-wrapper{max-height:250px;overflow-y:auto;padding:var(--fd-padding-layout-2xs)}.x-combo-dropdown-wrapper .dropdown-loading .loading-wrapper{min-width:240px}.x-combo-dropdown-wrapper .dropdown-empty{color:var(--fd-color-text-description);line-height:var(--fd-control-height);text-align:center}.x-combo-dropdown-wrapper .dropdown-extra .loading-wrapper{width:100%}.x-combo-dropdown-wrapper .search-loading{color:var(--fd-color-text-description);font-size:var(--fd-font-size);line-height:var(--fd-control-height);padding:var(--fd-padding-layout-2xs);text-align:center}.x-combo-dropdown-wrapper .loading-wrapper{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;color:var(--fd-color-text-description);display:flex;height:var(--fd-control-height);justify-content:center}.x-combo-dropdown-wrapper .loading-wrapper .x-spin{padding-right:var(--fd-gap-sm);position:relative}.x-combo-dropdown-bottom-appear,.x-combo-dropdown-bottom-enter{animation:x-slide-down .2s cubic-bezier(.23,1,.32,1);animation-fill-mode:forwards;transform-origin:top}.x-combo-dropdown-bottom-exit{animation:x-slide-down .2s cubic-bezier(.75,.05,.85,.06) reverse;animation-fill-mode:forwards;transform-origin:top}.x-combo-dropdown-top-appear,.x-combo-dropdown-top-enter{animation:x-slide-down .2s cubic-bezier(.23,1,.32,1);animation-fill-mode:forwards;transform-origin:bottom}.x-combo-dropdown-top-exit{animation:x-slide-down .2s cubic-bezier(.75,.05,.85,.06) reverse;animation-fill-mode:forwards;transform-origin:bottom}.x-combo-dropdown-label{align-items:center;border:var(--fd-line-width) solid var(--fd-color-border);border-radius:var(--fd-border-radius);color:var(--fd-color-text);cursor:pointer;display:flex;height:100%;overflow:hidden;position:relative;transition:border .2s ease;width:100%}.x-combo-dropdown-label .value-wrapper{flex:1 1 auto;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-combo-dropdown-label .value-wrapper .value-content{margin-right:var(--fd-gap-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-combo-dropdown-label .value-wrapper .value-content .dropdown-label-placeholder{color:var(--fd-color-text-placeholder);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-combo-dropdown-label .dropdown-icon{-webkit-box-flex:0;color:var(--fd-color-icon-normal);flex:0 0 auto;font-size:var(--fd-icon-size);font-style:normal;text-align:center;transform:rotate(0);transition:transform .2s ease}.x-combo-dropdown-label .dropdown-icon.reverse{transform:rotate(180deg)}.x-combo-dropdown-label .dropdown-icon.close-icon{color:var(--fd-color-icon);display:none}.x-combo-dropdown-label .dropdown-icon.close-icon:hover{color:var(--fd-color-icon-hover)}.x-combo-dropdown-label.show-clear:not(.disabled):hover .arrow-icon{display:none}.x-combo-dropdown-label.show-clear:not(.disabled):hover .close-icon{display:block}.x-combo-dropdown-label.disabled{background-color:var(--fd-color-bg-container-disabled);color:var(--fd-color-text-data-disabled);cursor:not-allowed}.x-combo-dropdown-label.disabled .dropdown-icon{color:var(--fd-color-text-disabled)}.x-datepicker{background-color:var(--fd-color-bg-container);border:none;border-radius:var(--fd-border-radius-lg);box-shadow:0 9px 27px 8px #1f2d3d0a,0 6px 18px 2px #1f2d3d0f,0 3px 6px -4px #1f2d3d1a;font-size:var(--fd-font-size);line-height:0;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.x-datepicker *,.x-datepicker :after,.x-datepicker :before{box-sizing:border-box}.x-datepicker .picker-content{display:inline-block;width:280px}.x-datepicker .picker-content .date-month,.x-datepicker .picker-content .date-year{height:230px;white-space:normal}.x-datepicker .picker-content.multi-pane .date-month,.x-datepicker .picker-content.multi-pane .date-year{height:270px}.x-datepicker .picker-content.multi-pane .date-month .item-cell .cell-btn,.x-datepicker .picker-content.multi-pane .date-year .item-cell .cell-btn{height:var(--fd-control-height);line-height:var(--fd-control-height)}.x-datepicker .picker-content~.date-time-picker{border-left:1px solid var(--fd-color-border)}.x-datepicker .picker-content .time-label{border-top:1px solid var(--fd-color-split);color:var(--fd-color-text);font-size:var(--fd-font-size);height:32px;line-height:32px;text-align:center;width:100%}.x-datepicker .date-head{-webkit-box-align:center;-ms-flex-align:center;-ms-flex-pack:distribute;align-items:center;display:flex;height:40px;justify-content:space-around;position:relative;text-align:center}.x-datepicker .date-head:after{border-top:1px solid var(--fd-color-split);bottom:0;content:"";left:0;position:absolute;right:0}.x-datepicker .date-head .head-btn{cursor:pointer;line-height:40px;padding:0 5px}.x-datepicker .date-head .head-btn:hover,.x-datepicker .date-head .head-btn:hover>i{color:var(--fd-color-primary)}.x-datepicker .date-head .head-btn.default{cursor:default}.x-datepicker .date-head .head-btn.default:hover{color:var(--fd-color-text)}.x-datepicker .date-head .head-btn.disabled{color:var(--fd-color-text-disabled);cursor:not-allowed}.x-datepicker .date-head .head-btn.disabled>i{color:var(--fd-color-text-disabled)}.x-datepicker .date-head .head-btn.btn-prevy{left:10px;position:absolute;top:0}.x-datepicker .date-head .head-btn.btn-prevm{left:34px;position:absolute;top:0}.x-datepicker .date-head .head-btn.btn-nexty{position:absolute;right:10px;top:0}.x-datepicker .date-head .head-btn.btn-nextm{position:absolute;right:34px;top:0}.x-datepicker .date-head .head-btn.btn-month,.x-datepicker .date-head .head-btn.btn-year{display:inline-block}.x-datepicker .date-body{color:var(--fd-color-text);padding:var(--fd-padding-layout-sm)}.x-datepicker .date-body table{border-collapse:collapse;width:100%}.x-datepicker .date-body table thead th{font-weight:400;height:var(--fd-control-height-sm)}.x-datepicker .date-body table tbody td{cursor:pointer;text-align:center}.x-datepicker .date-body table tbody td .td-text{border:1px solid transparent;border-radius:var(--fd-border-radius-sm);height:var(--fd-control-height-sm);line-height:calc(var(--fd-control-height-sm) - 2px);margin:8px auto 0;text-align:center;transition:all .2s;width:var(--fd-control-height-sm)}.x-datepicker .date-body table tbody td.nav:hover .td-text{background:var(--fd-control-item-bg-hover)}.x-datepicker .date-body table tbody td.today .td-text{border-color:var(--fd-color-primary)}.x-datepicker .date-body table tbody td.today.disabled .td-text,.x-datepicker .date-body table tbody td.today.oday .td-text{border-color:var(--fd-color-border);color:var(--fd-color-text-disabled)}.x-datepicker .date-body table tbody td.today.disabled:hover .td-text,.x-datepicker .date-body table tbody td.today.oday:hover .td-text{background-color:var(--fd-color-primary-bg)}.x-datepicker .date-body table tbody td.oday{color:var(--fd-color-text-disabled)}.x-datepicker .date-body table tbody td.oday:hover .td-text{background-color:var(--fd-control-item-bg-hover)}.x-datepicker .date-body table tbody td.disabled{cursor:not-allowed;position:relative}.x-datepicker .date-body table tbody td.disabled:before{background:var(--fd-color-bg-container-disabled);bottom:0;content:"";height:var(--fd-control-height-sm);left:0;position:absolute;right:0}.x-datepicker .date-body table tbody td.disabled .td-text,.x-datepicker .date-body table tbody td.disabled:hover .td-text{background-color:transparent;color:var(--fd-color-text-disabled)}.x-datepicker .date-body table tbody td.disabled.selected .td-text{background-color:var(--fd-control-item-bg-active-disabled);color:var(--fd-color-text-disabled)!important}.x-datepicker .date-body table tbody td.disabled.selected:hover .td-text{background-color:var(--fd-control-item-bg-active-disabled);color:var(--fd-color-text-disabled)}.x-datepicker .date-body table tbody td.selected .td-text{background-color:var(--fd-color-primary);color:var(--fd-color-text-light-solid)!important}.x-datepicker .date-body table tbody td.selected:hover .td-text{background-color:var(--fd-color-primary);color:var(--fd-color-text-light-solid)}.x-datepicker .date-time-picker{display:inline-block;height:296px;max-width:280px;vertical-align:top}.x-datepicker .date-time-picker.show-time-label{height:328px}.x-datepicker .date-time-picker.multi-pane{display:none}.x-datepicker .date-time-picker .time-body{display:flex;height:100%}.x-datepicker .date-time-picker .time-body .col{display:flex;flex-direction:column;position:relative;text-align:center}.x-datepicker .date-time-picker .time-body .col:not(:last-child){border-right:1px solid var(--fd-color-border)}.x-datepicker .date-time-picker .time-body .col .label{flex:none;height:var(--fd-control-height-sm);line-height:var(--fd-control-height-sm);margin-top:4px}.x-datepicker .date-time-picker .time-body .col .col-list{flex:1 1 auto;overflow-y:hidden;padding:0 3px}.x-datepicker .date-time-picker .time-body .col .col-list::-webkit-scrollbar{width:0}.x-datepicker .date-time-picker .time-body .col .col-list::-webkit-scrollbar-thumb{background:hsla(220,6%,54%,.5)}.x-datepicker .date-time-picker .time-body .col .col-list::-webkit-scrollbar-track{display:none}.x-datepicker .date-time-picker .time-body .col .col-list:hover{overflow-y:auto}.x-datepicker .date-time-picker .time-body .col .col-list:after{content:"";display:block;height:calc(100% - var(--fd-gap-sm) - var(--fd-control-height-sm))}.x-datepicker .date-time-picker .time-body .col .col-list .col-item{border-radius:var(--fd-border-radius-sm);cursor:pointer;height:var(--fd-control-height-sm);line-height:var(--fd-control-height-sm);margin-top:var(--fd-gap-sm);width:48px}.x-datepicker .date-time-picker .time-body .col .col-list .col-item:hover{background:var(--fd-control-item-bg-hover)}.x-datepicker .date-time-picker .time-body .col .col-list .col-item.select{background:var(--fd-color-primary-bg)}.x-datepicker .date-month,.x-datepicker .date-year{-ms-flex-line-pack:justify;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-content:space-between;align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;padding:var(--fd-padding-layout) var(--fd-padding-layout-sm)}.x-datepicker .date-month .item-cell,.x-datepicker .date-year .item-cell{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;color:var(--fd-color-text);display:inline-flex;height:25%;justify-content:center;padding:0 var(--fd-padding-lg);position:relative;width:33.33%}.x-datepicker .date-month .item-cell.disabled,.x-datepicker .date-year .item-cell.disabled{cursor:not-allowed}.x-datepicker .date-month .item-cell.disabled:before,.x-datepicker .date-year .item-cell.disabled:before{background:var(--fd-color-bg-container-disabled);content:"";height:var(--fd-control-height);left:0;position:absolute;right:0}.x-datepicker .date-month .item-cell .cell-btn,.x-datepicker .date-year .item-cell .cell-btn{border-radius:var(--fd-border-radius-sm);cursor:pointer;height:var(--fd-control-height);line-height:var(--fd-control-height);text-align:center;width:100%}.x-datepicker .date-month .item-cell .cell-btn:hover,.x-datepicker .date-year .item-cell .cell-btn:hover{background:var(--fd-control-item-bg-hover)}.x-datepicker .date-month .item-cell .cell-btn.last-year,.x-datepicker .date-month .item-cell .cell-btn.next-year,.x-datepicker .date-year .item-cell .cell-btn.last-year,.x-datepicker .date-year .item-cell .cell-btn.next-year{color:var(--fd-color-text-disabled)}.x-datepicker .date-month .item-cell .cell-btn.select,.x-datepicker .date-year .item-cell .cell-btn.select{background:var(--fd-color-primary);color:var(--fd-color-text-light-solid)}.x-datepicker .date-month .item-cell .cell-btn.select.disabled,.x-datepicker .date-year .item-cell .cell-btn.select.disabled{background:var(--fd-control-item-bg-active-disabled)}.x-datepicker .date-month .item-cell .cell-btn.disabled,.x-datepicker .date-month .item-cell .cell-btn.disabled:hover,.x-datepicker .date-year .item-cell .cell-btn.disabled,.x-datepicker .date-year .item-cell .cell-btn.disabled:hover{background:none;color:var(--fd-color-text-disabled)}.x-datepicker .date-foot{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;border-top:1px solid var(--fd-color-split);display:flex;height:40px;justify-content:space-between;padding:0 10px;position:relative}.x-datepicker .date-foot.multi-pane{display:none}.x-date-input{height:100%;width:100%}.x-date-input.read-only .x-inner-wrapper input{cursor:pointer}.x-date-input .x-inner-wrapper{border:none!important;border-radius:0}.x-datetime{color:var(--fd-color-text);cursor:pointer;position:relative;width:280px}.x-datetime *,.x-datetime :after,.x-datetime :before{box-sizing:border-box}.x-datetime .datetime-label{border:1px solid var(--fd-color-border);border-radius:var(--fd-border-radius);cursor:pointer;height:var(--fd-control-height);line-height:calc(var(--fd-control-height) - 2px);overflow:hidden;padding-right:calc(var(--fd-padding) + var(--fd-gap-sm) + var(--fd-font-size-lg));transition:border-color .2s ease;width:100%}.x-datetime .datetime-label.no-border{border-color:transparent!important;box-shadow:none!important}.x-datetime .datetime-label.status-error{border-color:var(--fd-color-error)!important}.x-datetime .datetime-label.status-success{border-color:var(--fd-color-success)!important}.x-datetime .datetime-label.status-warning{border-color:var(--fd-color-warning)!important}.x-datetime .datetime-label input{padding-right:0!important}.x-datetime .datetime-label:focus{border-color:var(--fd-color-primary);outline:none}.x-datetime .datetime-label:focus .datetime-icon{color:var(--fd-color-primary)}.x-datetime .clear-icon,.x-datetime .datetime-icon{color:var(--fd-color-icon-normal);font-size:var(--fd-font-size-lg);font-style:normal;line-height:var(--fd-control-height);padding:0 var(--fd-padding) 0 var(--fd-gap-sm);position:absolute;right:0;text-align:center;top:0;transition:color .2s ease}.x-datetime .clear-icon{color:var(--fd-color-icon);display:none}.x-datetime .clear-icon:hover{color:var(--fd-color-icon-hover)}.x-datetime.select .datetime-label,.x-datetime:hover .datetime-label{border-color:var(--fd-color-primary)}.x-datetime.select .x-inner-wrapper,.x-datetime:hover .x-inner-wrapper{box-shadow:none!important}.x-datetime.select .datetime-label{box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-control-outline)}.x-datetime.select .datetime-label.status-error{box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-error-outline)}.x-datetime.select .datetime-label.status-warning{box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-warning-outline)}.x-datetime.disable{cursor:not-allowed}.x-datetime.disable .datetime-label{background:var(--fd-color-bg-container-disabled);border-color:var(--fd-color-border);cursor:not-allowed}.x-datetime.disable .datetime-label .x-inner-wrapper{background-color:transparent}.x-datetime.disable .datetime-label:hover{border-color:var(--fd-color-border)}.x-datetime.disable .datetime-icon{color:var(--fd-color-text-disabled)}.x-datetime.has-clear.value:not(.disable):hover .clear-icon{display:block}.x-datetime.has-clear.value:not(.disable):hover .datetime-icon{display:none}.x-datetime-content{cursor:auto;display:inline-block;width:auto}.x-datetime-bottom-appear,.x-datetime-bottom-enter{animation:x-slide-down .2s ease;animation-fill-mode:forwards;transform-origin:top}.x-datetime-bottom-exit{animation:x-slide-down .2s ease-in reverse;animation-fill-mode:forwards;transform-origin:top}.x-datetime-top-appear,.x-datetime-top-enter{animation:x-slide-down .2s ease;animation-fill-mode:forwards;transform-origin:bottom}.x-datetime-top-exit{animation:x-slide-down .2s reverse;animation-fill-mode:forwards;transform-origin:bottom}.x-date-range{align-items:center;border:1px solid var(--fd-color-border);border-radius:var(--fd-border-radius);color:var(--fd-color-text);cursor:pointer;display:inline-flex;height:var(--fd-control-height);padding:var(--fd-padding-xs) var(--fd-padding);padding-right:30px;position:relative;width:360px}.x-date-range,.x-date-range *,.x-date-range :after,.x-date-range :before{box-sizing:border-box}.x-date-range ol,.x-date-range ul{margin:0;padding:0}.x-date-range li{list-style-type:none}.x-date-range.focused{box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-control-outline)}.x-date-range.focused .active-bar{opacity:1}.x-date-range.focused.status-error{box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-error-outline)}.x-date-range.focused.status-warning{box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-warning-outline)}.x-date-range.status-error{border-color:var(--fd-color-error)!important}.x-date-range.status-success{border-color:var(--fd-color-success)!important}.x-date-range.status-warning{border-color:var(--fd-color-warning)!important}.x-date-range .active-bar{background:var(--fd-color-primary);bottom:0;height:2px;margin-left:var(--fd-padding);opacity:0;pointer-events:none}.x-date-range .range-input{align-items:center;color:var(--fd-color-text);display:inline-flex;width:100%}.x-date-range .range-input.range-input-placeholder>input{color:var(--fd-color-text-placeholder)}.x-date-range .range-input>input{-webkit-box-flex:1;background:0 0;background-image:none;border:0;border-radius:var(--fd-border-radius);display:inline-block;flex:auto;font-size:var(--fd-font-size);height:auto;line-height:var(--fd-line-height);min-width:0;padding:0;position:relative;text-overflow:ellipsis;transition:all .3s;width:100%}.x-date-range .range-input>input:focus{outline:none}.x-date-range .range-separator{align-items:center;padding:0 8px}.x-date-range .range-separator>span{color:var(--fd-color-text-placeholder);display:inline-block;font-size:var(--fd-font-size-lg)}.x-date-range .datetime-label{align-items:center;border:1px solid var(--fd-color-border);border-radius:var(--fd-border-radius);cursor:pointer;display:flex;height:var(--fd-control-height);line-height:calc(var(--fd-control-height) - 2px);padding-left:var(--fd-padding);padding-right:calc(var(--fd-control-height) - 2px);transition:border-color .2s ease;width:100%}.x-date-range .datetime-label .datetime-end-label,.x-date-range .datetime-label .datetime-start-label{flex:auto}.x-date-range .datetime-label .label-split{flex:none;margin:0 5px;width:14px}.x-date-range .datetime-label .placeholder{color:var(--fd-color-text-placeholder);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-date-range .clear-icon,.x-date-range .datetime-icon{color:var(--fd-color-icon-normal);font-size:var(--fd-font-size-lg);font-style:normal;line-height:calc(var(--fd-control-height) - 2px);position:absolute;right:0;text-align:center;top:0;transition:color .2s ease;width:calc(var(--fd-control-height) - 2px)}.x-date-range .clear-icon{background-color:var(--fd-color-bg-container);border-radius:var(--fd-border-radius);color:var(--fd-color-icon);opacity:0}.x-date-range .clear-icon:hover{color:var(--fd-color-icon-hover)}.x-date-range.select .clear-icon,.x-date-range:hover .clear-icon{opacity:1}.x-date-range.select .datetime-label,.x-date-range:hover .datetime-label{border-color:var(--fd-color-primary)}.x-date-range.focused,.x-date-range:hover{border:1px solid;border-color:var(--fd-color-primary)}.x-date-range.disabled{background:var(--fd-color-bg-container-disabled);border-color:var(--fd-color-border);cursor:not-allowed}.x-date-range.disabled input{color:var(--fd-color-text-data-disabled);cursor:not-allowed!important}.x-date-range.disabled.focused,.x-date-range.disabled:hover{border-color:var(--fd-color-border)}.x-date-range.disabled .datetime-icon{color:var(--fd-color-text-disabled)}.x-date-range-picker{background:var(--fd-color-bg-container);border-radius:var(--fd-border-radius);box-shadow:0 9px 27px 8px #1f2d3d0a,0 6px 18px 2px #1f2d3d0f,0 3px 6px -4px #1f2d3d1a;color:var(--fd-color-text);display:inline-block;text-align:center}.x-date-range-picker .picker-panel{background:var(--fd-color-bg-container);border-radius:3px;display:inline-flex;flex-direction:column;outline:none;text-align:center}.x-date-range-picker .picker-date-panel,.x-date-range-picker .picker-month-panel,.x-date-range-picker .picker-time-panel,.x-date-range-picker .picker-year-panel{display:flex;flex-direction:column;width:280px}.x-date-range-picker .picker-panel-header{border-bottom:1px solid var(--fd-color-border);display:flex;padding:0 10px}.x-date-range-picker .picker-panel-header>*{flex:none}.x-date-range-picker .picker-panel-header .x-button{background:transparent;border:0;color:var(--fd-color-text);cursor:pointer;font-size:var(--fd-font-size);height:40px;line-height:40px;padding:0;transition:color .3s;width:auto}.x-date-range-picker .picker-panel-header .x-button:hover{color:var(--fd-color-primary)}.x-date-range-picker .picker-panel-header .picker-panel-header-view{-webkit-box-flex:1;color:var(--fd-color-text);flex:auto;font-weight:500;line-height:40px}.x-date-range-picker .picker-panel-header .picker-panel-header-view .x-button{color:inherit;font-weight:inherit}.x-date-range-picker .picker-panel-header .picker-panel-header-view .x-button:not(:first-child){margin-left:10px}.x-date-range-picker .picker-panel-header .picker-panel-header-view .x-button:hover{color:var(--fd-color-primary)}.x-date-range-picker .picker-panel-footer{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;border-top:1px solid var(--fd-color-border);display:flex;height:40px;justify-content:space-between;padding:0 15px}.x-date-range-picker .picker-panel-footer.single-btn{justify-content:center}.x-date-range-picker .panel-content{border-collapse:collapse;table-layout:fixed;width:100%}.x-date-range-picker .panel-content td,.x-date-range-picker .panel-content th{font-weight:400;min-width:var(--fd-control-height-sm);position:relative}.x-date-range-picker .panel-content th{height:var(--fd-control-height-sm);line-height:var(--fd-control-height-sm)}.x-date-range-picker .picker-panel>:not(.picker-date-panel) .in-range.range-hover-end:before,.x-date-range-picker .picker-panel>:not(.picker-date-panel) .in-range.range-hover-start:before{background:var(--fd-color-primary-bg-hover)}.x-date-range-picker .date-picker-cell{color:var(--fd-color-text-disabled);cursor:pointer;padding:4px 0}.x-date-range-picker .date-picker-cell.in-view{color:var(--fd-color-text)}.x-date-range-picker .date-picker-cell.disabled{color:var(--fd-color-text-disabled);cursor:not-allowed;pointer-events:none}.x-date-range-picker .date-picker-cell:before{content:"";height:var(--fd-control-height);left:0;position:absolute;right:0;z-index:1}.x-date-range-picker .date-picker-cell .date-picker-cell-inner{border-radius:var(--fd-border-radius);display:inline-block;height:var(--fd-control-height);line-height:var(--fd-control-height);min-width:var(--fd-control-height);position:relative;z-index:2}.x-date-range-picker .date-picker-cell:hover:not(.selected):not(.range-start):not(.range-end):not(.range-hover-start):not(.range-hover-end):not(.in-range) .date-picker-cell-inner{background:var(--fd-control-item-bg-hover)}.x-date-range-picker .date-picker-cell.today .date-picker-cell-inner:before{border:1px solid;border-color:var(--fd-color-primary);border-radius:var(--fd-border-radius);content:"";inset:0;position:absolute;z-index:1}.x-date-range-picker .date-picker-cell.in-range{position:relative}.x-date-range-picker .date-picker-cell.in-range:before{background:var(--fd-color-primary-bg)}.x-date-range-picker .date-picker-cell.range-end .date-picker-cell-inner,.x-date-range-picker .date-picker-cell.range-start .date-picker-cell-inner,.x-date-range-picker .date-picker-cell.selected .date-picker-cell-inner{background:var(--fd-color-primary);color:var(--fd-color-text-light-solid)}.x-date-range-picker .date-picker-cell.range-end:not(.range-end-single):before,.x-date-range-picker .date-picker-cell.range-start:not(.range-start-single):before{background:var(--fd-color-primary-bg)}.x-date-range-picker .date-picker-cell.range-start:before{left:50%}.x-date-range-picker .date-picker-cell.range-end:before{right:50%}.x-date-range-picker .date-picker-cell.range-hover-end.range-end-single:after,.x-date-range-picker .date-picker-cell.range-hover-end.range-start.range-end.range-start-near-hover:after,.x-date-range-picker .date-picker-cell.range-hover-end:not(.in-range):not(.range-start):not(.range-end):after,.x-date-range-picker .date-picker-cell.range-hover-start.range-start-single:after,.x-date-range-picker .date-picker-cell.range-hover-start.range-start.range-end.range-end-near-hover:after,.x-date-range-picker .date-picker-cell.range-hover-start:not(.in-range):not(.range-start):not(.range-end):after,.x-date-range-picker .date-picker-cell.range-hover:not(.in-range):after{border-bottom:1px dashed var(--fd-color-primary);border-top:1px dashed var(--fd-color-primary);content:"";height:var(--fd-control-height);position:absolute;top:50%;transform:translateY(-50%);z-index:0}.x-date-range-picker .date-picker-cell.range-hover-end:after,.x-date-range-picker .date-picker-cell.range-hover-start:after,.x-date-range-picker .date-picker-cell.range-hover:after{left:2px;right:0}.x-date-range-picker .date-picker-cell.in-range.range-hover:before,.x-date-range-picker .date-picker-cell.range-end.range-hover:before,.x-date-range-picker .date-picker-cell.range-end:not(.range-end-single).range-hover-end:before,.x-date-range-picker .date-picker-cell.range-start.range-hover:before,.x-date-range-picker .date-picker-cell.range-start:not(.range-start-single).range-hover-start:before{background:var(--fd-color-primary-bg-hover)}.x-date-range-picker .date-picker-cell.range-start:not(.range-start-single):not(.range-end) .date-picker-cell-inner{border-radius:var(--fd-border-radius) 0 0 var(--fd-border-radius)}.x-date-range-picker .date-picker-cell.range-end:not(.range-end-single):not(.range-start) .date-picker-cell-inner{border-radius:0 var(--fd-border-radius) var(--fd-border-radius) 0}.x-date-range-picker .date-picker-cell.range-hover.range-start:after{right:50%}.x-date-range-picker .date-picker-cell.range-hover.range-end:after{left:50%}.x-date-range-picker .date-picker-cell.range-hover-start:after{border-bottom-left-radius:var(--fd-border-radius);border-left:1px dashed;border-left-color:var(--fd-color-primary);border-top-left-radius:var(--fd-border-radius);left:6px}.x-date-range-picker .date-picker-cell.range-hover-end:after{border-bottom-right-radius:var(--fd-border-radius);border-right:1px dashed;border-right-color:var(--fd-color-primary);border-top-right-radius:var(--fd-border-radius);right:6px}.x-date-range-picker .picker-date-panel .panel-body{padding:var(--fd-padding-layout-sm)}.x-date-range-picker .picker-date-panel .panel-content{width:252px}.x-date-range-picker .picker-date-panel .panel-content th{width:36px}.x-date-range-picker .picker-date-panel .panel-content td,.x-date-range-picker .picker-date-panel .panel-content th{height:var(--fd-control-height-sm)}.x-date-range-picker .picker-date-panel .in-range.range-hover-end .date-picker-cell-inner:after,.x-date-range-picker .picker-date-panel .in-range.range-hover-start .date-picker-cell-inner:after{background:var(--fd-color-primary-bg-hover);bottom:0;content:"";position:absolute;top:0;z-index:-1}.x-date-range-picker .picker-date-panel .in-range.range-hover-start .date-picker-cell-inner:after{left:0;right:-6px}.x-date-range-picker .picker-date-panel .in-range.range-hover-end .date-picker-cell-inner:after{left:-6px;right:0}.x-date-range-picker .picker-date-panel .time-label{border-top:1px solid var(--fd-color-border);color:var(--fd-color-text);cursor:pointer;font-size:var(--fd-font-size);height:var(--fd-control-height);line-height:var(--fd-control-height);width:100%}.x-date-range-picker .picker-date-panel .time-label .right-outlined-icon{margin-left:5px}.x-date-range-picker .picker-month-panel .panel-content,.x-date-range-picker .picker-year-panel .panel-content{height:268px}.x-date-range-picker .picker-month-panel .panel-body,.x-date-range-picker .picker-year-panel .panel-body{padding:0 12px}.x-date-range-picker .picker-month-panel .date-picker-cell .date-picker-cell-inner,.x-date-range-picker .picker-month-panel .date-picker-cell:before,.x-date-range-picker .picker-year-panel .date-picker-cell .date-picker-cell-inner,.x-date-range-picker .picker-year-panel .date-picker-cell:before{height:var(--fd-control-height);line-height:var(--fd-control-height)}.x-date-range-picker .picker-month-panel .date-picker-cell .date-picker-cell-inner,.x-date-range-picker .picker-year-panel .date-picker-cell .date-picker-cell-inner{width:86px}.x-date-range-picker .picker-month-panel .cell-range-hover-start:after,.x-date-range-picker .picker-year-panel .cell-range-hover-start:after{border-left:1px dashed;border-left-color:var(--fd-color-primary);border-radius:var(--fd-border-radius) 0 0 var(--fd-border-radius);left:-.33333333px}.x-date-range-picker .picker-month-panel .cell-range-hover-end:after,.x-date-range-picker .picker-year-panel .cell-range-hover-end:after{border-radius:0 var(--fd-border-radius) var(--fd-border-radius) 0;border-right:1px dashed var(--fd-color-primary);right:-.33333333px}.x-date-range-picker .datetime-panel .date-picker-cell .date-picker-cell-inner,.x-date-range-picker .datetime-panel .date-picker-cell:before,.x-date-range-picker .picker-date-panel .date-picker-cell .date-picker-cell-inner,.x-date-range-picker .picker-date-panel .date-picker-cell:before{height:var(--fd-control-height-sm);line-height:var(--fd-control-height-sm);min-width:var(--fd-control-height-sm)}.x-date-range-picker .datetime-panel .date-picker-cell.range-hover-end.range-end-single:after,.x-date-range-picker .datetime-panel .date-picker-cell.range-hover-end.range-start.range-end.range-start-near-hover:after,.x-date-range-picker .datetime-panel .date-picker-cell.range-hover-end:not(.in-range):not(.range-start):not(.range-end):after,.x-date-range-picker .datetime-panel .date-picker-cell.range-hover-start.range-start-single:after,.x-date-range-picker .datetime-panel .date-picker-cell.range-hover-start.range-start.range-end.range-end-near-hover:after,.x-date-range-picker .datetime-panel .date-picker-cell.range-hover-start:not(.in-range):not(.range-start):not(.range-end):after,.x-date-range-picker .datetime-panel .date-picker-cell.range-hover:not(.in-range):after,.x-date-range-picker .picker-date-panel .date-picker-cell.range-hover-end.range-end-single:after,.x-date-range-picker .picker-date-panel .date-picker-cell.range-hover-end.range-start.range-end.range-start-near-hover:after,.x-date-range-picker .picker-date-panel .date-picker-cell.range-hover-end:not(.in-range):not(.range-start):not(.range-end):after,.x-date-range-picker .picker-date-panel .date-picker-cell.range-hover-start.range-start-single:after,.x-date-range-picker .picker-date-panel .date-picker-cell.range-hover-start.range-start.range-end.range-end-near-hover:after,.x-date-range-picker .picker-date-panel .date-picker-cell.range-hover-start:not(.in-range):not(.range-start):not(.range-end):after,.x-date-range-picker .picker-date-panel .date-picker-cell.range-hover:not(.in-range):after{height:var(--fd-control-height-sm)}.x-date-range-picker .datetime-panel{display:flex}.x-date-range-picker .datetime-panel .time-panel,.x-date-range-picker .time-panel{border-left:1px solid var(--fd-color-border)}.x-date-range-picker .time-panel{min-width:auto;width:auto}.x-date-range-picker .time-panel .picker-panel-header{display:block}.x-date-range-picker .time-panel .picker-panel-header .picker-panel-header-view{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;align-items:center;display:flex;justify-content:space-evenly}.x-date-range-picker .time-panel .picker-panel-header .picker-panel-header-view .x-input{display:inline-block;margin:0 2px;vertical-align:middle;width:40px}.x-date-range-picker .time-panel .picker-panel-header .picker-panel-header-view .x-input input{font-weight:500}.x-date-range-picker .time-panel .time-panel-body{-webkit-box-flex:1;display:flex;flex:auto;height:274px}.x-date-range-picker .time-panel .time-panel-body.show-time-label{height:306px}.x-date-range-picker .time-panel .time-panel-body .time-column{-webkit-box-flex:1;display:flex;flex:1 0 auto;flex-direction:column;list-style:none;overflow-y:hidden;width:56px}.x-date-range-picker .time-panel .time-panel-body .time-column:not(:first-child){border-left:1px solid var(--fd-color-border)}.x-date-range-picker .time-panel .time-panel-body .time-column .label{-webkit-box-flex:0;color:var(--fd-color-text);flex:none;font-size:var(--fd-font-size);font-weight:400;height:24px;line-height:24px;margin-top:4px}.x-date-range-picker .time-panel .time-panel-body .time-column .time-column-scroll{flex:1;overflow-y:hidden;padding:0 4px}.x-date-range-picker .time-panel .time-panel-body .time-column .time-column-scroll:after{content:"";display:block;height:calc(100% - 26px)}.x-date-range-picker .time-panel .time-panel-body .time-column .time-column-scroll::-webkit-scrollbar{width:0}.x-date-range-picker .time-panel .time-panel-body .time-column .time-column-scroll:hover{overflow-y:auto}.x-date-range-picker .time-panel .time-panel-body .time-column .time-column-scroll .time-column-cell{border-radius:var(--fd-border-radius-sm);cursor:pointer;height:var(--fd-control-height-sm);line-height:var(--fd-control-height-sm);margin-top:var(--fd-gap-sm);overflow:hidden}.x-date-range-picker .time-panel .time-panel-body .time-column .time-column-scroll .time-column-cell:hover .inner{background:var(--fd-control-item-bg-hover)}.x-date-range-picker .time-panel .time-panel-body .time-column .time-column-scroll .time-column-cell.selected .inner{background:var(--fd-color-primary-bg)}.x-date-range-trigger-content{cursor:auto;display:inline-block;width:auto}.x-date-range-trigger-bottom-appear,.x-date-range-trigger-bottom-enter{animation:x-slide-down .2s ease;animation-fill-mode:forwards;transform-origin:top}.x-date-range-trigger-bottom-exit{animation:x-slide-down .2s ease-in reverse;animation-fill-mode:forwards;transform-origin:top}.x-date-range-trigger-top-appear,.x-date-range-trigger-top-enter{animation:x-slide-down .2s ease;animation-fill-mode:forwards;transform-origin:bottom}.x-date-range-trigger-top-exit{animation:x-slide-down .2s reverse;animation-fill-mode:forwards;transform-origin:bottom}.x-dialog-modeless{display:none;height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:2500}.x-dialog-modeless .content-wrapper{pointer-events:auto}.x-dialog{inset:0;position:absolute}.x-dialog *,.x-dialog :after,.x-dialog :before{box-sizing:border-box}.x-dialog .content-wrapper{background:var(--fd-color-bg-elevated);border-radius:var(--fd-border-radius-xl);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;display:flex;flex-direction:column;height:500px;margin:auto;position:relative;width:500px;z-index:2500}.x-dialog.theme-classic .dialog-header{background:var(--fd-color-fill-quaternary);border-bottom-color:transparent}.x-dialog.theme-classic .dialog-content{padding-bottom:0!important}.x-dialog.fade-down.dialog-content-appear,.x-dialog.fade-down.dialog-content-enter{animation:x-fade-down .3s ease-out;pointer-events:none}.x-dialog.fade-down.dialog-content-exit{animation:x-fade-down .2s ease-in reverse;pointer-events:none}.x-dialog.fade-down.dialog-content-exit-done{display:none}.x-dialog.zoom-in.dialog-content-appear,.x-dialog.zoom-in.dialog-content-enter{animation:x-zoom-in-big .2s ease;pointer-events:none}.x-dialog.zoom-in.dialog-content-exit{animation:x-zoom-in-big .1s ease-in reverse;pointer-events:none}.x-dialog.zoom-in.dialog-content-exit-done{display:none}.x-dialog .dialog-header{-webkit-box-flex:0;-webkit-box-pack:justify;-ms-flex-pack:justify;display:flex;flex:0 0 auto;justify-content:space-between;max-height:80px;padding:var(--fd-padding-layout) var(--fd-padding-layout-lg);position:relative}.x-dialog .dialog-header.has-separator{border-bottom:1px solid var(--fd-color-border)}.x-dialog .dialog-header .dialog-title{-webkit-box-flex:1;align-items:flex-end;display:flex;flex:1 1 auto;overflow:hidden}.x-dialog .dialog-header .dialog-title.align-center{justify-content:center}.x-dialog .dialog-header .dialog-title.draggable{cursor:move}.x-dialog .dialog-header .dialog-title .main-title{-webkit-box-flex:0;color:var(--fd-color-text);flex:0 0 auto;font-size:var(--fd-font-size-xl);font-weight:700;line-height:var(--fd-line-height-xl);margin-right:var(--fd-gap-xl)}.x-dialog .dialog-header .dialog-title .sub-title{color:var(--fd-color-text-description);font-size:var(--fd-font-size);line-height:var(--fd-line-height);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-dialog .dialog-header-buttons{-webkit-box-flex:0;align-items:center;display:flex;flex:0 0 auto;font-size:var(--fd-font-size)}.x-dialog .dialog-header-buttons .close-btn{color:var(--fd-color-text)}.x-dialog .dialog-header-buttons.no-header{position:absolute;right:var(--fd-padding-layout-lg);top:var(--fd-padding-layout)}.x-dialog .dialog-content{flex:1 1 auto;height:100%;overflow:auto}.x-dialog .dialog-content.has-padding{padding-left:var(--fd-padding-layout-lg);padding-right:var(--fd-padding-layout-lg)}.x-dialog .dialog-content.has-top-padding{padding-top:var(--fd-padding-layout-lg)}.x-dialog .dialog-content.has-bottom-padding{padding-bottom:var(--fd-padding-layout-lg)}.x-dialog .dialog-footer{-webkit-box-flex:0;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;display:flex;flex:0 0 auto;justify-content:space-between;max-height:80px;padding:var(--fd-padding-layout-sm) var(--fd-padding-layout-lg)}.x-dialog .dialog-footer.has-separator{border-top:1px solid var(--fd-color-border)}.x-dialog .dialog-footer .footer-right .footer-btn{margin-left:var(--fd-gap-xl)}.x-window-mask{inset:0;overflow:auto;position:fixed;z-index:1002}.x-window-mask *,.x-window-mask :after,.x-window-mask :before{box-sizing:border-box}.x-window-mask .x-mask{background-color:var(--fd-color-bg-mask);inset:0;pointer-events:none;position:fixed;z-index:-1}.x-window-mask.mask-appear,.x-window-mask.mask-enter{opacity:0}.x-window-mask.mask-appear-active,.x-window-mask.mask-enter-active{opacity:1;transition:opacity .2s ease}.x-window-mask.mask-mask-exit{opacity:1}.x-window-mask.mask-exit-active{opacity:0;transition:opacity .1s ease-in}.x-window-mask.mask-exit-done{display:none}.x-form{color:var(--fd-color-text)}.x-form *,.x-form :after,.x-form :before{box-sizing:border-box}.x-form .x-form-item{display:flex;line-height:32px;margin-bottom:30px}.x-form .x-form-item.is-hidden{display:none}.x-form .x-form-item .form-item-label{flex:none;padding-right:12px;text-align:right}.x-form .x-form-item .form-item-label .required-tip{color:var(--fd-color-error);font-weight:700}.x-form .x-form-item .form-item-content{flex:auto;position:relative}.x-form .x-form-item .form-item-content .form-item-error{color:var(--fd-color-error);font-size:var(--fd-font-size-sm);left:0;line-height:1;padding-top:4px;position:absolute;top:100%}.x-form .x-form-item .form-item-content .form-item-extra{color:var(--fd-color-text-description);font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm)}.x-form-vertical .x-form-item{flex-direction:column;margin-bottom:15px}.x-form-vertical .x-form-item .form-item-label{text-align:left}.x-form-vertical .x-form-item .form-item-content .form-item-error{position:static}.x-form-inline{display:flex;flex-wrap:wrap}.x-form-inline .x-form-item{margin-bottom:20px;margin-right:40px}.x-form-inline .x-form-item .form-item-content .form-item-error{position:static}.x-prompt{background:var(--fd-color-bg-elevated);border-radius:var(--fd-border-radius-lg);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;margin:7% auto 0;min-height:152px;padding:var(--fd-padding-layout-xl);width:400px}.x-prompt *,.x-prompt :after,.x-prompt :before{box-sizing:border-box}.x-prompt.prompt-appear,.x-prompt.prompt-enter{animation:x-fade-down .2s ease;pointer-events:none}.x-prompt.prompt-exit{animation:x-fade-down .1s ease reverse;pointer-events:none}.x-prompt .title{color:var(--fd-color-text);font-size:var(--fd-font-size-lg);font-weight:600;line-height:var(--fd-line-height-lg);margin-bottom:var(--fd-gap)}.x-prompt .prompt-input{height:var(--fd-control-height);margin-bottom:var(--fd-gap-xl);width:100%}.x-prompt .prompt-footer:after,.x-prompt .prompt-footer:before{content:" ";display:table;line-height:0}.x-prompt .prompt-footer:after{clear:both}.x-prompt .prompt-footer .footer-btn{float:right;margin-left:var(--fd-gap-xl)}.x-prompt .prompt-footer .footer-btn:last-child{margin-left:0}.x-pop-confirm{display:block;max-width:300px;min-width:200px;position:absolute}.x-pop-confirm *,.x-pop-confirm :after,.x-pop-confirm :before{box-sizing:border-box}.x-pop-confirm-hidden{display:none}.x-pop-confirm-popup{background:var(--fd-color-bg-elevated);border-radius:var(--fd-border-radius-lg);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;color:var(--fd-color-text);font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);padding:var(--fd-padding-layout-sm)}.x-pop-confirm-popup *,.x-pop-confirm-popup :after,.x-pop-confirm-popup :before{box-sizing:border-box}.x-pop-confirm-popup .pop-confirm-footer{margin-top:var(--fd-gap)}.x-pop-confirm-popup .pop-confirm-footer:after,.x-pop-confirm-popup .pop-confirm-footer:before{content:" ";display:table;line-height:0}.x-pop-confirm-popup .pop-confirm-footer:after{clear:both}.x-pop-confirm-popup .pop-confirm-footer .footer-btn{float:right;margin-left:var(--fd-gap)}.x-pop-confirm-popup .pop-confirm-footer .footer-btn:last-child{margin-left:0}.x-pop-confirm .pop-confirm-arrow{display:block;height:12px;overflow:hidden;pointer-events:none;position:absolute;width:12px;z-index:1}.x-pop-confirm .pop-confirm-arrow.no-arrow{display:none!important}.x-pop-confirm .pop-confirm-arrow:before{background:#fff;bottom:0;clip-path:polygon(1.65685425px 100%,50% 1.65685425px,10.34314575px 100%,1.65685425px 100%);clip-path:path("M 0 6 A 4 4 0 0 0 2.82842712474619 4.82842712474619 L 4.585786437626905 3.0710678118654755 A 2 2 0 0 1 7.414213562373095 3.0710678118654755 L 9.17157287525381 4.82842712474619 A 4 4 0 0 0 12 6 Z");content:"";height:6px;inset-inline-start:0;position:absolute;width:12px}.x-pop-confirm .pop-confirm-arrow:after{background:transparent;border-radius:0 0 2px;bottom:0;box-shadow:2px 2px 5px #0000000d;content:"";height:6.14213562px;inset-inline:0;margin:auto;position:absolute;transform:translateY(50%) rotate(-135deg);width:6.14213562px;z-index:0}.x-pop-confirm.placement-top .pop-confirm-arrow,.x-pop-confirm.placement-top-left .pop-confirm-arrow,.x-pop-confirm.placement-top-right .pop-confirm-arrow{bottom:0;transform:translateY(100%) rotate(180deg)}.x-pop-confirm.placement-top .pop-confirm-arrow{left:50%;transform:translate(-50%) translateY(100%) rotate(180deg)}.x-pop-confirm.placement-top-left .pop-confirm-arrow{left:8px}.x-pop-confirm.placement-top-right .pop-confirm-arrow{right:8px}.x-pop-confirm.placement-bottom .pop-confirm-arrow,.x-pop-confirm.placement-bottom-left .pop-confirm-arrow,.x-pop-confirm.placement-bottom-right .pop-confirm-arrow{top:0;transform:translateY(-100%)}.x-pop-confirm.placement-bottom .pop-confirm-arrow{left:50%;transform:translate(-50%) translateY(-100%)}.x-pop-confirm.placement-bottom-left .pop-confirm-arrow{left:8px}.x-pop-confirm.placement-bottom-right .pop-confirm-arrow{right:8px}.x-pop-confirm.placement-left .pop-confirm-arrow,.x-pop-confirm.placement-left-bottom .pop-confirm-arrow,.x-pop-confirm.placement-left-top .pop-confirm-arrow{right:0;transform:translate(100%) rotate(90deg)}.x-pop-confirm.placement-left .pop-confirm-arrow{top:50%;transform:translateY(-50%) translate(100%) rotate(90deg)}.x-pop-confirm.placement-left-top .pop-confirm-arrow{top:8px}.x-pop-confirm.placement-left-bottom .pop-confirm-arrow{bottom:8px}.x-pop-confirm.placement-right .pop-confirm-arrow,.x-pop-confirm.placement-right-bottom .pop-confirm-arrow,.x-pop-confirm.placement-right-top .pop-confirm-arrow{left:0;transform:translate(-100%) rotate(-90deg)}.x-pop-confirm.placement-right .pop-confirm-arrow{top:50%;transform:translateY(-50%) translate(-100%) rotate(-90deg)}.x-pop-confirm.placement-right-top .pop-confirm-arrow{top:8px}.x-pop-confirm.placement-right-bottom .pop-confirm-arrow{bottom:8px}.x-pop-confirm-top-appear,.x-pop-confirm-top-enter{animation:x-move-bottom .2s ease;animation-fill-mode:forwards}.x-pop-confirm-top-exit{animation:x-move-bottom .1s ease-in reverse;animation-fill-mode:forwards}.x-pop-confirm-right-appear,.x-pop-confirm-right-enter{animation:x-move-left .2s ease;animation-fill-mode:forwards}.x-pop-confirm-right-exit{animation:x-move-left .1s ease-in reverse;animation-fill-mode:forwards}.x-pop-confirm-bottom-appear,.x-pop-confirm-bottom-enter{animation:x-move-top .2s ease;animation-fill-mode:forwards}.x-pop-confirm-bottom-exit{animation:x-move-top .1s ease-in reverse;animation-fill-mode:forwards}.x-pop-confirm-left-appear,.x-pop-confirm-left-enter{animation:x-move-right .2s ease;animation-fill-mode:forwards}.x-pop-confirm-left-exit{animation:x-move-right .1s ease-in reverse;animation-fill-mode:forwards}.x-file-preview{background:rgba(0,0,0,.7);color:#e6e6e6;inset:0;position:fixed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1002}.x-file-preview *,.x-file-preview :after,.x-file-preview :before{box-sizing:border-box}.x-file-preview img{border:0;outline:none}.x-file-preview.file-preview-enter{opacity:0}.x-file-preview.file-preview-enter-active{opacity:1;transition:opacity .2s ease-in-out}.x-file-preview.file-preview-exit-active{opacity:0;transition:opacity .2s ease-in-out}.x-file-preview .preview-header{background:rgba(0,0,0,.6);color:#fff;height:50px;line-height:50px;position:relative}.x-file-preview .preview-header .file-counter{color:#b5b8be;display:inline-block;padding-left:20px}.x-file-preview .preview-header .file-name{display:inline-block;inset:0 200px 0 60px;overflow:hidden;position:absolute;text-overflow:ellipsis;white-space:nowrap}.x-file-preview .preview-header .download-btn{color:inherit;display:block;font-size:15px;height:50px;outline:none;padding:0 20px;position:absolute;right:50px;text-decoration:none;top:0;transition:all .2s ease}.x-file-preview .preview-header .download-btn>i{font-size:20px}.x-file-preview .preview-header .download-btn:hover{background:#000}.x-file-preview .preview-header .close-btn{cursor:pointer;font-size:20px;height:50px;position:absolute;right:0;text-align:center;top:0;transition:all .2s ease;width:50px}.x-file-preview .preview-header .close-btn:hover{background:#000}.x-file-preview .preview-body{inset:50px 0 0;overflow:hidden;position:absolute}.x-file-preview .preview-body .preview-center{inset:0;margin:auto;max-height:100%;max-width:80%;position:absolute}.x-file-preview .preview-body .preview-image{background:#fff;cursor:pointer;transition:transform .2s linear}.x-file-preview .preview-body .preview-image.invisible{visibility:hidden}.x-file-preview .preview-body .preview-iframe{height:100%;width:100%}.x-file-preview .preview-body .preview-video{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;justify-content:center}.x-file-preview .preview-body .preview-video video{max-height:100%;max-width:100%}.x-file-preview .preview-body .preview-audio,.x-file-preview .preview-body .preview-other{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;justify-content:center}.x-file-preview .preview-body .arrow-wrapper{bottom:0;cursor:pointer;position:absolute;text-align:center;top:0;width:100px;z-index:2}.x-file-preview .preview-body .arrow-wrapper:hover .arrow-left,.x-file-preview .preview-body .arrow-wrapper:hover .arrow-right{background:var(--fd-color-brand-6,#00b899)}.x-file-preview .preview-body .arrow-wrapper.left{left:0}.x-file-preview .preview-body .arrow-wrapper.right{right:0}.x-file-preview .preview-body .arrow-wrapper .arrow-left,.x-file-preview .preview-body .arrow-wrapper .arrow-right{background-color:#00000080;border-radius:50%;color:#fff;display:block;font-size:30px;height:70px;inset:0;line-height:70px;margin:auto;position:absolute;text-align:center;transition:all .2s ease;width:70px}.x-file-preview .preview-body .x-spin{background:transparent;left:100px;right:100px;z-index:2}.x-file-preview .preview-body .preview-control{bottom:40px;color:#fff;line-height:normal;position:absolute;text-align:center;width:100%}.x-file-preview .preview-body .preview-control .control-content{background:rgba(0,0,0,.6);border-radius:6px;display:inline-block;height:50px;line-height:50px;overflow:hidden}.x-file-preview .preview-body .preview-control .control-content .scale-val,.x-file-preview .preview-body .preview-control .control-content>i{display:inline-block;text-align:center;vertical-align:top;width:50px}.x-file-preview .preview-body .preview-control .control-content>i{cursor:pointer;font-size:24px;transition:all .2s ease}.x-file-preview .preview-body .preview-control .control-content>i:hover{background:#000}.x-file-preview .preview-body .preview-control .control-content>i.rotate.anti{transform:rotateY(180deg)}.x-label{color:var(--fd-color-brand-6,#00b899)}.x-label *,.x-label :after,.x-label :before{box-sizing:border-box}.x-list{border:1px solid var(--fd-color-border);border-radius:var(--fd-border-radius);color:var(--fd-color-text);line-height:var(--fd-line-height);overflow:auto;position:relative}.x-list *,.x-list :after,.x-list :before{box-sizing:border-box}.x-list ol,.x-list ul{margin:0;padding:0}.x-list li{list-style-type:none}.x-list.size-large .list-item{padding:var(--fd-padding-xl) var(--fd-padding-3xl)}.x-list.size-small .list-item{padding:var(--fd-padding) var(--fd-padding-xl)}.x-list .list-item{line-height:inherit;overflow:hidden;padding:var(--fd-padding-lg) var(--fd-padding-3xl);text-overflow:ellipsis;white-space:nowrap}.x-spin{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;justify-content:center;inset:0;position:absolute}.x-spin *,.x-spin :after,.x-spin :before{box-sizing:border-box}@keyframes x-spin-scale{0%{transform:scale(0)}50%{transform:scale(1)}to{transform:scale(0)}}@keyframes x-spin-roll{to{transform:rotate(405deg)}}.x-spin .spin-content{text-align:center}.x-spin .spin-content .spin-indicator.rotate{animation:x-rotate .8s cubic-bezier(.43,.1,.54,.85) infinite;border:2px solid;border-color:var(--fd-color-primary-bg);border-radius:50%;border-top-color:var(--fd-color-primary);height:var(--fd-spin-height);margin:0 auto;transform-origin:center;width:var(--fd-spin-height)}.x-spin .spin-content .spin-indicator.scale .point{animation:x-spin-scale 1.2s ease-in-out infinite;background:var(--fd-color-primary);border-radius:50%;display:inline-block;height:10px;margin-right:var(--fd-gap);transform:scale(0);width:10px}.x-spin .spin-content .spin-indicator.scale .point.two{animation-delay:.1s}.x-spin .spin-content .spin-indicator.scale .point.three{animation-delay:.3s}.x-spin .spin-content .spin-indicator.scale .point.four{animation-delay:.5s}.x-spin .spin-content .spin-indicator.roll{animation:x-spin-roll 1.2s linear infinite;display:inline-block;height:20px;position:relative;transform:rotate(45deg);width:20px}.x-spin .spin-content .spin-indicator.roll .point{background-color:var(--fd-color-primary);border-radius:100%;display:block;height:9px;position:absolute;transform:scale(.75);transform-origin:50% 50%;width:9px}.x-spin .spin-content .spin-indicator.roll .point.one{left:0;opacity:.649;top:0}.x-spin .spin-content .spin-indicator.roll .point.two{animation-delay:.1s;opacity:.579;right:0;top:0}.x-spin .spin-content .spin-indicator.roll .point.three{animation-delay:.3s;bottom:0;left:0;opacity:.556}.x-spin .spin-content .spin-indicator.roll .point.four{animation-delay:.5s;bottom:0;opacity:.954;right:0}.x-spin .spin-content .spin-description{color:var(--fd-color-primary);font-size:var(--fd-font-size);line-height:var(--fd-line-height);margin-top:var(--fd-gap)}.x-spin.mask-light{background-color:#ffffffb3}.x-spin.mask-dark{background-color:#00000080}.x-spin.mask-dark .spin-content .spin-indicator.rotate{border-color:#fff hsla(0,0%,100%,.3) hsla(0,0%,100%,.3)}.x-spin.mask-dark .spin-content .spin-indicator.roll .point,.x-spin.mask-dark .spin-content .spin-indicator.scale .point{background-color:#fff}.x-spin.mask-dark .spin-content .spin-description{color:#fff}.x-spin.size-small .spin-content .spin-indicator.rotate{height:var(--fd-spin-height-sm);width:var(--fd-spin-height-sm)}.x-spin.size-small .spin-content .spin-indicator.roll .point,.x-spin.size-small .spin-content .spin-indicator.scale .point{height:6px;width:6px}.x-spin.size-small .spin-content .spin-indicator.roll{height:14px;width:14px}.x-spin.size-small .spin-content .spin-description{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);margin-top:var(--fd-gap-sm)}.x-spin.size-large .spin-content .spin-indicator.rotate{height:var(--fd-spin-height-lg);width:var(--fd-spin-height-lg)}.x-spin.size-large .spin-content .spin-indicator.roll .point,.x-spin.size-large .spin-content .spin-indicator.scale .point{height:14px;width:14px}.x-spin.size-large .spin-content .spin-indicator.roll{height:32px;width:32px}.x-spin.size-large .spin-content .spin-description{font-size:var(--fd-font-size-lg);line-height:var(--fd-line-height-lg);margin-top:var(--fd-gap-xl)}.x-spin.is-full-screen{position:fixed;z-index:1002}.x-spin-nested-loading{position:relative}.x-spin-nested-loading>div>.x-spin{display:block;height:100%;inset-inline-start:0;max-height:400px;position:absolute;top:0;width:100%;z-index:4}.x-spin-nested-loading>div>.x-spin .spin-content>.spin-indicator{inset-inline-start:50%;margin:-10px;position:absolute;top:50%}.x-spin-nested-loading .x-spin-container{position:relative;transition:opacity .3s}.x-spin-nested-loading .x-spin-container:after{background:var(--fd-color-bg-container);content:"";height:100%;inset:0;opacity:0;pointer-events:none;position:absolute;transition:all .3s;width:100%;z-index:10}.x-spin-nested-loading .x-spin-blur{clear:both;opacity:.5;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-spin-nested-loading .x-spin-blur:after{opacity:.4;pointer-events:auto}.x-skeleton{display:flex;position:relative;width:100%}.x-skeleton *,.x-skeleton :after,.x-skeleton :before{box-sizing:border-box}.x-skeleton .x-skeleton-header{flex:none;height:100%;margin-right:20px;vertical-align:top}.x-skeleton.has-title .x-skeleton-content .x-skeleton-paragraph{margin-top:16px}.x-skeleton .x-skeleton-content{flex:1 1 auto;height:100%;vertical-align:top}.x-skeleton .x-skeleton-content .x-skeleton-paragraph,.x-skeleton .x-skeleton-content .x-skeleton-title{margin-top:8px}.x-skeleton-element{background:#f0f1f4;display:inline-block}.x-skeleton-element.active{animation:x-skeleton-animation 1.4s ease infinite;background-image:linear-gradient(90deg,#f0f1f4 25%,#e1e3e5 37%,#f0f1f4 63%);background-size:400% 100%}.x-skeleton-element.x-skeleton-button,.x-skeleton-element.x-skeleton-input,.x-skeleton-element.x-skeleton-node{height:32px}.x-skeleton-element.x-skeleton-node{border-radius:3px;width:64px}.x-skeleton-element.x-skeleton-node.shape-round{border-radius:32px}.x-skeleton-element.x-skeleton-node.shape-circle{border-radius:50%}.x-skeleton-element.x-skeleton-title{border-radius:3px;height:16px;width:45%}.x-skeleton-element.x-skeleton-button{border-radius:3px;width:64px}.x-skeleton-element.x-skeleton-button.block{width:100%!important}.x-skeleton-element.x-skeleton-button.shape-round{border-radius:32px}.x-skeleton-element.x-skeleton-button.size-sm{height:24px;width:48px}.x-skeleton-element.x-skeleton-button.size-sm.shape-round{border-radius:24px}.x-skeleton-element.x-skeleton-button.size-lg{height:36px;line-height:36px;min-width:80px;width:80px}.x-skeleton-element.x-skeleton-button.size-lg.shape-round{border-radius:36px}.x-skeleton-element.x-skeleton-input{border-radius:3px;width:160px}.x-skeleton-element.x-skeleton-input.block{width:100%!important}.x-skeleton-element.x-skeleton-input.size-sm{height:24px;width:120px}.x-skeleton-element.x-skeleton-input.size-lg{height:36px;width:200px}.x-skeleton-element.x-skeleton-avatar{border-radius:3px;height:32px;width:32px}.x-skeleton-element.x-skeleton-avatar.shape-circle{border-radius:50%}.x-skeleton-element.x-skeleton-avatar.size-sm{height:24px;width:24px}.x-skeleton-element.x-skeleton-avatar.size-lg{height:36px;width:36px}.x-skeleton-paragraph ol,.x-skeleton-paragraph ul{margin:0;padding:0}.x-skeleton-paragraph li{list-style-type:none}.x-skeleton-paragraph>li{background:#f0f1f4;border-radius:3px;height:16px;list-style:none;width:100%}.x-skeleton-paragraph>li+li{margin-top:20px}.x-skeleton-paragraph.active>li{animation:x-skeleton-animation 1.4s ease infinite;background-image:linear-gradient(90deg,#f0f1f4 25%,#e1e3e5 37%,#f0f1f4 63%);background-size:400% 100%}@keyframes x-skeleton-animation{0%{background-position:100% 0}to{background-position:0 0}}.x-alert{background:#fff;border-radius:var(--fd-border-radius-lg);box-shadow:0 9px 28px 8px #051e500a,0 3px 6px -4px #0516261f,0 6px 16px #05112a14;left:50%;line-height:normal;margin:-200px 0 0 -250px;overflow:hidden;padding:var(--fd-padding-layout-xl) var(--fd-padding-layout-xl);position:absolute;top:50%;width:480px}.x-alert *,.x-alert :after,.x-alert :before{box-sizing:border-box}.x-alert.alert-appear,.x-alert.alert-enter{animation:x-zoom-in-big .2s ease;pointer-events:none}.x-alert.alert-exit{animation:x-zoom-in-big .1s ease-in reverse;pointer-events:none}.x-alert>i{display:inline-block;font-size:var(--fd-line-height-lg);line-height:var(--fd-line-height-lg);vertical-align:top}.x-alert>i.x-svgicon>svg{vertical-align:baseline}.x-alert>i.info,.x-alert>i.query{color:var(--fd-color-info)}.x-alert>i.success{color:var(--fd-color-success)}.x-alert>i.error{color:var(--fd-color-error)}.x-alert>i.warning{color:var(--fd-color-warning)}.x-alert>i.question{color:var(--fd-color-info)}.x-alert .alert-body{display:inline-block;margin-bottom:var(--fd-gap-xl);margin-left:var(--fd-gap-xl);width:396px}.x-alert .alert-body .title{font-size:var(--fd-font-size-lg);font-weight:600;line-height:var(--fd-line-height-lg);margin:0 0 var(--fd-gap) 0}.x-alert .alert-body .message,.x-alert .alert-body .title{word-wrap:break-word;color:var(--fd-color-text);word-break:break-word}.x-alert .alert-body .message{font-size:var(--fd-font-size);line-height:var(--fd-line-height)}.x-alert .alert-body .content{margin-top:var(--fd-gap)}.x-alert .alert-body .question{margin-top:var(--fd-gap);width:100%}.x-alert .alert-footer .footer-btn{float:right;margin-left:var(--fd-gap)}.x-alert .alert-footer .footer-btn:last-child{margin-left:0}.x-alert .alert-footer .footer-right{margin-left:var(--fd-gap)}.x-alert .alert-footer .footer-left,.x-pagination{font-size:var(--fd-font-size);line-height:var(--fd-line-height)}.x-pagination{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;color:var(--fd-color-text);display:flex;justify-content:space-between}.x-pagination *,.x-pagination :after,.x-pagination :before{box-sizing:border-box}.x-pagination .pagination-left .count,.x-pagination .pagination-left .size-combo{display:inline-block;font-size:var(--fd-font-size-sm);vertical-align:middle}.x-pagination .pagination-left .size-combo{width:112px}.x-pagination .pagination-left .size-combo.default>.x-select-selector{border:none;box-shadow:none!important}.x-pagination .pagination-left .size-combo>.x-select-selector{background-color:unset}.x-pagination .pagination-left .count{margin-left:var(--fd-gap)}.x-pagination .pagination-right{align-items:center;display:flex;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-pagination .pagination-right .page-input-wrapper{display:inline-block;height:var(--fd-control-height);min-width:var(--fd-control-height);overflow:hidden;position:relative;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.x-pagination .pagination-right .page-input-wrapper .page-input{height:auto;inset:0;position:absolute;width:auto}.x-pagination .pagination-right .page-input-wrapper .page-input>input{background-color:unset;font-size:var(--fd-font-size);text-align:center}.x-pagination .pagination-right .page-input-wrapper .fake-placeholder{max-width:150px;padding:0 13px;visibility:hidden}.x-pagination .pagination-right .page-turn-first,.x-pagination .pagination-right .page-turn-last,.x-pagination .pagination-right .page-turn-next,.x-pagination .pagination-right .page-turn-pre{border-radius:var(--fd-border-radius);cursor:pointer;display:inline-block;font-size:14px;height:var(--fd-control-height);margin-left:0;padding:0;text-align:center;transition:all .2s ease;width:var(--fd-control-height)}.x-pagination .pagination-right .page-turn-first>i,.x-pagination .pagination-right .page-turn-last>i,.x-pagination .pagination-right .page-turn-next>i,.x-pagination .pagination-right .page-turn-pre>i{line-height:var(--fd-control-height)}.x-pagination .pagination-right .page-turn-first:not(.page-btn-disabled):hover,.x-pagination .pagination-right .page-turn-last:not(.page-btn-disabled):hover,.x-pagination .pagination-right .page-turn-next:not(.page-btn-disabled):hover,.x-pagination .pagination-right .page-turn-pre:not(.page-btn-disabled):hover{color:var(--fd-color-primary-hover)}.x-pagination .pagination-right .page-turn-first:not(.page-btn-disabled):active,.x-pagination .pagination-right .page-turn-last:not(.page-btn-disabled):active,.x-pagination .pagination-right .page-turn-next:not(.page-btn-disabled):active,.x-pagination .pagination-right .page-turn-pre:not(.page-btn-disabled):active{color:var(--fd-color-primary-active);transition:unset}.x-pagination .pagination-right .page-turn-first.page-btn-disabled,.x-pagination .pagination-right .page-turn-last.page-btn-disabled,.x-pagination .pagination-right .page-turn-next.page-btn-disabled,.x-pagination .pagination-right .page-turn-pre.page-btn-disabled{color:var(--fd-color-text-disabled);cursor:default}.x-pagination .pagination-right .bordered{border:none}.x-pagination .pagination-right .bordered.page-turn-first,.x-pagination .pagination-right .bordered.page-turn-last,.x-pagination .pagination-right .bordered.page-turn-next,.x-pagination .pagination-right .bordered.page-turn-pre{border:1px solid var(--fd-color-border);border-left-width:0}.x-pagination .pagination-right .bordered.page-turn-first:first-child,.x-pagination .pagination-right .bordered.page-turn-last:first-child,.x-pagination .pagination-right .bordered.page-turn-next:first-child,.x-pagination .pagination-right .bordered.page-turn-pre:first-child{border-left-width:1px}.x-pagination .pagination-right .bordered.page-turn-first>i,.x-pagination .pagination-right .bordered.page-turn-last>i,.x-pagination .pagination-right .bordered.page-turn-next>i,.x-pagination .pagination-right .bordered.page-turn-pre>i{line-height:calc(var(--fd-control-height) - 2px)}.x-pagination .pagination-right .bordered.page-btn-disabled{background-color:var(--fd-color-bg-container-disabled)}.x-pagination .pagination-right .jumpable .bordered.page-turn-first,.x-pagination .pagination-right .jumpable .bordered.page-turn-next{border-end-end-radius:0;border-start-end-radius:0}.x-pagination .pagination-right .jumpable .bordered.page-turn-last,.x-pagination .pagination-right .jumpable .bordered.page-turn-pre{border-end-start-radius:0;border-start-start-radius:0}.x-pagination .pagination-right .page-jump,.x-pagination .pagination-right .page-turn{-webkit-box-flex:0;align-items:center;display:flex;flex:none}.x-pagination .pagination-right .page-jump,.x-pagination .pagination-right .page-jump>.total-page{margin:0 var(--fd-gap-sm)}.x-pagination.small{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm)}.x-pagination.small .size-combo{width:96px}.x-pagination.small .pagination-right .page-input-wrapper{height:var(--fd-control-height-sm);min-width:var(--fd-control-height-sm)}.x-pagination.small .page-turn-first,.x-pagination.small .page-turn-last,.x-pagination.small .page-turn-next,.x-pagination.small .page-turn-pre{height:var(--fd-control-height-sm);width:var(--fd-control-height-sm)}.x-pagination.small .page-turn-first>i,.x-pagination.small .page-turn-last>i,.x-pagination.small .page-turn-next>i,.x-pagination.small .page-turn-pre>i{line-height:var(--fd-control-height-sm)}.x-pagination.small .bordered.page-turn-first>i,.x-pagination.small .bordered.page-turn-last>i,.x-pagination.small .bordered.page-turn-next>i,.x-pagination.small .bordered.page-turn-pre>i{line-height:calc(var(--fd-control-height-sm) - 2px)}.x-radio{align-items:flex-start;color:var(--fd-color-text);display:flex;line-height:var(--fd-line-height)}.x-radio *,.x-radio :after,.x-radio :before{box-sizing:border-box}.x-radio.is-only-icon{align-items:center}.x-radio.has-default-padding{padding:var(--fd-radio-default-padding)}.x-radio:not(.auto-wrap) .x-radio-wrapper{min-width:0}.x-radio:not(.auto-wrap) .x-radio-wrapper .radio-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-radio .radio-check-icon{-webkit-box-flex:0;background:var(--fd-color-bg-container);border:1px solid var(--fd-color-border);display:inline-block;flex:0 0 auto;height:16px;margin:calc((var(--fd-line-height) - 16px)/2) 0;position:relative;vertical-align:middle;width:16px}.x-radio .radio-check-icon,.x-radio .radio-check-icon:before{border-radius:50%;transition:all .2s ease}.x-radio .radio-check-icon:before{background:var(--fd-color-primary);content:"";display:block;height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:0}.x-radio .radio-text{word-wrap:break-word;line-height:var(--fd-line-height);max-width:100%;padding-left:var(--fd-gap);vertical-align:middle;word-break:break-word}.x-radio .x-radio-wrapper{cursor:pointer;display:flex}.x-radio .x-radio-wrapper:focus{box-shadow:0 0 0 1px var(--fd-color-primary);outline:none}.x-radio .x-radio-wrapper:active{box-shadow:none}.x-radio .x-radio-wrapper:hover .radio-check-icon{border-color:var(--fd-color-primary)}.x-radio.radio-checked .radio-check-icon{background:var(--fd-color-bg-container);border-color:var(--fd-color-primary)}.x-radio.radio-checked .radio-check-icon:before{height:8px;width:8px}.x-radio.radio-disable,.x-radio.radio-disable .x-radio-wrapper{cursor:not-allowed}.x-radio.radio-disable .radio-check-icon{background:var(--fd-color-bg-container-disabled)!important;border-color:var(--fd-color-border)!important}.x-radio.radio-disable .radio-check-icon:before{background:transparent}.x-radio.radio-disable.radio-checked .radio-check-icon{background:var(--fd-color-bg-container-disabled)!important}.x-radio.radio-disable.radio-checked .radio-check-icon:before{background:var(--fd-color-icon-disabled)!important}.x-radio.radio-disable .radio-text{color:var(--fd-color-text-data-disabled)!important}.x-radio-group{display:inline-block;max-width:100%}.x-radio-group.radio-group-horizontal{display:flex;flex-wrap:wrap}.x-radio-group.radio-group-horizontal.no-default-padding{row-gap:var(--fd-gap)}.x-radio-group.radio-group-horizontal.no-default-padding .x-radio{padding:0}.x-radio-group.radio-group-horizontal .x-radio{display:inline-flex;margin-right:var(--fd-gap-4xl);max-width:100%}.x-radio-group.radio-group-horizontal .x-radio:last-child{margin-right:0}.x-radio-group.radio-group-vertical.no-default-padding .x-radio:first-child{padding-top:0}.x-radio-group.radio-group-vertical.no-default-padding .x-radio:last-child{padding-bottom:0}.x-radio-group.radio-group-vertical.block{display:block}.x-radio-group.radio-group-vertical.block .x-radio-wrapper,.x-radio-group.radio-group-vertical.block .x-radio-wrapper .radio-text{flex:1}.x-radio-group.radio-group-option-button{border-radius:var(--fd-border-radius);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-radio-group.radio-group-option-button.radio-group-button-outline .x-radio.radio-checked:not(.radio-disable)+.x-radio{border-left-width:0}.x-radio-group.radio-group-option-button.radio-group-button-outline .x-radio.radio-checked:not(.radio-disable){border-right-width:1px}.x-radio-group.radio-group-option-button.block,.x-radio-group.radio-group-option-button.grid-mode{display:flex}.x-radio-group.radio-group-option-button.grid-mode{flex-direction:column}.x-radio-group.radio-group-option-button.grid-mode .radio-grid-row{display:flex}.x-radio-group.radio-group-option-button.grid-mode .radio-grid-row:first-child .x-radio{border-end-end-radius:0;border-end-start-radius:0}.x-radio-group.radio-group-option-button.grid-mode .radio-grid-row:last-child .x-radio{border-start-end-radius:0;border-start-start-radius:0}.x-radio-group.radio-group-option-button.block .x-radio{flex:1;min-width:0}.x-radio-group.radio-group-option-button.block .x-radio .x-radio-wrapper{justify-content:center}.x-radio-group.radio-group-option-button.block .x-radio .x-radio-wrapper .radio-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-radio-group.radio-group-option-button .x-radio{background-color:var(--fd-color-bg-container);border:1px solid var(--fd-color-border);border-right-width:0;color:var(--fd-color-text);cursor:pointer;display:inline-block;font-size:var(--fd-font-size);height:var(--fd-control-height);line-height:calc(var(--fd-control-height) - 2px);padding:0;position:relative;transition:color .2s,background .2s,box-shadow .2s}.x-radio-group.radio-group-option-button .x-radio .x-radio-wrapper{padding:0 var(--fd-padding-xl)}.x-radio-group.radio-group-option-button .x-radio .x-radio-wrapper .radio-text{line-height:inherit;padding-left:0}.x-radio-group.radio-group-option-button .x-radio .radio-check-icon{display:none}.x-radio-group.radio-group-option-button .x-radio:hover{color:var(--fd-color-primary)}.x-radio-group.radio-group-option-button .x-radio.radio-checked:not(.radio-disable){background:var(--fd-color-bg-container);border-color:var(--fd-color-primary);color:var(--fd-color-primary)}.x-radio-group.radio-group-option-button .x-radio.radio-checked:not(.radio-disable):first-child{border-color:var(--fd-color-primary)}.x-radio-group.radio-group-option-button .x-radio.radio-checked:not(.radio-disable):hover{border-color:var(--fd-color-primary-hover);color:var(--fd-color-primary-hover)}.x-radio-group.radio-group-option-button .x-radio.radio-checked:not(.radio-disable):active{border-color:var(--fd-color-primary-active);color:var(--fd-color-primary-active)}.x-radio-group.radio-group-option-button .x-radio:first-child{border-end-start-radius:var(--fd-border-radius);border-start-start-radius:var(--fd-border-radius)}.x-radio-group.radio-group-option-button .x-radio:last-child{border-end-end-radius:var(--fd-border-radius);border-right:1px solid var(--fd-color-border);border-start-end-radius:var(--fd-border-radius)}.x-radio-group.radio-group-option-button .x-radio:first-child:last-child{border-radius:var(--fd-border-radius)}.x-radio-group.radio-group-option-button.radio-group-button-solid .radio-checked:not(.radio-disable){background-color:var(--fd-color-primary);border-color:var(--fd-color-border);color:var(--fd-color-text-light-solid)}.x-radio-group.radio-group-option-button.radio-group-button-solid .radio-checked:not(.radio-disable):hover{background:var(--fd-color-primary-hover);border-color:var(--fd-color-primary-hover);color:var(--fd-color-text-light-solid)}.x-radio-group.radio-group-option-button.radio-group-button-solid .radio-checked:not(.radio-disable):active{background:var(--fd-color-primary-active);border-color:var(--fd-color-primary-active);color:var(--fd-color-text-light-solid)}.x-radio-group.radio-group-option-button.radio-group-disable{background-color:var(--fd-color-bg-container-disabled)!important;border-color:var(--fd-color-border)!important;color:var(--fd-color-text-disabled)!important;cursor:not-allowed}.x-radio-group.radio-group-option-button.radio-group-disable .radio-checked{background-color:var(--fd-control-item-bg-active-disabled)!important}.x-radio-group.radio-group-option-button.radio-group-disable .x-radio .radio-text{color:var(--fd-color-text-disabled)!important}.x-radio-group.radio-group-option-button.large .x-radio{font-size:var(--fd-font-size-lg);height:var(--fd-control-height-lg);line-height:calc(var(--fd-control-height-lg) - 2px)}.x-radio-group.radio-group-option-button.large .x-radio:first-child{border-end-start-radius:var(--fd-border-radius);border-start-start-radius:var(--fd-border-radius)}.x-radio-group.radio-group-option-button.large .x-radio:last-child{border-end-end-radius:var(--fd-border-radius);border-start-end-radius:var(--fd-border-radius)}.x-radio-group.small .x-radio{font-size:var(--fd-font-size-sm);height:var(--fd-control-height-sm);line-height:calc(var(--fd-control-height-sm) - 2px)}.x-radio-group.small .x-radio .x-radio-wrapper{padding:0 var(--fd-padding)}.x-radio-group.small .x-radio:first-child{border-end-start-radius:var(--fd-border-radius);border-start-start-radius:var(--fd-border-radius)}.x-radio-group.small .x-radio:last-child{border-end-end-radius:var(--fd-border-radius);border-start-end-radius:var(--fd-border-radius)}.x-segment{color:#141e31;display:flex;line-height:30px;width:100%}.x-segment *,.x-segment :after,.x-segment :before{box-sizing:border-box}.x-segment .x-segment-item{-webkit-box-flex:0;background:#fff;border:1px solid #d7d9dc;border-right:none;cursor:pointer;flex:none;overflow:hidden;padding:0 15px;text-align:center;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.x-segment .x-segment-item:hover{color:var(--fd-color-brand-6,#00b899)}.x-segment .x-segment-item:first-child{border-bottom-left-radius:3px;border-top-left-radius:3px}.x-segment .x-segment-item:last-child{border-bottom-right-radius:3px;border-right:1px solid #d7d9dc;border-top-right-radius:3px}.x-segment .x-segment-item.item-selected{border-color:var(--fd-color-brand-6,#00b899);color:var(--fd-color-brand-6,#00b899)!important}.x-segment .x-segment-item.item-selected+.x-segment-item{border-left-color:var(--fd-color-brand-6,#00b899)}.x-segment .x-segment-item.item-disabled{background:#f0f1f4!important;color:#b5b8be!important;cursor:not-allowed}.x-segment .x-segment-item.item-disabled.item-selected{background:#fff!important;border-color:var(--fd-color-brand-3,#99e3d6);color:var(--fd-color-brand-3,#99e3d6)!important}.x-segment .x-segment-item.item-disabled.item-selected+.x-segment-item{border-left-color:var(--fd-color-brand-3,#99e3d6)}.x-segment.size-large{font-size:16px;line-height:38px}.x-segment.size-small{font-size:12px;line-height:22px}.x-cascader{color:var(--fd-color-text);cursor:pointer;display:inline-block;line-height:normal;width:240px}.x-cascader *,.x-cascader :after,.x-cascader :before{box-sizing:border-box}.x-cascader ol,.x-cascader ul{margin:0;padding:0}.x-cascader li{list-style-type:none}.x-cascader .label-wrapper:focus{outline:none}.x-cascader .label-wrapper:focus .trigger-wrapper:not(.disabled){border-color:var(--fd-color-primary)}.x-cascader .trigger-wrapper{border:1px solid var(--fd-color-border);border-radius:var(--fd-border-radius);height:var(--fd-control-height);overflow:hidden;position:relative;transition:border .2s ease-in-out;width:100%}.x-cascader .trigger-wrapper.no-border{border-color:transparent!important;box-shadow:none!important}.x-cascader .trigger-wrapper.active,.x-cascader .trigger-wrapper:hover{border-color:var(--fd-color-primary)}.x-cascader .trigger-wrapper.active{box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-control-outline)}.x-cascader .trigger-wrapper.disabled{color:var(--fd-color-text-data-disabled);cursor:not-allowed}.x-cascader .trigger-wrapper.disabled,.x-cascader .trigger-wrapper.disabled:hover{background:var(--fd-color-bg-container-disabled);border-color:var(--fd-color-border)}.x-cascader .trigger-wrapper.disabled .trigger-icon{color:var(--fd-color-text-disabled)}.x-cascader .trigger-wrapper.can-remove:not(.disabled):hover .trigger-icon.arrow{display:none}.x-cascader .trigger-wrapper.can-remove:not(.disabled):hover .trigger-icon.remove{display:inline-block}.x-cascader .trigger-wrapper .value{display:inline-block;height:100%;line-height:calc(var(--fd-control-height) - 2px);overflow:hidden;padding:0 var(--fd-control-height) 0 8px;text-overflow:ellipsis;white-space:nowrap;width:100%}.x-cascader .trigger-wrapper .value .placeholder{color:var(--fd-color-text-placeholder)}.x-cascader .trigger-wrapper .trigger-icon{color:var(--fd-color-icon-normal);display:inline-block;height:100%;position:absolute;right:0;top:0;width:var(--fd-control-height)}.x-cascader .trigger-wrapper .trigger-icon>i{font-size:var(--fd-icon-size);left:50%;line-height:calc(var(--fd-control-height) - 2px);position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%) rotate(0);transform-origin:center;transition:all .2s ease;width:var(--fd-control-height)}.x-cascader .trigger-wrapper .trigger-icon>i.close-btn{color:var(--fd-color-icon);transition:unset}.x-cascader .trigger-wrapper .trigger-icon>i.close-btn:hover{color:var(--fd-color-icon-hover)}.x-cascader .trigger-wrapper .trigger-icon.reverse>i{transform:translate(-50%,-50%) rotate(180deg)}.x-cascader .trigger-wrapper .trigger-icon.remove{display:none}.x-cascader-content{background:var(--fd-color-bg-container);border-radius:var(--fd-border-radius);color:var(--fd-color-text);display:inline-block;overflow:hidden;vertical-align:top;white-space:nowrap}.x-cascader-content .menu-items{border-right:1px solid var(--fd-color-split);display:inline-block;height:200px;overflow-x:hidden;overflow-y:auto;padding:var(--fd-padding-layout-2xs);vertical-align:top}.x-cascader-content .menu-items:last-child{border-right:none}.x-cascader-content .menu-items .cascader-item{border-radius:var(--fd-border-radius);cursor:pointer;line-height:var(--fd-control-height);max-width:240px;min-width:110px;overflow:hidden;padding:0 var(--fd-padding);position:relative;text-overflow:ellipsis;white-space:nowrap}.x-cascader-content .menu-items .cascader-item:hover{background:#f0f1f4}.x-cascader-content .menu-items .cascader-item.select{background:var(--fd-control-item-bg-active)}.x-cascader-content .menu-items .cascader-item.disabled{background:var(--fd-color-bg-container);color:var(--fd-color-text-disabled);cursor:default}.x-cascader-content .menu-items .cascader-item.disabled .expand-icon{color:var(--fd-color-text-disabled)}.x-cascader-content .menu-items .cascader-item.disabled:hover{background:var(--fd-color-bg-container);color:var(--fd-color-text-disabled)}.x-cascader-content .menu-items .cascader-item.has-expand-icon{padding-right:calc(var(--fd-icon-size) + var(--fd-padding))}.x-cascader-content .menu-items .cascader-item .expand-icon{color:var(--fd-color-icon-normal);font-size:var(--fd-icon-size);position:absolute;right:var(--fd-padding);top:0}.x-cascader-trigger-content{display:inline-block;z-index:1}.x-cascader-trigger-content .cascader-wrapper{border-radius:var(--fd-border-radius-lg);box-shadow:0 2px 8px #0000001a}.x-cascader-trigger-content .cascader-wrapper .search-wrapper{border-bottom:1px solid var(--fd-color-split);left:0;position:absolute;right:0;top:0}.x-cascader-trigger-content .cascader-wrapper .content-wrapper.has-search{padding-top:var(--fd-control-height)}.x-cascader-trigger-content .cascader-wrapper .content-wrapper .searching-tip{background:var(--fd-color-bg-container);color:var(--fd-color-text-placeholder);line-height:40px;text-align:center;width:240px}.x-cascader-trigger-bottom-appear,.x-cascader-trigger-bottom-enter{animation:x-slide-down .2s ease;animation-fill-mode:forwards;transform-origin:top}.x-cascader-trigger-bottom-exit{animation:x-slide-down .2s ease-in reverse;animation-fill-mode:forwards;transform-origin:top}.x-cascader-trigger-top-appear,.x-cascader-trigger-top-enter{animation:x-slide-down .2s ease;animation-fill-mode:forwards;transform-origin:bottom}.x-cascader-trigger-top-exit{animation:x-slide-down .2s ease-in reverse;animation-fill-mode:forwards;transform-origin:bottom}.x-cascader-search-list{background:var(--fd-color-bg-container);border-radius:var(--fd-border-radius);color:var(--fd-color-text);display:inline-block;max-height:200px;min-width:240px;overflow:auto;padding:var(--fd-padding) 0;vertical-align:top;white-space:nowrap}.x-cascader-search-list .empty-tip{color:var(--fd-color-text-description);line-height:40px;text-align:center;width:240px}.x-cascader-search-list .result-list .result-item{cursor:pointer;line-height:var(--fd-control-height);overflow:hidden;padding:0 var(--fd-padding);text-overflow:ellipsis;transition:background .2s ease;white-space:nowrap}.x-cascader-search-list .result-list .result-item .search-key{color:var(--fd-color-primary)}.x-cascader-search-list .result-list .result-item.is-focus{background:#f0f1f4}.x-step{display:flex;line-height:normal}.x-step *,.x-step :after,.x-step :before{box-sizing:border-box}.x-step .step{-webkit-box-flex:0;display:inline-block;flex:0 1 auto;position:relative}.x-step .step:last-child .step-line{display:none}.x-step .step.is-finish .step-container.is-icon .step-icon{color:var(--fd-color-primary)}.x-step .step.is-finish .step-container.is-text .step-icon{background-color:var(--fd-color-primary);color:var(--fd-color-text-light-solid)}.x-step .step.is-finish .step-container .step-line-inner{color:var(--fd-color-primary)}.x-step .step.is-finish .step-container:hover.is-text .step-icon{background-color:var(--fd-color-primary-hover)}.x-step .step.is-finish .step-container:hover .step-description,.x-step .step.is-finish .step-container:hover .step-title,.x-step .step.is-finish .step-container:hover.is-icon .step-icon{color:var(--fd-color-primary-hover)}.x-step .step.is-wait .step-container.is-icon .step-icon{color:var(--fd-color-icon-normal)}.x-step .step.is-wait .step-container.is-text .step-icon{background-color:var(--fd-color-fill-content);color:var(--fd-color-text-label)}.x-step .step.is-wait .step-container .step-line-inner{border-width:0;color:transparent}.x-step .step.is-wait .step-container:hover .step-icon{color:var(--fd-color-primary-hover)}.x-step .step.is-wait .step-container:hover.is-text .step-icon{border:1px solid var(--fd-color-primary-hover)}.x-step .step.is-wait .step-container:hover .step-description,.x-step .step.is-wait .step-container:hover .step-title{color:var(--fd-color-primary-hover)}.x-step .step.is-wait .step-main .step-description,.x-step .step.is-wait .step-main .step-title{color:var(--fd-color-text-description)}.x-step .step.is-process .step-container.is-icon .step-icon{color:var(--fd-color-primary)}.x-step .step.is-process .step-container.is-text .step-icon{background-color:var(--fd-color-primary);color:var(--fd-color-text-light-solid)}.x-step .step.is-process .step-container .step-line-inner{color:transparent}.x-step .step.is-process .step-container:hover.is-text .step-icon{background-color:var(--fd-color-primary-hover)}.x-step .step.is-process .step-container:hover .step-description,.x-step .step.is-process .step-container:hover .step-title,.x-step .step.is-process .step-container:hover.is-icon .step-icon{color:var(--fd-color-primary-hover)}.x-step .step.is-error .step-container.is-icon .step-icon{color:var(--fd-color-error)}.x-step .step.is-error .step-container.is-text .step-icon{background-color:var(--fd-color-error);color:var(--fd-color-text-light-solid)}.x-step .step.is-error .step-container .step-line-inner{border-width:0;color:var(--fd-color-primary)}.x-step .step.is-error .step-main .step-description,.x-step .step.is-error .step-main .step-title{color:var(--fd-color-error)}.x-step .step-container{font-size:var(--fd-font-size);line-height:var(--fd-line-height-lg);vertical-align:top;width:100%}.x-step .step-container.is-text .step-icon{border-radius:50%;border-style:solid;border-width:0}.x-step .step-container.is-icon{font-size:var(--fd-font-size)}.x-step .step-container.is-icon .step-icon{font-size:var(--fd-control-height);line-height:var(--fd-line-height-lg)}.x-step .step-main{color:var(--fd-color-text);font-size:var(--fd-font-size-lg)}.x-step .step-main .step-description{color:var(--fd-color-text);font-size:var(--fd-font-size-sm);margin-top:var(--fd-gap-sm)}.x-step .step-line{background-color:var(--fd-color-split);display:inline-block;position:absolute}.x-step .step-line .step-line-inner{border-style:solid;border-width:1px;display:block;width:100%}.x-step .step-icon{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;height:var(--fd-control-height);justify-content:center;position:relative;width:var(--fd-control-height)}.x-step .step-icon .step-icon-inner{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle}.x-step.is-vertical{flex-direction:column}.x-step.is-vertical .step{display:block}.x-step.is-vertical .step .step-line{bottom:0;left:calc(var(--fd-control-height)/2 - 1px);margin:var(--fd-gap) 0;top:var(--fd-control-height)}.x-step.is-vertical .step .step-main{display:inline-block;margin-left:var(--fd-gap)}.x-step.is-vertical .step .step-main .step-title{line-height:var(--fd-control-height)}.x-step.is-vertical .step:last-child{flex-basis:0!important}.x-step.is-vertical .step.is-finish .step-line-inner{height:100%}.x-step.is-vertical .step-container{display:flex}.x-step.is-vertical .step-container .step-main{flex:0 1 auto}.x-step.is-horizontal:not(.horizontal-label) .step .step-line{height:2px;left:var(--fd-control-height);margin:0 var(--fd-gap);right:0;top:calc(var(--fd-control-height)/2 - 1px)}.x-step.is-horizontal:not(.horizontal-label) .step .step-main{margin-top:var(--fd-gap-xl)}.x-step.is-horizontal:not(.horizontal-label) .step .step-main .step-description{line-height:var(--fd-line-height-sm);padding-right:30px}.x-step.is-horizontal:not(.horizontal-label) .step:last-child .step-main{padding-right:0}.x-step.auto-size .step{flex:1 1 0}.x-step.auto-size .step:last-child{flex:0 0 auto}.x-step.align-center:not(.horizontal-label) .step .step-line{left:50%;margin:0 var(--fd-padding-layout-xl);right:-50%}.x-step.align-center:not(.horizontal-label) .step .step-main{text-align:center}.x-step.align-center:not(.horizontal-label) .step .step-main .step-description{padding:0 var(--fd-padding-layout)}.x-step.align-center:not(.horizontal-label) .step:last-child{flex:0 1 auto}.x-step.align-center:not(.horizontal-label) .step-container{text-align:center}.x-step.horizontal-label .step:not(:first-child){padding-left:var(--fd-padding-layout)}.x-step.horizontal-label .step-container{line-height:32px;overflow:hidden;text-align:left;white-space:nowrap}.x-step.horizontal-label .step-container .step-icon{display:inline-block;line-height:32px;margin-right:var(--fd-gap);text-align:center}.x-step.horizontal-label .step-container .step-main{display:inline-block;margin-top:0;text-align:left;vertical-align:top}.x-step.horizontal-label .step-container .step-main .step-title{display:inline-block;padding-right:var(--fd-gap-2xl);position:relative}.x-step.horizontal-label .step-container .step-main .step-title .step-line{background-color:var(--fd-color-split);height:1px;left:0;margin-left:100%;position:absolute;top:16px;width:9999px}.x-step.horizontal-label .step-container .step-main .step-title .step-line.only-line{margin-left:50%}.x-step.horizontal-label .step-container .step-main .step-title:after{content:"";display:inline-block}.x-step.horizontal-label .step-container .step-main .step-title.last-title{padding-right:0}.x-step.horizontal-label .step-container .step-main .step-description{line-height:var(--fd-line-height-sm);margin-top:var(--fd-gap);max-width:140px;padding:0;white-space:normal}.x-step.horizontal-label .is-finish .step-container .step-main .step-title .step-line{background-color:var(--fd-color-primary)}.x-step.small .step-container{line-height:var(--fd-line-height)}.x-step.small .step-container,.x-step.small .step-container.is-icon{font-size:var(--fd-font-size-sm)}.x-step.small .step-container.is-icon .step-icon{font-size:24px;height:24px;line-height:var(--fd-line-height);width:24px}.x-step.small .step-main{font-size:var(--fd-font-size)}.x-step.small .step-icon{height:24px;width:24px}.x-step.small.is-horizontal:not(.horizontal-label) .step .step-line{height:2px;left:24px;top:11px}.x-step.small.align-center:not(.horizontal-label) .step .step-line{left:50%;margin:0 var(--fd-padding-layout-lg);right:-50%}.x-step.small.horizontal-label .step-container,.x-step.small.horizontal-label .step-container .step-icon{line-height:24px}.x-step.small.horizontal-label .step-container .step-main .step-title .step-line{top:12px}.x-step.small.horizontal-label .step-container .step-main .step-description{max-width:140px}.x-table{color:#141e31;font-size:13px;line-height:normal}.x-table *,.x-table :after,.x-table :before{box-sizing:border-box}.x-table.striped table tbody tr:nth-child(2n){background:#f5f6f8}.x-table.striped table tbody tr:hover{background:#f0f1f4}.x-table table{border-collapse:separate;border-spacing:0;width:100%}.x-table table thead{border-color:inherit;display:table-header-group}.x-table table thead th{background-color:#f5f6f8;border-bottom:1px solid #ebecee;border-top:1px solid #ebecee;padding:12px 10px;text-align:left;white-space:nowrap}.x-table table tbody{border-color:inherit;display:table-row-group}.x-table table tbody tr:hover{background:#f0f1f4}.x-table table tbody td{border-bottom:1px solid #ebecee;padding:12px 10px}.x-table.size-small td,.x-table.size-small th{padding:8px 10px}.x-table.size-large td,.x-table.size-large th{padding:16px 12px}.x-table.bordered{border-radius:3px;overflow:auto}.x-table.bordered td,.x-table.bordered th{border-right:1px solid #ebecee}.x-table.bordered td:first-child,.x-table.bordered th:first-child{border-left:1px solid #ebecee}.x-table.simple td,.x-table.simple th{border:none}.x-table td .fixed-width-cell-content,.x-table th .fixed-width-cell-content{overflow:hidden}.x-table td.patch-cell,.x-table th.patch-cell{border-left:none;border-right:none;min-width:0;padding:0;width:0}.x-table .x-table-check{margin:0}.x-table .x-table-check .check-label{-webkit-box-pack:center;-ms-flex-pack:center;display:flex;justify-content:center}.x-pagination-table .x-table-pagination{display:flex;flex-wrap:wrap;margin:var(--fd-gap) 0;row-gap:var(--fd-padding-xs)}.x-pagination-table .x-table-pagination>*{flex:none}.x-pagination-table .x-table-pagination-left{justify-content:flex-start}.x-pagination-table .x-table-pagination-center{justify-content:center}.x-pagination-table .x-table-pagination-right{justify-content:flex-end}.x-tab{color:var(--fd-color-text)}.x-tab *,.x-tab :after,.x-tab :before{box-sizing:border-box}.x-tab ol,.x-tab ul{margin:0;padding:0}.x-tab li{list-style-type:none}.x-tab .tab-header{display:flex;font-size:var(--fd-font-size);overflow:hidden;position:relative}.x-tab .tab-header .tab-header-box{flex:1 1 auto;height:100%;overflow:hidden}.x-tab .tab-header .tab-header-wrapper{height:100%;transition:transform .2s ease;white-space:nowrap}.x-tab .tab-header .tab-header-wrapper .tab-header-item{color:var(--fd-color-text);cursor:pointer;font-size:var(--fd-font-size);line-height:var(--fd-line-height);overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-tab .tab-header .tab-header-wrapper .tab-header-item i{font-size:var(--fd-font-size-lg);margin-right:var(--fd-gap-sm)}.x-tab .tab-header .tab-header-wrapper .tab-header-item .tab-header-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-tab .tab-header .tab-header-wrapper .tab-header-item .tab-header-content .tab-content-inner{align-items:center;display:flex}.x-tab .tab-header .tab-header-wrapper .tab-header-item .tab-header-content .tab-content-inner .inner-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-tab .tab-header .tab-header-wrapper .tab-header-item.disabled{color:var(--fd-color-text-disabled);cursor:not-allowed}.x-tab .tab-header .tab-header-wrapper .tab-header-item.tab-header-active,.x-tab .tab-header .tab-header-wrapper .tab-header-item:not(.disabled):hover{color:var(--fd-color-primary)}.x-tab.theme-default .tab-header-wrapper .tab-header-item:before{background:var(--fd-color-primary);content:"";display:block;position:absolute;transform:scaleY(0)}.x-tab.theme-default .tab-header-wrapper .tab-header-item.tab-header-active:before{transform:scaleY(1)}.x-tab.horizontal-tab .tab-header{border-bottom:1px solid var(--fd-color-border)}.x-tab.horizontal-tab .tab-header .tab-extra-content{-webkit-box-flex:0;align-items:center;display:flex;flex:none;margin-left:var(--fd-gap-2xl)}.x-tab.horizontal-tab .tab-header.has-arrow .tab-arrow{background:var(--fd-color-bg-container);color:var(--fd-color-text);cursor:pointer;font-size:var(--fd-font-size-lg);width:30px}.x-tab.horizontal-tab .tab-header.has-arrow .tab-arrow,.x-tab.horizontal-tab .tab-header.has-arrow .tab-arrow .arrow-icon{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;justify-content:center}.x-tab.horizontal-tab .tab-header.has-arrow .tab-arrow .arrow-icon{height:24px;width:24px}.x-tab.horizontal-tab .tab-header.has-arrow .tab-arrow.prev{left:0}.x-tab.horizontal-tab .tab-header.has-arrow .tab-arrow.next{right:0}.x-tab.horizontal-tab .tab-header.has-arrow .tab-arrow:not(.disabled):hover .arrow-icon{background:var(--fd-color-bg-text-hover);border-radius:var(--fd-border-radius)}.x-tab.horizontal-tab .tab-header.has-arrow .tab-arrow.disabled{color:var(--fd-color-text-disabled);cursor:not-allowed}.x-tab.horizontal-tab .tab-header .tab-header-wrapper .tab-header-item{align-items:center;display:inline-flex;height:100%;max-width:300px;padding:var(--fd-padding-lg) 12px;transition:color .2s}.x-tab.horizontal-tab.theme-default .tab-header-wrapper .tab-header-item:before{bottom:0;height:2px;left:12px;opacity:0;right:12px;transform-origin:bottom;transition:all .3s ease-in}.x-tab.horizontal-tab.theme-default .tab-header-wrapper .tab-header-item.tab-header-active:before{opacity:1;transition:all .3s ease-out}.x-tab.horizontal-tab.theme-modern>.tab-header .tab-header-wrapper{padding:var(--fd-padding-layout-2xs) 0}.x-tab.horizontal-tab.theme-modern>.tab-header .tab-header-wrapper .tab-header-item{background:var(--fd-color-bg-container);border:1px solid var(--fd-color-border);border-radius:64px;height:var(--fd-control-height);margin:0 calc(var(--fd-gap-xl)/2);padding:0 var(--fd-padding-xl);transition:all .2s ease}.x-tab.horizontal-tab.theme-modern>.tab-header .tab-header-wrapper .tab-header-item:before{display:none}.x-tab.horizontal-tab.theme-modern>.tab-header .tab-header-wrapper .tab-header-item:not(.disabled):hover{border-color:var(--fd-color-primary)}.x-tab.horizontal-tab.theme-modern>.tab-header .tab-header-wrapper .tab-header-item.tab-header-active{background:var(--fd-color-primary);border-color:var(--fd-color-primary);color:#fff}.x-tab.horizontal-tab.theme-classic>.tab-header{border-bottom:none}.x-tab.horizontal-tab.theme-classic>.tab-header:before{background:var(--fd-color-border-secondary);bottom:0;content:"";display:block;height:1px;left:0;position:absolute;right:0}.x-tab.horizontal-tab.theme-classic>.tab-header .tab-header-wrapper{align-items:flex-end;display:flex;padding-top:var(--fd-padding-layout-2xs)}.x-tab.horizontal-tab.theme-classic>.tab-header .tab-header-wrapper .tab-header-item{-webkit-box-flex:0;background:var(--fd-color-fill-alter);border:1px solid var(--fd-color-border-secondary);border-radius:var(--fd-border-radius-lg) var(--fd-border-radius-lg) 0 0;flex:none;margin:0 var(--fd-gap-xs);padding:var(--fd-padding) var(--fd-padding-xl);transition:all .2s ease}.x-tab.horizontal-tab.theme-classic>.tab-header .tab-header-wrapper .tab-header-item:before{display:none}.x-tab.horizontal-tab.theme-classic>.tab-header .tab-header-wrapper .tab-header-item:not(.disabled):hover{color:var(--fd-color-primary)}.x-tab.horizontal-tab.theme-classic>.tab-header .tab-header-wrapper .tab-header-item.tab-header-active{background:var(--fd-color-bg-container);border-bottom:1px solid #fff;color:var(--fd-color-primary)}.x-tab.horizontal-tab.theme-classic>.tab-header .tab-arrow.prev{box-shadow:5px 0 9px #fff}.x-tab.horizontal-tab.theme-classic>.tab-header .tab-arrow.next{box-shadow:-5px 0 9px #fff}.x-tab.horizontal-tab.theme-segment>.tab-header{background:var(--fd-color-fill-alter);border-bottom:none;border-radius:var(--fd-border-radius);box-shadow:none;height:var(--fd-control-height)}.x-tab.horizontal-tab.theme-segment>.tab-header .tab-header-wrapper{display:flex;padding:var(--fd-padding-layout-3xs)}.x-tab.horizontal-tab.theme-segment>.tab-header .tab-header-wrapper .segment-animate-dot{background:var(--fd-color-bg-container);border-radius:var(--fd-border-radius-sm);bottom:var(--fd-padding-layout-3xs);box-shadow:0 6px 18px #1f2d3d0f,0 3px 9px #1f2d3d1a;content:"";left:0;margin-left:var(--fd-padding-layout-3xs);position:absolute;top:var(--fd-padding-layout-3xs);transition:left .24s ease-in;z-index:-1}.x-tab.horizontal-tab.theme-segment>.tab-header .tab-header-wrapper .tab-header-item{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-flex:1;align-items:center;background:transparent;border-radius:var(--fd-padding-lg);display:flex;flex:auto;justify-content:center;max-width:none;padding:0 var(--fd-padding-lg);width:100%}.x-tab.horizontal-tab.theme-segment>.tab-header .tab-header-wrapper .tab-header-item:before{display:none}.x-tab.horizontal-tab.theme-segment>.tab-header .tab-header-wrapper .tab-header-item:not(.disabled):hover{color:var(--fd-color-primary)}.x-tab.horizontal-tab.theme-segment>.tab-header .tab-header-wrapper .tab-header-item.tab-header-active{background:inherit}.x-tab.horizontal-tab.theme-segment>.tab-header .tab-header-wrapper .tab-header-item:not(.x-tab.horizontal-tab.theme-segment>.tab-header .tab-header-wrapper .tab-header-item:first-child){margin-left:4px}.x-tab.horizontal-tab.theme-cube>.tab-header{border-bottom:none}.x-tab.horizontal-tab.theme-cube>.tab-header:before{background:var(--fd-color-border-secondary);bottom:0;content:"";display:block;height:1px;left:0;position:absolute;right:0}.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper{align-items:flex-end;display:flex}.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item{flex:none;padding:var(--fd-padding-xs) var(--fd-padding-xl)}.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item .tab-header-content{padding:var(--fd-padding-2xs) var(--fd-padding-xl)}.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item:after{background:var(--fd-color-split);bottom:0;content:"";height:18px;left:0;margin:auto;position:absolute;top:0;width:1px}.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item:not(.disabled,.tab-header-active):hover{color:var(--fd-color-primary)}.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item:not(.disabled,.tab-header-active):hover:before{background-color:var(--fd-control-item-bg-hover);border-radius:var(--fd-border-radius-sm);bottom:var(--fd-padding-2xs);content:"";left:var(--fd-padding-2xs);position:absolute;right:var(--fd-padding-2xs);top:var(--fd-padding-2xs)}.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item:first-child:after,.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item:not(.disabled,.tab-header-active):hover+.tab-header-item:after,.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item:not(.disabled,.tab-header-active):hover:after{content:none}.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item.tab-header-active{background-color:var(--fd-color-bg-container);background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIzNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTI0IDM0Yy02IDAtOC03LjkzMy0xMC0xN1MxMCAwIDAgMHYzNGgyNHoiLz48cGF0aCBzdHJva2U9IiNFREVGRjMiIGQ9Ik0wIC41QzEwIC41IDEyIDguMiAxNCAxN3M0IDE2LjUgMTAgMTYuNSIvPjwvc3ZnPg==),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIzNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMzRjNiAwIDgtNy45MzMgMTAtMTdTMTQgMCAyNCAwdjM0SDB6Ii8+PHBhdGggc3Ryb2tlPSIjRURFRkYzIiBkPSJNMjQgLjVDMTQgLjUgMTIgOC4yIDEwIDE3UzYgMzMuNSAwIDMzLjUiLz48L3N2Zz4=),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MiIgaGVpZ2h0PSIzNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg0MnYzNEgwVjB6Ii8+PHBhdGggZmlsbD0iI0VERUZGMyIgZD0iTTAgMWg0MnYtMkgwdjJ6IiBtYXNrPSJ1cmwoI3ByZWZpeF9fcGF0aC0xLWluc2lkZS0xXzQzXzY4MykiLz48L3N2Zz4=);background-position:100% 100%,0 100%,top;background-repeat:no-repeat;background-size:28px 100%,28px 100%,calc(100% - 54px) 100%}.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item.tab-header-active+.tab-header-item:after,.x-tab.horizontal-tab.theme-cube>.tab-header .tab-header-wrapper .tab-header-item.tab-header-active:after{content:none}.x-tab.horizontal-tab.theme-cube>.tab-header:not(.has-arrow) .tab-header-wrapper .tab-header-item:first-child{padding-left:0}.x-tab.horizontal-tab.theme-cube>.tab-header:not(.has-arrow) .tab-header-wrapper .tab-header-item:last-child{padding-right:0}.x-tab.horizontal-tab.theme-cube>.tab-header:not(.has-arrow) .tab-header-wrapper .tab-header-item.tab-header-active:first-child{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIzNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTI0IDM0Yy02IDAtOC03LjkzMy0xMC0xN1MxMCAwIDAgMHYzNGgyNHoiLz48cGF0aCBzdHJva2U9IiNFREVGRjMiIGQ9Ik0wIC41QzEwIC41IDEyIDguMiAxNCAxN3M0IDE2LjUgMTAgMTYuNSIvPjwvc3ZnPg==),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIzNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMzRDMCAxNS42OTIgMCAwIDEyIDB2MzRIMHoiLz48cGF0aCBzdHJva2U9IiNFREVGRjMiIGQ9Ik0xMiAuNUMuNS41LjUgMTQuMjk0LjUgMzQiLz48L3N2Zz4=),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MiIgaGVpZ2h0PSIzNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg0MnYzNEgwVjB6Ii8+PHBhdGggZmlsbD0iI0VERUZGMyIgZD0iTTAgMWg0MnYtMkgwdjJ6IiBtYXNrPSJ1cmwoI3ByZWZpeF9fcGF0aC0xLWluc2lkZS0xXzQzXzY4MykiLz48L3N2Zz4=);background-position:100% 100%,0 100%,11px top;background-size:28px 100%,12px 100%,calc(100% - 38px) 100%}.x-tab.horizontal-tab.theme-cube>.tab-header:not(.has-arrow) .tab-header-wrapper .tab-header-item.tab-header-active:last-child{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIzNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEyIDM0QzEyIDE1LjY5MiAxMiAwIDAgMHYzNGgxMnoiLz48cGF0aCBzdHJva2U9IiNFREVGRjMiIGQ9Ik0wIC41QzExLjUuNSAxMS41IDE0LjI5NCAxMS41IDM0Ii8+PC9zdmc+),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIzNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMzRjNiAwIDgtNy45MzMgMTAtMTdTMTQgMCAyNCAwdjM0SDB6Ii8+PHBhdGggc3Ryb2tlPSIjRURFRkYzIiBkPSJNMjQgLjVDMTQgLjUgMTIgOC4yIDEwIDE3UzYgMzMuNSAwIDMzLjUiLz48L3N2Zz4=),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MiIgaGVpZ2h0PSIzNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg0MnYzNEgwVjB6Ii8+PHBhdGggZmlsbD0iI0VERUZGMyIgZD0iTTAgMWg0MnYtMkgwdjJ6IiBtYXNrPSJ1cmwoI3ByZWZpeF9fcGF0aC0xLWluc2lkZS0xXzQzXzY4MykiLz48L3N2Zz4=);background-position:100% 100%,0 100%,26px top;background-size:12px 100%,28px 100%,calc(100% - 38px) 100%}.x-tab.horizontal-tab.is-stretch>.tab-header .tab-header-wrapper{display:flex}.x-tab.horizontal-tab.is-stretch>.tab-header .tab-header-wrapper .tab-header-item{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-flex:1;align-items:center;display:flex;flex:auto;justify-content:center;max-width:none;width:100%}.x-tab.horizontal-tab.is-stretch>.tab-header .tab-header-wrapper .tab-header-item:before{left:0;right:0}.x-tab.vertical-tab{display:flex;position:relative}.x-tab.vertical-tab>.tab-header{-webkit-box-flex:0;border-bottom:none;box-shadow:1px 0 3px #0000001a;flex:none;height:auto!important;width:250px}.x-tab.vertical-tab>.tab-header .tab-header-wrapper{position:static}.x-tab.vertical-tab>.tab-header .tab-header-wrapper .tab-header-item{background:transparent;display:block;height:var(--fd-control-height-lg);line-height:var(--fd-control-height-lg);max-width:none;padding:0 var(--fd-padding-xl);transition:background .1s ease-out}.x-tab.vertical-tab>.tab-header .tab-header-wrapper .tab-header-item:before{bottom:auto;height:100%!important;left:0;top:0;transform:scaleY(0);transform-origin:center;transition-duration:.1s;width:2px}.x-tab.vertical-tab>.tab-header .tab-header-wrapper .tab-header-item.tab-header-active{background-color:var(--fd-color-primary-bg)}.x-tab.vertical-tab>.tab-header .tab-header-wrapper .tab-header-item.tab-header-active:before{transform:scaleY(1);transition-duration:.1s}.x-tab.vertical-tab .x-tab-content{flex:auto}.x-tab.size-large>.tab-header .tab-header-wrapper .tab-header-item{font-size:var(--fd-font-size-lg);line-height:var(--fd-line-height-lg);padding:var(--fd-padding-xl) 12px}.x-tab.size-large>.tab-header .tab-header-wrapper .tab-header-item .tab-header-content i{font-size:var(--fd-font-size-xl)}.x-tab.size-large>.tab-header .tab-header-wrapper .tab-header-item.tab-header-active{color:var(--fd-color-primary)}.x-tab.size-large.theme-modern>.tab-header .tab-header-wrapper .tab-header-item{height:var(--fd-control-height-lg);margin:0 var(--fd-gap)}.x-tab.size-large.theme-segment>.tab-header{border-radius:var(--fd-border-radius-lg);height:var(--fd-control-height-lg)}.x-tab.size-large.theme-segment>.tab-header .tab-header-wrapper .segment-animate-dot{border-radius:var(--fd-border-radius)}.x-tab.size-large.theme-cube>.tab-header .tab-header-wrapper .tab-header-item .tab-header-content{padding:var(--fd-padding-xs) var(--fd-padding-xl)}.x-tab.size-large.vertical-tab>.tab-header .tab-header-item{line-height:var(--fd-control-height-lg);padding:0 var(--fd-padding-2xl)}.x-tab.size-small>.tab-header .tab-header-wrapper .tab-header-item{padding:var(--fd-padding) 12px}.x-tab.size-small.theme-modern>.tab-header .tab-header-wrapper .tab-header-item{font-size:var(--fd-font-size-sm);height:var(--fd-control-height-sm);line-height:var(--fd-line-height-sm);margin:0 var(--fd-gap-sm)}.x-tab.size-small.theme-modern>.tab-header .tab-header-wrapper .tab-header-item i{font-size:var(--fd-font-size)}.x-tab.size-small.theme-cube>.tab-header .tab-header-wrapper .tab-header-item{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);padding:var(--fd-padding-2xs) var(--fd-padding-xl)}.x-tab.size-small.theme-cube>.tab-header .tab-header-wrapper .tab-header-item i{font-size:var(--fd-font-size)}.x-tab.size-small.theme-classic>.tab-header .tab-header-wrapper .tab-header-item{padding:var(--fd-padding-xs) var(--fd-padding-xl)}.x-tab.size-small.theme-segment>.tab-header{border-radius:var(--fd-border-radius-sm);height:var(--fd-control-height-sm)}.x-tab.size-small.theme-segment>.tab-header .tab-header-wrapper .tab-header-item{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm)}.x-tab.size-small.vertical-tab>.tab-header .tab-header-wrapper .tab-header-item{line-height:var(--fd-control-height-lg);padding:0 var(--fd-padding-lg)}.x-popover-wrapper.tab-hide-popover-wrapper{background:var(--fd-color-bg-container);border-radius:var(--fd-border-radius-lg);color:var(--fd-color-text);font-size:var(--fd-font-size);line-height:var(--fd-line-height);max-height:240px;max-width:320px;min-width:120px;overflow-y:auto;padding:var(--fd-padding-layout-2xs)}.x-popover-wrapper.tab-hide-popover-wrapper .tab-hide-popover-list{display:flex;flex-direction:column}.x-popover-wrapper.tab-hide-popover-wrapper .tab-hide-popover-list .tab-hide-popover-item{border-radius:var(--fd-border-radius-sm);cursor:pointer;overflow:hidden;padding:var(--fd-padding-xs) var(--fd-padding-lg);text-overflow:ellipsis;transition:all .2s;white-space:nowrap}.x-popover-wrapper.tab-hide-popover-wrapper .tab-hide-popover-list .tab-hide-popover-item:not(.disabled){cursor:pointer}.x-popover-wrapper.tab-hide-popover-wrapper .tab-hide-popover-list .tab-hide-popover-item:not(.disabled):hover{background:var(--fd-control-item-bg-hover)}.x-popover-wrapper.tab-hide-popover-wrapper .tab-hide-popover-list .tab-hide-popover-item.disabled{background:var(--fd-color-bg-container);color:var(--fd-color-text-disabled)!important;cursor:not-allowed}.x-menu,.x-popover-wrapper.tab-hide-popover-wrapper .tab-hide-popover-list .tab-hide-popover-item.disabled:hover{background:var(--fd-color-bg-container)}.x-menu{border-radius:var(--fd-border-radius-lg);color:var(--fd-color-text);font-size:var(--fd-font-size);line-height:var(--fd-line-height);padding:var(--fd-padding-layout-2xs)}.x-menu *,.x-menu :after,.x-menu :before{box-sizing:border-box}.x-menu ol,.x-menu ul{margin:0;padding:0}.x-menu li{list-style-type:none}.x-menu .x-divider{margin:var(--fd-gap) var(--fd-padding)!important;width:calc(100% - var(--fd-padding)*2)!important}.x-menu .x-menu-item{align-items:center;border-radius:var(--fd-border-radius-sm);cursor:pointer;display:flex;height:var(--fd-control-height);padding:0 var(--fd-padding);transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-menu .x-menu-item:not(.disabled):hover{background:var(--fd-color-bg-text-hover)}.x-menu .x-menu-item:not(.disabled):active{background:var(--fd-color-bg-text-active)}.x-menu .x-menu-item.custom-content{height:auto;min-height:var(--fd-control-height)}.x-menu .x-menu-item.custom-content:hover{background:inherit;cursor:default}.x-menu .x-menu-item .item-icon{-webkit-box-flex:0;color:var(--fd-color-icon-normal);display:inline-block;flex:none;font-size:var(--fd-icon-size);margin-right:var(--fd-gap-sm)}.x-menu .x-menu-item .item-label{flex:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-menu .x-menu-item .check-icon{color:var(--fd-color-primary)}.x-menu .x-menu-item .expand-icon{color:var(--fd-color-icon-normal)}.x-menu .x-menu-item .check-icon,.x-menu .x-menu-item .expand-icon{flex:none;font-size:var(--fd-icon-size);padding-left:var(--fd-gap-sm)}.x-menu .x-menu-item.disabled{cursor:not-allowed}.x-menu .x-menu-item.disabled .check-icon,.x-menu .x-menu-item.disabled .expand-icon,.x-menu .x-menu-item.disabled .item-icon,.x-menu .x-menu-item.disabled .item-label{color:var(--fd-color-text-disabled)}.x-sub-menu .x-menu{box-shadow:none}.x-breadcrumb,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper{color:var(--fd-color-text-description);display:flex;font-size:var(--fd-font-size);line-height:var(--fd-line-height);list-style:none}.x-breadcrumb ol,.x-breadcrumb ul,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper ol,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper ul{margin:0;padding:0}.x-breadcrumb li,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper li{list-style-type:none}.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper.overflow-auto,.x-breadcrumb.overflow-auto{overflow:hidden;overflow-x:auto;scrollbar-width:none}.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper.overflow-auto::-webkit-scrollbar,.x-breadcrumb.overflow-auto::-webkit-scrollbar{display:none}.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper.disabled .breadcrumb-item-label,.x-breadcrumb.disabled .breadcrumb-item-label{color:var(--fd-color-text-disabled);cursor:default}.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper.disabled .breadcrumb-item-label:hover,.x-breadcrumb.disabled .breadcrumb-item-label:hover{background-color:transparent;color:var(--fd-color-text-disabled)}.x-breadcrumb .breadcrumb-item-label,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .breadcrumb-item-label{border-radius:var(--fd-border-radius-sm);cursor:pointer;display:inline-block;height:var(--fd-line-height);overflow:hidden;padding:0 var(--fd-padding-xs);text-overflow:ellipsis;transition:color .2s;white-space:nowrap}.x-breadcrumb .breadcrumb-item-label:hover,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .breadcrumb-item-label:hover{background-color:var(--fd-color-bg-text-hover);color:var(--fd-color-text)}.x-breadcrumb .breadcrumb-item-link,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .breadcrumb-item-link{color:var(--fd-color-text-description);outline:none;text-decoration:none}.x-breadcrumb .breadcrumb-item-link:hover,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .breadcrumb-item-link:hover{color:var(--fd-color-text)}.x-breadcrumb .breadcrumb-item-inner,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .breadcrumb-item-inner{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-breadcrumb .breadcrumb-item-inner span+span,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .breadcrumb-item-inner span+span{margin-left:var(--fd-gap-sm)}.x-breadcrumb .separator,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .separator{color:var(--fd-color-text-description);margin-left:var(--fd-gap-xs)}.x-breadcrumb .more,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .more{display:flex}.x-breadcrumb .breadcrumb-item-wrapper,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .breadcrumb-item-wrapper{color:var(--fd-color-text-description);display:flex}.x-breadcrumb .breadcrumb-item-wrapper.mark:last-child,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .breadcrumb-item-wrapper.mark:last-child{color:var(--fd-color-text)}.x-breadcrumb .breadcrumb-item-wrapper.collapse,.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper .breadcrumb-item-wrapper.collapse{color:var(--fd-color-text-description)}.x-breadcrumb-collapse-popover .breadcrumb-collapse-wrapper{flex-wrap:wrap}.x-tag{align-items:flex-start;background:var(--fd-color-fill-quaternary);border:1px solid var(--fd-color-transparent);border-radius:12px;color:var(--fd-color-text);cursor:pointer;display:inline-flex;font-size:var(--fd-font-size);line-height:var(--fd-line-height);max-width:100%;overflow:hidden;padding:0 var(--fd-padding-sm);transform-origin:left;white-space:nowrap}.x-tag *,.x-tag :after,.x-tag :before{box-sizing:border-box}.x-tag.is-rounded-rec{border-radius:var(--fd-border-radius)}.x-tag.has-border{border-color:var(--fd-color-border)}.x-tag .text-wrapper{display:inline-block;max-width:100%}.x-tag.single-line{align-items:center}.x-tag.single-line .text-wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-tag.multi-line .text-wrapper{word-wrap:break-word;white-space:normal;word-break:break-word}.x-tag .tag-prefix{font-size:var(--fd-icon-size);margin-right:var(--fd-gap-sm)}.x-tag .tag-close{color:var(--fd-color-icon-normal);font-size:var(--fd-icon-size-2sm);margin-left:var(--fd-gap-sm)}.x-tag .tag-close:hover{color:var(--fd-color-icon-hover)}.x-tag .tag-close:active{color:var(--fd-color-icon-active)}.x-tag.x-tag-appear,.x-tag.x-tag-enter{animation:x-zoom-in-big .2s ease;animation-fill-mode:forwards}.x-tag.x-tag-exit{animation:x-zoom-by-size .2s ease-in reverse;animation-fill-mode:forwards}.x-tag.small{border-radius:10px;font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);padding:0 var(--fd-padding-xs)}.x-tag.small .tag-prefix{font-size:var(--fd-icon-size-sm)}.x-tag.small .tag-close{font-size:var(--fd-icon-size-2sm)}.x-tag.small.is-rounded-rec{border-radius:var(--fd-border-radius)}.x-tag.large{border-radius:15px;font-size:var(--fd-font-size);line-height:var(--fd-line-height);padding:var(--fd-padding-layout-2xs) var(--fd-padding)}.x-tag.large .tag-close,.x-tag.large .tag-prefix{font-size:var(--fd-icon-size)}.x-tag.large.is-rounded-rec{border-radius:var(--fd-border-radius)}.x-tag.success{background:var(--fd-color-success-bg);border-color:var(--fd-color-success-bg);color:var(--fd-color-success)}.x-tag.success.has-border{border-color:var(--fd-color-success-border)}.x-tag.success .tag-close{color:var(--fd-color-success)}.x-tag.success .tag-close:hover{color:var(--fd-color-success-hover)}.x-tag.success .tag-close:active{color:var(--fd-color-success-active)}.x-tag.warning{background:var(--fd-color-warning-bg);border-color:var(--fd-color-warning-bg);color:var(--fd-color-warning)}.x-tag.warning.has-border{border-color:var(--fd-color-warning-border)}.x-tag.warning .tag-close{color:var(--fd-color-warning)}.x-tag.warning .tag-close:hover{color:var(--fd-color-warning-hover)}.x-tag.warning .tag-close:active{color:var(--fd-color-warning-active)}.x-tag.error{background:var(--fd-color-error-bg);border-color:var(--fd-color-error-bg);color:var(--fd-color-error)}.x-tag.error.has-border{border-color:var(--fd-color-error-border)}.x-tag.error .tag-close{color:var(--fd-color-error)}.x-tag.error .tag-close:hover{color:var(--fd-color-error-hover)}.x-tag.error .tag-close:active{color:var(--fd-color-error-active)}.x-tag.info{background:var(--fd-color-info-bg);border-color:var(--fd-color-info-bg);color:var(--fd-color-info)}.x-tag.info.has-border{border-color:var(--fd-color-info-border)}.x-tag.info .tag-close{color:var(--fd-color-info)}.x-tag.info .tag-close:hover{color:var(--fd-color-info-hover)}.x-tag.info .tag-close:active{color:var(--fd-color-info-active)}.x-tooltip{display:block;position:absolute}.x-tooltip *,.x-tooltip :after,.x-tooltip :before{box-sizing:border-box}.x-tooltip-hidden{display:none}.x-tooltip-popper{word-wrap:break-word;background:var(--fd-color-bg-elevated);border-radius:var(--fd-border-radius);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;color:var(--fd-color-text);font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);max-width:400px;padding:var(--fd-tooltip-padding-layout-2xs) var(--fd-tooltip-padding-layout-xs);word-break:break-word}.x-tooltip-popper a[href]{color:var(--fd-color-link);text-decoration:underline}.x-tooltip-popper .tooltip-content{transform:translateZ(0)}.x-tooltip-popper.dark{color:var(--fd-color-text-light-solid)}.x-tooltip-popper.dark,.x-tooltip-popper.dark .tooltip-arrow:before{background:var(--fd-color-bg-spotlight)}.x-tooltip-popper.color .tooltip-arrow:before{background:var(--fd-tooltip-color-arrow)}.x-tooltip-popper.no-padding{padding:0}.x-tooltip .tooltip-arrow{display:block;height:12px;overflow:hidden;pointer-events:none;position:absolute;width:12px;z-index:1}.x-tooltip .tooltip-arrow.no-arrow{display:none!important}.x-tooltip .tooltip-arrow:before{background:var(--fd-color-bg-elevated);bottom:0;clip-path:polygon(1.65685425px 100%,50% 1.65685425px,10.34314575px 100%,1.65685425px 100%);clip-path:path("M 0 6 A 4 4 0 0 0 2.82842712474619 4.82842712474619 L 4.585786437626905 3.0710678118654755 A 2 2 0 0 1 7.414213562373095 3.0710678118654755 L 9.17157287525381 4.82842712474619 A 4 4 0 0 0 12 6 Z");content:"";height:6px;inset-inline-start:0;position:absolute;width:12px}.x-tooltip .tooltip-arrow:after{background:transparent;border-radius:0 0 2px;bottom:0;box-shadow:2px 2px 5px #0000000d;content:"";height:6.14213562px;inset-inline:0;margin:auto;position:absolute;transform:translateY(50%) rotate(-135deg);width:6.14213562px;z-index:0}.x-tooltip.placement-top .tooltip-arrow,.x-tooltip.placement-top-left .tooltip-arrow,.x-tooltip.placement-top-right .tooltip-arrow{bottom:0;transform:translateY(100%) rotate(180deg)}.x-tooltip.placement-top .tooltip-arrow{left:50%;transform:translate(-50%) translateY(100%) rotate(180deg)}.x-tooltip.placement-top-left .tooltip-arrow{left:8px}.x-tooltip.placement-top-right .tooltip-arrow{right:8px}.x-tooltip.placement-bottom .tooltip-arrow,.x-tooltip.placement-bottom-left .tooltip-arrow,.x-tooltip.placement-bottom-right .tooltip-arrow{top:0;transform:translateY(-100%)}.x-tooltip.placement-bottom .tooltip-arrow{left:50%;transform:translate(-50%) translateY(-100%)}.x-tooltip.placement-bottom-left .tooltip-arrow{left:8px}.x-tooltip.placement-bottom-right .tooltip-arrow{right:8px}.x-tooltip.placement-left .tooltip-arrow,.x-tooltip.placement-left-bottom .tooltip-arrow,.x-tooltip.placement-left-top .tooltip-arrow{right:0;transform:translate(100%) rotate(90deg)}.x-tooltip.placement-left .tooltip-arrow{top:50%;transform:translateY(-50%) translate(100%) rotate(90deg)}.x-tooltip.placement-left-top .tooltip-arrow{top:8px}.x-tooltip.placement-left-bottom .tooltip-arrow{bottom:8px}.x-tooltip.placement-right .tooltip-arrow,.x-tooltip.placement-right-bottom .tooltip-arrow,.x-tooltip.placement-right-top .tooltip-arrow{left:0;transform:translate(-100%) rotate(-90deg)}.x-tooltip.placement-right .tooltip-arrow{top:50%;transform:translateY(-50%) translate(-100%) rotate(-90deg)}.x-tooltip.placement-right-top .tooltip-arrow{top:8px}.x-tooltip.placement-right-bottom .tooltip-arrow{bottom:8px}.x-tooltip-top-appear,.x-tooltip-top-enter{animation:x-move-bottom-small .2s ease;animation-fill-mode:forwards}.x-tooltip-top-exit{animation:x-move-bottom-small .1s ease-in reverse;animation-fill-mode:forwards}.x-tooltip-right-appear,.x-tooltip-right-enter{animation:x-move-left-small .2s ease;animation-fill-mode:forwards}.x-tooltip-right-exit{animation:x-move-left-small .1s ease-in reverse;animation-fill-mode:forwards}.x-tooltip-bottom-appear,.x-tooltip-bottom-enter{animation:x-move-top-small .2s ease;animation-fill-mode:forwards}.x-tooltip-bottom-exit{animation:x-move-top-small .1s ease-in reverse;animation-fill-mode:forwards}.x-tooltip-left-appear,.x-tooltip-left-enter{animation:x-move-right-small .2s ease;animation-fill-mode:forwards}.x-tooltip-left-exit{animation:x-move-right-small .1s ease-in reverse;animation-fill-mode:forwards}.x-popover{display:block;position:absolute}.x-popover *,.x-popover :after,.x-popover :before{box-sizing:border-box}.x-popover-wrapper{background:var(--fd-color-bg-elevated);border-radius:var(--fd-border-radius-lg);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;color:var(--fd-color-text);font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);padding:var(--fd-padding-layout)}.x-popover-wrapper .popover-content{transform:translateZ(0)}.x-popover-wrapper.color .popover-arrow:before{background:var(--fd-tooltip-color-arrow)}.x-popover-wrapper.no-padding{padding:0}.x-popover .popover-arrow{display:block;height:12px;overflow:hidden;pointer-events:none;position:absolute;width:12px;z-index:1}.x-popover .popover-arrow.no-arrow{display:none!important}.x-popover .popover-arrow:before{background:#fff;bottom:0;clip-path:polygon(1.65685425px 100%,50% 1.65685425px,10.34314575px 100%,1.65685425px 100%);clip-path:path("M 0 6 A 4 4 0 0 0 2.82842712474619 4.82842712474619 L 4.585786437626905 3.0710678118654755 A 2 2 0 0 1 7.414213562373095 3.0710678118654755 L 9.17157287525381 4.82842712474619 A 4 4 0 0 0 12 6 Z");content:"";height:6px;inset-inline-start:0;position:absolute;width:12px}.x-popover .popover-arrow:after{background:transparent;border-radius:0 0 2px;bottom:0;box-shadow:2px 2px 5px #0000000d;content:"";height:6.14213562px;inset-inline:0;margin:auto;position:absolute;transform:translateY(50%) rotate(-135deg);width:6.14213562px;z-index:0}.x-popover.placement-top .popover-arrow,.x-popover.placement-top-left .popover-arrow,.x-popover.placement-top-right .popover-arrow{bottom:0;transform:translateY(100%) rotate(180deg)}.x-popover.placement-top .popover-arrow{left:50%;transform:translate(-50%) translateY(100%) rotate(180deg)}.x-popover.placement-top-left .popover-arrow{left:8px}.x-popover.placement-top-right .popover-arrow{right:8px}.x-popover.placement-bottom .popover-arrow,.x-popover.placement-bottom-left .popover-arrow,.x-popover.placement-bottom-right .popover-arrow{top:0;transform:translateY(-100%)}.x-popover.placement-bottom .popover-arrow{left:50%;transform:translate(-50%) translateY(-100%)}.x-popover.placement-bottom-left .popover-arrow{left:8px}.x-popover.placement-bottom-right .popover-arrow{right:8px}.x-popover.placement-left .popover-arrow,.x-popover.placement-left-bottom .popover-arrow,.x-popover.placement-left-top .popover-arrow{right:0;transform:translate(100%) rotate(90deg)}.x-popover.placement-left .popover-arrow{top:50%;transform:translateY(-50%) translate(100%) rotate(90deg)}.x-popover.placement-left-top .popover-arrow{top:8px}.x-popover.placement-left-bottom .popover-arrow{bottom:8px}.x-popover.placement-right .popover-arrow,.x-popover.placement-right-bottom .popover-arrow,.x-popover.placement-right-top .popover-arrow{left:0;transform:translate(-100%) rotate(-90deg)}.x-popover.placement-right .popover-arrow{top:50%;transform:translateY(-50%) translate(-100%) rotate(-90deg)}.x-popover.placement-right-top .popover-arrow{top:8px}.x-popover.placement-right-bottom .popover-arrow{bottom:8px}.x-popover-top-appear,.x-popover-top-enter{animation:x-move-bottom-small .2s ease;animation-fill-mode:forwards}.x-popover-top-exit{animation:x-move-bottom-small .1s ease-in reverse;animation-fill-mode:forwards}.x-popover-right-appear,.x-popover-right-enter{animation:x-move-left-small .2s ease;animation-fill-mode:forwards}.x-popover-right-exit{animation:x-move-left-small .1s ease-in reverse;animation-fill-mode:forwards}.x-popover-bottom-appear,.x-popover-bottom-enter{animation:x-move-top-small .2s ease;animation-fill-mode:forwards}.x-popover-bottom-exit{animation:x-move-top-small .1s ease-in reverse;animation-fill-mode:forwards}.x-popover-left-appear,.x-popover-left-enter{animation:x-move-right-small .2s ease;animation-fill-mode:forwards}.x-popover-left-exit{animation:x-move-right-small .1s ease-in reverse;animation-fill-mode:forwards}.x-popup{z-index:1002}.x-popup.x-popup-hidden{display:none}.x-divider *,.x-divider :after,.x-divider :before{box-sizing:border-box}.x-divider-horizontal{border:solid var(--fd-color-split);border-width:1px 0 0;margin:24px 0;width:100%}.x-divider-vertical{border:solid var(--fd-color-split);border-width:0 0 0 1px;display:inline-block;height:.9em;margin:0 15px;vertical-align:middle}.x-divider-dashed{border-style:dashed}.x-upload{display:inline-block}.x-upload *,.x-upload :after,.x-upload :before{box-sizing:border-box}.x-upload .upload-form,.x-upload .upload-input{display:none}.x-instruction{border-radius:var(--fd-border-radius-lg);color:var(--fd-color-text);display:flex;font-size:var(--fd-font-size);line-height:var(--fd-line-height);padding:var(--fd-padding-layout-xs) var(--fd-padding-layout-sm);position:relative}.x-instruction *,.x-instruction :after,.x-instruction :before{box-sizing:border-box}.x-instruction .x-instruction-content{flex:1;min-width:0}.x-instruction .x-instruction-icon{font-size:var(--fd-icon-size);margin-right:var(--fd-gap)}.x-instruction .x-instruction-description{display:none}.x-instruction .x-instruction-close-icon{align-self:flex-start;background-color:transparent;color:var(--fd-color-icon);cursor:pointer;font-size:var(--fd-icon-size);margin-left:var(--fd-gap);overflow:hidden;padding:0}.x-instruction .x-instruction-close-icon:hover{color:var(--fd-color-icon-hover)}.x-instruction.x-instruction-success{background-color:var(--fd-color-success-bg)}.x-instruction.x-instruction-success.x-instruction-border{border:1px solid var(--fd-color-success-border)}.x-instruction.x-instruction-success .x-instruction-icon{color:var(--fd-color-success)}.x-instruction.x-instruction-warning{background-color:var(--fd-color-warning-bg)}.x-instruction.x-instruction-warning.x-instruction-border{border:1px solid var(--fd-color-warning-border)}.x-instruction.x-instruction-warning .x-instruction-icon{color:var(--fd-color-warning)}.x-instruction.x-instruction-info{background-color:var(--fd-color-info-bg)}.x-instruction.x-instruction-info.x-instruction-border{border:1px solid var(--fd-color-info-border)}.x-instruction.x-instruction-info .x-instruction-icon{color:var(--fd-color-info)}.x-instruction.x-instruction-error{background-color:var(--fd-color-error-bg)}.x-instruction.x-instruction-error.x-instruction-border{border:1px solid var(--fd-color-error-border)}.x-instruction.x-instruction-error .x-instruction-icon{color:var(--fd-color-error)}.x-instruction.x-instruction-with-description{align-items:flex-start}.x-instruction.x-instruction-with-description .x-instruction-message{color:var(--fd-color-text);display:block;font-weight:600;margin-bottom:calc(var(--fd-gap)/2)}.x-instruction.x-instruction-with-description .x-instruction-description{display:block;line-height:var(--fd-line-height)}.x-instruction.x-instruction-banner{border:none;border-radius:0;margin-bottom:0}.x-instruction.x-instruction-exit{opacity:1}.x-instruction.x-instruction-exit-active{opacity:0;overflow:hidden;padding-bottom:0;padding-top:0;transition:all .3s}.x-result{text-align:center}.x-result *,.x-result :after,.x-result :before{box-sizing:border-box}.x-result img{border:0;outline:none}.x-result .result-img{margin-bottom:var(--fd-gap-2xl)}.x-result .result-img>img{height:175px;vertical-align:middle}.x-result .result-icon{font-size:72px;line-height:0}.x-result .result-icon.success{color:var(--fd-color-success)}.x-result .result-icon.error{color:var(--fd-color-error)}.x-result .result-icon.warning{color:var(--fd-color-warning)}.x-result .result-icon.info{color:var(--fd-color-info)}.x-result .result-title{color:var(--fd-color-text-heading);font-size:var(--fd-font-size-xl);font-weight:600;line-height:var(--fd-line-height-xl);margin:0 auto var(--fd-gap);max-width:600px}.x-result .result-description{color:var(--fd-color-text-description);font-size:var(--fd-font-size);line-height:var(--fd-line-height);margin:0 auto;max-width:340px}.x-result .result-extra{margin-top:var(--fd-gap-2xl)}.x-result a{color:var(--fd-color-primary);cursor:pointer;text-decoration:underline}.x-result.size-middle .result-title{font-size:var(--fd-font-size-lg)}.x-result.size-middle .result-icon{font-size:64px;line-height:64px}.x-result.size-middle .result-img>img{height:80px}.x-result.size-middle .result-extra{margin-top:var(--fd-gap-2xl)}.x-result.size-small .result-img{margin-bottom:var(--fd-gap-2xl)}.x-result.size-small .result-img>img{height:60px}.x-result.size-small .result-icon{font-size:48px}.x-result.size-small .result-extra{margin-top:var(--fd-gap-2xl)}.x-result.size-small .result-title{font-size:var(--fd-font-size);margin:0 auto var(--fd-gap-2xl)}.x-result.size-small .result-description{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);max-width:200px}@keyframes x-toast-fade-out{0%{max-height:100px;opacity:1}to{margin-bottom:0;max-height:0;opacity:0}}.x-msg-toast-container{color:var(--fd-color-text);left:0;line-height:normal;pointer-events:none;position:fixed;right:0;text-align:center;top:20px;z-index:1005}.x-msg-toast{margin-bottom:10px}.x-msg-toast .x-msg-toast-content{word-wrap:break-word;background:var(--fd-color-bg-elevated);border:var(--fd-line-width) solid var(--fd-color-bg-elevated);border-radius:var(--fd-border-radius);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;display:inline-flex;max-width:600px;min-width:100px;overflow:hidden;padding:var(--fd-padding-layout-xs) var(--fd-padding-layout-sm);position:relative;text-align:initial;word-break:break-word}.x-msg-toast .x-msg-toast-content .x-msg-toast-text{font-size:var(--fd-font-size);line-height:var(--fd-line-height)}.x-msg-toast .x-msg-toast-content .x-msg-toast-icon{align-items:center;display:flex;height:var(--fd-line-height);margin-right:var(--fd-gap)}.x-msg-toast .x-msg-toast-content .x-msg-toast-icon i{font-size:var(--fd-icon-size);line-height:var(--fd-icon-size)}.x-msg-toast .x-msg-toast-content.success .x-msg-toast-icon{color:var(--fd-color-success)}.x-msg-toast .x-msg-toast-content.warning .x-msg-toast-icon{color:var(--fd-color-warning)}.x-msg-toast .x-msg-toast-content.error .x-msg-toast-icon{color:var(--fd-color-error)}.x-msg-toast .x-msg-toast-content.info .x-msg-toast-icon{color:var(--fd-color-info);transform:rotate(180deg)}.x-msg-toast .x-msg-toast-content.loading .x-msg-toast-icon i{animation:x-rotate .8s cubic-bezier(.43,.1,.54,.85) infinite;border:2px solid var(--fd-color-success-3);border-radius:100%;border-top-color:var(--fd-color-success-6);display:inline-block;height:var(--fd-icon-size);transform-origin:center center;width:var(--fd-icon-size)}.x-msg-toast .x-msg-toast-content.colorful.success{background:var(--fd-color-success-bg);border-color:var(--fd-color-success-border)}.x-msg-toast .x-msg-toast-content.colorful.warning{background:var(--fd-color-warning-bg);border-color:var(--fd-color-warning-border)}.x-msg-toast .x-msg-toast-content.colorful.error{background:var(--fd-color-error-bg);border-color:var(--fd-color-error-border)}.x-msg-toast .x-msg-toast-content.colorful.info{background:var(--fd-color-info-bg);border-color:var(--fd-color-info-border)}.x-msg-toast .x-msg-toast-content.colorful.loading{background:var(--fd-color-bg-elevated);border-color:var(--fd-color-border)}.x-msg-toast.x-msg-toast-appear{animation:x-fade-down-large .2s ease;animation-fill-mode:forwards}.x-msg-toast.x-msg-toast-exit{animation:x-toast-fade-out .1s ease-out;animation-fill-mode:forwards}.x-msg-notification-container{line-height:normal;pointer-events:none;position:fixed;z-index:1004}.x-msg-notification-container.top-right{right:20px;top:65px}.x-msg-notification-container.top-right .x-msg-notification-appear,.x-msg-notification-container.top-right .x-msg-notification-exit{animation:x-fade-in-right .3s ease;animation-fill-mode:forwards}.x-msg-notification-container.top-right .x-msg-notification-exit{animation-direction:reverse}.x-msg-notification-container.top-left{left:20px;top:65px}.x-msg-notification-container.top-left .x-msg-notification-appear,.x-msg-notification-container.top-left .x-msg-notification-exit{animation:x-fade-in-left .3s ease;animation-fill-mode:forwards}.x-msg-notification-container.top-left .x-msg-notification-exit{animation-direction:reverse}.x-msg-notification-container.bottom-left{bottom:40px;left:20px}.x-msg-notification-container.bottom-left .x-msg-notification-appear,.x-msg-notification-container.bottom-left .x-msg-notification-exit{animation:x-fade-in-left .3s ease;animation-fill-mode:forwards}.x-msg-notification-container.bottom-left .x-msg-notification-exit{animation-direction:reverse}.x-msg-notification-container.bottom-right{bottom:40px;right:20px}.x-msg-notification-container.bottom-right .x-msg-notification-appear,.x-msg-notification-container.bottom-right .x-msg-notification-exit{animation:x-fade-in-right .3s ease;animation-fill-mode:forwards}.x-msg-notification-container.bottom-right .x-msg-notification-exit{animation-direction:reverse}.x-msg-notification{background:#fff;border-radius:var(--fd-border-radius-lg);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;margin-bottom:10px;overflow:hidden;padding:var(--fd-padding-layout-lg);pointer-events:all;position:relative;width:400px}.x-msg-notification .close-btn{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border-radius:var(--fd-border-radius);color:var(--fd-color-text);cursor:pointer;display:flex;font-size:var(--fd-font-size);height:var(--fd-line-height-lg);justify-content:center;position:absolute;right:0;top:0;transition:color .2s ease;width:var(--fd-line-height-lg)}.x-msg-notification .close-btn:hover{background-color:var(--fd-color-bg-text-hover)}.x-msg-notification .x-msg-notification-main .notification-icon.success{color:var(--fd-color-success)}.x-msg-notification .x-msg-notification-main .notification-icon.error{color:var(--fd-color-error)}.x-msg-notification .x-msg-notification-main .notification-icon.warning{color:var(--fd-color-warning)}.x-msg-notification .x-msg-notification-main .notification-icon.info{color:var(--fd-color-info)}.x-msg-notification .x-msg-notification-main .x-msg-notification-title{word-wrap:break-word;color:var(--fd-color-text);font-size:var(--fd-font-size-lg);font-weight:600;margin-bottom:var(--fd-gap);margin-right:var(--fd-line-height-lg);word-break:break-word}.x-msg-notification .x-msg-notification-main .x-msg-notification-content{color:var(--fd-color-text);font-size:var(--fd-font-size);line-height:var(--fd-line-height)}.x-msg-notification .x-msg-notification-main .x-msg-notification-footer{margin-top:var(--fd-gap-xl)}.x-msg-notification .x-msg-notification-main .x-msg-notification-footer:after,.x-msg-notification .x-msg-notification-main .x-msg-notification-footer:before{content:" ";display:table;line-height:0}.x-msg-notification .x-msg-notification-main .x-msg-notification-footer:after{clear:both}.x-msg-notification .x-msg-notification-main .x-msg-notification-footer .footer-btn{float:right}.x-msg-notification .x-msg-notification-wrapper{position:relative}.x-msg-notification.has-icon .x-msg-notification-main{padding-left:calc(var(--fd-line-height-lg) + var(--fd-gap-xl))}.x-msg-notification.has-icon .x-msg-notification-main>i{font-size:var(--fd-line-height-lg);left:0;line-height:var(--fd-line-height-lg);position:absolute;top:0}.x-msg-notification.only-title .x-msg-notification-wrapper .x-msg-notification-main .x-msg-notification-title{margin-bottom:0}.x-avatar{background:var(--fd-color-primary);border:1px solid transparent;border-radius:50%;color:var(--fd-color-text-light-solid);display:inline-block;overflow:hidden;text-align:center;vertical-align:middle}.x-avatar,.x-avatar *,.x-avatar :after,.x-avatar :before{box-sizing:border-box}.x-avatar img{border:0;outline:none}.x-avatar>img{height:100%;width:100%}.x-avatar.color-0{background:#f0a800}.x-avatar.color-1{background:#2f7deb}.x-avatar.color-2{background:#00aed1}.x-avatar.color-3{background:#46c26f}.x-avatar.color-4{background:#eb5050}.x-avatar.color-5{background:#7e47eb}.x-avatar.is-image-type{background:#fff;font-size:0}.x-avatar.square{border-radius:var(--fd-border-radius)}.x-avatar.square.small{border-radius:var(--fd-border-radius-sm)}.x-avatar.square.large{border-radius:var(--fd-border-radius-lg)}.x-avatar-group{display:inline-flex}.x-avatar-group .x-avatar{border-color:var(--fd-color-white)}.x-avatar-group>:not(:first-child){margin-left:-8px}.x-avatar-group>:not(:first-child).small{margin-left:-4px}.x-avatar-group>:not(:first-child).large{margin-left:-16px}.x-progress *,.x-progress :after,.x-progress :before{box-sizing:border-box}.x-progress.type-line{align-items:center;display:flex;height:10px}.x-progress.type-line .progress-wrapper{-webkit-box-flex:1;background:var(--fd-color-fill-secondary);border-radius:5px;flex:auto;height:100%;overflow:hidden;position:relative}.x-progress.type-line .progress-wrapper .value-bar{background:var(--fd-color-primary);bottom:0;left:0;position:absolute;top:0;transition:width .2s ease}.x-progress.type-line .progress-wrapper .value-bar.round-linecap{border-bottom-right-radius:inherit;border-top-right-radius:inherit}.x-progress.type-line .value-info{flex:none;font-size:var(--fd-font-size);line-height:var(--fd-line-height);margin-left:var(--fd-gap)}.x-progress.type-line.size-large{height:20px}.x-progress.type-line.size-large .progress-wrapper{border-radius:10px}.x-progress.type-line.size-large .value-info{font-size:var(--fd-font-size-lg);line-height:var(--fd-line-height-lg)}.x-progress.type-line.size-small{height:5px}.x-progress.type-line.size-small .progress-wrapper{border-radius:2.5px}.x-progress.type-line.size-small .value-info{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm)}.x-progress.type-circle{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;justify-content:center;position:relative}.x-progress.type-circle .progress-wrapper{height:100%;width:100%}.x-progress.type-circle .progress-wrapper circle.unfilled{stroke:var(--fd-color-fill-secondary)}.x-progress.type-circle .progress-wrapper circle.value-bar{stroke:var(--fd-color-primary);transform:rotate(-90deg);transform-origin:center;transition:stroke-dasharray .2s ease}.x-progress.type-circle .value-info{font-size:var(--fd-font-size-lg);line-height:var(--fd-line-height-lg);position:absolute}.x-progress.type-circle.size-large .value-info{font-size:var(--fd-font-size-2xl);line-height:var(--fd-line-height-2xl)}.x-progress.type-circle.size-extra-small .value-info,.x-progress.type-circle.size-small .value-info{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm)}.x-progress.status-success .progress-wrapper .value-bar{background-color:var(--fd-color-success)}.x-progress.status-info .progress-wrapper .value-bar{background-color:var(--fd-color-info)}.x-progress.status-error .progress-wrapper .value-bar{background-color:var(--fd-color-error)}.x-search-input{align-items:center;background:var(--fd-color-bg-container);display:flex}.x-search-input *,.x-search-input :after,.x-search-input :before{box-sizing:border-box}.x-search-input .input-wrapper{flex:auto;height:var(--fd-control-height);position:relative}.x-search-input .input-wrapper .input-content{inset:0;position:absolute}.x-search-input .input-wrapper .input-content.show-search-icon input{padding-left:calc(var(--fd-icon-size) + var(--fd-gap)*2)}.x-search-input .input-wrapper .input-content .input-prefix{left:0}.x-search-input .input-wrapper .input-content .input-prefix,.x-search-input .input-wrapper .input-content .input-suffix{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;bottom:0;color:var(--fd-color-icon-normal);display:flex;font-size:var(--fd-icon-size);justify-content:center;position:absolute;top:0;width:calc(var(--fd-icon-size) + var(--fd-gap)*2)}.x-search-input .input-wrapper .input-content .input-suffix{cursor:pointer;right:0}.x-search-input .input-wrapper .input-content .input-suffix:hover{color:var(--fd-color-icon-hover)}.x-search-input .input-wrapper .input-content input{border:none;font-size:var(--fd-font-size);height:100%;outline:none;overflow:hidden;padding:0 var(--fd-gap);text-overflow:ellipsis;white-space:nowrap;width:100%}.x-search-input .input-wrapper .input-content input::-moz-placeholder{color:var(--fd-color-text-placeholder)}.x-search-input .input-wrapper .input-content input:-ms-input-placeholder{color:var(--fd-color-text-placeholder)}.x-search-input .input-wrapper .input-content input::placeholder{color:var(--fd-color-text-placeholder)}.x-search-input .input-wrapper .input-content input:focus{outline:none}.x-search-input .input-wrapper .input-content input:focus::-moz-placeholder{color:var(--fd-color-text-placeholder)}.x-search-input .input-wrapper .input-content input:focus:-ms-input-placeholder{color:var(--fd-color-text-placeholder)}.x-search-input .input-wrapper .input-content input:focus::placeholder{color:var(--fd-color-text-placeholder)}.x-search-input .search-prefix,.x-search-input .search-suffix{-webkit-box-flex:0;color:var(--fd-color-brand-6,#00b899);flex:none}.x-search-input .search-prefix{margin-right:5px}.x-search-input .search-suffix{margin-left:5px}.x-search-input.has-clear .input-wrapper input{padding-right:calc(var(--fd-icon-size) + var(--fd-gap)*2)}.x-data-table{height:100%;overflow:auto;position:relative}.x-data-table,.x-data-table *,.x-data-table :after,.x-data-table :before{box-sizing:border-box}.x-data-table.resizing{cursor:ew-resize;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-data-table.striped tbody tr:nth-child(2n) td{background:#f5f6f8}.x-data-table.striped tbody tr.hover td,.x-data-table.striped tbody tr:hover td{background:#f0f1f4}.x-data-table .x-table-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.x-data-table .x-table-container>.x-table-content>table>thead>tr>th,.x-data-table .x-table-container>.x-table-header>table>thead>tr>th{position:relative}.x-data-table table{border-collapse:separate;border-spacing:0;border-top:1px solid #e1e3e5;width:100%}.x-data-table table.empty{height:0;visibility:hidden}.x-data-table table.empty tbody tr.calculate-row{height:1px!important}.x-data-table.size-small td,.x-data-table.size-small th{font-size:13px;line-height:18px;min-height:32px;padding:7px 10px}.x-data-table.size-small td .measure-cell,.x-data-table.size-small th .measure-cell{font-size:13px;line-height:18px;min-height:32px;min-height:0;padding:0 12px}.x-data-table.size-small td .cell-wrapper,.x-data-table.size-small th .cell-wrapper{font-size:13px;line-height:18px;min-height:32px;padding:7px 10px}.x-data-table.size-small td.has-content,.x-data-table.size-small td.measure-cell-td,.x-data-table.size-small th.has-content{padding:0}.x-data-table.size-small .patch-cell{border-left:0;border-right:0;height:0;min-width:0;padding:0}.x-data-table.size-small .patch-cell .measure-cell{padding:0!important}.x-data-table.size-large td,.x-data-table.size-large th{font-size:13px;line-height:22px;min-height:54px;padding:16px 12px}.x-data-table.size-large td .measure-cell,.x-data-table.size-large th .measure-cell{font-size:13px;line-height:18px;min-height:32px;min-height:0;padding:0 10px}.x-data-table.size-large td .cell-wrapper,.x-data-table.size-large th .cell-wrapper{font-size:13px;line-height:22px;min-height:54px;padding:16px 12px}.x-data-table.size-large td.has-content,.x-data-table.size-large td.measure-cell-td,.x-data-table.size-large th.has-content{padding:0}.x-data-table.size-large .patch-cell{border-left:0;border-right:0;height:0;min-width:0;padding:0}.x-data-table.size-large .patch-cell .measure-cell{padding:0!important}.x-data-table td,.x-data-table th{border-bottom:1px solid #e1e3e5;box-sizing:border-box;font-size:13px;line-height:22px;min-height:46px;min-width:30px;padding:12px 10px}.x-data-table.has-border{border-radius:3px}.x-data-table.has-border .x-table-body,.x-data-table.has-border .x-table-content,.x-data-table.has-border .x-table-header{border-left:1px solid #e1e3e5;border-radius:3px;border-right:1px solid #e1e3e5}.x-data-table.has-border .x-table-body,.x-data-table.has-border .x-table-content{border-bottom:1px solid #e1e3e5}.x-data-table.has-border .x-table-body{border-top-left-radius:0;border-top-right-radius:0}.x-data-table.has-border .x-table-header{border-bottom-left-radius:0;border-bottom-right-radius:0}.x-data-table.has-border td,.x-data-table.has-border th{border-bottom:1px solid #e1e3e5;border-right:1px solid #e1e3e5}.x-data-table.has-border .patch-cell{border-left:0;border-right:0;height:0;min-width:0;padding:0}.x-data-table.has-border .patch-cell .measure-cell{padding:0!important}.x-data-table td.has-content,.x-data-table th.has-content{padding:0}.x-data-table th,.x-data-table th .cell-wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-data-table td{word-wrap:break-word;white-space:nowrap}.x-data-table td .cell-wrapper{word-wrap:break-word;white-space:normal}.x-data-table td .cell-wrapper.adjust-width{white-space:nowrap}.x-data-table .measure-cell{font-size:14px;font-weight:400;padding:0 12px}.x-data-table .cell-wrapper{box-sizing:border-box;font-size:13px;line-height:22px;min-height:46px;min-width:30px;padding:12px 10px}.x-data-table .measure-cell-td{border:0;height:0;padding:0}.x-data-table .measure-cell-td .sort-icon{display:none}.x-data-table .patch-cell{border-left:0;border-right:0;height:0;min-width:0;padding:0}.x-data-table .patch-cell .measure-cell{padding:0!important}.x-data-table thead th{background:#f0f1f4;border-color:#d7d9dc;color:#141e31;font-size:13px;font-weight:400;text-align:left}.x-data-table .x-table-header{flex:none;overflow:hidden}.x-data-table tbody>tr td{background:#fff;color:#141e31}.x-data-table tbody>tr.hover td{background:#f0f1f4}.x-data-table tbody>tr.measure-row{opacity:0}.x-data-table .x-table-content{overflow:auto}.x-data-table .x-table-body{flex:1 1 auto;overflow:auto}.x-data-table .x-table-body table{border-top:0}.x-data-table .sort-icon{align-items:center;bottom:0;display:flex;font-size:12px;font-weight:400;position:absolute;right:5px;top:0}.x-data-table.ping-left .fix-left.last-fix-left:after{box-shadow:inset 10px 0 8px -8px #00000026}.x-data-table .x-table-cell.fix-left{z-index:1}.x-data-table .x-table-cell.fix-left.last-fix-left{overflow:visible}.x-data-table .x-table-cell.fix-left.last-fix-left:after{bottom:-1px;content:"";position:absolute;right:-1px;top:0;transform:translate(100%);width:25px}.x-data-table .x-table-cell .resize-spanner{bottom:0;cursor:ew-resize;opacity:0;position:absolute;right:0;width:5px}.x-data-table .column-resize-line,.x-data-table .x-table-cell .resize-spanner{top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-data-table .column-resize-line{background:var(--fd-color-brand-6,#00b899);display:none;height:100%;left:0;position:fixed;width:1px;z-index:1}.x-data-table .column-resize-line.active{display:block}.x-list-tree{display:inline-block;height:100%;min-width:100%;overflow:auto;vertical-align:middle}.x-list-tree *,.x-list-tree :after,.x-list-tree :before{box-sizing:border-box}.x-list-tree.content-ellipsis{display:block}.x-list-tree.content-ellipsis .tree-node .node-content-wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:0}.x-list-tree .customize-dragging-node{display:none;left:-500px;pointer-events:none;position:fixed;top:-500px}.x-list-tree .customize-dragging-node.show{display:block}.x-list-tree.is-virtual-list{display:block;width:100%}.x-list-tree.is-virtual-list .x-virtual-list .virtual-list-inner{display:inline-block;min-width:100%;width:auto!important}.x-list-tree .tree-node{align-items:center;border-radius:var(--fd-border-radius);cursor:pointer;display:flex;height:var(--fd-control-height);line-height:var(--fd-line-height);padding:0 var(--fd-padding);transition:background-color .1s ease-in-out}.x-list-tree .tree-node .node-checkbox{flex:0 0 16px}.x-list-tree .tree-node .node-checkbox.left,.x-list-tree .tree-node .node-checkbox.middle{margin-right:var(--fd-gap-sm)}.x-list-tree .tree-node .node-checkbox.right{margin-left:var(--fd-gap-sm)}.x-list-tree .tree-node .node-content-wrapper{flex:1 1 auto;height:100%;line-height:var(--fd-line-height);margin-left:var(--fd-gap-sm);margin-right:var(--fd-gap-sm);position:relative}.x-list-tree .tree-node .node-content-wrapper,.x-list-tree .tree-node .node-content-wrapper .node-content{align-items:center;display:inline-flex}.x-list-tree .tree-node .node-content-wrapper .node-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.x-list-tree .tree-node .node-content-wrapper .node-content .node-title{-webkit-box-flex:1;color:var(--fd-color-text);flex:1 1 auto;font-size:var(--fd-font-size);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-list-tree .tree-node .node-content-wrapper .node-content .node-icon{color:var(--fd-color-icon);display:inline-flex;font-size:var(--fd-font-size-lg);margin-right:var(--fd-gap-sm)}.x-list-tree .tree-node .node-content-wrapper .node-content .node-icon .node-icon-group{color:var(--fd-color-primary)}.x-list-tree .tree-node .node-content-wrapper .node-drop-indicator{background:var(--fd-color-primary);bottom:0;display:none;height:2px;left:0;position:absolute;right:0}.x-list-tree .tree-node .node-switcher{-webkit-box-flex:0;border-radius:var(--fd-border-radius);color:var(--fd-color-icon);display:inline-block;flex:0 0 20px;font-size:var(--fd-font-size-lg);height:var(--fd-line-height);line-height:var(--fd-line-height);margin:5px var(--fd-gap-sm);position:relative;text-align:center;transition:background-color .3s;width:20px}.x-list-tree .tree-node .node-switcher:hover{background-color:var(--fd-color-bg-container)}.x-list-tree .tree-node .node-switcher.node-switcher-noop:hover{background-color:transparent}.x-list-tree .tree-node .node-indent{display:inline-block}.x-list-tree .tree-node:hover{background-color:var(--fd-color-bg-text-hover)}.x-list-tree .tree-node:active{background-color:var(--fd-color-bg-text-active)}.x-list-tree .tree-node.node-selected{background-color:var(--fd-control-item-bg-active)}.x-list-tree .tree-node.node-selected .node-content-wrapper .node-icon{color:var(--fd-color-icon)}.x-list-tree .tree-node.node-selected .node-content-wrapper .node-icon .node-icon-group{color:var(--fd-color-primary)}.x-list-tree .tree-node.disabled{background-color:transparent;cursor:default}.x-list-tree .tree-node.disabled .node-content-wrapper .node-icon,.x-list-tree .tree-node.disabled .node-content-wrapper .node-title{color:var(--fd-color-text-disabled)}.x-list-tree .tree-node.draggable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-list-tree .tree-node.drop-container{background-color:var(--fd-color-bg-text-hover)}.x-list-tree.is-dragging .tree-node .node-checkbox,.x-list-tree.is-dragging .tree-node .node-content-wrapper,.x-list-tree.is-dragging .tree-node .node-indent,.x-list-tree.is-dragging .tree-node .node-switcher{pointer-events:none}.x-list-tree.is-dragging .tree-node.node-selected,.x-list-tree.is-dragging .tree-node:hover{background-color:transparent}.x-list-tree .tree-node-motion-appear,.x-list-tree .tree-node-motion-enter,.x-list-tree .tree-node-motion-exit{overflow:hidden;transition:opacity .1s ease-in-out,height .1s ease-in-out}.x-space{display:inline-flex}.x-space *,.x-space :after,.x-space :before{box-sizing:border-box}.x-space.vertical{flex-direction:column}.x-space.align-center{align-items:center}.x-space.align-start{align-items:flex-start}.x-space.align-end{align-items:flex-end}.x-space.align-baseline{align-items:baseline}.x-space .x-space-item:empty{display:none}.x-grid-row{display:flex;flex-flow:row wrap}.x-grid-row *,.x-grid-row :after,.x-grid-row :before{box-sizing:border-box}.x-grid-row:after,.x-grid-row:before{display:flex}.x-grid-row.no-wrap{flex-wrap:nowrap}.x-grid-row.row-start{justify-content:flex-start}.x-grid-row.row-center{justify-content:center}.x-grid-row.row-end{justify-content:flex-end}.x-grid-row.row-space-between{justify-content:space-between}.x-grid-row.row-space-around{justify-content:space-around}.x-grid-row.row-space-evenly{justify-content:space-evenly}.x-grid-row.row-top{align-items:flex-start}.x-grid-row.row-middle{align-items:center}.x-grid-row.row-bottom{align-items:flex-end}.x-grid-row .x-grid-col{max-width:100%;min-height:1px;position:relative}.x-grid-row .col-24{-webkit-box-flex:0;display:block;flex:0 0 100%;max-width:100%}.x-grid-row .col-push-24{left:100%}.x-grid-row .col-pull-24{right:100%}.x-grid-row .col-offset-24{margin-left:100%}.x-grid-row .col-order-24{order:24}.x-grid-row .col-23{-webkit-box-flex:0;display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.x-grid-row .col-push-23{left:95.83333333%}.x-grid-row .col-pull-23{right:95.83333333%}.x-grid-row .col-offset-23{margin-left:95.83333333%}.x-grid-row .col-order-23{order:23}.x-grid-row .col-22{-webkit-box-flex:0;display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.x-grid-row .col-push-22{left:91.66666667%}.x-grid-row .col-pull-22{right:91.66666667%}.x-grid-row .col-offset-22{margin-left:91.66666667%}.x-grid-row .col-order-22{order:22}.x-grid-row .col-21{-webkit-box-flex:0;display:block;flex:0 0 87.5%;max-width:87.5%}.x-grid-row .col-push-21{left:87.5%}.x-grid-row .col-pull-21{right:87.5%}.x-grid-row .col-offset-21{margin-left:87.5%}.x-grid-row .col-order-21{order:21}.x-grid-row .col-20{-webkit-box-flex:0;display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.x-grid-row .col-push-20{left:83.33333333%}.x-grid-row .col-pull-20{right:83.33333333%}.x-grid-row .col-offset-20{margin-left:83.33333333%}.x-grid-row .col-order-20{order:20}.x-grid-row .col-19{-webkit-box-flex:0;display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.x-grid-row .col-push-19{left:79.16666667%}.x-grid-row .col-pull-19{right:79.16666667%}.x-grid-row .col-offset-19{margin-left:79.16666667%}.x-grid-row .col-order-19{order:19}.x-grid-row .col-18{-webkit-box-flex:0;display:block;flex:0 0 75%;max-width:75%}.x-grid-row .col-push-18{left:75%}.x-grid-row .col-pull-18{right:75%}.x-grid-row .col-offset-18{margin-left:75%}.x-grid-row .col-order-18{order:18}.x-grid-row .col-17{-webkit-box-flex:0;display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.x-grid-row .col-push-17{left:70.83333333%}.x-grid-row .col-pull-17{right:70.83333333%}.x-grid-row .col-offset-17{margin-left:70.83333333%}.x-grid-row .col-order-17{order:17}.x-grid-row .col-16{-webkit-box-flex:0;display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.x-grid-row .col-push-16{left:66.66666667%}.x-grid-row .col-pull-16{right:66.66666667%}.x-grid-row .col-offset-16{margin-left:66.66666667%}.x-grid-row .col-order-16{order:16}.x-grid-row .col-15{-webkit-box-flex:0;display:block;flex:0 0 62.5%;max-width:62.5%}.x-grid-row .col-push-15{left:62.5%}.x-grid-row .col-pull-15{right:62.5%}.x-grid-row .col-offset-15{margin-left:62.5%}.x-grid-row .col-order-15{order:15}.x-grid-row .col-14{-webkit-box-flex:0;display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.x-grid-row .col-push-14{left:58.33333333%}.x-grid-row .col-pull-14{right:58.33333333%}.x-grid-row .col-offset-14{margin-left:58.33333333%}.x-grid-row .col-order-14{order:14}.x-grid-row .col-13{-webkit-box-flex:0;display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.x-grid-row .col-push-13{left:54.16666667%}.x-grid-row .col-pull-13{right:54.16666667%}.x-grid-row .col-offset-13{margin-left:54.16666667%}.x-grid-row .col-order-13{order:13}.x-grid-row .col-12{-webkit-box-flex:0;display:block;flex:0 0 50%;max-width:50%}.x-grid-row .col-push-12{left:50%}.x-grid-row .col-pull-12{right:50%}.x-grid-row .col-offset-12{margin-left:50%}.x-grid-row .col-order-12{order:12}.x-grid-row .col-11{-webkit-box-flex:0;display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.x-grid-row .col-push-11{left:45.83333333%}.x-grid-row .col-pull-11{right:45.83333333%}.x-grid-row .col-offset-11{margin-left:45.83333333%}.x-grid-row .col-order-11{order:11}.x-grid-row .col-10{-webkit-box-flex:0;display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.x-grid-row .col-push-10{left:41.66666667%}.x-grid-row .col-pull-10{right:41.66666667%}.x-grid-row .col-offset-10{margin-left:41.66666667%}.x-grid-row .col-order-10{order:10}.x-grid-row .col-9{-webkit-box-flex:0;display:block;flex:0 0 37.5%;max-width:37.5%}.x-grid-row .col-push-9{left:37.5%}.x-grid-row .col-pull-9{right:37.5%}.x-grid-row .col-offset-9{margin-left:37.5%}.x-grid-row .col-order-9{order:9}.x-grid-row .col-8{-webkit-box-flex:0;display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.x-grid-row .col-push-8{left:33.33333333%}.x-grid-row .col-pull-8{right:33.33333333%}.x-grid-row .col-offset-8{margin-left:33.33333333%}.x-grid-row .col-order-8{order:8}.x-grid-row .col-7{-webkit-box-flex:0;display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.x-grid-row .col-push-7{left:29.16666667%}.x-grid-row .col-pull-7{right:29.16666667%}.x-grid-row .col-offset-7{margin-left:29.16666667%}.x-grid-row .col-order-7{order:7}.x-grid-row .col-6{-webkit-box-flex:0;display:block;flex:0 0 25%;max-width:25%}.x-grid-row .col-push-6{left:25%}.x-grid-row .col-pull-6{right:25%}.x-grid-row .col-offset-6{margin-left:25%}.x-grid-row .col-order-6{order:6}.x-grid-row .col-5{-webkit-box-flex:0;display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.x-grid-row .col-push-5{left:20.83333333%}.x-grid-row .col-pull-5{right:20.83333333%}.x-grid-row .col-offset-5{margin-left:20.83333333%}.x-grid-row .col-order-5{order:5}.x-grid-row .col-4{-webkit-box-flex:0;display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.x-grid-row .col-push-4{left:16.66666667%}.x-grid-row .col-pull-4{right:16.66666667%}.x-grid-row .col-offset-4{margin-left:16.66666667%}.x-grid-row .col-order-4{order:4}.x-grid-row .col-3{-webkit-box-flex:0;display:block;flex:0 0 12.5%;max-width:12.5%}.x-grid-row .col-push-3{left:12.5%}.x-grid-row .col-pull-3{right:12.5%}.x-grid-row .col-offset-3{margin-left:12.5%}.x-grid-row .col-order-3{order:3}.x-grid-row .col-2{-webkit-box-flex:0;display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.x-grid-row .col-push-2{left:8.33333333%}.x-grid-row .col-pull-2{right:8.33333333%}.x-grid-row .col-offset-2{margin-left:8.33333333%}.x-grid-row .col-order-2{order:2}.x-grid-row .col-1{-webkit-box-flex:0;display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.x-grid-row .col-push-1{left:4.16666667%}.x-grid-row .col-pull-1{right:4.16666667%}.x-grid-row .col-offset-1{margin-left:4.16666667%}.x-grid-row .col-order-1{order:1}.x-grid-row .col-0{display:none}.x-grid-row .col-offset-0{margin-left:0}.x-grid-row .col-order-0{order:0}.x-grid-row .col-xs-24{-webkit-box-flex:0;display:block;flex:0 0 100%;max-width:100%}.x-grid-row .col-xs-push-24{left:100%}.x-grid-row .col-xs-pull-24{right:100%}.x-grid-row .col-xs-offset-24{margin-left:100%}.x-grid-row .col-xs-order-24{order:24}.x-grid-row .col-xs-23{-webkit-box-flex:0;display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.x-grid-row .col-xs-push-23{left:95.83333333%}.x-grid-row .col-xs-pull-23{right:95.83333333%}.x-grid-row .col-xs-offset-23{margin-left:95.83333333%}.x-grid-row .col-xs-order-23{order:23}.x-grid-row .col-xs-22{-webkit-box-flex:0;display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.x-grid-row .col-xs-push-22{left:91.66666667%}.x-grid-row .col-xs-pull-22{right:91.66666667%}.x-grid-row .col-xs-offset-22{margin-left:91.66666667%}.x-grid-row .col-xs-order-22{order:22}.x-grid-row .col-xs-21{-webkit-box-flex:0;display:block;flex:0 0 87.5%;max-width:87.5%}.x-grid-row .col-xs-push-21{left:87.5%}.x-grid-row .col-xs-pull-21{right:87.5%}.x-grid-row .col-xs-offset-21{margin-left:87.5%}.x-grid-row .col-xs-order-21{order:21}.x-grid-row .col-xs-20{-webkit-box-flex:0;display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.x-grid-row .col-xs-push-20{left:83.33333333%}.x-grid-row .col-xs-pull-20{right:83.33333333%}.x-grid-row .col-xs-offset-20{margin-left:83.33333333%}.x-grid-row .col-xs-order-20{order:20}.x-grid-row .col-xs-19{-webkit-box-flex:0;display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.x-grid-row .col-xs-push-19{left:79.16666667%}.x-grid-row .col-xs-pull-19{right:79.16666667%}.x-grid-row .col-xs-offset-19{margin-left:79.16666667%}.x-grid-row .col-xs-order-19{order:19}.x-grid-row .col-xs-18{-webkit-box-flex:0;display:block;flex:0 0 75%;max-width:75%}.x-grid-row .col-xs-push-18{left:75%}.x-grid-row .col-xs-pull-18{right:75%}.x-grid-row .col-xs-offset-18{margin-left:75%}.x-grid-row .col-xs-order-18{order:18}.x-grid-row .col-xs-17{-webkit-box-flex:0;display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.x-grid-row .col-xs-push-17{left:70.83333333%}.x-grid-row .col-xs-pull-17{right:70.83333333%}.x-grid-row .col-xs-offset-17{margin-left:70.83333333%}.x-grid-row .col-xs-order-17{order:17}.x-grid-row .col-xs-16{-webkit-box-flex:0;display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.x-grid-row .col-xs-push-16{left:66.66666667%}.x-grid-row .col-xs-pull-16{right:66.66666667%}.x-grid-row .col-xs-offset-16{margin-left:66.66666667%}.x-grid-row .col-xs-order-16{order:16}.x-grid-row .col-xs-15{-webkit-box-flex:0;display:block;flex:0 0 62.5%;max-width:62.5%}.x-grid-row .col-xs-push-15{left:62.5%}.x-grid-row .col-xs-pull-15{right:62.5%}.x-grid-row .col-xs-offset-15{margin-left:62.5%}.x-grid-row .col-xs-order-15{order:15}.x-grid-row .col-xs-14{-webkit-box-flex:0;display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.x-grid-row .col-xs-push-14{left:58.33333333%}.x-grid-row .col-xs-pull-14{right:58.33333333%}.x-grid-row .col-xs-offset-14{margin-left:58.33333333%}.x-grid-row .col-xs-order-14{order:14}.x-grid-row .col-xs-13{-webkit-box-flex:0;display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.x-grid-row .col-xs-push-13{left:54.16666667%}.x-grid-row .col-xs-pull-13{right:54.16666667%}.x-grid-row .col-xs-offset-13{margin-left:54.16666667%}.x-grid-row .col-xs-order-13{order:13}.x-grid-row .col-xs-12{-webkit-box-flex:0;display:block;flex:0 0 50%;max-width:50%}.x-grid-row .col-xs-push-12{left:50%}.x-grid-row .col-xs-pull-12{right:50%}.x-grid-row .col-xs-offset-12{margin-left:50%}.x-grid-row .col-xs-order-12{order:12}.x-grid-row .col-xs-11{-webkit-box-flex:0;display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.x-grid-row .col-xs-push-11{left:45.83333333%}.x-grid-row .col-xs-pull-11{right:45.83333333%}.x-grid-row .col-xs-offset-11{margin-left:45.83333333%}.x-grid-row .col-xs-order-11{order:11}.x-grid-row .col-xs-10{-webkit-box-flex:0;display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.x-grid-row .col-xs-push-10{left:41.66666667%}.x-grid-row .col-xs-pull-10{right:41.66666667%}.x-grid-row .col-xs-offset-10{margin-left:41.66666667%}.x-grid-row .col-xs-order-10{order:10}.x-grid-row .col-xs-9{-webkit-box-flex:0;display:block;flex:0 0 37.5%;max-width:37.5%}.x-grid-row .col-xs-push-9{left:37.5%}.x-grid-row .col-xs-pull-9{right:37.5%}.x-grid-row .col-xs-offset-9{margin-left:37.5%}.x-grid-row .col-xs-order-9{order:9}.x-grid-row .col-xs-8{-webkit-box-flex:0;display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.x-grid-row .col-xs-push-8{left:33.33333333%}.x-grid-row .col-xs-pull-8{right:33.33333333%}.x-grid-row .col-xs-offset-8{margin-left:33.33333333%}.x-grid-row .col-xs-order-8{order:8}.x-grid-row .col-xs-7{-webkit-box-flex:0;display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.x-grid-row .col-xs-push-7{left:29.16666667%}.x-grid-row .col-xs-pull-7{right:29.16666667%}.x-grid-row .col-xs-offset-7{margin-left:29.16666667%}.x-grid-row .col-xs-order-7{order:7}.x-grid-row .col-xs-6{-webkit-box-flex:0;display:block;flex:0 0 25%;max-width:25%}.x-grid-row .col-xs-push-6{left:25%}.x-grid-row .col-xs-pull-6{right:25%}.x-grid-row .col-xs-offset-6{margin-left:25%}.x-grid-row .col-xs-order-6{order:6}.x-grid-row .col-xs-5{-webkit-box-flex:0;display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.x-grid-row .col-xs-push-5{left:20.83333333%}.x-grid-row .col-xs-pull-5{right:20.83333333%}.x-grid-row .col-xs-offset-5{margin-left:20.83333333%}.x-grid-row .col-xs-order-5{order:5}.x-grid-row .col-xs-4{-webkit-box-flex:0;display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.x-grid-row .col-xs-push-4{left:16.66666667%}.x-grid-row .col-xs-pull-4{right:16.66666667%}.x-grid-row .col-xs-offset-4{margin-left:16.66666667%}.x-grid-row .col-xs-order-4{order:4}.x-grid-row .col-xs-3{-webkit-box-flex:0;display:block;flex:0 0 12.5%;max-width:12.5%}.x-grid-row .col-xs-push-3{left:12.5%}.x-grid-row .col-xs-pull-3{right:12.5%}.x-grid-row .col-xs-offset-3{margin-left:12.5%}.x-grid-row .col-xs-order-3{order:3}.x-grid-row .col-xs-2{-webkit-box-flex:0;display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.x-grid-row .col-xs-push-2{left:8.33333333%}.x-grid-row .col-xs-pull-2{right:8.33333333%}.x-grid-row .col-xs-offset-2{margin-left:8.33333333%}.x-grid-row .col-xs-order-2{order:2}.x-grid-row .col-xs-1{-webkit-box-flex:0;display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.x-grid-row .col-xs-push-1{left:4.16666667%}.x-grid-row .col-xs-pull-1{right:4.16666667%}.x-grid-row .col-xs-offset-1{margin-left:4.16666667%}.x-grid-row .col-xs-order-1{order:1}.x-grid-row .col-xs-0{display:none}.x-grid-row .col-push-0{left:auto}.x-grid-row .col-pull-0{right:auto}.x-grid-row .col-xs-push-0{left:auto}.x-grid-row .col-xs-pull-0{right:auto}.x-grid-row .col-xs-offset-0{margin-left:0}.x-grid-row .col-xs-order-0{order:0}@media (min-width:576px){.x-grid-row .col-sm-24{-webkit-box-flex:0;display:block;flex:0 0 100%;max-width:100%}.x-grid-row .col-sm-push-24{left:100%}.x-grid-row .col-sm-pull-24{right:100%}.x-grid-row .col-sm-offset-24{margin-left:100%}.x-grid-row .col-sm-order-24{order:24}.x-grid-row .col-sm-23{-webkit-box-flex:0;display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.x-grid-row .col-sm-push-23{left:95.83333333%}.x-grid-row .col-sm-pull-23{right:95.83333333%}.x-grid-row .col-sm-offset-23{margin-left:95.83333333%}.x-grid-row .col-sm-order-23{order:23}.x-grid-row .col-sm-22{-webkit-box-flex:0;display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.x-grid-row .col-sm-push-22{left:91.66666667%}.x-grid-row .col-sm-pull-22{right:91.66666667%}.x-grid-row .col-sm-offset-22{margin-left:91.66666667%}.x-grid-row .col-sm-order-22{order:22}.x-grid-row .col-sm-21{-webkit-box-flex:0;display:block;flex:0 0 87.5%;max-width:87.5%}.x-grid-row .col-sm-push-21{left:87.5%}.x-grid-row .col-sm-pull-21{right:87.5%}.x-grid-row .col-sm-offset-21{margin-left:87.5%}.x-grid-row .col-sm-order-21{order:21}.x-grid-row .col-sm-20{-webkit-box-flex:0;display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.x-grid-row .col-sm-push-20{left:83.33333333%}.x-grid-row .col-sm-pull-20{right:83.33333333%}.x-grid-row .col-sm-offset-20{margin-left:83.33333333%}.x-grid-row .col-sm-order-20{order:20}.x-grid-row .col-sm-19{-webkit-box-flex:0;display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.x-grid-row .col-sm-push-19{left:79.16666667%}.x-grid-row .col-sm-pull-19{right:79.16666667%}.x-grid-row .col-sm-offset-19{margin-left:79.16666667%}.x-grid-row .col-sm-order-19{order:19}.x-grid-row .col-sm-18{-webkit-box-flex:0;display:block;flex:0 0 75%;max-width:75%}.x-grid-row .col-sm-push-18{left:75%}.x-grid-row .col-sm-pull-18{right:75%}.x-grid-row .col-sm-offset-18{margin-left:75%}.x-grid-row .col-sm-order-18{order:18}.x-grid-row .col-sm-17{-webkit-box-flex:0;display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.x-grid-row .col-sm-push-17{left:70.83333333%}.x-grid-row .col-sm-pull-17{right:70.83333333%}.x-grid-row .col-sm-offset-17{margin-left:70.83333333%}.x-grid-row .col-sm-order-17{order:17}.x-grid-row .col-sm-16{-webkit-box-flex:0;display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.x-grid-row .col-sm-push-16{left:66.66666667%}.x-grid-row .col-sm-pull-16{right:66.66666667%}.x-grid-row .col-sm-offset-16{margin-left:66.66666667%}.x-grid-row .col-sm-order-16{order:16}.x-grid-row .col-sm-15{-webkit-box-flex:0;display:block;flex:0 0 62.5%;max-width:62.5%}.x-grid-row .col-sm-push-15{left:62.5%}.x-grid-row .col-sm-pull-15{right:62.5%}.x-grid-row .col-sm-offset-15{margin-left:62.5%}.x-grid-row .col-sm-order-15{order:15}.x-grid-row .col-sm-14{-webkit-box-flex:0;display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.x-grid-row .col-sm-push-14{left:58.33333333%}.x-grid-row .col-sm-pull-14{right:58.33333333%}.x-grid-row .col-sm-offset-14{margin-left:58.33333333%}.x-grid-row .col-sm-order-14{order:14}.x-grid-row .col-sm-13{-webkit-box-flex:0;display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.x-grid-row .col-sm-push-13{left:54.16666667%}.x-grid-row .col-sm-pull-13{right:54.16666667%}.x-grid-row .col-sm-offset-13{margin-left:54.16666667%}.x-grid-row .col-sm-order-13{order:13}.x-grid-row .col-sm-12{-webkit-box-flex:0;display:block;flex:0 0 50%;max-width:50%}.x-grid-row .col-sm-push-12{left:50%}.x-grid-row .col-sm-pull-12{right:50%}.x-grid-row .col-sm-offset-12{margin-left:50%}.x-grid-row .col-sm-order-12{order:12}.x-grid-row .col-sm-11{-webkit-box-flex:0;display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.x-grid-row .col-sm-push-11{left:45.83333333%}.x-grid-row .col-sm-pull-11{right:45.83333333%}.x-grid-row .col-sm-offset-11{margin-left:45.83333333%}.x-grid-row .col-sm-order-11{order:11}.x-grid-row .col-sm-10{-webkit-box-flex:0;display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.x-grid-row .col-sm-push-10{left:41.66666667%}.x-grid-row .col-sm-pull-10{right:41.66666667%}.x-grid-row .col-sm-offset-10{margin-left:41.66666667%}.x-grid-row .col-sm-order-10{order:10}.x-grid-row .col-sm-9{-webkit-box-flex:0;display:block;flex:0 0 37.5%;max-width:37.5%}.x-grid-row .col-sm-push-9{left:37.5%}.x-grid-row .col-sm-pull-9{right:37.5%}.x-grid-row .col-sm-offset-9{margin-left:37.5%}.x-grid-row .col-sm-order-9{order:9}.x-grid-row .col-sm-8{-webkit-box-flex:0;display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.x-grid-row .col-sm-push-8{left:33.33333333%}.x-grid-row .col-sm-pull-8{right:33.33333333%}.x-grid-row .col-sm-offset-8{margin-left:33.33333333%}.x-grid-row .col-sm-order-8{order:8}.x-grid-row .col-sm-7{-webkit-box-flex:0;display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.x-grid-row .col-sm-push-7{left:29.16666667%}.x-grid-row .col-sm-pull-7{right:29.16666667%}.x-grid-row .col-sm-offset-7{margin-left:29.16666667%}.x-grid-row .col-sm-order-7{order:7}.x-grid-row .col-sm-6{-webkit-box-flex:0;display:block;flex:0 0 25%;max-width:25%}.x-grid-row .col-sm-push-6{left:25%}.x-grid-row .col-sm-pull-6{right:25%}.x-grid-row .col-sm-offset-6{margin-left:25%}.x-grid-row .col-sm-order-6{order:6}.x-grid-row .col-sm-5{-webkit-box-flex:0;display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.x-grid-row .col-sm-push-5{left:20.83333333%}.x-grid-row .col-sm-pull-5{right:20.83333333%}.x-grid-row .col-sm-offset-5{margin-left:20.83333333%}.x-grid-row .col-sm-order-5{order:5}.x-grid-row .col-sm-4{-webkit-box-flex:0;display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.x-grid-row .col-sm-push-4{left:16.66666667%}.x-grid-row .col-sm-pull-4{right:16.66666667%}.x-grid-row .col-sm-offset-4{margin-left:16.66666667%}.x-grid-row .col-sm-order-4{order:4}.x-grid-row .col-sm-3{-webkit-box-flex:0;display:block;flex:0 0 12.5%;max-width:12.5%}.x-grid-row .col-sm-push-3{left:12.5%}.x-grid-row .col-sm-pull-3{right:12.5%}.x-grid-row .col-sm-offset-3{margin-left:12.5%}.x-grid-row .col-sm-order-3{order:3}.x-grid-row .col-sm-2{-webkit-box-flex:0;display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.x-grid-row .col-sm-push-2{left:8.33333333%}.x-grid-row .col-sm-pull-2{right:8.33333333%}.x-grid-row .col-sm-offset-2{margin-left:8.33333333%}.x-grid-row .col-sm-order-2{order:2}.x-grid-row .col-sm-1{-webkit-box-flex:0;display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.x-grid-row .col-sm-push-1{left:4.16666667%}.x-grid-row .col-sm-pull-1{right:4.16666667%}.x-grid-row .col-sm-offset-1{margin-left:4.16666667%}.x-grid-row .col-sm-order-1{order:1}.x-grid-row .col-sm-0{display:none}.x-grid-row .col-push-0{left:auto}.x-grid-row .col-pull-0{right:auto}.x-grid-row .col-sm-push-0{left:auto}.x-grid-row .col-sm-pull-0{right:auto}.x-grid-row .col-sm-offset-0{margin-left:0}.x-grid-row .col-sm-order-0{order:0}}@media (min-width:768px){.x-grid-row .col-md-24{-webkit-box-flex:0;display:block;flex:0 0 100%;max-width:100%}.x-grid-row .col-md-push-24{left:100%}.x-grid-row .col-md-pull-24{right:100%}.x-grid-row .col-md-offset-24{margin-left:100%}.x-grid-row .col-md-order-24{order:24}.x-grid-row .col-md-23{-webkit-box-flex:0;display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.x-grid-row .col-md-push-23{left:95.83333333%}.x-grid-row .col-md-pull-23{right:95.83333333%}.x-grid-row .col-md-offset-23{margin-left:95.83333333%}.x-grid-row .col-md-order-23{order:23}.x-grid-row .col-md-22{-webkit-box-flex:0;display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.x-grid-row .col-md-push-22{left:91.66666667%}.x-grid-row .col-md-pull-22{right:91.66666667%}.x-grid-row .col-md-offset-22{margin-left:91.66666667%}.x-grid-row .col-md-order-22{order:22}.x-grid-row .col-md-21{-webkit-box-flex:0;display:block;flex:0 0 87.5%;max-width:87.5%}.x-grid-row .col-md-push-21{left:87.5%}.x-grid-row .col-md-pull-21{right:87.5%}.x-grid-row .col-md-offset-21{margin-left:87.5%}.x-grid-row .col-md-order-21{order:21}.x-grid-row .col-md-20{-webkit-box-flex:0;display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.x-grid-row .col-md-push-20{left:83.33333333%}.x-grid-row .col-md-pull-20{right:83.33333333%}.x-grid-row .col-md-offset-20{margin-left:83.33333333%}.x-grid-row .col-md-order-20{order:20}.x-grid-row .col-md-19{-webkit-box-flex:0;display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.x-grid-row .col-md-push-19{left:79.16666667%}.x-grid-row .col-md-pull-19{right:79.16666667%}.x-grid-row .col-md-offset-19{margin-left:79.16666667%}.x-grid-row .col-md-order-19{order:19}.x-grid-row .col-md-18{-webkit-box-flex:0;display:block;flex:0 0 75%;max-width:75%}.x-grid-row .col-md-push-18{left:75%}.x-grid-row .col-md-pull-18{right:75%}.x-grid-row .col-md-offset-18{margin-left:75%}.x-grid-row .col-md-order-18{order:18}.x-grid-row .col-md-17{-webkit-box-flex:0;display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.x-grid-row .col-md-push-17{left:70.83333333%}.x-grid-row .col-md-pull-17{right:70.83333333%}.x-grid-row .col-md-offset-17{margin-left:70.83333333%}.x-grid-row .col-md-order-17{order:17}.x-grid-row .col-md-16{-webkit-box-flex:0;display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.x-grid-row .col-md-push-16{left:66.66666667%}.x-grid-row .col-md-pull-16{right:66.66666667%}.x-grid-row .col-md-offset-16{margin-left:66.66666667%}.x-grid-row .col-md-order-16{order:16}.x-grid-row .col-md-15{-webkit-box-flex:0;display:block;flex:0 0 62.5%;max-width:62.5%}.x-grid-row .col-md-push-15{left:62.5%}.x-grid-row .col-md-pull-15{right:62.5%}.x-grid-row .col-md-offset-15{margin-left:62.5%}.x-grid-row .col-md-order-15{order:15}.x-grid-row .col-md-14{-webkit-box-flex:0;display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.x-grid-row .col-md-push-14{left:58.33333333%}.x-grid-row .col-md-pull-14{right:58.33333333%}.x-grid-row .col-md-offset-14{margin-left:58.33333333%}.x-grid-row .col-md-order-14{order:14}.x-grid-row .col-md-13{-webkit-box-flex:0;display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.x-grid-row .col-md-push-13{left:54.16666667%}.x-grid-row .col-md-pull-13{right:54.16666667%}.x-grid-row .col-md-offset-13{margin-left:54.16666667%}.x-grid-row .col-md-order-13{order:13}.x-grid-row .col-md-12{-webkit-box-flex:0;display:block;flex:0 0 50%;max-width:50%}.x-grid-row .col-md-push-12{left:50%}.x-grid-row .col-md-pull-12{right:50%}.x-grid-row .col-md-offset-12{margin-left:50%}.x-grid-row .col-md-order-12{order:12}.x-grid-row .col-md-11{-webkit-box-flex:0;display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.x-grid-row .col-md-push-11{left:45.83333333%}.x-grid-row .col-md-pull-11{right:45.83333333%}.x-grid-row .col-md-offset-11{margin-left:45.83333333%}.x-grid-row .col-md-order-11{order:11}.x-grid-row .col-md-10{-webkit-box-flex:0;display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.x-grid-row .col-md-push-10{left:41.66666667%}.x-grid-row .col-md-pull-10{right:41.66666667%}.x-grid-row .col-md-offset-10{margin-left:41.66666667%}.x-grid-row .col-md-order-10{order:10}.x-grid-row .col-md-9{-webkit-box-flex:0;display:block;flex:0 0 37.5%;max-width:37.5%}.x-grid-row .col-md-push-9{left:37.5%}.x-grid-row .col-md-pull-9{right:37.5%}.x-grid-row .col-md-offset-9{margin-left:37.5%}.x-grid-row .col-md-order-9{order:9}.x-grid-row .col-md-8{-webkit-box-flex:0;display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.x-grid-row .col-md-push-8{left:33.33333333%}.x-grid-row .col-md-pull-8{right:33.33333333%}.x-grid-row .col-md-offset-8{margin-left:33.33333333%}.x-grid-row .col-md-order-8{order:8}.x-grid-row .col-md-7{-webkit-box-flex:0;display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.x-grid-row .col-md-push-7{left:29.16666667%}.x-grid-row .col-md-pull-7{right:29.16666667%}.x-grid-row .col-md-offset-7{margin-left:29.16666667%}.x-grid-row .col-md-order-7{order:7}.x-grid-row .col-md-6{-webkit-box-flex:0;display:block;flex:0 0 25%;max-width:25%}.x-grid-row .col-md-push-6{left:25%}.x-grid-row .col-md-pull-6{right:25%}.x-grid-row .col-md-offset-6{margin-left:25%}.x-grid-row .col-md-order-6{order:6}.x-grid-row .col-md-5{-webkit-box-flex:0;display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.x-grid-row .col-md-push-5{left:20.83333333%}.x-grid-row .col-md-pull-5{right:20.83333333%}.x-grid-row .col-md-offset-5{margin-left:20.83333333%}.x-grid-row .col-md-order-5{order:5}.x-grid-row .col-md-4{-webkit-box-flex:0;display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.x-grid-row .col-md-push-4{left:16.66666667%}.x-grid-row .col-md-pull-4{right:16.66666667%}.x-grid-row .col-md-offset-4{margin-left:16.66666667%}.x-grid-row .col-md-order-4{order:4}.x-grid-row .col-md-3{-webkit-box-flex:0;display:block;flex:0 0 12.5%;max-width:12.5%}.x-grid-row .col-md-push-3{left:12.5%}.x-grid-row .col-md-pull-3{right:12.5%}.x-grid-row .col-md-offset-3{margin-left:12.5%}.x-grid-row .col-md-order-3{order:3}.x-grid-row .col-md-2{-webkit-box-flex:0;display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.x-grid-row .col-md-push-2{left:8.33333333%}.x-grid-row .col-md-pull-2{right:8.33333333%}.x-grid-row .col-md-offset-2{margin-left:8.33333333%}.x-grid-row .col-md-order-2{order:2}.x-grid-row .col-md-1{-webkit-box-flex:0;display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.x-grid-row .col-md-push-1{left:4.16666667%}.x-grid-row .col-md-pull-1{right:4.16666667%}.x-grid-row .col-md-offset-1{margin-left:4.16666667%}.x-grid-row .col-md-order-1{order:1}.x-grid-row .col-md-0{display:none}.x-grid-row .col-push-0{left:auto}.x-grid-row .col-pull-0{right:auto}.x-grid-row .col-md-push-0{left:auto}.x-grid-row .col-md-pull-0{right:auto}.x-grid-row .col-md-offset-0{margin-left:0}.x-grid-row .col-md-order-0{order:0}}@media (min-width:992px){.x-grid-row .col-lg-24{-webkit-box-flex:0;display:block;flex:0 0 100%;max-width:100%}.x-grid-row .col-lg-push-24{left:100%}.x-grid-row .col-lg-pull-24{right:100%}.x-grid-row .col-lg-offset-24{margin-left:100%}.x-grid-row .col-lg-order-24{order:24}.x-grid-row .col-lg-23{-webkit-box-flex:0;display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.x-grid-row .col-lg-push-23{left:95.83333333%}.x-grid-row .col-lg-pull-23{right:95.83333333%}.x-grid-row .col-lg-offset-23{margin-left:95.83333333%}.x-grid-row .col-lg-order-23{order:23}.x-grid-row .col-lg-22{-webkit-box-flex:0;display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.x-grid-row .col-lg-push-22{left:91.66666667%}.x-grid-row .col-lg-pull-22{right:91.66666667%}.x-grid-row .col-lg-offset-22{margin-left:91.66666667%}.x-grid-row .col-lg-order-22{order:22}.x-grid-row .col-lg-21{-webkit-box-flex:0;display:block;flex:0 0 87.5%;max-width:87.5%}.x-grid-row .col-lg-push-21{left:87.5%}.x-grid-row .col-lg-pull-21{right:87.5%}.x-grid-row .col-lg-offset-21{margin-left:87.5%}.x-grid-row .col-lg-order-21{order:21}.x-grid-row .col-lg-20{-webkit-box-flex:0;display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.x-grid-row .col-lg-push-20{left:83.33333333%}.x-grid-row .col-lg-pull-20{right:83.33333333%}.x-grid-row .col-lg-offset-20{margin-left:83.33333333%}.x-grid-row .col-lg-order-20{order:20}.x-grid-row .col-lg-19{-webkit-box-flex:0;display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.x-grid-row .col-lg-push-19{left:79.16666667%}.x-grid-row .col-lg-pull-19{right:79.16666667%}.x-grid-row .col-lg-offset-19{margin-left:79.16666667%}.x-grid-row .col-lg-order-19{order:19}.x-grid-row .col-lg-18{-webkit-box-flex:0;display:block;flex:0 0 75%;max-width:75%}.x-grid-row .col-lg-push-18{left:75%}.x-grid-row .col-lg-pull-18{right:75%}.x-grid-row .col-lg-offset-18{margin-left:75%}.x-grid-row .col-lg-order-18{order:18}.x-grid-row .col-lg-17{-webkit-box-flex:0;display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.x-grid-row .col-lg-push-17{left:70.83333333%}.x-grid-row .col-lg-pull-17{right:70.83333333%}.x-grid-row .col-lg-offset-17{margin-left:70.83333333%}.x-grid-row .col-lg-order-17{order:17}.x-grid-row .col-lg-16{-webkit-box-flex:0;display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.x-grid-row .col-lg-push-16{left:66.66666667%}.x-grid-row .col-lg-pull-16{right:66.66666667%}.x-grid-row .col-lg-offset-16{margin-left:66.66666667%}.x-grid-row .col-lg-order-16{order:16}.x-grid-row .col-lg-15{-webkit-box-flex:0;display:block;flex:0 0 62.5%;max-width:62.5%}.x-grid-row .col-lg-push-15{left:62.5%}.x-grid-row .col-lg-pull-15{right:62.5%}.x-grid-row .col-lg-offset-15{margin-left:62.5%}.x-grid-row .col-lg-order-15{order:15}.x-grid-row .col-lg-14{-webkit-box-flex:0;display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.x-grid-row .col-lg-push-14{left:58.33333333%}.x-grid-row .col-lg-pull-14{right:58.33333333%}.x-grid-row .col-lg-offset-14{margin-left:58.33333333%}.x-grid-row .col-lg-order-14{order:14}.x-grid-row .col-lg-13{-webkit-box-flex:0;display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.x-grid-row .col-lg-push-13{left:54.16666667%}.x-grid-row .col-lg-pull-13{right:54.16666667%}.x-grid-row .col-lg-offset-13{margin-left:54.16666667%}.x-grid-row .col-lg-order-13{order:13}.x-grid-row .col-lg-12{-webkit-box-flex:0;display:block;flex:0 0 50%;max-width:50%}.x-grid-row .col-lg-push-12{left:50%}.x-grid-row .col-lg-pull-12{right:50%}.x-grid-row .col-lg-offset-12{margin-left:50%}.x-grid-row .col-lg-order-12{order:12}.x-grid-row .col-lg-11{-webkit-box-flex:0;display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.x-grid-row .col-lg-push-11{left:45.83333333%}.x-grid-row .col-lg-pull-11{right:45.83333333%}.x-grid-row .col-lg-offset-11{margin-left:45.83333333%}.x-grid-row .col-lg-order-11{order:11}.x-grid-row .col-lg-10{-webkit-box-flex:0;display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.x-grid-row .col-lg-push-10{left:41.66666667%}.x-grid-row .col-lg-pull-10{right:41.66666667%}.x-grid-row .col-lg-offset-10{margin-left:41.66666667%}.x-grid-row .col-lg-order-10{order:10}.x-grid-row .col-lg-9{-webkit-box-flex:0;display:block;flex:0 0 37.5%;max-width:37.5%}.x-grid-row .col-lg-push-9{left:37.5%}.x-grid-row .col-lg-pull-9{right:37.5%}.x-grid-row .col-lg-offset-9{margin-left:37.5%}.x-grid-row .col-lg-order-9{order:9}.x-grid-row .col-lg-8{-webkit-box-flex:0;display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.x-grid-row .col-lg-push-8{left:33.33333333%}.x-grid-row .col-lg-pull-8{right:33.33333333%}.x-grid-row .col-lg-offset-8{margin-left:33.33333333%}.x-grid-row .col-lg-order-8{order:8}.x-grid-row .col-lg-7{-webkit-box-flex:0;display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.x-grid-row .col-lg-push-7{left:29.16666667%}.x-grid-row .col-lg-pull-7{right:29.16666667%}.x-grid-row .col-lg-offset-7{margin-left:29.16666667%}.x-grid-row .col-lg-order-7{order:7}.x-grid-row .col-lg-6{-webkit-box-flex:0;display:block;flex:0 0 25%;max-width:25%}.x-grid-row .col-lg-push-6{left:25%}.x-grid-row .col-lg-pull-6{right:25%}.x-grid-row .col-lg-offset-6{margin-left:25%}.x-grid-row .col-lg-order-6{order:6}.x-grid-row .col-lg-5{-webkit-box-flex:0;display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.x-grid-row .col-lg-push-5{left:20.83333333%}.x-grid-row .col-lg-pull-5{right:20.83333333%}.x-grid-row .col-lg-offset-5{margin-left:20.83333333%}.x-grid-row .col-lg-order-5{order:5}.x-grid-row .col-lg-4{-webkit-box-flex:0;display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.x-grid-row .col-lg-push-4{left:16.66666667%}.x-grid-row .col-lg-pull-4{right:16.66666667%}.x-grid-row .col-lg-offset-4{margin-left:16.66666667%}.x-grid-row .col-lg-order-4{order:4}.x-grid-row .col-lg-3{-webkit-box-flex:0;display:block;flex:0 0 12.5%;max-width:12.5%}.x-grid-row .col-lg-push-3{left:12.5%}.x-grid-row .col-lg-pull-3{right:12.5%}.x-grid-row .col-lg-offset-3{margin-left:12.5%}.x-grid-row .col-lg-order-3{order:3}.x-grid-row .col-lg-2{-webkit-box-flex:0;display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.x-grid-row .col-lg-push-2{left:8.33333333%}.x-grid-row .col-lg-pull-2{right:8.33333333%}.x-grid-row .col-lg-offset-2{margin-left:8.33333333%}.x-grid-row .col-lg-order-2{order:2}.x-grid-row .col-lg-1{-webkit-box-flex:0;display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.x-grid-row .col-lg-push-1{left:4.16666667%}.x-grid-row .col-lg-pull-1{right:4.16666667%}.x-grid-row .col-lg-offset-1{margin-left:4.16666667%}.x-grid-row .col-lg-order-1{order:1}.x-grid-row .col-lg-0{display:none}.x-grid-row .col-push-0{left:auto}.x-grid-row .col-pull-0{right:auto}.x-grid-row .col-lg-push-0{left:auto}.x-grid-row .col-lg-pull-0{right:auto}.x-grid-row .col-lg-offset-0{margin-left:0}.x-grid-row .col-lg-order-0{order:0}}@media (min-width:1200px){.x-grid-row .col-xl-24{-webkit-box-flex:0;display:block;flex:0 0 100%;max-width:100%}.x-grid-row .col-xl-push-24{left:100%}.x-grid-row .col-xl-pull-24{right:100%}.x-grid-row .col-xl-offset-24{margin-left:100%}.x-grid-row .col-xl-order-24{order:24}.x-grid-row .col-xl-23{-webkit-box-flex:0;display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.x-grid-row .col-xl-push-23{left:95.83333333%}.x-grid-row .col-xl-pull-23{right:95.83333333%}.x-grid-row .col-xl-offset-23{margin-left:95.83333333%}.x-grid-row .col-xl-order-23{order:23}.x-grid-row .col-xl-22{-webkit-box-flex:0;display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.x-grid-row .col-xl-push-22{left:91.66666667%}.x-grid-row .col-xl-pull-22{right:91.66666667%}.x-grid-row .col-xl-offset-22{margin-left:91.66666667%}.x-grid-row .col-xl-order-22{order:22}.x-grid-row .col-xl-21{-webkit-box-flex:0;display:block;flex:0 0 87.5%;max-width:87.5%}.x-grid-row .col-xl-push-21{left:87.5%}.x-grid-row .col-xl-pull-21{right:87.5%}.x-grid-row .col-xl-offset-21{margin-left:87.5%}.x-grid-row .col-xl-order-21{order:21}.x-grid-row .col-xl-20{-webkit-box-flex:0;display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.x-grid-row .col-xl-push-20{left:83.33333333%}.x-grid-row .col-xl-pull-20{right:83.33333333%}.x-grid-row .col-xl-offset-20{margin-left:83.33333333%}.x-grid-row .col-xl-order-20{order:20}.x-grid-row .col-xl-19{-webkit-box-flex:0;display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.x-grid-row .col-xl-push-19{left:79.16666667%}.x-grid-row .col-xl-pull-19{right:79.16666667%}.x-grid-row .col-xl-offset-19{margin-left:79.16666667%}.x-grid-row .col-xl-order-19{order:19}.x-grid-row .col-xl-18{-webkit-box-flex:0;display:block;flex:0 0 75%;max-width:75%}.x-grid-row .col-xl-push-18{left:75%}.x-grid-row .col-xl-pull-18{right:75%}.x-grid-row .col-xl-offset-18{margin-left:75%}.x-grid-row .col-xl-order-18{order:18}.x-grid-row .col-xl-17{-webkit-box-flex:0;display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.x-grid-row .col-xl-push-17{left:70.83333333%}.x-grid-row .col-xl-pull-17{right:70.83333333%}.x-grid-row .col-xl-offset-17{margin-left:70.83333333%}.x-grid-row .col-xl-order-17{order:17}.x-grid-row .col-xl-16{-webkit-box-flex:0;display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.x-grid-row .col-xl-push-16{left:66.66666667%}.x-grid-row .col-xl-pull-16{right:66.66666667%}.x-grid-row .col-xl-offset-16{margin-left:66.66666667%}.x-grid-row .col-xl-order-16{order:16}.x-grid-row .col-xl-15{-webkit-box-flex:0;display:block;flex:0 0 62.5%;max-width:62.5%}.x-grid-row .col-xl-push-15{left:62.5%}.x-grid-row .col-xl-pull-15{right:62.5%}.x-grid-row .col-xl-offset-15{margin-left:62.5%}.x-grid-row .col-xl-order-15{order:15}.x-grid-row .col-xl-14{-webkit-box-flex:0;display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.x-grid-row .col-xl-push-14{left:58.33333333%}.x-grid-row .col-xl-pull-14{right:58.33333333%}.x-grid-row .col-xl-offset-14{margin-left:58.33333333%}.x-grid-row .col-xl-order-14{order:14}.x-grid-row .col-xl-13{-webkit-box-flex:0;display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.x-grid-row .col-xl-push-13{left:54.16666667%}.x-grid-row .col-xl-pull-13{right:54.16666667%}.x-grid-row .col-xl-offset-13{margin-left:54.16666667%}.x-grid-row .col-xl-order-13{order:13}.x-grid-row .col-xl-12{-webkit-box-flex:0;display:block;flex:0 0 50%;max-width:50%}.x-grid-row .col-xl-push-12{left:50%}.x-grid-row .col-xl-pull-12{right:50%}.x-grid-row .col-xl-offset-12{margin-left:50%}.x-grid-row .col-xl-order-12{order:12}.x-grid-row .col-xl-11{-webkit-box-flex:0;display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.x-grid-row .col-xl-push-11{left:45.83333333%}.x-grid-row .col-xl-pull-11{right:45.83333333%}.x-grid-row .col-xl-offset-11{margin-left:45.83333333%}.x-grid-row .col-xl-order-11{order:11}.x-grid-row .col-xl-10{-webkit-box-flex:0;display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.x-grid-row .col-xl-push-10{left:41.66666667%}.x-grid-row .col-xl-pull-10{right:41.66666667%}.x-grid-row .col-xl-offset-10{margin-left:41.66666667%}.x-grid-row .col-xl-order-10{order:10}.x-grid-row .col-xl-9{-webkit-box-flex:0;display:block;flex:0 0 37.5%;max-width:37.5%}.x-grid-row .col-xl-push-9{left:37.5%}.x-grid-row .col-xl-pull-9{right:37.5%}.x-grid-row .col-xl-offset-9{margin-left:37.5%}.x-grid-row .col-xl-order-9{order:9}.x-grid-row .col-xl-8{-webkit-box-flex:0;display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.x-grid-row .col-xl-push-8{left:33.33333333%}.x-grid-row .col-xl-pull-8{right:33.33333333%}.x-grid-row .col-xl-offset-8{margin-left:33.33333333%}.x-grid-row .col-xl-order-8{order:8}.x-grid-row .col-xl-7{-webkit-box-flex:0;display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.x-grid-row .col-xl-push-7{left:29.16666667%}.x-grid-row .col-xl-pull-7{right:29.16666667%}.x-grid-row .col-xl-offset-7{margin-left:29.16666667%}.x-grid-row .col-xl-order-7{order:7}.x-grid-row .col-xl-6{-webkit-box-flex:0;display:block;flex:0 0 25%;max-width:25%}.x-grid-row .col-xl-push-6{left:25%}.x-grid-row .col-xl-pull-6{right:25%}.x-grid-row .col-xl-offset-6{margin-left:25%}.x-grid-row .col-xl-order-6{order:6}.x-grid-row .col-xl-5{-webkit-box-flex:0;display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.x-grid-row .col-xl-push-5{left:20.83333333%}.x-grid-row .col-xl-pull-5{right:20.83333333%}.x-grid-row .col-xl-offset-5{margin-left:20.83333333%}.x-grid-row .col-xl-order-5{order:5}.x-grid-row .col-xl-4{-webkit-box-flex:0;display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.x-grid-row .col-xl-push-4{left:16.66666667%}.x-grid-row .col-xl-pull-4{right:16.66666667%}.x-grid-row .col-xl-offset-4{margin-left:16.66666667%}.x-grid-row .col-xl-order-4{order:4}.x-grid-row .col-xl-3{-webkit-box-flex:0;display:block;flex:0 0 12.5%;max-width:12.5%}.x-grid-row .col-xl-push-3{left:12.5%}.x-grid-row .col-xl-pull-3{right:12.5%}.x-grid-row .col-xl-offset-3{margin-left:12.5%}.x-grid-row .col-xl-order-3{order:3}.x-grid-row .col-xl-2{-webkit-box-flex:0;display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.x-grid-row .col-xl-push-2{left:8.33333333%}.x-grid-row .col-xl-pull-2{right:8.33333333%}.x-grid-row .col-xl-offset-2{margin-left:8.33333333%}.x-grid-row .col-xl-order-2{order:2}.x-grid-row .col-xl-1{-webkit-box-flex:0;display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.x-grid-row .col-xl-push-1{left:4.16666667%}.x-grid-row .col-xl-pull-1{right:4.16666667%}.x-grid-row .col-xl-offset-1{margin-left:4.16666667%}.x-grid-row .col-xl-order-1{order:1}.x-grid-row .col-xl-0{display:none}.x-grid-row .col-push-0{left:auto}.x-grid-row .col-pull-0{right:auto}.x-grid-row .col-xl-push-0{left:auto}.x-grid-row .col-xl-pull-0{right:auto}.x-grid-row .col-xl-offset-0{margin-left:0}.x-grid-row .col-xl-order-0{order:0}}@media (min-width:1600px){.x-grid-row .col-xxl-24{-webkit-box-flex:0;display:block;flex:0 0 100%;max-width:100%}.x-grid-row .col-xxl-push-24{left:100%}.x-grid-row .col-xxl-pull-24{right:100%}.x-grid-row .col-xxl-offset-24{margin-left:100%}.x-grid-row .col-xxl-order-24{order:24}.x-grid-row .col-xxl-23{-webkit-box-flex:0;display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.x-grid-row .col-xxl-push-23{left:95.83333333%}.x-grid-row .col-xxl-pull-23{right:95.83333333%}.x-grid-row .col-xxl-offset-23{margin-left:95.83333333%}.x-grid-row .col-xxl-order-23{order:23}.x-grid-row .col-xxl-22{-webkit-box-flex:0;display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.x-grid-row .col-xxl-push-22{left:91.66666667%}.x-grid-row .col-xxl-pull-22{right:91.66666667%}.x-grid-row .col-xxl-offset-22{margin-left:91.66666667%}.x-grid-row .col-xxl-order-22{order:22}.x-grid-row .col-xxl-21{-webkit-box-flex:0;display:block;flex:0 0 87.5%;max-width:87.5%}.x-grid-row .col-xxl-push-21{left:87.5%}.x-grid-row .col-xxl-pull-21{right:87.5%}.x-grid-row .col-xxl-offset-21{margin-left:87.5%}.x-grid-row .col-xxl-order-21{order:21}.x-grid-row .col-xxl-20{-webkit-box-flex:0;display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.x-grid-row .col-xxl-push-20{left:83.33333333%}.x-grid-row .col-xxl-pull-20{right:83.33333333%}.x-grid-row .col-xxl-offset-20{margin-left:83.33333333%}.x-grid-row .col-xxl-order-20{order:20}.x-grid-row .col-xxl-19{-webkit-box-flex:0;display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.x-grid-row .col-xxl-push-19{left:79.16666667%}.x-grid-row .col-xxl-pull-19{right:79.16666667%}.x-grid-row .col-xxl-offset-19{margin-left:79.16666667%}.x-grid-row .col-xxl-order-19{order:19}.x-grid-row .col-xxl-18{-webkit-box-flex:0;display:block;flex:0 0 75%;max-width:75%}.x-grid-row .col-xxl-push-18{left:75%}.x-grid-row .col-xxl-pull-18{right:75%}.x-grid-row .col-xxl-offset-18{margin-left:75%}.x-grid-row .col-xxl-order-18{order:18}.x-grid-row .col-xxl-17{-webkit-box-flex:0;display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.x-grid-row .col-xxl-push-17{left:70.83333333%}.x-grid-row .col-xxl-pull-17{right:70.83333333%}.x-grid-row .col-xxl-offset-17{margin-left:70.83333333%}.x-grid-row .col-xxl-order-17{order:17}.x-grid-row .col-xxl-16{-webkit-box-flex:0;display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.x-grid-row .col-xxl-push-16{left:66.66666667%}.x-grid-row .col-xxl-pull-16{right:66.66666667%}.x-grid-row .col-xxl-offset-16{margin-left:66.66666667%}.x-grid-row .col-xxl-order-16{order:16}.x-grid-row .col-xxl-15{-webkit-box-flex:0;display:block;flex:0 0 62.5%;max-width:62.5%}.x-grid-row .col-xxl-push-15{left:62.5%}.x-grid-row .col-xxl-pull-15{right:62.5%}.x-grid-row .col-xxl-offset-15{margin-left:62.5%}.x-grid-row .col-xxl-order-15{order:15}.x-grid-row .col-xxl-14{-webkit-box-flex:0;display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.x-grid-row .col-xxl-push-14{left:58.33333333%}.x-grid-row .col-xxl-pull-14{right:58.33333333%}.x-grid-row .col-xxl-offset-14{margin-left:58.33333333%}.x-grid-row .col-xxl-order-14{order:14}.x-grid-row .col-xxl-13{-webkit-box-flex:0;display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.x-grid-row .col-xxl-push-13{left:54.16666667%}.x-grid-row .col-xxl-pull-13{right:54.16666667%}.x-grid-row .col-xxl-offset-13{margin-left:54.16666667%}.x-grid-row .col-xxl-order-13{order:13}.x-grid-row .col-xxl-12{-webkit-box-flex:0;display:block;flex:0 0 50%;max-width:50%}.x-grid-row .col-xxl-push-12{left:50%}.x-grid-row .col-xxl-pull-12{right:50%}.x-grid-row .col-xxl-offset-12{margin-left:50%}.x-grid-row .col-xxl-order-12{order:12}.x-grid-row .col-xxl-11{-webkit-box-flex:0;display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.x-grid-row .col-xxl-push-11{left:45.83333333%}.x-grid-row .col-xxl-pull-11{right:45.83333333%}.x-grid-row .col-xxl-offset-11{margin-left:45.83333333%}.x-grid-row .col-xxl-order-11{order:11}.x-grid-row .col-xxl-10{-webkit-box-flex:0;display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.x-grid-row .col-xxl-push-10{left:41.66666667%}.x-grid-row .col-xxl-pull-10{right:41.66666667%}.x-grid-row .col-xxl-offset-10{margin-left:41.66666667%}.x-grid-row .col-xxl-order-10{order:10}.x-grid-row .col-xxl-9{-webkit-box-flex:0;display:block;flex:0 0 37.5%;max-width:37.5%}.x-grid-row .col-xxl-push-9{left:37.5%}.x-grid-row .col-xxl-pull-9{right:37.5%}.x-grid-row .col-xxl-offset-9{margin-left:37.5%}.x-grid-row .col-xxl-order-9{order:9}.x-grid-row .col-xxl-8{-webkit-box-flex:0;display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.x-grid-row .col-xxl-push-8{left:33.33333333%}.x-grid-row .col-xxl-pull-8{right:33.33333333%}.x-grid-row .col-xxl-offset-8{margin-left:33.33333333%}.x-grid-row .col-xxl-order-8{order:8}.x-grid-row .col-xxl-7{-webkit-box-flex:0;display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.x-grid-row .col-xxl-push-7{left:29.16666667%}.x-grid-row .col-xxl-pull-7{right:29.16666667%}.x-grid-row .col-xxl-offset-7{margin-left:29.16666667%}.x-grid-row .col-xxl-order-7{order:7}.x-grid-row .col-xxl-6{-webkit-box-flex:0;display:block;flex:0 0 25%;max-width:25%}.x-grid-row .col-xxl-push-6{left:25%}.x-grid-row .col-xxl-pull-6{right:25%}.x-grid-row .col-xxl-offset-6{margin-left:25%}.x-grid-row .col-xxl-order-6{order:6}.x-grid-row .col-xxl-5{-webkit-box-flex:0;display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.x-grid-row .col-xxl-push-5{left:20.83333333%}.x-grid-row .col-xxl-pull-5{right:20.83333333%}.x-grid-row .col-xxl-offset-5{margin-left:20.83333333%}.x-grid-row .col-xxl-order-5{order:5}.x-grid-row .col-xxl-4{-webkit-box-flex:0;display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.x-grid-row .col-xxl-push-4{left:16.66666667%}.x-grid-row .col-xxl-pull-4{right:16.66666667%}.x-grid-row .col-xxl-offset-4{margin-left:16.66666667%}.x-grid-row .col-xxl-order-4{order:4}.x-grid-row .col-xxl-3{-webkit-box-flex:0;display:block;flex:0 0 12.5%;max-width:12.5%}.x-grid-row .col-xxl-push-3{left:12.5%}.x-grid-row .col-xxl-pull-3{right:12.5%}.x-grid-row .col-xxl-offset-3{margin-left:12.5%}.x-grid-row .col-xxl-order-3{order:3}.x-grid-row .col-xxl-2{-webkit-box-flex:0;display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.x-grid-row .col-xxl-push-2{left:8.33333333%}.x-grid-row .col-xxl-pull-2{right:8.33333333%}.x-grid-row .col-xxl-offset-2{margin-left:8.33333333%}.x-grid-row .col-xxl-order-2{order:2}.x-grid-row .col-xxl-1{-webkit-box-flex:0;display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.x-grid-row .col-xxl-push-1{left:4.16666667%}.x-grid-row .col-xxl-pull-1{right:4.16666667%}.x-grid-row .col-xxl-offset-1{margin-left:4.16666667%}.x-grid-row .col-xxl-order-1{order:1}.x-grid-row .col-xxl-0{display:none}.x-grid-row .col-push-0{left:auto}.x-grid-row .col-pull-0{right:auto}.x-grid-row .col-xxl-push-0{left:auto}.x-grid-row .col-xxl-pull-0{right:auto}.x-grid-row .col-xxl-offset-0{margin-left:0}.x-grid-row .col-xxl-order-0{order:0}}.x-back-top{bottom:76px;cursor:pointer;position:fixed;right:21px;z-index:10}.x-back-top *,.x-back-top :after,.x-back-top :before{box-sizing:border-box}.x-back-top:empty{display:none}.x-back-top-content{border-radius:50%;color:#b5b8be;overflow:hidden;text-align:center;transition:all .3s}.x-back-top-content:hover{color:var(--fd-color-brand-6,#00b899);transition:all .3s}.x-back-top-icon{font-size:40px;line-height:40px;position:relative}.x-back-top-icon:after{background:#fff;border-radius:50%;content:"";height:28px;left:4px;position:absolute;top:4px;width:28px;z-index:-1}.x-color-picker{background-color:var(--fd-color-bg-container);border-radius:var(--fd-border-radius-lg);box-shadow:var(--fd-box-shadow-secondary);display:inline-block;padding:var(--fd-padding-layout-sm);position:relative}.x-color-picker *,.x-color-picker :after,.x-color-picker :before{box-sizing:border-box}.x-color-picker.without-opacity .main-wrapper .main-right{justify-content:center}.x-color-picker.without-opacity .footer-wrapper .rgb-input{flex:auto;width:48px}.x-color-picker .header-wrapper,.x-color-picker .main-wrapper{margin-bottom:var(--fd-gap-xl)}.x-color-picker .main-wrapper{display:flex}.x-color-picker .main-wrapper .main-left{border:1px solid var(--fd-color-fill-secondary);border-radius:var(--fd-border-radius);height:var(--fd-line-height-2xl);overflow:hidden;position:relative;width:var(--fd-line-height-2xl)}.x-color-picker .main-wrapper .main-left .color-value-bg{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==) 0;inset:0;position:absolute}.x-color-picker .main-wrapper .main-left .color-value{inset:0;position:absolute}.x-color-picker .main-wrapper .main-right{-webkit-box-align:stretch;-ms-flex-align:stretch;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:stretch;display:flex;flex-direction:column;justify-content:space-between;margin-left:var(--fd-gap-xl)}.x-color-picker .footer-wrapper{align-items:center;display:inline-flex;gap:var(--fd-gap-sm)}.x-color-picker .footer-wrapper .region-wrapper{flex:1 0 auto}.x-color-picker .footer-wrapper .region-wrapper .region-title{color:var(--fd-color-text-description);font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm)}.x-color-picker .footer-wrapper .region-divider{margin:var(--fd-line-height-sm) calc(var(--fd-gap)/2) 0 calc(var(--fd-gap)/2)}.x-color-picker .footer-wrapper .alpha-input,.x-color-picker .footer-wrapper .rgb-input{flex:none}.x-color-picker .footer-wrapper .rgb-input{width:32px}.x-color-picker .footer-wrapper .hex-input{flex:auto;width:64px}.x-color-picker .footer-wrapper .hex-input .x-inner-wrapper .x-prefix{left:8px;width:10px}.x-color-picker .footer-wrapper .alpha-input{width:46px}.x-color-picker .footer-wrapper .alpha-input .x-inner-wrapper .x-suffix{font-size:var(--fd-font-size-sm);right:4px;width:10px}.x-color-picker .footer-wrapper .alpha-input .x-inner-wrapper .input-inner{padding-left:4px;padding-right:14px}.x-color-picker .extra-divider{margin:var(--fd-gap) 0 0 0}.x-color-picker .extra-wrapper{margin-top:var(--fd-gap)}.x-color-picker .extra-wrapper .x-collapse.small .x-collapse-header,.x-color-picker .extra-wrapper .x-collapse.small .x-panel-content .x-panel-box{padding:0}.x-color-picker .extra-wrapper .x-collapse.small .no-message{color:var(--fd-color-text-placeholder);font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm)}.x-color-picker .extra-wrapper .color-region{display:flex;flex-wrap:wrap;gap:6px;padding:var(--fd-padding) 0}.x-color-picker .extra-wrapper .color-region>.color-square{border:1px solid var(--fd-color-fill-secondary);border-radius:4px;height:18px;position:relative;width:18px}.x-color-picker .extra-wrapper .color-region>.color-square .color-value-bg{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==) 0;inset:0;position:absolute}.x-color-picker .extra-wrapper .color-region>.color-square .color-value{inset:0;position:absolute}.x-color-picker .x-hue-slider{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);border-radius:var(--fd-border-radius);height:8px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-color-picker .x-hue-slider .x-hue-slider-cursor{background:var(--fd-color-primary);border:2px solid var(--fd-color-white);border-radius:50%;box-shadow:0 1px 4px #00000040;height:12px;position:absolute;top:50%;transform:translateY(-50%);width:12px}.x-color-picker .x-opacity-slider{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==) 0;border-radius:var(--fd-border-radius);height:8px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-color-picker .x-opacity-slider .x-opacity-slider-value{border-radius:var(--fd-border-radius);inset:0;position:absolute}.x-color-picker .x-opacity-slider .x-opacity-slider-value .x-opacity-slider-cursor{background:var(--fd-color-primary);border:2px solid var(--fd-color-white);border-radius:50%;box-shadow:0 1px 4px #00000040;height:12px;position:absolute;top:50%;transform:translateY(-50%);width:12px}.x-color-picker .x-sv-panel{border-radius:4px;height:110px;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-color-picker .x-sv-panel .x-sv-panel-white{background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0));inset:0;position:absolute}.x-color-picker .x-sv-panel .x-sv-panel-black{background:linear-gradient(0deg,#000,transparent);inset:0;position:absolute}.x-color-picker .x-sv-panel .x-sv-panel-cursor{position:absolute}.x-color-picker .x-sv-panel .x-sv-panel-cursor div{border:2px solid var(--fd-color-white);border-radius:50%;box-shadow:0 1px 4px #00000040;height:18px;transform:translate(-50%,-50%);width:18px}.x-virtual-table{height:100%;overflow-x:hidden;overflow-y:auto;position:relative}.x-virtual-table *,.x-virtual-table :after,.x-virtual-table :before{box-sizing:border-box}.x-virtual-table.resizing{cursor:ew-resize;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-virtual-table.resizing .table-body,.x-virtual-table.resizing .table-header{pointer-events:none}.x-virtual-table.large .virtual-table-wrapper td,.x-virtual-table.large .virtual-table-wrapper th{height:46px}.x-virtual-table.striped .virtual-table-wrapper .table-body .table-row.odd td{background:#f5f6f8}.x-virtual-table.has-cell-border td,.x-virtual-table.has-cell-border th{border-left:none;border-right:1px solid #e1e3e5}.x-virtual-table.has-out-border{border:1px solid #e1e3e5;border-radius:3px}.x-virtual-table.no-wrap .virtual-table-wrapper .table-body .table-row td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-virtual-table .virtual-table-wrapper{min-height:100%;position:relative}.x-virtual-table .virtual-table-wrapper table{border-collapse:separate;border-spacing:0;display:table;margin:0;padding:0;table-layout:fixed;width:100%}.x-virtual-table .virtual-table-wrapper table td,.x-virtual-table .virtual-table-wrapper table th{border-bottom:1px solid #e1e3e5;border-left:none;border-top:none;font-size:13px;height:34px;padding:3px 10px;text-align:left}.x-virtual-table .virtual-table-wrapper table td.fixed-left,.x-virtual-table .virtual-table-wrapper table th.fixed-left{z-index:5}.x-virtual-table .virtual-table-wrapper table td{line-height:20px}.x-virtual-table .virtual-table-wrapper table th{background:#f0f1f4;color:#141e31;font-weight:400;overflow:visible;position:relative}.x-virtual-table .virtual-table-wrapper table th .header-cell-content{-webkit-line-clamp:3;-webkit-box-orient:vertical;word-wrap:break-word;display:-webkit-inline-box;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;word-break:break-word}.x-virtual-table .virtual-table-wrapper table th .resize-spanner{bottom:0;cursor:ew-resize;opacity:0;position:absolute;right:-2px;top:0;transition:background-color .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:4px;z-index:1}.x-virtual-table .virtual-table-wrapper .no-scrollbar::-webkit-scrollbar{display:none}.x-virtual-table .virtual-table-wrapper .table-header{overflow:hidden}.x-virtual-table .virtual-table-wrapper .table-header.fixed{position:sticky;top:0;z-index:6}.x-virtual-table .virtual-table-wrapper .table-header th{word-wrap:break-word;white-space:normal;word-break:break-word}.x-virtual-table .virtual-table-wrapper .table-header th .sort-icon{align-items:center;bottom:0;display:flex;font-size:12px;font-weight:400;position:absolute;right:5px;top:0}.x-virtual-table .virtual-table-wrapper .table-body{overflow-x:auto;overflow-y:hidden}.x-virtual-table .virtual-table-wrapper .table-body>table{min-height:1px}.x-virtual-table .virtual-table-wrapper .table-body::-webkit-scrollbar,.x-virtual-table .virtual-table-wrapper .table-body::-webkit-scrollbar-thumb{background:transparent}.x-virtual-table .virtual-table-wrapper .table-body .table-row{min-height:48px}.x-virtual-table .virtual-table-wrapper .table-body .table-row .table-cell{word-wrap:break-word;background:#fff;white-space:normal;word-break:break-word}.x-virtual-table .virtual-table-wrapper .table-body .table-row.hover td.table-cell,.x-virtual-table .virtual-table-wrapper .table-body .table-row:hover td.table-cell{background:#f0f1f4}.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask{bottom:0;overflow:hidden;pointer-events:none;position:absolute;top:0;z-index:7}.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask .fixed-shadow{height:100%}.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask .left,.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask .right{box-shadow:none}.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask .left.show-shadow,.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask .right.show-shadow{box-shadow:0 0 6px 2px #00000026}.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask .left{margin-right:20px}.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask .left.show-shadow{border-right:1px solid #e1e3e5}.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask .right{margin-left:20px}.x-virtual-table .virtual-table-wrapper .fixed-shadow-mask .right.show-shadow{border-left:1px solid #e1e3e5}.x-virtual-table .horizontal-scroll-container{bottom:0;display:none;overflow:auto;position:sticky;z-index:7}.x-virtual-table .horizontal-scroll-container.not-support-sticky{left:0;position:absolute;right:0}.x-virtual-table .horizontal-scroll-container.show{display:block}.x-virtual-table .horizontal-scroll-container .scroll-item{height:1px}.x-virtual-table .column-resize-line{border-color:var(--fd-color-brand-6,#00b899);display:none;height:100%;left:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:1px;z-index:7}.x-virtual-table .column-resize-line.active{cursor:ew-resize;display:block}.x-svgicon{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;text-align:center;text-rendering:optimizeLegibility;text-transform:none}.x-svgicon>svg{vertical-align:-.125em}.x-svgicon.spin{animation:x-rotate 1s linear infinite;transform-origin:center}.x-collapse{background-color:var(--fd-color-fill-alter);border:1px solid var(--fd-color-border);border-bottom:0;border-radius:var(--fd-border-radius-lg);display:flex;flex-direction:column}.x-collapse *,.x-collapse :after,.x-collapse :before{box-sizing:border-box}.x-collapse>.x-collapse-item{border-bottom:1px solid var(--fd-color-border);font-size:var(--fd-font-size)}.x-collapse>.x-collapse-item:last-child,.x-collapse>.x-collapse-item:last-child>.x-collapse-header,.x-collapse>.x-collapse-item:last-child>.x-panel-content{border-radius:0 0 var(--fd-border-radius-lg) var(--fd-border-radius-lg)}.x-collapse>.x-collapse-item>.x-collapse-header{align-items:center;color:var(--fd-color-text);cursor:pointer;display:flex;flex-wrap:nowrap;line-height:var(--fd-line-height);padding:var(--fd-padding-lg) var(--fd-padding-xl);transition:all .3s}.x-collapse>.x-collapse-item>.x-collapse-header:focus{outline:none}.x-collapse>.x-collapse-item>.x-collapse-header>.x-collapse-header-text{flex:auto}.x-collapse>.x-collapse-item>.x-collapse-header>.x-collapse-header-text:not(.auto-wrap){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-collapse>.x-collapse-item>.x-collapse-header .x-collapse-expand-icon{align-items:center;color:var(--fd-color-icon-normal);display:flex;font-size:var(--fd-icon-size);margin-right:var(--fd-gap-xl)}.x-collapse>.x-collapse-item>.x-collapse-header .x-collapse-arrow svg{transition:transform .3s}.x-collapse>.x-collapse-item>.x-collapse-header .x-collapse-arrow.expand svg{transform:rotate(90deg)}.x-collapse>.x-collapse-item>.x-collapse-header .x-collapse-extra{align-items:center;display:flex}.x-collapse>.x-collapse-item .x-collapse-header-collapsible-only{cursor:default}.x-collapse>.x-collapse-item .x-collapse-header-collapsible-only .x-collapse-header-text{-webkit-box-flex:0;cursor:pointer;flex:0 1 auto}.x-collapse>.x-collapse-item .x-collapse-icon-collapsible-only{cursor:default}.x-collapse>.x-collapse-item .x-collapse-icon-collapsible-only .x-collapse-expand-icon{cursor:pointer}.x-collapse>.x-collapse-item>.x-panel-content{background-color:var(--fd-color-white);border-top:1px solid var(--fd-color-border);color:var(--fd-color-text)}.x-collapse>.x-collapse-item>.x-panel-content .x-panel-box{padding:var(--fd-collapse-panel-padding)}.x-collapse>.x-collapse-item>.x-panel-content-enter{height:0;opacity:0;overflow:hidden}.x-collapse>.x-collapse-item>.x-panel-content-enter-active{opacity:1;overflow:hidden;transition:all .2s}.x-collapse>.x-collapse-item>.x-panel-content-exit{opacity:1}.x-collapse>.x-collapse-item>.x-panel-content-exit-active{opacity:0;overflow:hidden;transition:all .2s}.x-collapse>.x-collapse-item>.x-panel-content-exit-done{display:none}.x-collapse .x-collapse-item-flex{-webkit-box-flex:1;display:flex;flex:1;flex-direction:column}.x-collapse .x-collapse-item-flex .x-panel-content{flex:1}.x-collapse .x-collapse-item-flex .x-panel-content .x-panel-box{height:100%}.x-collapse.small>.x-collapse-item>.x-collapse-header{padding:var(--fd-padding) var(--fd-padding-lg)}.x-collapse.small>.x-collapse-item>.x-panel-content>.x-panel-box{line-height:var(--fd-line-height);padding:var(--fd-collapse-panel-padding-sm)}.x-collapse.large>.x-collapse-item{font-size:var(--fd-font-size-lg)}.x-collapse.large>.x-collapse-item>.x-collapse-header{line-height:var(--fd-line-height-lg);padding:var(--fd-padding-xl) var(--fd-padding-3xl)}.x-collapse.large>.x-collapse-item>.x-panel-content>.x-panel-box{font-size:var(--fd-font-size-lg);line-height:var(--fd-line-height-lg);padding:var(--fd-collapse-panel-padding-lg)}.x-collapse .x-collapse-item-disabled>.x-collapse-header,.x-collapse .x-collapse-item-disabled>.x-collapse-header>.arrow{color:var(--fd-color-text-disabled);cursor:not-allowed}.x-collapse.x-collapse-icon-position-end>.x-collapse-item>.x-collapse-header .x-collapse-expand-icon{-webkit-box-ordinal-group:2;-ms-flex-order:1;margin-left:var(--fd-gap);margin-right:0;order:1}.x-collapse-borderless{background-color:var(--fd-color-fill-alter);border:0}.x-collapse-borderless .x-collapse-item{border-bottom:1px solid #d7d9dc}.x-collapse-borderless .x-collapse-item:last-child,.x-collapse-borderless>.x-collapse-item:last-child .x-collapse-header{border-radius:0}.x-collapse-borderless .x-collapse-item:last-child{border-bottom:0}.x-collapse-borderless>.x-collapse-item>.x-panel-content{background-color:transparent;border-top:0}.x-collapse-borderless>.x-collapse-item>.x-panel-content .x-panel-box{padding:var(--fd-collapse-panel-padding-no-border)}.x-collapse-borderless.large>.x-collapse-item>.x-panel-content .x-panel-box{padding:var(--fd-collapse-panel-padding-no-border-lg)}.x-collapse-borderless.small>.x-collapse-item>.x-panel-content .x-panel-box{padding:var(--fd-collapse-panel-padding-no-border-sm)}.x-collapse-ghost{background-color:transparent;border:0}.x-collapse-ghost .x-collapse-item{border-bottom:0}.x-collapse-ghost .x-collapse-item>.x-panel-content{background-color:transparent;border:0}.x-slider{cursor:pointer;position:relative}.x-slider *,.x-slider :after,.x-slider :before{box-sizing:border-box}.x-slider .x-slider-rail{background-color:var(--fd-color-fill-tertiary)}.x-slider .x-slider-rail,.x-slider .x-slider-track{border-radius:2px;position:absolute;transition:background-color .2s}.x-slider .x-slider-track{background-color:var(--fd-color-primary-border)}.x-slider:hover .x-slider-rail{background-color:var(--fd-color-fill-secondary)}.x-slider:hover .x-slider-track{background-color:var(--fd-color-primary-border-hover)}.x-slider:hover .x-slider-step .x-slider-dot{border-color:var(--fd-color-border)}.x-slider:hover .x-slider-handle:after{box-shadow:0 0 0 2px var(--fd-color-primary-border-hover)}.x-slider:hover .x-slider-dot-active{border-color:var(--fd-color-primary-border)}.x-slider .x-slider-handle{height:10px;position:absolute;width:10px}.x-slider .x-slider-handle.handle-bg:after{background:var(--fd-slider-handle-fg);box-shadow:0 0 0 2px var(--fd-slider-handle-bg)}.x-slider .x-slider-handle.handle-bg:active:after,.x-slider .x-slider-handle.handle-bg:focus:after,.x-slider .x-slider-handle.handle-bg:hover:after{box-shadow:0 0 0 4px var(--fd-slider-handle-bg)}.x-slider .x-slider-handle .x-slider-dragging{z-index:1}.x-slider .x-slider-handle:after{background-color:#fff;border-radius:50%;box-shadow:0 0 0 2px var(--fd-color-primary-border);content:" ";cursor:pointer;height:10px;position:absolute;transition:width .2s,height .2s,box-shadow .2s;width:10px}.x-slider .x-slider-handle:active,.x-slider .x-slider-handle:focus,.x-slider .x-slider-handle:hover{outline:none}.x-slider .x-slider-handle:active:after,.x-slider .x-slider-handle:focus:after,.x-slider .x-slider-handle:hover:after{box-shadow:0 0 0 4px var(--fd-color-primary);height:12px;width:12px}.x-slider .x-slider-mark{font-size:var(--fd-font-size);line-height:var(--fd-line-height);position:absolute}.x-slider .x-slider-mark .x-slider-mark-text{color:var(--fd-color-text);cursor:pointer;display:inline-block;position:absolute;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-slider .x-slider-mark .x-slider-mark-text.x-slider-mark-text-active{color:var(--fd-color-text)}.x-slider .x-slider-step{background:transparent;pointer-events:none;position:absolute}.x-slider .x-slider-step .x-slider-dot{background-color:#fff;border:2px solid var(--fd-color-border-secondary);border-radius:50%;cursor:pointer;height:8px;pointer-events:auto;position:absolute;transition:border-color .3s;width:8px}.x-slider .x-slider-step .x-slider-dot:hover{border-color:var(--fd-color-border)}.x-slider .x-slider-step .x-slider-dot.x-slider-dot-active{border-color:var(--fd-color-primary-border)}.x-slider .x-slider-step .x-slider-dot.x-slider-dot-active:hover{border-color:var(--fd-color-primary)}.x-slider.x-slider-disabled{cursor:not-allowed}.x-slider.x-slider-disabled .x-slider-rail{background-color:var(--fd-color-fill-tertiary)!important}.x-slider.x-slider-disabled .x-slider-track{background-color:var(--fd-color-bg-container-disabled)!important}.x-slider.x-slider-disabled .x-slider-dot{background-color:#fff;border-color:var(--fd-color-border-secondary)!important;box-shadow:none;cursor:not-allowed}.x-slider.x-slider-disabled .x-slider-handle:after{background-color:#fff;box-shadow:0 0 0 2px var(--fd-color-text-disabled);cursor:not-allowed;height:10px;width:10px}.x-slider.x-slider-disabled .x-slider-dot,.x-slider.x-slider-disabled .x-slider-mark-text{color:var(--fd-color-text-disabled)!important;cursor:not-allowed!important}.x-slider.x-slider-horizontal{height:12px;margin:var(--fd-padding);padding-bottom:4px;padding-top:4px}.x-slider.x-slider-horizontal .x-slider-rail{height:4px;width:100%}.x-slider.x-slider-horizontal .x-slider-track{height:4px}.x-slider.x-slider-horizontal .x-slider-handle{top:1px}.x-slider.x-slider-horizontal .x-slider-mark{top:12px;width:100%}.x-slider.x-slider-horizontal .x-slider-step{height:4px;top:4px;width:100%}.x-slider.x-slider-horizontal .x-slider-dot{position:absolute;top:-2px}.x-slider.x-slider-horizontal.x-slider-with-marks{margin-bottom:30px}.x-slider.x-slider-vertical{height:100%;margin:var(--fd-padding) var(--fd-padding-xs);padding-left:4px;padding-right:4px;width:12px}.x-slider.x-slider-vertical .x-slider-rail{height:100%;width:4px}.x-slider.x-slider-vertical .x-slider-track{width:4px}.x-slider.x-slider-vertical .x-slider-handle{left:1px}.x-slider.x-slider-vertical .x-slider-mark{height:100%;margin-left:17px}.x-slider.x-slider-vertical .x-slider-step{height:100%;left:4px;width:4px}.x-slider.x-slider-vertical .x-slider-step .x-slider-dot{left:-2px;position:absolute}.x-image{display:inline-block;position:relative}.x-image *,.x-image :after,.x-image :before{box-sizing:border-box}.x-image img{border:0;outline:none}.x-image .x-image-img{height:auto;vertical-align:middle;width:100%}.x-image .x-image-mask{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:var(--fd-color-bg-mask);color:var(--fd-color-text-light-solid);cursor:pointer;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .3s}.x-image .x-image-mask .x-image-mask-info{font-size:var(--fd-font-size-lg);line-height:var(--fd-line-height-lg);overflow:hidden;padding:0 var(--fd-padding-xl);text-overflow:ellipsis;white-space:nowrap}.x-image .x-image-mask .x-image-mask-info .x-svgicon{margin-right:var(--fd-gap-sm)}.x-image .x-image-mask:hover{opacity:1}.x-image .x-image-placeholder{inset:0;position:absolute}.x-dropdown{background:var(--fd-color-bg-elevated);border-radius:var(--fd-border-radius-lg);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;display:block;position:absolute}.x-dropdown *,.x-dropdown :after,.x-dropdown :before{box-sizing:border-box}.x-dropdown .dropdown-arrow{display:block;height:12px;overflow:hidden;pointer-events:none;position:absolute;width:12px;z-index:1}.x-dropdown .dropdown-arrow.no-arrow{display:none!important}.x-dropdown .dropdown-arrow:before{background:#fff;bottom:0;clip-path:polygon(1.65685425px 100%,50% 1.65685425px,10.34314575px 100%,1.65685425px 100%);clip-path:path("M 0 6 A 4 4 0 0 0 2.82842712474619 4.82842712474619 L 4.585786437626905 3.0710678118654755 A 2 2 0 0 1 7.414213562373095 3.0710678118654755 L 9.17157287525381 4.82842712474619 A 4 4 0 0 0 12 6 Z");content:"";height:6px;inset-inline-start:0;position:absolute;width:12px}.x-dropdown .dropdown-arrow:after{background:transparent;border-radius:0 0 2px;bottom:0;box-shadow:2px 2px 5px #0000000d;content:"";height:6.14213562px;inset-inline:0;margin:auto;position:absolute;transform:translateY(50%) rotate(-135deg);width:6.14213562px;z-index:0}.x-dropdown.placement-top .dropdown-arrow,.x-dropdown.placement-top-left .dropdown-arrow,.x-dropdown.placement-top-right .dropdown-arrow{bottom:0;transform:translateY(100%) rotate(180deg)}.x-dropdown.placement-top .dropdown-arrow{left:50%;transform:translate(-50%) translateY(100%) rotate(180deg)}.x-dropdown.placement-top-left .dropdown-arrow{left:8px}.x-dropdown.placement-top-right .dropdown-arrow{right:8px}.x-dropdown.placement-bottom .dropdown-arrow,.x-dropdown.placement-bottom-left .dropdown-arrow,.x-dropdown.placement-bottom-right .dropdown-arrow{top:0;transform:translateY(-100%)}.x-dropdown.placement-bottom .dropdown-arrow{left:50%;transform:translate(-50%) translateY(-100%)}.x-dropdown.placement-bottom-left .dropdown-arrow{left:8px}.x-dropdown.placement-bottom-right .dropdown-arrow{right:8px}.x-dropdown.placement-left .dropdown-arrow,.x-dropdown.placement-left-bottom .dropdown-arrow,.x-dropdown.placement-left-top .dropdown-arrow{right:0;transform:translate(100%) rotate(90deg)}.x-dropdown.placement-left .dropdown-arrow{top:50%;transform:translateY(-50%) translate(100%) rotate(90deg)}.x-dropdown.placement-left-top .dropdown-arrow{top:8px}.x-dropdown.placement-left-bottom .dropdown-arrow{bottom:8px}.x-dropdown.placement-right .dropdown-arrow,.x-dropdown.placement-right-bottom .dropdown-arrow,.x-dropdown.placement-right-top .dropdown-arrow{left:0;transform:translate(-100%) rotate(-90deg)}.x-dropdown.placement-right .dropdown-arrow{top:50%;transform:translateY(-50%) translate(-100%) rotate(-90deg)}.x-dropdown.placement-right-top .dropdown-arrow{top:8px}.x-dropdown.placement-right-bottom .dropdown-arrow{bottom:8px}.x-dropdown-top-appear,.x-dropdown-top-enter{animation:x-move-bottom-small .2s ease;animation-fill-mode:forwards}.x-dropdown-top-exit{animation:x-move-bottom-small .1s ease-in reverse;animation-fill-mode:forwards}.x-dropdown-bottom-appear,.x-dropdown-bottom-enter{animation:x-move-top-small .2s ease;animation-fill-mode:forwards}.x-dropdown-bottom-exit{animation:x-move-top-small .1s ease-in reverse;animation-fill-mode:forwards}.x-autocomplete *,.x-autocomplete :after,.x-autocomplete :before{box-sizing:border-box}.x-autocomplete.borderless .x-inner-wrapper{border:none}.x-autocomplete-popover .x-autocomplete-list{max-height:256px;overflow-y:auto}.x-autocomplete-popover .x-autocomplete-item{border-radius:var(--fd-border-radius-sm);box-sizing:border-box;color:var(--fd-color-text);cursor:pointer;display:block;font-size:var(--fd-font-size);line-height:var(--fd-line-height);min-height:var(--fd-control-height);overflow:hidden;padding:var(--fd-padding-xs) var(--fd-padding);position:relative;text-overflow:ellipsis;white-space:nowrap}.x-autocomplete-popover .x-autocomplete-item.active:not(.disabled){background-color:var(--fd-control-item-bg-active)}.x-autocomplete-popover .x-autocomplete-item.disabled{color:var(--fd-color-text-disabled);cursor:not-allowed}.x-autocomplete-popover .x-autocomplete-loading{min-height:var(--fd-control-height)}.x-autocomplete-popover .x-popover-wrapper{padding:var(--fd-padding-layout-2xs)}.x-typography{color:var(--fd-color-text);word-break:break-word}.x-typography.x-typography-secondary{color:var(--fd-color-text-secondary)}.x-typography.x-typography-success{color:var(--fd-color-success)}.x-typography.x-typography-warning{color:var(--fd-color-warning)}.x-typography.x-typography-danger{color:var(--fd-color-error)}a:active.x-typography.x-typography-danger,a:focus.x-typography.x-typography-danger{color:var(--fd-color-error-text-active)}a:hover.x-typography.x-typography-danger{color:var(--fd-color-error-text-hover)}.x-typography.x-typography-disabled{color:var(--fd-color-text-disabled);cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.x-typography p,div.x-typography{margin-bottom:1em}.x-typography div.x-typography-h1,.x-typography div.x-typography-h1>textarea,.x-typography h1,h1.x-typography{color:var(--fd-color-text);font-size:var(--fd-font-size-heading-1);font-weight:600;line-height:var(--fd-line-height-heading-1);margin-bottom:.5em}.x-typography div.x-typography-h2,.x-typography div.x-typography-h2>textarea,.x-typography h2,h2.x-typography{color:var(--fd-color-text);font-size:var(--fd-font-size-heading-2);font-weight:600;line-height:var(--fd-line-height-heading-2);margin-bottom:.5em}.x-typography div.x-typography-h3,.x-typography div.x-typography-h3>textarea,.x-typography h3,h3.x-typography{color:var(--fd-color-text);font-size:var(--fd-font-size-heading-3);font-weight:600;line-height:var(--fd-line-height-heading-3);margin-bottom:.5em}.x-typography div.x-typography-h4,.x-typography div.x-typography-h4>textarea,.x-typography h4,h4.x-typography{color:var(--fd-color-text);font-size:var(--fd-font-size-heading-4);font-weight:600;line-height:var(--fd-line-height-heading-4);margin-bottom:.5em}.x-typography div.x-typography-h5,.x-typography div.x-typography-h5>textarea,.x-typography h5,h5.x-typography{color:var(--fd-color-text);font-size:var(--fd-font-size-heading-5);font-weight:600;line-height:var(--fd-line-height-heading-5);margin-bottom:.5em}.x-typography div+h1,.x-typography div+h2,.x-typography div+h3,.x-typography div+h4,.x-typography div+h5,.x-typography h1+h1,.x-typography h1+h2,.x-typography h1+h3,.x-typography h1+h4,.x-typography h1+h5,.x-typography h2+h1,.x-typography h2+h2,.x-typography h2+h3,.x-typography h2+h4,.x-typography h2+h5,.x-typography h3+h1,.x-typography h3+h2,.x-typography h3+h3,.x-typography h3+h4,.x-typography h3+h5,.x-typography h4+h1,.x-typography h4+h2,.x-typography h4+h3,.x-typography h4+h4,.x-typography h4+h5,.x-typography h5+h1,.x-typography h5+h2,.x-typography h5+h3,.x-typography h5+h4,.x-typography h5+h5,.x-typography li+h1,.x-typography li+h2,.x-typography li+h3,.x-typography li+h4,.x-typography li+h5,.x-typography p+h1,.x-typography p+h2,.x-typography p+h3,.x-typography p+h4,.x-typography p+h5,.x-typography ul+h1,.x-typography ul+h2,.x-typography ul+h3,.x-typography ul+h4,.x-typography ul+h5,.x-typography+h1.x-typography,.x-typography+h2.x-typography,.x-typography+h3.x-typography,.x-typography+h4.x-typography,.x-typography+h5.x-typography{margin-top:1.2em}.x-typography a,a.x-typography{color:var(--fd-color-primary);cursor:pointer;outline:none;text-decoration:none;transition:.3s}.x-typography a:focus,.x-typography a:hover,a.x-typography:focus,a.x-typography:hover{color:var(--fd-color-primary-hover);outline:none}.x-typography a:active,a.x-typography:active{color:var(--fd-color-primary-active)}.x-typography a:active,.x-typography a:hover,a.x-typography:active,a.x-typography:hover{text-decoration:none}.x-typography a.x-typography-disabled,.x-typography a[disabled],a.x-typography.x-typography-disabled,a.x-typography[disabled]{color:var(--fd-color-text-disabled);cursor:not-allowed}.x-typography a.x-typography-disabled:active,.x-typography a.x-typography-disabled:hover,.x-typography a[disabled]:active,.x-typography a[disabled]:hover,a.x-typography.x-typography-disabled:active,a.x-typography.x-typography-disabled:hover,a.x-typography[disabled]:active,a.x-typography[disabled]:hover{color:var(--fd-color-text-disabled)}.x-typography a.x-typography-disabled:active,.x-typography a[disabled]:active,a.x-typography.x-typography-disabled:active,a.x-typography[disabled]:active{pointer-events:none}.x-typography .x-typography-copy,.x-typography .x-typography-edit,.x-typography .x-typography-expand{color:var(--fd-color-primary);cursor:pointer;margin-left:4px;outline:none;text-decoration:none;transition:.3s}.x-typography .x-typography-copy:focus,.x-typography .x-typography-copy:hover,.x-typography .x-typography-edit:focus,.x-typography .x-typography-edit:hover,.x-typography .x-typography-expand:focus,.x-typography .x-typography-expand:hover{color:var(--fd-color-primary-hover);outline:none}.x-typography .x-typography-copy:active,.x-typography .x-typography-edit:active,.x-typography .x-typography-expand:active{color:var(--fd-color-primary-active)}.x-typography .x-typography-copy,.x-typography .x-typography-edit{background:transparent;border:0;display:inline-block;padding:0}.x-typography .x-typography-copy.disabled,.x-typography .x-typography-edit.disabled{pointer-events:none}.x-typography.x-typography-edit-content{position:relative}div.x-typography.x-typography-edit-content{margin-bottom:calc(1em - 5px);margin-left:-12px;margin-top:-5px}.x-typography.x-typography-edit-content .x-typography-edit-content-confirm{color:var(--fd-color-text-description);font-size:var(--fd-font-size);font-style:normal;font-weight:400;pointer-events:none;position:absolute;right:10px;top:6px}.x-typography.x-typography-edit-content textarea{height:1em;margin:0!important}.x-typography .x-typography-copy-success,.x-typography .x-typography-copy-success:focus,.x-typography .x-typography-copy-success:hover{color:var(--fd-color-success)}a.x-typography.x-typography-ellipsis,span.x-typography.x-typography-ellipsis{display:inline-block;max-width:100%}.x-typography.x-typography-single-line{white-space:nowrap}.x-typography.x-typography-ellipsis-single-line{overflow:hidden;text-overflow:ellipsis}a.x-typography.x-typography-ellipsis-single-line,span.x-typography.x-typography-ellipsis-single-line{vertical-align:bottom}.x-typography .x-typography-ellipsis-multiple-line{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.x-select{color:var(--fd-color-text);cursor:pointer;display:inline-block;font-size:var(--fd-font-size);margin:0;padding:0;position:relative;width:200px}.x-select *,.x-select :after,.x-select :before{box-sizing:border-box}.x-select-borderless .x-select-selector{background-color:transparent!important;border-color:transparent!important;box-shadow:none!important}.x-select.x-select-open .x-select-arrow .x-select-suffix{transform:rotate(180deg)}.x-select .x-select-selector{background:var(--fd-color-bg-container);border:1px solid var(--fd-color-border);position:relative;transition:all .2s cubic-bezier(.43,.1,.54,.85)}.x-select-disabled.x-select .x-select-selector{color:var(--fd-color-text-data-disabled);cursor:not-allowed}.x-select-disabled.x-select .x-select-selector,.x-select-multiple.x-select-disabled.x-select .x-select-selector{background:var(--fd-color-bg-container-disabled)}.x-select .x-select-custom-selector{height:100%}.x-select .x-select-selection-item{flex:1;font-weight:400;overflow:hidden;position:relative;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.x-select .x-select-selection-item>.x-typography{display:inline}.x-select .x-select-selection-placeholder{-webkit-box-flex:1;color:var(--fd-color-text-placeholder);flex:1;overflow:hidden;pointer-events:none;text-overflow:ellipsis;white-space:nowrap}.x-select .x-select-arrow{align-items:center;color:var(--fd-color-icon-normal);display:flex;line-height:1;pointer-events:none;position:absolute;text-align:center;text-transform:none;top:50%;transform:translateY(-50%)}.x-select .x-select-arrow .x-select-suffix{transform:rotate(0);transition:transform .2s ease}.x-select .x-select-arrow .x-svgicon{transition:transform .3s}.x-select .x-select-arrow .x-svgicon:not(.x-select-suffix){pointer-events:auto}.x-select-disabled.x-select .x-select-arrow{color:var(--fd-color-text-disabled);cursor:not-allowed}.x-select .x-select-arrow>:not(:last-child){margin-inline-end:8px}.x-select .x-select-clear{background:var(--fd-color-bg-container);color:var(--fd-color-icon);cursor:pointer;display:inline-block;font-style:normal;line-height:1;opacity:0;position:absolute;text-align:center;text-rendering:auto;text-transform:none;top:50%;transform:translateY(-50%);transition:color .2s ease,opacity .3s ease;z-index:1}.x-select .x-select-clear:before{display:none}.x-select .x-select-clear:hover{color:var(--fd-color-icon-hover)}.x-select:not(.x-select-disabled):hover .x-select-clear{opacity:1}.x-select .x-select-arrow,.x-select .x-select-clear,.x-select .x-select-loading{font-size:var(--fd-icon-size);height:var(--fd-icon-size);right:var(--fd-padding);width:var(--fd-icon-size)}.x-select.x-select-sm .x-select-arrow,.x-select.x-select-sm .x-select-clear,.x-select.x-select-sm .x-select-loading{font-size:var(--fd-icon-size);height:var(--fd-icon-size);right:var(--fd-padding-xs);width:var(--fd-icon-size)}.x-select.x-select-lg .x-select-arrow,.x-select.x-select-lg .x-select-clear,.x-select.x-select-lg .x-select-loading{font-size:var(--fd-icon-size);height:var(--fd-icon-size);right:var(--fd-padding);width:var(--fd-icon-size)}.x-select:not(.x-select-disabled) .x-select-selector{border-color:var(--fd-color-border)}.x-select-focused.x-select:not(.x-select-disabled) .x-select-selector,.x-select-open.x-select:not(.x-select-disabled) .x-select-selector{border-color:var(--fd-color-primary-hover);box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-control-outline);outline:0}.x-select:not(.x-select-disabled):hover .x-select-selector{border-color:var(--fd-color-primary-hover)}.x-select.x-select-status-success:not(.x-select-disabled) .x-select-selector{border-color:var(--fd-color-success)}.x-select-focused.x-select.x-select-status-success:not(.x-select-disabled) .x-select-selector,.x-select-open.x-select.x-select-status-success:not(.x-select-disabled) .x-select-selector{border-color:var(--fd-color-success-hover);box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-control-outline);outline:0}.x-select.x-select-status-success:not(.x-select-disabled):hover .x-select-selector{border-color:var(--fd-color-success-hover)}.x-select.x-select-status-error:not(.x-select-disabled) .x-select-selector{border-color:var(--fd-color-error)}.x-select-focused.x-select.x-select-status-error:not(.x-select-disabled) .x-select-selector,.x-select-open.x-select.x-select-status-error:not(.x-select-disabled) .x-select-selector{border-color:var(--fd-color-error-hover);box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-error-outline);outline:0}.x-select.x-select-status-error:not(.x-select-disabled):hover .x-select-selector{border-color:var(--fd-color-error-hover)}.x-select.x-select-status-warning:not(.x-select-disabled) .x-select-selector{border-color:var(--fd-color-warning)}.x-select-focused.x-select.x-select-status-warning:not(.x-select-disabled) .x-select-selector,.x-select-open.x-select.x-select-status-warning:not(.x-select-disabled) .x-select-selector{border-color:var(--fd-color-warning-hover);box-shadow:0 0 0 var(--fd-control-outline-width) var(--fd-color-warning-outline);outline:0}.x-select.x-select-status-warning:not(.x-select-disabled):hover .x-select-selector{border-color:var(--fd-color-warning-hover)}.x-select-multiple,.x-select-single{font-size:var(--fd-font-size);height:var(--fd-control-height)}.x-select-multiple .x-select-selector,.x-select-single .x-select-selector{border-radius:var(--fd-border-radius);display:flex;height:100%;padding:0 var(--fd-padding);width:100%}.x-select-multiple .x-select-selector:after,.x-select-single .x-select-selector:after{line-height:calc(var(--fd-control-height) - 2px)}.x-select-multiple .x-select-selector .x-select-selection-item,.x-select-multiple .x-select-selector .x-select-selection-placeholder,.x-select-single .x-select-selector .x-select-selection-item,.x-select-single .x-select-selector .x-select-selection-placeholder{align-self:center;line-height:calc(var(--fd-control-height) - 2px);padding:0;transition:all .3s,visibility 0s}.x-select-multiple .x-select-selector .x-select-selection-placeholder,.x-select-single .x-select-selector .x-select-selection-placeholder{pointer-events:none;transition:none}.x-select-multiple .x-select-selector .x-select-selection-item-error,.x-select-single .x-select-selector .x-select-selection-item-error{color:var(--fd-color-error-text)}.x-select-multiple .x-select-selector .x-select-selection-item:empty:after,.x-select-multiple .x-select-selector .x-select-selection-placeholder:empty:after,.x-select-multiple .x-select-selector:after,.x-select-single .x-select-selector .x-select-selection-item:empty:after,.x-select-single .x-select-selector .x-select-selection-placeholder:empty:after,.x-select-single .x-select-selector:after{content:"\\a0";display:inline-block;visibility:hidden;width:0}.x-select-multiple.x-select-clear .x-select-selector,.x-select-multiple.x-select-show-arrow .x-select-selector,.x-select-single.x-select-clear .x-select-selector,.x-select-single.x-select-show-arrow .x-select-selector{padding-right:calc(var(--fd-padding) + var(--fd-gap-sm) + var(--fd-icon-size))}.x-select-multiple.x-select-sm,.x-select-single.x-select-sm{font-size:var(--fd-font-size-sm);height:var(--fd-control-height-sm)}.x-select-multiple.x-select-sm .x-select-selector,.x-select-single.x-select-sm .x-select-selector{border-radius:var(--fd-border-radius);display:flex;height:100%;padding:0 var(--fd-padding-xs);width:100%}.x-select-multiple.x-select-sm .x-select-selector:after,.x-select-single.x-select-sm .x-select-selector:after{line-height:calc(var(--fd-control-height-sm) - 2px)}.x-select-multiple.x-select-sm .x-select-selector .x-select-selection-item,.x-select-multiple.x-select-sm .x-select-selector .x-select-selection-placeholder,.x-select-single.x-select-sm .x-select-selector .x-select-selection-item,.x-select-single.x-select-sm .x-select-selector .x-select-selection-placeholder{align-self:center;line-height:calc(var(--fd-control-height-sm) - 2px);padding:0;transition:all .3s,visibility 0s}.x-select-multiple.x-select-sm .x-select-selector .x-select-selection-placeholder,.x-select-single.x-select-sm .x-select-selector .x-select-selection-placeholder{pointer-events:none;transition:none}.x-select-multiple.x-select-sm .x-select-selector .x-select-selection-item-error,.x-select-single.x-select-sm .x-select-selector .x-select-selection-item-error{color:var(--fd-color-error-text)}.x-select-multiple.x-select-sm .x-select-selector .x-select-selection-item:empty:after,.x-select-multiple.x-select-sm .x-select-selector .x-select-selection-placeholder:empty:after,.x-select-multiple.x-select-sm .x-select-selector:after,.x-select-single.x-select-sm .x-select-selector .x-select-selection-item:empty:after,.x-select-single.x-select-sm .x-select-selector .x-select-selection-placeholder:empty:after,.x-select-single.x-select-sm .x-select-selector:after{content:"\\a0";display:inline-block;visibility:hidden;width:0}.x-select-multiple.x-select-sm.x-select-clear .x-select-selector,.x-select-multiple.x-select-sm.x-select-show-arrow .x-select-selector,.x-select-single.x-select-sm.x-select-clear .x-select-selector,.x-select-single.x-select-sm.x-select-show-arrow .x-select-selector{padding-right:calc(var(--fd-padding-xs) + var(--fd-gap-sm) + var(--fd-icon-size))}.x-select-multiple.x-select-lg,.x-select-single.x-select-lg{font-size:var(--fd-font-size-lg);height:var(--fd-control-height-lg)}.x-select-multiple.x-select-lg .x-select-selector,.x-select-single.x-select-lg .x-select-selector{border-radius:var(--fd-border-radius);display:flex;height:100%;padding:0 var(--fd-padding);width:100%}.x-select-multiple.x-select-lg .x-select-selector:after,.x-select-single.x-select-lg .x-select-selector:after{line-height:calc(var(--fd-control-height-lg) - 2px)}.x-select-multiple.x-select-lg .x-select-selector .x-select-selection-item,.x-select-multiple.x-select-lg .x-select-selector .x-select-selection-placeholder,.x-select-single.x-select-lg .x-select-selector .x-select-selection-item,.x-select-single.x-select-lg .x-select-selector .x-select-selection-placeholder{align-self:center;line-height:calc(var(--fd-control-height-lg) - 2px);padding:0;transition:all .3s,visibility 0s}.x-select-multiple.x-select-lg .x-select-selector .x-select-selection-placeholder,.x-select-single.x-select-lg .x-select-selector .x-select-selection-placeholder{pointer-events:none;transition:none}.x-select-multiple.x-select-lg .x-select-selector .x-select-selection-item-error,.x-select-single.x-select-lg .x-select-selector .x-select-selection-item-error{color:var(--fd-color-error-text)}.x-select-multiple.x-select-lg .x-select-selector .x-select-selection-item:empty:after,.x-select-multiple.x-select-lg .x-select-selector .x-select-selection-placeholder:empty:after,.x-select-multiple.x-select-lg .x-select-selector:after,.x-select-single.x-select-lg .x-select-selector .x-select-selection-item:empty:after,.x-select-single.x-select-lg .x-select-selector .x-select-selection-placeholder:empty:after,.x-select-single.x-select-lg .x-select-selector:after{content:"\\a0";display:inline-block;visibility:hidden;width:0}.x-select-multiple.x-select-lg.x-select-clear .x-select-selector,.x-select-multiple.x-select-lg.x-select-show-arrow .x-select-selector,.x-select-single.x-select-lg.x-select-clear .x-select-selector,.x-select-single.x-select-lg.x-select-show-arrow .x-select-selector{padding-right:calc(var(--fd-padding) + var(--fd-gap-sm) + var(--fd-icon-size))}.x-select-tags{font-size:var(--fd-font-size)}.x-select-tags .x-select-selection-overflow{-webkit-box-flex:1;display:flex;flex:auto;flex-wrap:wrap;max-width:100%;position:relative}.x-select-tags .x-select-selection-overflow-item{-webkit-box-flex:0;align-self:center;display:inline-flex;flex:none;max-width:100%}.x-select-tags .x-select-selector{align-items:center;border-radius:var(--fd-border-radius);display:flex;flex-wrap:wrap;height:100%;padding:0 var(--fd-padding) 0 var(--fd-padding-xs)}.x-select-disabled.x-select-tags .x-select-selector{background:var(--fd-color-bg-container-disabled);cursor:not-allowed}.x-select-tags .x-select-selector:after{content:'"\\\\a0"';display:inline-block;line-height:calc(var(--fd-control-height) - 2px - var(--fd-padding-xs)*2);margin:var(--fd-padding-xs) 0;visibility:hidden;width:0}.x-select-tags.x-select-allow-clear .x-select-selector,.x-select-tags.x-select-allow-clear .x-select-selector .x-select-selection-placeholder,.x-select-tags.x-select-show-arrow .x-select-selector,.x-select-tags.x-select-show-arrow .x-select-selector .x-select-selection-placeholder{padding-right:calc(var(--fd-padding) + var(--fd-gap-sm) + var(--fd-icon-size))}.x-select-tags .x-select-selection-item{-ms-flex-item-align:center;-webkit-margin-end:var(--fd-gap-sm);align-self:center;background:var(--fd-color-fill-tertiary);border:1px solid transparent;border-radius:var(--fd-border-radius-xs);cursor:default;display:flex;float:none;height:calc(var(--fd-control-height) - 2px - var(--fd-padding-xs)*2);line-height:calc(var(--fd-control-height) - 4px - var(--fd-padding-xs)*2);margin-bottom:var(--fd-padding-xs);margin-top:var(--fd-padding-xs);margin-inline-end:var(--fd-gap-sm);max-width:100%;padding:0 var(--fd-padding-sm);transition:font-size .3s,line-height .3s,height .3s}.x-select-tags .x-select-selection-item-error{background:var(--fd-color-error-bg-hover);color:var(--fd-color-error-text)}.x-select-tags .x-select-selection-item-disabled{background:var(--fd-color-fill-tertiary);color:var(--fd-color-text-data-disabled);cursor:not-allowed}.x-select-tags .x-select-selection-item-content{-webkit-margin-end:4px;display:inline-block;margin-inline-end:4px;overflow:hidden;text-overflow:ellipsis;white-space:pre}.x-select-tags .x-select-selection-item-remove{align-items:center;color:var(--fd-color-icon);cursor:pointer;display:inline-block;font-size:10px;font-weight:700;line-height:inherit}.x-select-tags .x-select-selection-item-remove>.x-svgicon{vertical-align:.2em}.x-select-tags .x-select-selection-item-remove:hover{color:var(--fd-color-icon-hover)}.x-select-tags .x-select-selection-overflow-item+.x-select-selection-overflow-item .x-select-selection-search{margin-inline-start:0}.x-select-tags .x-select-selection-placeholder{left:0;padding:0 var(--fd-padding) 0 var(--fd-padding-xs);position:absolute;right:0;top:50%;transform:translateY(-50%);transition:all .3s}.x-select-tags.x-select-sm{font-size:var(--fd-font-size-sm)}.x-select-tags.x-select-sm .x-select-selection-overflow{-webkit-box-flex:1;display:flex;flex:auto;flex-wrap:wrap;max-width:100%;position:relative}.x-select-tags.x-select-sm .x-select-selection-overflow-item{-webkit-box-flex:0;align-self:center;display:inline-flex;flex:none;max-width:100%}.x-select-tags.x-select-sm .x-select-selector{align-items:center;border-radius:var(--fd-border-radius);display:flex;flex-wrap:wrap;height:100%;padding:0 var(--fd-padding-xs) 0 var(--fd-padding-2xs)}.x-select-disabled.x-select-tags.x-select-sm .x-select-selector{background:var(--fd-color-bg-container-disabled);cursor:not-allowed}.x-select-tags.x-select-sm .x-select-selector:after{content:'"\\\\a0"';display:inline-block;line-height:calc(var(--fd-control-height-sm) - 2px - var(--fd-padding-2xs)*2);margin:var(--fd-padding-2xs) 0;visibility:hidden;width:0}.x-select-tags.x-select-sm.x-select-allow-clear .x-select-selector,.x-select-tags.x-select-sm.x-select-allow-clear .x-select-selector .x-select-selection-placeholder,.x-select-tags.x-select-sm.x-select-show-arrow .x-select-selector,.x-select-tags.x-select-sm.x-select-show-arrow .x-select-selector .x-select-selection-placeholder{padding-right:calc(var(--fd-padding-xs) + var(--fd-gap-sm) + var(--fd-icon-size))}.x-select-tags.x-select-sm .x-select-selection-item{-ms-flex-item-align:center;-webkit-margin-end:var(--fd-gap-sm);align-self:center;background:var(--fd-color-fill-tertiary);border:1px solid transparent;border-radius:var(--fd-border-radius-xs);cursor:default;display:flex;float:none;height:calc(var(--fd-control-height-sm) - 2px - var(--fd-padding-2xs)*2);line-height:calc(var(--fd-control-height-sm) - 4px - var(--fd-padding-2xs)*2);margin-bottom:var(--fd-padding-2xs);margin-top:var(--fd-padding-2xs);margin-inline-end:var(--fd-gap-sm);max-width:100%;padding:0 var(--fd-padding-sm);transition:font-size .3s,line-height .3s,height .3s}.x-select-tags.x-select-sm .x-select-selection-item-error{background:var(--fd-color-error-bg-hover);color:var(--fd-color-error-text)}.x-select-tags.x-select-sm .x-select-selection-item-disabled{background:var(--fd-color-fill-tertiary);color:var(--fd-color-text-data-disabled);cursor:not-allowed}.x-select-tags.x-select-sm .x-select-selection-item-content{-webkit-margin-end:4px;display:inline-block;margin-inline-end:4px;overflow:hidden;text-overflow:ellipsis;white-space:pre}.x-select-tags.x-select-sm .x-select-selection-item-remove{align-items:center;color:var(--fd-color-icon);cursor:pointer;display:inline-block;font-size:10px;font-weight:700;line-height:inherit}.x-select-tags.x-select-sm .x-select-selection-item-remove>.x-svgicon{vertical-align:.2em}.x-select-tags.x-select-sm .x-select-selection-item-remove:hover{color:var(--fd-color-icon-hover)}.x-select-tags.x-select-sm .x-select-selection-overflow-item+.x-select-selection-overflow-item .x-select-selection-search{margin-inline-start:0}.x-select-tags.x-select-sm .x-select-selection-placeholder{left:0;padding:0 var(--fd-padding-xs) 0 var(--fd-padding-2xs);position:absolute;right:0;top:50%;transform:translateY(-50%);transition:all .3s}.x-select-tags.x-select-lg{font-size:var(--fd-font-size-lg)}.x-select-tags.x-select-lg .x-select-selection-overflow{-webkit-box-flex:1;display:flex;flex:auto;flex-wrap:wrap;max-width:100%;position:relative}.x-select-tags.x-select-lg .x-select-selection-overflow-item{-webkit-box-flex:0;align-self:center;display:inline-flex;flex:none;max-width:100%}.x-select-tags.x-select-lg .x-select-selector{align-items:center;border-radius:var(--fd-border-radius);display:flex;flex-wrap:wrap;height:100%;padding:0 var(--fd-padding) 0 var(--fd-padding-xs)}.x-select-disabled.x-select-tags.x-select-lg .x-select-selector{background:var(--fd-color-bg-container-disabled);cursor:not-allowed}.x-select-tags.x-select-lg .x-select-selector:after{content:'"\\\\a0"';display:inline-block;line-height:calc(var(--fd-control-height-lg) - 2px - var(--fd-padding-xs)*2);margin:var(--fd-padding-xs) 0;visibility:hidden;width:0}.x-select-tags.x-select-lg.x-select-allow-clear .x-select-selector,.x-select-tags.x-select-lg.x-select-allow-clear .x-select-selector .x-select-selection-placeholder,.x-select-tags.x-select-lg.x-select-show-arrow .x-select-selector,.x-select-tags.x-select-lg.x-select-show-arrow .x-select-selector .x-select-selection-placeholder{padding-right:calc(var(--fd-padding) + var(--fd-gap-sm) + var(--fd-icon-size))}.x-select-tags.x-select-lg .x-select-selection-item{-ms-flex-item-align:center;-webkit-margin-end:var(--fd-gap-sm);align-self:center;background:var(--fd-color-fill-tertiary);border:1px solid transparent;border-radius:var(--fd-border-radius-xs);cursor:default;display:flex;float:none;height:calc(var(--fd-control-height-lg) - 2px - var(--fd-padding-xs)*2);line-height:calc(var(--fd-control-height-lg) - 4px - var(--fd-padding-xs)*2);margin-bottom:var(--fd-padding-xs);margin-top:var(--fd-padding-xs);margin-inline-end:var(--fd-gap-sm);max-width:100%;padding:0 var(--fd-padding-sm);transition:font-size .3s,line-height .3s,height .3s}.x-select-tags.x-select-lg .x-select-selection-item-error{background:var(--fd-color-error-bg-hover);color:var(--fd-color-error-text)}.x-select-tags.x-select-lg .x-select-selection-item-disabled{background:var(--fd-color-fill-tertiary);color:var(--fd-color-text-data-disabled);cursor:not-allowed}.x-select-tags.x-select-lg .x-select-selection-item-content{-webkit-margin-end:4px;display:inline-block;margin-inline-end:4px;overflow:hidden;text-overflow:ellipsis;white-space:pre}.x-select-tags.x-select-lg .x-select-selection-item-remove{align-items:center;color:var(--fd-color-icon);cursor:pointer;display:inline-block;font-size:10px;font-weight:700;line-height:inherit}.x-select-tags.x-select-lg .x-select-selection-item-remove>.x-svgicon{vertical-align:.2em}.x-select-tags.x-select-lg .x-select-selection-item-remove:hover{color:var(--fd-color-icon-hover)}.x-select-tags.x-select-lg .x-select-selection-overflow-item+.x-select-selection-overflow-item .x-select-selection-search{margin-inline-start:0}.x-select-tags.x-select-lg .x-select-selection-placeholder{left:0;padding:0 var(--fd-padding) 0 var(--fd-padding-xs);position:absolute;right:0;top:50%;transform:translateY(-50%);transition:all .3s}.x-select-dropdown{background:var(--fd-color-bg-elevated);border-radius:var(--fd-border-radius-lg);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;box-sizing:border-box;color:var(--fd-color-text);display:block;font-size:var(--fd-font-size);font-variant:normal;line-height:var(--fd-line-height);margin:0;overflow:hidden;padding:0;position:absolute;top:-9999px}.x-select-dropdown .x-select-list{padding:var(--fd-padding-layout-2xs)}.x-select-dropdown .x-select-item{align-items:center;border-radius:var(--fd-border-radius-sm);box-sizing:border-box;color:var(--fd-color-text);cursor:pointer;display:flex;font-size:var(--fd-font-size);font-weight:400;height:var(--fd-control-height);line-height:var(--fd-line-height);padding:0 var(--fd-padding);position:relative;transition:background .3s ease}.x-select-dropdown .x-select-item-group{color:var(--fd-color-text-description);cursor:default;font-size:var(--fd-font-size-sm);height:auto;line-height:var(--fd-line-height-sm);padding:var(--fd-padding-xs) var(--fd-padding) 0 var(--fd-padding)}.x-select-dropdown .x-select-item-option-icon{flex:none;font-size:var(--fd-icon-size);font-weight:400;margin-right:var(--fd-gap-sm)}.x-select-dropdown .x-select-item-option-content{flex:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-select-dropdown .x-select-item-option-check{margin-right:var(--fd-gap)}.x-select-dropdown .x-select-item-option-active:not(.x-select-item-option-disabled){background-color:var(--fd-color-fill-quaternary)}.x-select-dropdown .x-select-item-option-selected:not(.x-select-item-option-disabled):not(.x-select-item-option-disabled):not(.x-select-item-option-error).x-select-item-option-single{background-color:var(--fd-control-item-bg-active);color:var(--fd-color-text);font-weight:var(--fd-control-item-font-weight-active)}.x-select-dropdown .x-select-item-option-check-all,.x-select-dropdown .x-select-item-option-selected:not(.x-select-item-option-disabled):not(.x-select-item-option-disabled):not(.x-select-item-option-error).x-select-item-option-multiple{color:var(--fd-color-primary-text)}.x-select-dropdown .x-select-item-option-error{color:var(--fd-color-error-text)}.x-select-dropdown .x-select-item-option-disabled{color:var(--fd-color-text-disabled);cursor:not-allowed}.x-select-dropdown .x-select-item-option-grouped{padding-left:var(--fd-padding-xl)}.x-select-dropdown .x-select-empty{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;color:var(--fd-color-text-description);display:flex;height:var(--fd-control-height);justify-content:center}.x-select-dropdown .x-select-dropdown-search-input{border-bottom:1px solid var(--fd-color-split);border-radius:var(--fd-border-radius-lg) var(--fd-border-radius-lg) 0 0}.x-select-dropdown .x-select-dropdown-search-input input{background:var(--fd-color-bg-elevated)}.x-select-loading .spin-content{height:100%;width:100%}.x-select-loading .spin-content .spin-indicator{border-color:transparent!important;border-top-color:var(--fd-color-icon)!important;height:100%!important;width:100%!important}.x-tree-select{width:200px}.x-tree-select-dropdown .x-select-tree-list{max-height:256px;overflow-y:auto;padding:var(--fd-padding-layout-2xs)}.x-navigation{font-size:var(--fd-font-size);line-height:0;list-style:none;margin-bottom:0;outline:none;padding:0;transition:width .3s ease-out 0s}.x-navigation *,.x-navigation :after,.x-navigation :before{box-sizing:border-box}.x-navigation li{list-style-type:none}.x-navigation ol,.x-navigation ul{list-style:none;margin:0;padding:0}.x-navigation .x-navigation-overflow{display:flex}.x-navigation .x-navigation-overflow .x-navigation-item{flex:none}.x-navigation .x-navigation-item,.x-navigation .x-navigation-submenu,.x-navigation .x-navigation-submenu-title{border-radius:var(--fd-border-radius)}.x-navigation .x-navigation-submenu-inline.x-navigation-submenu-open+.x-navigation-item,.x-navigation .x-navigation-submenu-inline.x-navigation-submenu-open+.x-navigation-submenu .x-navigation-submenu-title{margin-block-start:calc(var(--fd-gap)/2)}.x-navigation .x-navigation-item-group-title{font-size:var(--fd-font-size-sm);line-height:var(--fd-line-height-sm);margin-inline:var(--fd-padding-layout-xs);margin-top:var(--fd-gap-sm);overflow:hidden;padding:var(--fd-padding-xs) var(--fd-padding-xs) 0 var(--fd-padding-xs);text-overflow:ellipsis;transition:all .3s;white-space:nowrap}.x-navigation .x-navigation-submenu,.x-navigation .x-navigation-submenu-inline{transition:border-color .3s ease-out,background .3s ease-out,padding .3s ease-out}.x-navigation .x-navigation-submenu .x-navigation-sub{cursor:auto}.x-navigation .x-navigation-title-content{transition:color .3s}.x-navigation .x-navigation-title-content>.x-typography-ellipsis-single-line{display:inline;vertical-align:unset}.x-navigation .x-navigation-item a:before{background-color:transparent;content:"";inset:0;position:absolute}.x-navigation .x-navigation-item-divider{line-height:0;margin:var(--fd-gap-sm) var(--fd-padding-layout-xs) 0 var(--fd-padding-layout-xs);overflow:hidden;padding-block:var(--fd-padding-layout-xs);padding-inline:var(--fd-padding-xs)}.x-navigation .x-navigation-item-divider .x-navigation-item-divider-line{border-color:var(--fd-color-split);border-style:solid;border-width:1px 0 0}.x-navigation .x-navigation-item-divider .x-navigation-item-divider-dashed{border-style:dashed}.x-navigation .x-navigation-item,.x-navigation .x-navigation-submenu-title{cursor:pointer;display:block;margin-inline:var(--fd-padding-layout-xs);padding:var(--fd-padding) var(--fd-padding-lg) var(--fd-padding) var(--fd-padding-lg);position:relative;transition:border-color .3s,background .3s,padding .3s ease-out;white-space:nowrap}.x-navigation .x-navigation-item .x-navigation-item-icon,.x-navigation .x-navigation-submenu-title .x-navigation-item-icon{color:var(--fd-color-icon-normal)}.x-navigation .x-navigation-item .x-navigation-item-icon,.x-navigation .x-navigation-item .x-svgicon,.x-navigation .x-navigation-submenu-title .x-navigation-item-icon,.x-navigation .x-navigation-submenu-title .x-svgicon{font-size:var(--fd-icon-size);min-width:var(--fd-icon-size);transition:font-size .3s ease-out,margin .3s ease-out,color .3s}.x-navigation .x-navigation-item .x-navigation-item-icon+span,.x-navigation .x-navigation-item .x-svgicon+span,.x-navigation .x-navigation-submenu-title .x-navigation-item-icon+span,.x-navigation .x-navigation-submenu-title .x-svgicon+span{margin-left:var(--fd-gap);opacity:1;transition:padding .3s ease-out,margin .3s,color .3s}.x-navigation .x-navigation-item.x-navigation-item-only-child>.x-navigation-item-icon,.x-navigation .x-navigation-item.x-navigation-item-only-child>.x-svgicon,.x-navigation .x-navigation-submenu-title.x-navigation-item-only-child>.x-navigation-item-icon,.x-navigation .x-navigation-submenu-title.x-navigation-item-only-child>.x-svgicon{margin-right:0}.x-navigation .x-navigation-item,.x-navigation .x-navigation-submenu-title{margin-block-start:var(--fd-gap-sm)}.x-navigation .x-navigation-item{display:flex}.x-navigation .x-navigation-item-disabled,.x-navigation .x-navigation-submenu-disabled{background:none!important;cursor:not-allowed}.x-navigation .x-navigation-item-disabled:after,.x-navigation .x-navigation-submenu-disabled:after{border-color:transparent!important}.x-navigation .x-navigation-item-disabled a,.x-navigation .x-navigation-submenu-disabled a{color:inherit!important}.x-navigation .x-navigation-item-disabled>.x-navigation-submenu-title,.x-navigation .x-navigation-submenu-disabled>.x-navigation-submenu-title{color:inherit!important;cursor:not-allowed}.x-navigation .x-navigation-item-group .x-navigation-item-group-list{margin:0;padding:0}.x-navigation .x-navigation-item-group .x-navigation-item-group-list .x-navigation-item,.x-navigation .x-navigation-item-group .x-navigation-item-group-list .x-navigation-submenu-title{padding-inline:var(--fd-padding) var(--fd-padding-lg)}.x-navigation .x-navigation-submenu .x-navigation-submenu-popup{border-radius:var(--fd-border-radius-lg);box-shadow:none;position:absolute;transform-origin:0 0;z-index:1050}.x-navigation .x-navigation-submenu .x-navigation-submenu-popup.x-navigation-submenu{background:transparent}.x-navigation .x-navigation-submenu .x-navigation-submenu-popup:before{content:"";height:100%;inset:-7px 0 0;opacity:0;position:absolute;width:100%;z-index:-1}.x-navigation .x-navigation-submenu .x-navigation-submenu-placement-rightTop:before{inset-inline-start:-7px;top:0}.x-navigation .x-navigation-submenu .placement-bottomRight,.x-navigation .x-navigation-submenu .placement-left-top{transform-origin:100% 0}.x-navigation .x-navigation-submenu .placement-left-bottom,.x-navigation .x-navigation-submenu .placement-top-right{transform-origin:100% 100%}.x-navigation .x-navigation-submenu .placement-right-bottom,.x-navigation .x-navigation-submenu .placement-top-left{transform-origin:0 100%}.x-navigation .x-navigation-submenu .placement-bottom-left,.x-navigation .x-navigation-submenu .placement-right-top{transform-origin:0 0}.x-navigation .x-navigation-submenu .placement-left-bottom,.x-navigation .x-navigation-submenu .placement-left-top{padding-inline-end:var(--fd-padding-xs)}.x-navigation .x-navigation-submenu .placement-right-bottom,.x-navigation .x-navigation-submenu .placement-right-top{padding-inline-start:var(--fd-padding-xs)}.x-navigation .x-navigation-submenu .placement-topLeft,.x-navigation .x-navigation-submenu .placement-topRight{padding-bottom:var(--fd-padding-xs)}.x-navigation .x-navigation-submenu .placement-bottomLeft,.x-navigation .x-navigation-submenu .placement-bottomRight{padding-top:var(--fd-padding-xs)}.x-navigation .x-navigation-submenu>.x-navigation{border-radius:var(--fd-border-radius-lg)}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title{cursor:pointer;display:block;margin-inline:var(--fd-padding-layout-xs);padding:var(--fd-padding) var(--fd-padding-lg) var(--fd-padding) var(--fd-padding-lg);position:relative;transition:border-color .3s,background .3s,padding .3s ease-out;white-space:nowrap}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item .x-navigation-item-icon,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title .x-navigation-item-icon{color:var(--fd-color-icon-normal)}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item .x-navigation-item-icon,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item .x-svgicon,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title .x-navigation-item-icon,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title .x-svgicon{font-size:var(--fd-icon-size);min-width:var(--fd-icon-size);transition:font-size .3s ease-out,margin .3s ease-out,color .3s}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item .x-navigation-item-icon+span,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item .x-svgicon+span,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title .x-navigation-item-icon+span,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title .x-svgicon+span{margin-left:var(--fd-gap);opacity:1;transition:padding .3s ease-out,margin .3s,color .3s}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item.x-navigation-item-only-child>.x-navigation-item-icon,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item.x-navigation-item-only-child>.x-svgicon,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title.x-navigation-item-only-child>.x-navigation-item-icon,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title.x-navigation-item-only-child>.x-svgicon{margin-right:0}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title{margin-block-start:var(--fd-gap-sm)}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item{display:flex}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item-disabled,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-disabled{background:none!important;cursor:not-allowed}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item-disabled:after,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-disabled:after{border-color:transparent!important}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item-disabled a,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-disabled a{color:inherit!important}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item-disabled>.x-navigation-submenu-title,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-disabled>.x-navigation-submenu-title{color:inherit!important;cursor:not-allowed}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu .x-navigation-submenu-expand-icon{color:currentColor;inset-inline-end:var(--fd-padding-lg);position:absolute;top:50%;transform:translateY(-50%);transition:transform .3s ease-out,opacity .3s;width:10px}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow:after,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow:before{background-color:var(--fd-color-icon-normal);border-radius:var(--fd-border-radius);content:"";height:1.5px;position:absolute;transition:transform .3s ease-out,background .3s ease-out,top .3s ease-out,color .3s ease-out;width:6px}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow:before{transform:rotate(45deg) translateY(-2.5px)}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow:after{transform:rotate(-45deg) translateY(2.5px)}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-item,.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu>.x-navigation-submenu-title{border-radius:var(--fd-border-radius-lg)}.x-navigation .x-navigation-submenu>.x-navigation .x-navigation-submenu-title:after{transition:transform .3s ease-out}.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow,.x-navigation .x-navigation-submenu .x-navigation-submenu-expand-icon{color:currentColor;inset-inline-end:var(--fd-padding-lg);position:absolute;top:50%;transform:translateY(-50%);transition:transform .3s ease-out,opacity .3s;width:10px}.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow:after,.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow:before{background-color:var(--fd-color-icon-normal);border-radius:var(--fd-border-radius);content:"";height:1.5px;position:absolute;transition:transform .3s ease-out,background .3s ease-out,top .3s ease-out,color .3s ease-out;width:6px}.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow:before{transform:rotate(45deg) translateY(-2.5px)}.x-navigation .x-navigation-submenu .x-navigation-submenu-arrow:after,.x-navigation .x-navigation-submenu-inline-collapsed .x-navigation-submenu-arrow:before,.x-navigation .x-navigation-submenu-inline.x-navigation-submenu>.x-navigation-submenu-title>.x-navigation-submenu-arrow:before{transform:rotate(-45deg) translateY(2.5px)}.x-navigation .x-navigation-submenu-inline-collapsed .x-navigation-submenu-arrow:after,.x-navigation .x-navigation-submenu-inline.x-navigation-submenu>.x-navigation-submenu-title>.x-navigation-submenu-arrow:after{transform:rotate(45deg) translateY(2.5px)}.x-navigation .x-navigation-submenu-open.x-navigation-submenu-inline>.x-navigation-submenu-title>.x-navigation-submenu-arrow{transform:translateY(-3px)}.x-navigation .x-navigation-submenu-open.x-navigation-submenu-inline>.x-navigation-submenu-title>.x-navigation-submenu-arrow:after{transform:rotate(-45deg) translate(-2.5px)}.x-navigation .x-navigation-submenu-open.x-navigation-submenu-inline>.x-navigation-submenu-title>.x-navigation-submenu-arrow:before{transform:rotate(45deg) translate(2.5px)}.x-navigation .x-navigation-submenu-list-enter{opacity:0}.x-navigation .x-navigation-submenu-list-enter-active{opacity:1;transition:all .3s ease-out}.x-navigation .x-navigation-submenu-list-exit{opacity:1}.x-navigation .x-navigation-submenu-list-exit-active{opacity:0;transition:all .3s ease-out}.x-navigation .x-navigation-submenu-list-exit-done{display:none}.x-navigation-inline,.x-navigation-vertical{overflow:hidden}.x-navigation-inline.x-navigation-root,.x-navigation-vertical.x-navigation-root{box-shadow:none;padding-bottom:var(--fd-padding-layout-xs);padding-top:var(--fd-padding-xs)}.x-navigation-inline .x-navigation-item,.x-navigation-vertical .x-navigation-item{overflow:hidden;position:relative}.x-navigation-inline .x-navigation-item,.x-navigation-inline .x-navigation-submenu-title,.x-navigation-vertical .x-navigation-item,.x-navigation-vertical .x-navigation-submenu-title{height:var(--fd-control-height-lg);line-height:var(--fd-line-height);overflow:hidden;text-overflow:ellipsis}.x-navigation-inline>.x-navigation-item,.x-navigation-inline>.x-navigation-submenu>.x-navigation-submenu-title,.x-navigation-vertical>.x-navigation-item,.x-navigation-vertical>.x-navigation-submenu>.x-navigation-submenu-title{height:var(--fd-control-height-lg);line-height:var(--fd-line-height)}.x-navigation-submenu-popup{border-radius:var(--fd-border-radius-lg)}.x-navigation-submenu-popup .x-navigation-vertical{border-radius:var(--fd-border-radius-lg);box-shadow:0 9px 28px 8px #0000000d,0 3px 6px -4px #0000001f,0 6px 16px #00000014;overflow:hidden}.x-navigation-submenu-popup .x-navigation-vertical .x-navigation-item{overflow:hidden;position:relative}.x-navigation-submenu-popup .x-navigation-vertical .x-navigation-item,.x-navigation-submenu-popup .x-navigation-vertical .x-navigation-submenu-title{height:var(--fd-control-height-lg);line-height:var(--fd-line-height);overflow:hidden;text-overflow:ellipsis}.x-navigation-submenu-popup .x-navigation-vertical>.x-navigation-item,.x-navigation-submenu-popup .x-navigation-vertical>.x-navigation-submenu>.x-navigation-submenu-title{height:var(--fd-control-height-lg);line-height:var(--fd-line-height)}.x-navigation-submenu-popup-right-appear,.x-navigation-submenu-popup-right-enter{animation:x-move-left .2s ease;animation-fill-mode:forwards}.x-navigation-submenu-popup-right-exit{animation:x-move-left .1s ease-in reverse;animation-fill-mode:forwards}.x-navigation-submenu-popup-left-appear,.x-navigation-submenu-popup-left-enter{animation:x-move-right .2s ease;animation-fill-mode:forwards}.x-navigation-submenu-popup-left-exit{animation:x-move-right .1s ease-in reverse;animation-fill-mode:forwards}.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub{border-right:0;overflow:hidden;padding:var(--fd-padding-xs)}.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub:not([class*=-active]){overflow-x:hidden;overflow-y:auto}.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub .x-navigation-item,.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub .x-navigation-submenu-title{margin:0;padding-inline:var(--fd-padding-lg)}.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub .x-navigation-item,.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub .x-navigation-submenu,.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub .x-navigation-submenu-title{margin-bottom:var(--fd-gap-sm)}.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub .x-navigation-item:last-child,.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub .x-navigation-submenu-title:last-child,.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub .x-navigation-submenu:last-child{margin-bottom:0}.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub .x-navigation-submenu-title .x-navigation-title-content{padding-right:var(--fd-padding-lg)}.x-navigation-submenu-popup .x-navigation-vertical.x-navigation-sub .x-navigation-item-group-title{margin-inline:var(--fd-padding-layout-xs);padding:var(--fd-padding-2xs) var(--fd-padding) 0 var(--fd-padding)}.x-navigation-inline{width:100%}.x-navigation-inline.x-navigation-root .x-navigation-item,.x-navigation-inline.x-navigation-root .x-navigation-submenu-title{align-items:center;display:flex;transition:border-color .3s,background .3s,padding .3s ease-out}.x-navigation-inline.x-navigation-root .x-navigation-item>.x-navigation-title-content,.x-navigation-inline.x-navigation-root .x-navigation-submenu-title>.x-navigation-title-content{flex:auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.x-navigation-inline.x-navigation-root .x-navigation-item>*,.x-navigation-inline.x-navigation-root .x-navigation-submenu-title>*{flex:none}.x-navigation-inline .x-navigation-sub.x-navigation-inline{border:0;border-radius:0;box-shadow:none}.x-navigation-inline .x-navigation-item,.x-navigation-inline .x-navigation-sub.x-navigation-inline>.x-navigation-submenu>.x-navigation-submenu-title{height:var(--fd-control-height-lg);line-height:var(--fd-line-height);list-style-position:inside;list-style-type:disc}.x-navigation-inline-collapsed{width:var(--fd-navigation-collapsed-width)}.x-navigation-inline-collapsed.x-navigation-root .x-navigation-item>.x-navigation-inline-collapsed-noicon,.x-navigation-inline-collapsed.x-navigation-root .x-navigation-submenu .x-navigation-submenu-title>.x-navigation-inline-collapsed-noicon{font-size:var(--fd-icon-size);text-align:center}.x-navigation-inline-collapsed>.x-navigation-item,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-item,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-submenu>.x-navigation-submenu-title,.x-navigation-inline-collapsed>.x-navigation-submenu>.x-navigation-submenu-title{inset-inline-start:0;padding-inline:calc(var(--fd-navigation-collapsed-width)/2 - var(--fd-icon-size)/2 - var(--fd-gap));text-overflow:clip}.x-navigation-inline-collapsed>.x-navigation-item .x-navigation-submenu-arrow,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-item .x-navigation-submenu-arrow,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-submenu>.x-navigation-submenu-title .x-navigation-submenu-arrow,.x-navigation-inline-collapsed>.x-navigation-submenu>.x-navigation-submenu-title .x-navigation-submenu-arrow{opacity:0}.x-navigation-inline-collapsed>.x-navigation-item .x-navigation-item-icon,.x-navigation-inline-collapsed>.x-navigation-item .x-svgicon,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-item .x-navigation-item-icon,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-item .x-svgicon,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-submenu>.x-navigation-submenu-title .x-navigation-item-icon,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-submenu>.x-navigation-submenu-title .x-svgicon,.x-navigation-inline-collapsed>.x-navigation-submenu>.x-navigation-submenu-title .x-navigation-item-icon,.x-navigation-inline-collapsed>.x-navigation-submenu>.x-navigation-submenu-title .x-svgicon{font-size:var(--fd-icon-size);line-height:var(--fd-line-height);margin:0}.x-navigation-inline-collapsed>.x-navigation-item .x-navigation-item-icon+span,.x-navigation-inline-collapsed>.x-navigation-item .x-svgicon+span,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-item .x-navigation-item-icon+span,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-item .x-svgicon+span,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-submenu>.x-navigation-submenu-title .x-navigation-item-icon+span,.x-navigation-inline-collapsed>.x-navigation-item-group>.x-navigation-item-group-list>.x-navigation-submenu>.x-navigation-submenu-title .x-svgicon+span,.x-navigation-inline-collapsed>.x-navigation-submenu>.x-navigation-submenu-title .x-navigation-item-icon+span,.x-navigation-inline-collapsed>.x-navigation-submenu>.x-navigation-submenu-title .x-svgicon+span{display:inline-block;opacity:0}.x-navigation-inline-collapsed .x-navigation-item-icon,.x-navigation-inline-collapsed .x-svgicon{display:inline-block}.x-navigation-inline-collapsed .x-navigation-tooltip{pointer-events:none}.x-navigation-inline-collapsed .x-navigation-tooltip .x-navigation-item-icon,.x-navigation-inline-collapsed .x-navigation-tooltip .x-svgicon{display:none}.x-navigation-inline-collapsed .x-navigation-tooltip a,.x-navigation-inline-collapsed .x-navigation-tooltip a:hover{color:var(--fd-color-text-light-solid)}.x-navigation-inline-collapsed .x-navigation-item-group-title{overflow:hidden;padding-inline:var(--fd-padding-xs);text-overflow:ellipsis;white-space:nowrap}.x-navigation-inline-collapsed .x-navigation-item-group-title-collapse{margin:var(--fd-gap-sm) var(--fd-padding-layout-xs) 0 var(--fd-padding-layout-xs);padding-block:var(--fd-padding-layout-xs);padding-inline:var(--fd-padding-xs)}.x-navigation-inline-collapsed .x-navigation-item-group-title-collapse .x-navigation-item-divider-line{border-color:var(--fd-color-split);border-style:solid;border-width:1px 0 0}.x-navigation-light,.x-navigation-light>.x-navigation{background:var(--fd-color-bg-container);color:var(--fd-color-text)}.x-navigation-light .x-navigation-item-group-title,.x-navigation-light>.x-navigation .x-navigation-item-group-title{color:var(--fd-color-text-description)}.x-navigation-light .x-navigation-submenu-selected>.x-navigation-submenu-title,.x-navigation-light .x-navigation-submenu-selected>.x-navigation-submenu-title .x-navigation-item-icon,.x-navigation-light>.x-navigation .x-navigation-submenu-selected>.x-navigation-submenu-title,.x-navigation-light>.x-navigation .x-navigation-submenu-selected>.x-navigation-submenu-title .x-navigation-item-icon{color:var(--fd-color-primary)}.x-navigation-light .x-navigation-item-disabled,.x-navigation-light .x-navigation-submenu-disabled,.x-navigation-light>.x-navigation .x-navigation-item-disabled,.x-navigation-light>.x-navigation .x-navigation-submenu-disabled{color:var(--fd-color-text-disabled)!important}.x-navigation-light .x-navigation-item:not(.x-navigation-item-selected):not(.x-navigation-submenu-selected):hover,.x-navigation-light .x-navigation-item:not(.x-navigation-item-selected):not(.x-navigation-submenu-selected)>.x-navigation-submenu-title:hover,.x-navigation-light>.x-navigation .x-navigation-item:not(.x-navigation-item-selected):not(.x-navigation-submenu-selected):hover,.x-navigation-light>.x-navigation .x-navigation-item:not(.x-navigation-item-selected):not(.x-navigation-submenu-selected)>.x-navigation-submenu-title:hover{color:var(--fd-color-text)}.x-navigation-light .x-navigation-item:not(.x-navigation-item-selected):hover,.x-navigation-light>.x-navigation .x-navigation-item:not(.x-navigation-item-selected):hover{background-color:var(--fd-color-bg-text-hover)}.x-navigation-light .x-navigation-item:not(.x-navigation-item-selected):active,.x-navigation-light>.x-navigation .x-navigation-item:not(.x-navigation-item-selected):active{background-color:var(--fd-color-bg-text-active)}.x-navigation-light .x-navigation-submenu-title:hover,.x-navigation-light>.x-navigation .x-navigation-submenu-title:hover{background-color:var(--fd-color-bg-text-hover)}.x-navigation-light .x-navigation-submenu-title:active,.x-navigation-light>.x-navigation .x-navigation-submenu-title:active{background-color:var(--fd-color-bg-text-active)}.x-navigation-light .x-navigation-item-danger,.x-navigation-light .x-navigation-item-danger.x-navigation-item:hover:not(.x-navigation-item-selected):not(.x-navigation-submenu-selected),.x-navigation-light>.x-navigation .x-navigation-item-danger,.x-navigation-light>.x-navigation .x-navigation-item-danger.x-navigation-item:hover:not(.x-navigation-item-selected):not(.x-navigation-submenu-selected){color:var(--fd-color-error)}.x-navigation-light .x-navigation-item-danger.x-navigation-item:active,.x-navigation-light>.x-navigation .x-navigation-item-danger.x-navigation-item:active{background:var(--fd-color-error)}.x-navigation-light .x-navigation-item a,.x-navigation-light .x-navigation-item a:hover,.x-navigation-light>.x-navigation .x-navigation-item a,.x-navigation-light>.x-navigation .x-navigation-item a:hover{color:inherit}.x-navigation-light .x-navigation-item-selected,.x-navigation-light>.x-navigation .x-navigation-item-selected{background-color:var(--fd-control-item-bg-active);color:var(--fd-color-primary)}.x-navigation-light .x-navigation-item-selected.x-navigation-item-danger,.x-navigation-light>.x-navigation .x-navigation-item-selected.x-navigation-item-danger{background-color:var(--fd-color-error-bg);color:var(--fd-color-error)}.x-navigation-light .x-navigation-item-selected a,.x-navigation-light .x-navigation-item-selected a:hover,.x-navigation-light>.x-navigation .x-navigation-item-selected a,.x-navigation-light>.x-navigation .x-navigation-item-selected a:hover{color:inherit}.x-navigation-light .x-navigation-item-selected .x-navigation-item-icon,.x-navigation-light>.x-navigation .x-navigation-item-selected .x-navigation-item-icon{color:var(--fd-color-primary)}.x-navigation-light.x-navigation-popup>.x-navigation,.x-navigation-light.x-navigation-submenu>.x-navigation,.x-navigation-light>.x-navigation.x-navigation-popup>.x-navigation,.x-navigation-light>.x-navigation.x-navigation-submenu>.x-navigation{background-color:var(--fd-color-bg-elevated)}.x-navigation-light.x-navigation-inline .x-navigation-item,.x-navigation-light>.x-navigation.x-navigation-inline .x-navigation-item{position:relative}.x-navigation-light.x-navigation-inline .x-navigation-item.x-navigation-item-danger:after,.x-navigation-light>.x-navigation.x-navigation-inline .x-navigation-item.x-navigation-item-danger:after{border-inline-end-color:var(--fd-color-error)}.x-navigation-light.x-navigation-inline .x-navigation-item-selected:after,.x-navigation-light.x-navigation-inline .x-navigation-selected:after,.x-navigation-light>.x-navigation.x-navigation-inline .x-navigation-item-selected:after,.x-navigation-light>.x-navigation.x-navigation-inline .x-navigation-selected:after{opacity:1;transform:scaleY(1);transition:transform .3s ease-out,opacity .3s ease-out}.x-carousel{overflow:hidden;position:relative}.x-carousel-content{height:100%;overflow:hidden;position:relative;width:100%}.x-carousel-content>.x-carousel-content-item{height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.x-carousel-content>.x-carousel-content-item-current{z-index:1}.x-carousel-content>.x-carousel-content-fade>*{opacity:0}.x-carousel-content>.x-carousel-content-fade .x-carousel-content-item-current{opacity:1}.x-carousel-content>.x-carousel-content-slide>:not(.x-carousel-content-item-current){visibility:hidden}.x-carousel-content>.x-carousel-content-slide .x-carousel-content-item-slide-out{animation:x-carousel-content-item-keyframe-slide-out;animation-fill-mode:forwards;display:block}.x-carousel-content>.x-carousel-content-slide .x-carousel-content-item-slide-in{animation:x-carousel-content-item-keyframe-slide-in;animation-fill-mode:forwards;display:block}.x-carousel-content>.x-carousel-content-reverse .x-carousel-content-item-slide-out{animation:x-carousel-content-item-keyframe-slide-out-reverse;animation-fill-mode:forwards}.x-carousel-content>.x-carousel-content-reverse .x-carousel-content-item-slide-in{animation:x-carousel-content-item-keyframe-slide-in-reverse;animation-fill-mode:forwards}.x-carousel-indicator{align-items:flex-end;z-index:2}.x-carousel-indicator,.x-carousel-indicator-left{display:flex}.x-carousel-indicator-left{flex-direction:column;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.x-carousel-indicator-left .x-carousel-indicator-item{height:16px;width:3px}.x-carousel-indicator-left .x-carousel-indicator-item .x-carousel-indicator-item-active{height:24px}.x-carousel-indicator-left .x-carousel-indicator-item:not(:last-child){margin-bottom:var(--fd-gap)}.x-carousel-indicator-bottom{bottom:12px;left:50%;position:absolute;transform:translate(-50%)}.x-carousel-indicator-bottom .x-carousel-indicator-item{height:3px;width:16px}.x-carousel-indicator-bottom .x-carousel-indicator-item.x-carousel-indicator-item-active{width:24px}.x-carousel-indicator-bottom .x-carousel-indicator-item:not(:last-child){margin-right:var(--fd-gap)}.x-carousel-indicator-top{left:50%;position:absolute;top:12px;transform:translate(-50%)}.x-carousel-indicator-top .x-carousel-indicator-item{height:3px;width:16px}.x-carousel-indicator-top .x-carousel-indicator-item.x-carousel-indicator-item-active{width:24px}.x-carousel-indicator-top .x-carousel-indicator-item:not(:last-child){margin-right:var(--fd-gap)}.x-carousel-indicator-right{display:flex;flex-direction:column;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.x-carousel-indicator-right .x-carousel-indicator-item{height:16px;width:3px}.x-carousel-indicator-right .x-carousel-indicator-item.x-carousel-indicator-item-active{height:24px}.x-carousel-indicator-right .x-carousel-indicator-item:not(:last-child){margin-bottom:var(--fd-gap)}.x-carousel-indicator-line .x-carousel-indicator-item{background-color:var(--fd-color-bg-container);border-radius:var(--fd-border-radius-xs);cursor:pointer;opacity:.3}.x-carousel-indicator-line .x-carousel-indicator-item.x-carousel-indicator-item-active,.x-carousel-indicator-line .x-carousel-indicator-item:active,.x-carousel-indicator-line .x-carousel-indicator-item:hover{opacity:1}@keyframes x-carousel-content-item-keyframe-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes x-carousel-content-item-keyframe-slide-out{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes x-carousel-content-item-keyframe-slide-in-reverse{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes x-carousel-content-item-keyframe-slide-out-reverse{0%{transform:translate(0)}to{transform:translate(100%)}}:root{--fd-color-brand-1:#e6f8f5;--fd-color-brand-2:#b3eae0;--fd-color-brand-3:#99e3d6;--fd-color-brand-4:#80dccc;--fd-color-brand-5:#4dcdb8;--fd-color-brand-6:#00b899;--fd-color-brand-7:#00937a;--fd-color-brand-8:#006e5c;--fd-color-brand-9:#004a3d;--fd-color-brand-10:#00372e;--fd-color-error-1:#fdeeee;--fd-color-error-2:#f9cbcb;--fd-color-error-3:#f7b9b9;--fd-color-error-4:#f5a8a8;--fd-color-error-5:#f18585;--fd-color-error-6:#eb5050;--fd-color-error-7:#bc4040;--fd-color-error-8:#8d3030;--fd-color-error-9:#5e2020;--fd-color-error-10:#471818;--fd-color-warning-1:#fef6e6;--fd-color-warning-2:#fbe5b3;--fd-color-warning-3:#f9dc99;--fd-color-warning-4:#f8d480;--fd-color-warning-5:#f5c24d;--fd-color-warning-6:#f0a800;--fd-color-warning-7:#c08600;--fd-color-warning-8:#906500;--fd-color-warning-9:#604300;--fd-color-warning-10:#483200;--fd-color-success-1:#edf9f1;--fd-color-success-2:#c8edd4;--fd-color-success-3:#b5e7c5;--fd-color-success-4:#a3e1b7;--fd-color-success-5:#7ed49a;--fd-color-success-6:#46c26f;--fd-color-success-7:#389b59;--fd-color-success-8:#2a7443;--fd-color-success-9:#1c4e2c;--fd-color-success-10:#153a21;--fd-color-info-1:#eaf2fd;--fd-color-info-2:#c1d8f9;--fd-color-info-3:#accbf7;--fd-color-info-4:#97bef5;--fd-color-info-5:#6da4f1;--fd-color-info-6:#2f7deb;--fd-color-info-7:#2664bc;--fd-color-info-8:#1c4b8d;--fd-color-info-9:#13325e;--fd-color-info-10:#0e2647;--fd-color-grey-1:#fff;--fd-color-grey-2:#f5f6f8;--fd-color-grey-3:#f0f1f4;--fd-color-grey-4:#edeff3;--fd-color-grey-5:#e6e8ed;--fd-color-grey-6:#ebecee;--fd-color-grey-7:#e1e3e5;--fd-color-grey-8:#d7d9dc;--fd-color-grey-9:#b5b8be;--fd-color-grey-10:#838892;--fd-color-grey-11:#525967;--fd-color-grey-12:#141e31;--fd-color-grey-13:#000;--fd-color-transparent-1:#000;--fd-color-transparent-2:rgba(0,10,31,.92);--fd-color-transparent-3:rgba(1,11,31,.68);--fd-color-transparent-4:rgba(2,12,33,.49);--fd-color-transparent-5:rgba(0,10,31,.29);--fd-color-transparent-6:rgba(5,18,36,.16);--fd-color-transparent-7:rgba(5,22,38,.12);--fd-color-transparent-8:rgba(5,17,42,.08);--fd-color-transparent-9:rgba(5,25,75,.1);--fd-color-transparent-10:rgba(30,55,105,.08);--fd-color-transparent-11:rgba(5,22,72,.06);--fd-color-transparent-12:rgba(5,30,80,.04);--fd-color-transparent-13:transparent;--fd-border-radius-xs:2px;--fd-border-radius-sm:3px;--fd-border-radius:4px;--fd-border-radius-lg:6px;--fd-border-radius-xl:8px;--fd-gap-xs:2px;--fd-gap-sm:4px;--fd-gap:8px;--fd-gap-lg:10px;--fd-gap-xl:12px;--fd-gap-2xl:16px;--fd-gap-3xl:20px;--fd-gap-4xl:24px;--fd-gap-5xl:32px;--fd-padding-layout-3xs:2px;--fd-padding-layout-2xs:4px;--fd-padding-layout-xs:8px;--fd-padding-layout-sm:12px;--fd-padding-layout:16px;--fd-padding-layout-lg:20px;--fd-padding-layout-xl:24px;--fd-padding-layout-2xl:32px;--fd-padding-layout-3xl:48px;--fd-padding-zero:0;--fd-padding-2xs:2px;--fd-padding-xs:4px;--fd-padding-sm:6px;--fd-padding:8px;--fd-padding-lg:12px;--fd-padding-xl:16px;--fd-padding-2xl:20px;--fd-padding-3xl:24px;--fd-padding-4xl:32px;--fd-control-height-xs:16px;--fd-control-height-sm:24px;--fd-control-height:32px;--fd-control-height-lg:40px;--fd-font-size-sm:12px;--fd-font-size:14px;--fd-font-size-lg:16px;--fd-font-size-xl:18px;--fd-font-size-2xl:20px;--fd-font-size-heading-1:38px;--fd-font-size-heading-2:30px;--fd-font-size-heading-3:24px;--fd-font-size-heading-4:20px;--fd-font-size-heading-5:16px;--fd-control-item-font-weight-active:400;--fd-icon-size-2sm:12px;--fd-icon-size-sm:14px;--fd-icon-size:16px;--fd-icon-size-lg:18px;--fd-line-height-sm:20px;--fd-line-height:22px;--fd-line-height-lg:24px;--fd-line-height-xl:26px;--fd-line-height-2xl:28px;--fd-line-height-heading-1:46px;--fd-line-height-heading-2:38px;--fd-line-height-heading-3:32px;--fd-line-height-heading-4:28px;--fd-line-height-heading-5:24px;--fd-line-width:1px;--fd-line-width-bold:2px;--fd-line-width-focus:4px;--fd-control-outline-width:2px;--fd-color-primary:var(--fd-color-brand-6);--fd-color-primary-active:var(--fd-color-brand-7);--fd-color-primary-hover:var(--fd-color-brand-5);--fd-color-primary-bg:var(--fd-color-brand-1);--fd-color-primary-bg-active:var(--fd-color-brand-3);--fd-color-primary-bg-hover:var(--fd-color-brand-2);--fd-color-primary-border:var(--fd-color-brand-3);--fd-color-primary-border-hover:var(--fd-color-brand-4);--fd-color-primary-text:var(--fd-color-brand-6);--fd-color-primary-text-active:var(--fd-color-brand-7);--fd-color-primary-text-hover:var(--fd-color-brand-5);--fd-color-link:var(--fd-color-brand-6);--fd-color-link-active:var(--fd-color-brand-7);--fd-color-link-hover:var(--fd-color-brand-4);--fd-color-control-outline:rgba(0,184,153,.1);--fd-color-info:var(--fd-color-info-6);--fd-color-info-active:var(--fd-color-info-7);--fd-color-info-hover:var(--fd-color-info-4);--fd-color-info-bg:var(--fd-color-info-1);--fd-color-info-bg-hover:var(--fd-color-info-2);--fd-color-info-border:var(--fd-color-info-3);--fd-color-info-border-hover:var(--fd-color-info-4);--fd-color-info-text:var(--fd-color-info-6);--fd-color-info-text-active:var(--fd-color-info-7);--fd-color-info-text-hover:var(--fd-color-info-5);--fd-color-success:var(--fd-color-success-6);--fd-color-success-active:var(--fd-color-success-7);--fd-color-success-hover:var(--fd-color-success-4);--fd-color-success-bg:var(--fd-color-success-1);--fd-color-success-bg-hover:var(--fd-color-success-2);--fd-color-success-border:var(--fd-color-success-3);--fd-color-success-border-hover:var(--fd-color-success-4);--fd-color-success-text:var(--fd-color-success-6);--fd-color-success-text-active:var(--fd-color-success-7);--fd-color-success-text-hover:var(--fd-color-success-5);--fd-color-warning:var(--fd-color-warning-6);--fd-color-warning-active:var(--fd-color-warning-7);--fd-color-warning-hover:var(--fd-color-warning-4);--fd-color-warning-bg:var(--fd-color-warning-1);--fd-color-warning-bg-hover:var(--fd-color-warning-2);--fd-color-warning-border:var(--fd-color-warning-3);--fd-color-warning-border-hover:var(--fd-color-warning-4);--fd-color-warning-text:var(--fd-color-warning-6);--fd-color-warning-text-active:var(--fd-color-warning-7);--fd-color-warning-text-hover:var(--fd-color-warning-5);--fd-color-warning-outline:rgba(240,168,0,.1);--fd-color-error:var(--fd-color-error-6);--fd-color-error-active:var(--fd-color-error-7);--fd-color-error-hover:var(--fd-color-error-5);--fd-color-error-bg:var(--fd-color-error-1);--fd-color-error-bg-hover:var(--fd-color-error-2);--fd-color-error-bg-active:var(--fd-color-error-3);--fd-color-error-border:var(--fd-color-error-3);--fd-color-error-border-hover:var(--fd-color-error-4);--fd-color-error-text:var(--fd-color-error-6);--fd-color-error-text-active:var(--fd-color-error-7);--fd-color-error-text-hover:var(--fd-color-error-5);--fd-color-error-outline:rgba(235,80,80,.06);--fd-color-white:#fff;--fd-color-black:#000;--fd-color-transparent:var(--fd-color-transparent-13);--fd-color-text:var(--fd-color-transparent-2);--fd-color-text-secondary:var(--fd-color-transparent-3);--fd-color-text-tertiary:var(--fd-color-transparent-4);--fd-color-text-quaternary:var(--fd-color-transparent-5);--fd-color-text-placeholder:var(--fd-color-text-quaternary);--fd-color-text-description:var(--fd-color-text-tertiary);--fd-color-text-disabled:var(--fd-color-text-quaternary);--fd-color-text-data-disabled:var(--fd-color-text-disabled);--fd-color-text-heading:var(--fd-color-text);--fd-color-text-light-solid:#fff;--fd-color-text-label:var(--fd-color-text-secondary);--fd-color-text-active:var(--fd-color-fill);--fd-color-fill:var(--fd-color-transparent-7);--fd-color-fill-secondary:var(--fd-color-transparent-9);--fd-color-fill-tertiary:var(--fd-color-transparent-11);--fd-color-fill-quaternary:var(--fd-color-transparent-12);--fd-color-bg-container:var(--fd-color-white);--fd-color-bg-container-disabled:var(--fd-color-fill-quaternary);--fd-color-bg-elevated:#fff;--fd-color-bg-spotlight:var(--fd-color-transparent-3);--fd-color-bg-mask:var(--fd-color-transparent-5);--fd-control-item-bg-hover:var(--fd-color-fill-tertiary);--fd-control-item-bg-active:var(--fd-color-primary-bg);--fd-control-item-bg-active-hover:var(--fd-color-primary-bg-hover);--fd-control-item-bg-active-disabled:var(--fd-color-fill-secondary);--fd-color-bg-text-hover:var(--fd-color-fill-quaternary);--fd-color-bg-text-active:var(--fd-color-fill-tertiary);--fd-color-fill-alter:var(--fd-color-fill-quaternary);--fd-color-fill-content:var(--fd-color-fill-secondary);--fd-color-icon:var(--fd-color-text-tertiary);--fd-color-icon-hover:var(--fd-color-text-secondary);--fd-color-icon-active:var(--fd-color-text);--fd-color-icon-normal:var(--fd-color-text-secondary);--fd-color-icon-disabled:var(--fd-color-transparent-7);--fd-color-border:var(--fd-color-grey-5);--fd-color-border-secondary:var(--fd-color-grey-4);--fd-color-split:var(--fd-color-border-secondary);--fd-box-shadow:0 0 0 0 #000,0 6px 30px 5px rgba(0,0,0,.05),0 16px 24px 2px rgba(0,0,0,.04),0 0 0 0 #000;--fd-box-shadow-secondary:0 0 0 0 #000,0 3px 14px 2px rgba(0,0,0,.05),0 6px 10px 1px rgba(0,0,0,.06),0 0 0 0 #000;--fd-box-shadow-tertiary:0 0 0 0 #000,0 2px 10px 0 rgba(0,0,0,.04),0 6px 10px 0 rgba(0,0,0,.06),0 0 0 0 #000}*,:after,:before{box-sizing:content-box}.-translate-y-full,.group-\\[\\.v-wrapper\\]\\:rotate-90,.rotate-180,.rotate-90,.transform,.translate-x-1\\/2,.translate-x-\\[-50\\%\\],.translate-y-\\[-50\\%\\]{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1}.shadow-lg{--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.solid-border{border-color:var(--fd-color-border);border-style:solid;border-width:1px}.solid-border-l{border-color:var(--fd-color-border);border-width:0;border-left-width:1px!important;border-style:solid}.solid-border-r{border-color:var(--fd-color-border);border-width:0;border-right-width:1px!important;border-style:solid}.solid-border-t{border-color:var(--fd-color-border);border-style:solid;border-width:0;border-top-width:1px!important}.solid-border-b{border-width:0;border-bottom-width:1px!important;border-color:var(--fd-color-border);border-style:solid}.text-ellipse{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collapse{visibility:collapse}.static{position:static}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.bottom-\\[-6px\\]{bottom:-6px}.bottom-layoutSm{bottom:var(--fd-padding-layout-sm)}.left-1\\/2{left:50%}.left-\\[12px\\]{left:12px}.right-0{right:0}.right-\\[-2px\\]{right:-2px}.right-layoutSm{right:var(--fd-padding-layout-sm)}.top-1\\/2{top:50%}.top-\\[12px\\]{top:12px}.z-\\[1\\]{z-index:1}.m-\\[4px_8px\\]{margin:4px 8px}.m-gap{margin:var(--fd-gap)}.mx-layoutSm{margin-left:var(--fd-padding-layout-sm);margin-right:var(--fd-padding-layout-sm)}.\\!ml-\\[0\\]{margin-left:0!important}.\\!ml-gap{margin-left:var(--fd-gap)!important}.-mt-\\[12px\\]{margin-top:-12px}.mb-\\[10px\\]{margin-bottom:10px}.mb-layoutXs{margin-bottom:var(--fd-padding-layout-xs)}.ml-auto{margin-left:auto}.mt-\\[10px\\]{margin-top:10px}.mt-gap{margin-top:var(--fd-gap)}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.h-\\[16px\\]{height:16px}.h-\\[18px\\]{height:18px}.h-\\[20px\\]{height:20px}.h-control{height:var(--fd-control-height)}.h-full{height:100%}.max-h-\\[164px\\]{max-height:164px}.min-h-\\[0\\]{min-height:0}.w-\\[16px\\]{width:16px}.w-\\[18px\\]{width:18px}.w-\\[200px\\]{width:200px}.w-\\[20px\\]{width:20px}.w-\\[24px\\]{width:24px}.w-\\[30px\\]{width:30px}.w-full{width:100%}.min-w-0{min-width:0}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.basis-\\[30px\\]{flex-basis:30px}.basis-\\[60px\\]{flex-basis:60px}.-translate-y-full{--tw-translate-y:-100%}.-translate-y-full,.translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1\\/2{--tw-translate-x:50%}.translate-x-\\[-50\\%\\]{--tw-translate-x:-50%}.translate-x-\\[-50\\%\\],.translate-y-\\[-50\\%\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[-50\\%\\]{--tw-translate-y:-50%}.rotate-180{--tw-rotate:180deg}.rotate-180,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded{border-radius:var(--fd-border-radius)}.rounded-\\[50\\%\\]{border-radius:50%}.rounded-lg{border-radius:var(--fd-border-radius-lg)}.rounded-xl{border-radius:var(--fd-border-radius-xl)}.rounded-ee-\\[0\\]{border-end-end-radius:0}.rounded-ee-xl{border-end-end-radius:var(--fd-border-radius-xl)}.rounded-es-\\[0\\]{border-end-start-radius:0}.rounded-es-lg{border-end-start-radius:var(--fd-border-radius-lg)}.rounded-se-\\[0\\]{border-start-end-radius:0}.rounded-se-xl{border-start-end-radius:var(--fd-border-radius-xl)}.rounded-ss-\\[0\\]{border-start-start-radius:0}.rounded-ss-lg{border-start-start-radius:var(--fd-border-radius-lg)}.border{border-width:1px}.\\!border-r-transparent{border-right-color:transparent!important}.bg-container{background-color:var(--fd-color-bg-container)}.bg-container-disabled{background-color:var(--fd-color-bg-container-disabled)}.bg-error{background-color:var(--fd-color-error)}.bg-fill-quaternary{background-color:var(--fd-color-fill-quaternary)}.bg-fill-secondary{background-color:var(--fd-color-fill-secondary)}.bg-text-active{background-color:var(--fd-color-bg-text-active)}.p-\\[4px_0\\]{padding:4px 0}.p-\\[4px_8px\\]{padding:4px 8px}.px-\\[4px\\]{padding-left:4px;padding-right:4px}.px-layoutSm{padding-left:var(--fd-padding-layout-sm);padding-right:var(--fd-padding-layout-sm)}.py-\\[4px\\]{padding-bottom:4px;padding-top:4px}.py-gap{padding-bottom:var(--fd-gap);padding-top:var(--fd-gap)}.pt-layoutXs{padding-top:var(--fd-padding-layout-xs)}.text-center{text-align:center}.align-\\[-0\\.14em\\]{vertical-align:-.14em}.\\!text{font-size:var(--fd-font-size)!important}.text{font-size:var(--fd-font-size)}.text-lg{font-size:var(--fd-font-size-lg)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.leading{line-height:var(--fd-line-height)}.leading-\\[14px\\]{line-height:14px}.text-disabled{color:var(--fd-color-text-disabled)}.text-error{color:var(--fd-color-error)}.text-icon{color:var(--fd-color-icon-normal)}.text-lightSolid{color:var(--fd-color-text-light-solid)}.text-search{color:var(--fd-color-warning)}.text-text{color:var(--fd-color-text)}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.ease-linear{transition-timing-function:linear}.x-search-input .input-wrapper{height:calc(var(--fd-control-height-sm) + 2px)}.x-search-input .input-wrapper .input-content{inset:1px;line-height:0}.\\[\\&\\>\\.leaf-node\\]\\:solid-border>.leaf-node{border-color:var(--fd-color-border);border-style:solid;border-width:1px}.after\\:hidden:after{content:var(--tw-content);display:none}.hover\\:bg-fill-secondary:hover{background-color:var(--fd-color-fill-secondary)}.hover\\:bg-text-hover:hover{background-color:var(--fd-color-bg-text-hover)}.hover\\:text-primary:hover{color:var(--fd-color-primary)}.active\\:bg-text-active:active{background-color:var(--fd-color-bg-text-active)}.group:hover .group-hover-\\[\\.h-wrapper\\]\\:text-primary{color:var(--fd-color-primary)}.group.h-wrapper .group-\\[\\.h-wrapper\\]\\:mt-\\[6px\\]{margin-top:6px}.group.v-wrapper .group-\\[\\.v-wrapper\\]\\:ml-\\[12px\\]{margin-left:12px}.group.h-wrapper .group-\\[\\.h-wrapper\\]\\:inline-block{display:inline-block}.group.h-wrapper .group-\\[\\.h-wrapper\\]\\:w-full{width:100%}.group.v-wrapper .group-\\[\\.v-wrapper\\]\\:rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group.h-wrapper .group-\\[\\.h-wrapper\\]\\:text-center{text-align:center}.\\[\\&\\>\\.fd-svgicon\\]\\:h-\\[16px\\]>.fd-svgicon{height:16px}.\\[\\&\\>\\.fd-svgicon\\]\\:text-\\[16px\\]>.fd-svgicon{font-size:16px}.\\[\\&\\>\\.item-icon\\]\\:\\!text-error>.item-icon{color:var(--fd-color-error)!important}.\\[\\&\\>\\.leaf-node\\]\\:flex-1>.leaf-node{flex:1 1 0%}.\\[\\&\\>\\.leaf-node\\]\\:rounded-lg>.leaf-node{border-radius:var(--fd-border-radius-lg)}.\\[\\&\\>\\.logic-wrapper\\]\\:m-\\[0\\]>.logic-wrapper{margin:0}.\\[\\&_\\.x-list-tree\\]\\:overflow-x-hidden .x-list-tree{overflow-x:hidden}:where(.fdi-global-adaptor *){border-width:0;border-style:solid}:where(.fdi-global-adaptor *) img{display:inline}.fdi-global-adaptor *{box-sizing:border-box}#fdi-data-choose{width:100%;height:100%}ul{margin:0}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.fdi-component-font-sm,.fdi-component-font-md{font-size:12px;line-height:20px}.fdi-component-font-lg{font-size:14px;line-height:22px}.fdi-component-font-xl{font-size:16px;line-height:24px}.fdi-component-font-xxl{font-size:18px;line-height:26px}.fdi-component-title-sm{font-size:12px;line-height:20px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;font-weight:600}.fdi-component-title-lg{font-size:14px;line-height:22px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;font-weight:600}.fdi-component-border-0{border-width:0px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(218 222 231 / var(--tw-border-opacity))}.fdi-component-border-1{border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(218 222 231 / var(--tw-border-opacity))}.fdi-component-border-r{border-width:0px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(218 222 231 / var(--tw-border-opacity));border-right-width:1px}.fdi-component-border-t{border-width:0px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(218 222 231 / var(--tw-border-opacity));border-top-width:1px}.fdi-component-border-b{border-width:0px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(218 222 231 / var(--tw-border-opacity));border-bottom-width:1px}.fdi-component-border-transparent{border-width:1px;border-style:solid;border-color:transparent}.fdi-component-border-normal{border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(230 233 239 / var(--tw-border-opacity))}.fdi-component-keyword-highlight{background-color:transparent;--tw-text-opacity: 1;color:rgb(240 172 60 / var(--tw-text-opacity))}.fdi-component-text-placeholder{color:#091e4078}.fdi-component-text-secondary{color:#091e40a8}.fdi-component-flex-col-layout{display:flex;height:100%;width:100%;flex-direction:column}.fdi-component-absolute-0-layout{position:absolute;inset:0}.fdi-component-center-layout{display:flex;align-items:center;justify-content:center}.fdi-component-flex-h-fill-layout{height:0px;flex:1 1 0%}.fdi-component-flex-w-fill-layout{width:0px;flex:1 1 0%}.fdi-component-grid-auto-fill-layout{display:grid;grid-template-columns:auto minmax(0,1fr)}.fdi-component-list-item{cursor:pointer;border-radius:.25rem}.fdi-component-list-item:hover{--tw-bg-opacity: 1;background-color:rgb(238 241 246 / var(--tw-bg-opacity))}.fdi-component-list-item:active{--tw-bg-opacity: 1;background-color:rgb(230 233 239 / var(--tw-bg-opacity))}.fdi-component-list-item.selected{--tw-bg-opacity: 1;background-color:rgb(229 239 255 / var(--tw-bg-opacity))}.fdi-component-active-tag{--tw-bg-opacity: 1;background-color:rgb(229 239 255 / var(--tw-bg-opacity));font-weight:600;--tw-text-opacity: 1;color:rgb(44 96 219 / var(--tw-text-opacity))}.fdi-pointer-events-none{pointer-events:none}.fdi-visible{visibility:visible}.fdi-invisible{visibility:hidden}.fdi-fixed{position:fixed}.fdi-absolute{position:absolute}.fdi-relative{position:relative}.fdi-inset-0{inset:0}.fdi-bottom-0{bottom:0}.fdi-left-0{left:0}.fdi-left-4{left:1rem}.fdi-left-\\[4px\\]{left:4px}.fdi-left-md{left:8px}.fdi-right-0{right:0}.fdi-right-4{right:1rem}.fdi-right-lg{right:12px}.fdi-right-xl{right:16px}.fdi-top-0{top:0}.fdi-top-1\\/2{top:50%}.fdi-top-24{top:6rem}.fdi-top-\\[28px\\]{top:28px}.fdi-top-\\[32px\\]{top:32px}.fdi-top-\\[34px\\]{top:34px}.fdi-top-lg{top:12px}.fdi-top-sm{top:4px}.fdi-top-xl{top:16px}.fdi-z-0{z-index:0}.fdi-z-10{z-index:10}.fdi-m-0{margin:0}.fdi-m-6{margin:1.5rem}.fdi-m-\\[8px\\]{margin:8px}.fdi-mx-lg{margin-left:10px;margin-right:10px}.fdi-mx-md{margin-left:8px;margin-right:8px}.fdi-my-0{margin-top:0;margin-bottom:0}.fdi-mb-2{margin-bottom:.5rem}.fdi-mb-6{margin-bottom:1.5rem}.fdi-mb-\\[-16px\\]{margin-bottom:-16px}.fdi-mb-\\[20px\\]{margin-bottom:20px}.fdi-mb-\\[36px\\]{margin-bottom:36px}.fdi-mb-md{margin-bottom:8px}.fdi-mb-sm{margin-bottom:6px}.fdi-mb-xl{margin-bottom:12px}.fdi-mb-xxl{margin-bottom:16px}.fdi-ml-1{margin-left:.25rem}.fdi-ml-\\[4px\\]{margin-left:4px}.fdi-ml-lg{margin-left:10px}.fdi-ml-md{margin-left:8px}.fdi-ml-xl{margin-left:12px}.fdi-ml-xs{margin-left:2px}.fdi-mr-\\[4px\\]{margin-right:4px}.fdi-mr-\\[6px\\]{margin-right:6px}.fdi-mr-\\[9px\\]{margin-right:9px}.fdi-mr-md{margin-right:8px}.fdi-mr-sm{margin-right:6px}.fdi-mt-5{margin-top:1.25rem}.fdi-mt-md{margin-top:8px}.fdi-mt-sm{margin-top:6px}.fdi-mt-xl{margin-top:12px}.fdi-mt-xs{margin-top:2px}.fdi-mt-xxl{margin-top:16px}.fdi-box-border{box-sizing:border-box}.fdi-line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.fdi-line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.fdi-line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.fdi-block{display:block}.fdi-inline-block{display:inline-block}.fdi-flex{display:flex}.fdi-inline-flex{display:inline-flex}.fdi-hidden{display:none}.fdi-h-4{height:1rem}.fdi-h-6{height:1.5rem}.fdi-h-\\[120px\\]{height:120px}.fdi-h-\\[14px\\]{height:14px}.fdi-h-\\[20px\\]{height:20px}.fdi-h-\\[24px\\]{height:24px}.fdi-h-\\[28px\\]{height:28px}.fdi-h-\\[32px\\]{height:32px}.fdi-h-\\[36px\\]{height:36px}.fdi-h-\\[40px\\]{height:40px}.fdi-h-\\[420px\\]{height:420px}.fdi-h-auto{height:auto}.fdi-h-full{height:100%}.fdi-max-h-\\[232px\\]{max-height:232px}.fdi-max-h-\\[278px\\]{max-height:278px}.fdi-max-h-\\[300px\\]{max-height:300px}.fdi-max-h-\\[428px\\]{max-height:428px}.fdi-max-h-\\[450px\\]{max-height:450px}.fdi-min-h-\\[280px\\]{min-height:280px}.fdi-w-4{width:1rem}.fdi-w-\\[100px\\]{width:100px}.fdi-w-\\[116px\\]{width:116px}.fdi-w-\\[120px\\]{width:120px}.fdi-w-\\[160px\\]{width:160px}.fdi-w-\\[176px\\]{width:176px}.fdi-w-\\[200px\\]{width:200px}.fdi-w-\\[236px\\]{width:236px}.fdi-w-\\[240px\\]{width:240px}.fdi-w-\\[252px\\]{width:252px}.fdi-w-\\[36px\\]{width:36px}.fdi-w-\\[370px\\]{width:370px}.fdi-w-\\[3px\\]{width:3px}.fdi-w-\\[400px\\]{width:400px}.fdi-w-\\[408px\\]{width:408px}.fdi-w-\\[424px\\]{width:424px}.fdi-w-\\[68px\\]{width:68px}.fdi-w-\\[80px\\]{width:80px}.fdi-w-full{width:100%}.fdi-min-w-\\[40px\\]{min-width:40px}.fdi-max-w-\\[200px\\]{max-width:200px}.fdi-max-w-\\[238px\\]{max-width:238px}.fdi-max-w-full{max-width:100%}.fdi-flex-0{flex:0 0 auto}.fdi-flex-1{flex:1 1 0%}.fdi-flex-none{flex:none}.fdi-flex-shrink-0{flex-shrink:0}.fdi-shrink{flex-shrink:1}.fdi-shrink-0{flex-shrink:0}.fdi-grow{flex-grow:1}.fdi--translate-y-2\\/4{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.fdi-rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.fdi-cursor-default{cursor:default}.fdi-cursor-move{cursor:move}.fdi-cursor-pointer{cursor:pointer}.fdi-flex-col{flex-direction:column}.fdi-flex-wrap{flex-wrap:wrap}.fdi-items-start{align-items:flex-start}.fdi-items-center{align-items:center}.fdi-items-stretch{align-items:stretch}.\\!fdi-justify-start{justify-content:flex-start!important}.fdi-justify-start{justify-content:flex-start}.fdi-justify-end{justify-content:flex-end}.fdi-justify-center{justify-content:center}.fdi-justify-between{justify-content:space-between}.fdi-justify-stretch{justify-content:stretch}.\\!fdi-gap-1{gap:.25rem!important}.fdi-gap-5{gap:1.25rem}.fdi-gap-\\[2px\\]{gap:2px}.fdi-gap-\\[32px\\]{gap:32px}.fdi-gap-\\[4px\\]{gap:4px}.fdi-gap-\\[8px\\]{gap:8px}.fdi-gap-lg{gap:10px}.fdi-gap-md{gap:8px}.fdi-gap-sm{gap:6px}.fdi-gap-xl{gap:12px}.fdi-gap-xxl{gap:16px}.fdi-gap-x-\\[6px\\]{-moz-column-gap:6px;column-gap:6px}.fdi-self-start{align-self:flex-start}.fdi-self-center{align-self:center}.fdi-overflow-auto{overflow:auto}.fdi-overflow-hidden{overflow:hidden}.fdi-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fdi-whitespace-break-spaces{white-space:break-spaces}.fdi-break-all{word-break:break-all}.\\!fdi-rounded-xs{border-radius:2px!important}.fdi-rounded{border-radius:.25rem}.fdi-rounded-lg{border-radius:6px}.fdi-rounded-xl{border-radius:8px}.fdi-rounded-b-sm{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.fdi-rounded-bl-xl{border-bottom-left-radius:8px}.fdi-rounded-br-xl{border-bottom-right-radius:8px}.fdi-border{border-width:1px}.fdi-border-b{border-bottom-width:1px}.fdi-border-l{border-left-width:1px}.fdi-border-r{border-right-width:1px}.fdi-border-t-2{border-top-width:2px}.fdi-border-none{border-style:none}.fdi-border-brand-light-4{--tw-border-opacity: 1;border-color:rgb(135 176 247 / var(--tw-border-opacity))}.fdi-border-neutral-light-3{--tw-border-opacity: 1;border-color:rgb(230 233 239 / var(--tw-border-opacity))}.fdi-border-neutral-light-4{--tw-border-opacity: 1;border-color:rgb(218 222 231 / var(--tw-border-opacity))}.fdi-border-transparent{border-color:transparent}.fdi-border-t-brand-light-6{--tw-border-opacity: 1;border-top-color:rgb(44 96 219 / var(--tw-border-opacity))}.\\!fdi-bg-neutral-alpha-light-6{background-color:#091e404a!important}.\\!fdi-bg-transparent{background-color:transparent!important}.fdi-bg-brand-light-2{--tw-bg-opacity: 1;background-color:rgb(229 239 255 / var(--tw-bg-opacity))}.fdi-bg-brand-light-6{--tw-bg-opacity: 1;background-color:rgb(44 96 219 / var(--tw-bg-opacity))}.fdi-bg-netr-light-1{--tw-bg-opacity: 1;background-color:rgb(248 249 252 / var(--tw-bg-opacity))}.fdi-bg-neutral-light-0{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.fdi-bg-neutral-light-1{--tw-bg-opacity: 1;background-color:rgb(248 249 252 / var(--tw-bg-opacity))}.fdi-bg-neutral-light-2{--tw-bg-opacity: 1;background-color:rgb(238 241 246 / var(--tw-bg-opacity))}.fdi-bg-orange-light-1{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity))}.fdi-bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.fdi-bg-opacity-80{--tw-bg-opacity: .8 }.fdi-p-1{padding:.25rem}.fdi-p-1\\.5{padding:.375rem}.fdi-p-4{padding:1rem}.fdi-p-5{padding:1.25rem}.fdi-p-\\[16px\\]{padding:16px}.fdi-p-\\[6px\\]{padding:6px}.fdi-p-lg,.fdi-p-sm{padding:8px}.fdi-p-xl{padding:12px}.fdi-p-xs{padding:4px}.fdi-p-xxl{padding:20px}.fdi-p-xxs{padding:2px}.\\!fdi-px-0{padding-left:0!important;padding-right:0!important}.\\!fdi-px-lg,.\\!fdi-px-md{padding-left:8px!important;padding-right:8px!important}.\\!fdi-py-\\[6px\\]{padding-top:6px!important;padding-bottom:6px!important}.fdi-px-\\[16px\\]{padding-left:16px;padding-right:16px}.fdi-px-lg,.fdi-px-md,.fdi-px-sm{padding-left:8px;padding-right:8px}.fdi-px-xl{padding-left:12px;padding-right:12px}.fdi-px-xxl{padding-left:20px;padding-right:20px}.fdi-py-\\[3px\\]{padding-top:3px;padding-bottom:3px}.fdi-py-\\[6px\\]{padding-top:6px;padding-bottom:6px}.fdi-py-lg,.fdi-py-sm{padding-top:8px;padding-bottom:8px}.fdi-py-xl{padding-top:12px;padding-bottom:12px}.fdi-py-xs{padding-top:4px;padding-bottom:4px}.fdi-py-xxl{padding-top:20px;padding-bottom:20px}.\\!fdi-pl-0{padding-left:0!important}.\\!fdi-pl-sm{padding-left:8px!important}.\\!fdi-pr-sm{padding-right:8px!important}.fdi-pb-\\[10px\\]{padding-bottom:10px}.fdi-pb-\\[16px\\]{padding-bottom:16px}.fdi-pb-lg,.fdi-pb-md,.fdi-pb-sm{padding-bottom:8px}.fdi-pb-xl{padding-bottom:12px}.fdi-pb-xxl{padding-bottom:20px}.fdi-pl-4{padding-left:1rem}.fdi-pl-lg,.fdi-pl-sm{padding-left:8px}.fdi-pl-xl{padding-left:12px}.fdi-pl-xs{padding-left:4px}.fdi-pl-xxxl{padding-left:24px}.fdi-pr-lg{padding-right:8px}.fdi-pr-xs{padding-right:4px}.fdi-pr-xxl{padding-right:20px}.fdi-pr-xxxl{padding-right:24px}.fdi-pt-\\[16px\\]{padding-top:16px}.fdi-pt-lg,.fdi-pt-md{padding-top:8px}.fdi-pt-xl{padding-top:12px}.fdi-pt-xs{padding-top:4px}.fdi-pt-xxl{padding-top:20px}.fdi-pt-xxs{padding-top:2px}.fdi-text-left{text-align:left}.fdi-text-center{text-align:center}.fdi-text-\\[20px\\]{font-size:20px}.fdi-text-sm{font-size:12px}.fdi-text-xxl{font-size:18px}.fdi-text-xxxl{font-size:36px}.fdi-font-400{font-weight:400}.fdi-font-600{font-weight:600}.fdi-font-bold{font-weight:700}.fdi-font-normal{font-weight:400}.fdi-font-semibold{font-weight:600}.fdi-leading-4{line-height:1rem}.fdi-leading-5{line-height:1.25rem}.fdi-leading-\\[22px\\]{line-height:22px}.fdi-leading-\\[28px\\]{line-height:28px}.fdi-leading-lg{line-height:22px}.fdi-leading-normal{line-height:1.5}.fdi-leading-sm{line-height:20px}.fdi-leading-xxl{line-height:26px}.fdi-leading-xxxl{line-height:50px}.\\!fdi-text-neutral-light-12{--tw-text-opacity: 1 !important;color:rgb(9 30 64 / var(--tw-text-opacity))!important}.fdi-text-black-2{color:#091e40a8}.fdi-text-black-3{color:#091e4078}.fdi-text-brand-light-6{--tw-text-opacity: 1;color:rgb(44 96 219 / var(--tw-text-opacity))}.fdi-text-brand-light-7{--tw-text-opacity: 1;color:rgb(28 75 186 / var(--tw-text-opacity))}.fdi-text-coral-red-light-6{--tw-text-opacity: 1;color:rgb(230 82 81 / var(--tw-text-opacity))}.fdi-text-neutral-light-12{--tw-text-opacity: 1;color:rgb(9 30 64 / var(--tw-text-opacity))}.fdi-text-spring-green-light-6{--tw-text-opacity: 1;color:rgb(36 143 46 / var(--tw-text-opacity))}.fdi-underline-offset-2{text-underline-offset:2px}.fdi-shadow-light-small{--tw-shadow: 0px 4px 12px 0px rgba(9, 30, 64, .08);--tw-shadow-colored: 0px 4px 12px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.fdi-transition-\\[width\\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.fdi-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.fdi-duration-200{transition-duration:.2s}.fdi-duration-300{transition-duration:.3s}.hover\\:fdi-component-border-1:hover{border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(218 222 231 / var(--tw-border-opacity))}.hover\\:fdi-bg-neutral-light-0:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.hover\\:fdi-bg-orange-light-2:hover{--tw-bg-opacity: 1;background-color:rgb(255 245 215 / var(--tw-bg-opacity))}.hover\\:fdi-text-brand-light-5:hover{--tw-text-opacity: 1;color:rgb(82 133 234 / var(--tw-text-opacity))}.active\\:fdi-text-brand-light-7:active{--tw-text-opacity: 1;color:rgb(28 75 186 / var(--tw-text-opacity))}.fdi-group:hover .group-hover\\:fdi-block{display:block}.fdi-filter-condition-pane-content .inner-pane .leaf-node{--tw-bg-opacity: 1;background-color:rgb(248 249 252 / var(--tw-bg-opacity));height:auto}.fdi-filter-condition-pane-content .inner-pane .leaf-node>button>.ant-btn-icon{font-size:16px}.fdi-filter-condition-pane-content .inner-pane .leaf-node>button>.ant-btn-icon svg{vertical-align:middle}.fdi-filter-condition-pane-content>.ant-space-align-center{margin-top:6px}
+`,document.head.appendChild(wv);var zn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Vt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function so(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){if(this instanceof n){var a=[null];a.push.apply(a,arguments);var o=Function.bind.apply(t,a);return new o}return t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,a.get?a:{enumerable:!0,get:function(){return e[n]}})}),r}var Dv={},ate={get exports(){return Dv},set exports(e){Dv=e}},mx={},m={},ote={get exports(){return m},set exports(e){m=e}},hr={};/**
* @license React
* react.production.min.js
*
@@ -7,7 +7,7 @@
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
- */var bv=Symbol.for("react.element"),Cee=Symbol.for("react.portal"),Tee=Symbol.for("react.fragment"),Ree=Symbol.for("react.strict_mode"),Oee=Symbol.for("react.profiler"),Aee=Symbol.for("react.provider"),kee=Symbol.for("react.context"),Pee=Symbol.for("react.forward_ref"),Nee=Symbol.for("react.suspense"),Mee=Symbol.for("react.memo"),Lee=Symbol.for("react.lazy"),e4=Symbol.iterator;function zee(e){return e===null||typeof e!="object"?null:(e=e4&&e[e4]||e["@@iterator"],typeof e=="function"?e:null)}var t4={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},r4=Object.assign,n4={};function Xd(e,t,r){this.props=e,this.context=t,this.refs=n4,this.updater=r||t4}Xd.prototype.isReactComponent={},Xd.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},Xd.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function a4(){}a4.prototype=Xd.prototype;function eI(e,t,r){this.props=e,this.context=t,this.refs=n4,this.updater=r||t4}var tI=eI.prototype=new a4;tI.constructor=eI,r4(tI,Xd.prototype),tI.isPureReactComponent=!0;var o4=Array.isArray,i4=Object.prototype.hasOwnProperty,rI={current:null},l4={key:!0,ref:!0,__self:!0,__source:!0};function s4(e,t,r){var n,a={},o=null,i=null;if(t!=null)for(n in t.ref!==void 0&&(i=t.ref),t.key!==void 0&&(o=""+t.key),t)i4.call(t,n)&&!l4.hasOwnProperty(n)&&(a[n]=t[n]);var l=arguments.length-2;if(l===1)a.children=r;else if(1e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&(r[a]=e[a]);return r}function tte(e,t){if(e==null)return{};var r=yv(e,t),n,a;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var oI={},rte={get exports(){return oI},set exports(e){oI=e}};/*!
+ */var yte=m,wte=Symbol.for("react.element"),Dte=Symbol.for("react.fragment"),Ite=Object.prototype.hasOwnProperty,Fte=yte.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,$te={key:!0,ref:!0,__self:!0,__source:!0};function RO(e,t,r){var n,a={},o=null,i=null;r!==void 0&&(o=""+r),t.key!==void 0&&(o=""+t.key),t.ref!==void 0&&(i=t.ref);for(n in t)Ite.call(t,n)&&!$te.hasOwnProperty(n)&&(a[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps,t)a[n]===void 0&&(a[n]=t[n]);return{$$typeof:wte,type:e,key:o,ref:i,props:a,_owner:Fte.current}}mx.Fragment=Dte,mx.jsx=RO,mx.jsxs=RO,function(e){e.exports=mx}(ate);const wl=Dv.Fragment,fe=Dv.jsx,on=Dv.jsxs,Ete=Object.freeze(Object.defineProperty({__proto__:null,Fragment:wl,jsx:fe,jsxs:on},Symbol.toStringTag,{value:"Module"}));function of(){return of=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&(r[a]=e[a]);return r}function Ote(e,t){if(e==null)return{};var r=Fv(e,t),n,a;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var $I={},Ate={get exports(){return $I},set exports(e){$I=e}};/*!
Copyright (c) 2018 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
-*/(function(e){(function(){var t={}.hasOwnProperty;function r(){for(var o="",i=0;i1&&arguments[1]!==void 0?arguments[1]:{},r=[];return $.Children.forEach(e,function(n){n==null&&!t.keepEmpty||(Array.isArray(n)?r=r.concat(fx(n)):du.isFragment(n)&&n.props?r=r.concat(fx(n.props.children,t)):r.push(n))}),r}function fu(e){"@babel/helpers - typeof";return fu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fu(e)}function ite(e,t){if(fu(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(fu(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function h4(e){var t=ite(e,"string");return fu(t)=="symbol"?t:t+""}function lte(e,t,r){return(t=h4(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function g4(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function px(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{},r=[];return $.Children.forEach(e,function(n){n==null&&!t.keepEmpty||(Array.isArray(n)?r=r.concat(Ax(n)):mu.isFragment(n)&&n.props?r=r.concat(Ax(n.props.children,t)):r.push(n))}),r}function xu(e){"@babel/helpers - typeof";return xu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},xu(e)}function Mte(e,t){if(xu(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(xu(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function PO(e){var t=Mte(e,"string");return xu(t)=="symbol"?t:t+""}function Lte(e,t,r){return(t=PO(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function NO(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function kx(e){for(var t=1;t>>1,q=L[ee];if(0>>1;eea(V,X))Ya(Z,V)?(L[ee]=Z,L[Y]=X,ee=Y):(L[ee]=V,L[W]=X,ee=W);else if(Ya(Z,X))L[ee]=Z,L[Y]=X,ee=Y;else break e}}return K}function a(L,K){var X=L.sortIndex-K.sortIndex;return X!==0?X:L.id-K.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var i=Date,l=i.now();e.unstable_now=function(){return i.now()-l}}var s=[],c=[],d=1,f=null,v=3,h=!1,g=!1,_=!1,w=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function D(L){for(var K=r(c);K!==null;){if(K.callback===null)n(c);else if(K.startTime<=L)n(c),K.sortIndex=K.expirationTime,t(s,K);else break;K=r(c)}}function F(L){if(_=!1,D(L),!g)if(r(s)!==null)g=!0,T(S);else{var K=r(c);K!==null&&B(F,K.startTime-L)}}function S(L,K){g=!1,_&&(_=!1,b(R),R=-1),h=!0;var X=v;try{for(D(K),f=r(s);f!==null&&(!(f.expirationTime>K)||L&&!N());){var ee=f.callback;if(typeof ee=="function"){f.callback=null,v=f.priorityLevel;var q=ee(f.expirationTime<=K);K=e.unstable_now(),typeof q=="function"?f.callback=q:f===r(s)&&n(s),D(K)}else n(s);f=r(s)}if(f!==null)var G=!0;else{var W=r(c);W!==null&&B(F,W.startTime-K),G=!1}return G}finally{f=null,v=X,h=!1}}var I=!1,C=null,R=-1,P=5,O=-1;function N(){return!(e.unstable_now()-OL||125ee?(L.sortIndex=X,t(c,L),r(s)===null&&L===r(c)&&(_?(b(R),R=-1):_=!0,B(F,X-ee))):(L.sortIndex=q,t(s,L),g||h||(g=!0,T(S))),L},e.unstable_shouldYield=N,e.unstable_wrapCallback=function(L){var K=v;return function(){var X=v;v=K;try{return L.apply(this,arguments)}finally{v=X}}}})(_4),function(e){e.exports=_4}(cte);/**
+ */(function(e){function t(k,U){var G=k.length;k.push(U);e:for(;0>>1,Y=k[te];if(0>>1;tea(W,G))Ka(X,W)?(k[te]=X,k[K]=G,te=K):(k[te]=W,k[q]=G,te=q);else if(Ka(X,G))k[te]=X,k[K]=G,te=K;else break e}}return U}function a(k,U){var G=k.sortIndex-U.sortIndex;return G!==0?G:k.id-U.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var i=Date,l=i.now();e.unstable_now=function(){return i.now()-l}}var s=[],c=[],d=1,f=null,v=3,g=!1,h=!1,_=!1,w=typeof setTimeout=="function"?setTimeout:null,x=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function D(k){for(var U=r(c);U!==null;){if(U.callback===null)n(c);else if(U.startTime<=k)n(c),U.sortIndex=U.expirationTime,t(s,U);else break;U=r(c)}}function I(k){if(_=!1,D(k),!h)if(r(s)!==null)h=!0,j(E);else{var U=r(c);U!==null&&R(I,U.startTime-k)}}function E(k,U){h=!1,_&&(_=!1,x(T),T=-1),g=!0;var G=v;try{for(D(U),f=r(s);f!==null&&(!(f.expirationTime>U)||k&&!N());){var te=f.callback;if(typeof te=="function"){f.callback=null,v=f.priorityLevel;var Y=te(f.expirationTime<=U);U=e.unstable_now(),typeof Y=="function"?f.callback=Y:f===r(s)&&n(s),D(U)}else n(s);f=r(s)}if(f!==null)var Z=!0;else{var q=r(c);q!==null&&R(I,q.startTime-U),Z=!1}return Z}finally{f=null,v=G,g=!1}}var F=!1,C=null,T=-1,P=5,A=-1;function N(){return!(e.unstable_now()-Ak||125te?(k.sortIndex=G,t(c,k),r(s)===null&&k===r(c)&&(_?(x(T),T=-1):_=!0,R(I,G-te))):(k.sortIndex=Y,t(s,k),h||g||(h=!0,j(E))),k},e.unstable_shouldYield=N,e.unstable_wrapCallback=function(k){var U=v;return function(){var G=v;v=U;try{return k.apply(this,arguments)}finally{v=G}}}})(MO),function(e){e.exports=MO}(Bte);/**
* @license React
* react-dom.production.min.js
*
@@ -44,46 +44,50 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
- */var ute=m,So=sI;function We(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),cI=Object.prototype.hasOwnProperty,dte=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,x4={},b4={};function fte(e){return cI.call(b4,e)?!0:cI.call(x4,e)?!1:dte.test(e)?b4[e]=!0:(x4[e]=!0,!1)}function pte(e,t,r,n){if(r!==null&&r.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return n?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function vte(e,t,r,n){if(t===null||typeof t>"u"||pte(e,t,r,n))return!0;if(n)return!1;if(r!==null)switch(r.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Ya(e,t,r,n,a,o,i){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=n,this.attributeNamespace=a,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var ga={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ga[e]=new Ya(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ga[t]=new Ya(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){ga[e]=new Ya(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ga[e]=new Ya(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ga[e]=new Ya(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){ga[e]=new Ya(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){ga[e]=new Ya(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){ga[e]=new Ya(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){ga[e]=new Ya(e,5,!1,e.toLowerCase(),null,!1,!1)});var uI=/[\-:]([a-z])/g;function dI(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(uI,dI);ga[t]=new Ya(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(uI,dI);ga[t]=new Ya(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(uI,dI);ga[t]=new Ya(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){ga[e]=new Ya(e,1,!1,e.toLowerCase(),null,!1,!1)}),ga.xlinkHref=new Ya("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){ga[e]=new Ya(e,1,!1,e.toLowerCase(),null,!0,!0)});function fI(e,t,r,n){var a=ga.hasOwnProperty(t)?ga[t]:null;(a!==null?a.type!==0:n||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),TI=Object.prototype.hasOwnProperty,Ute=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,zO={},BO={};function Hte(e){return TI.call(BO,e)?!0:TI.call(zO,e)?!1:Ute.test(e)?BO[e]=!0:(zO[e]=!0,!1)}function Wte(e,t,r,n){if(r!==null&&r.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return n?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Vte(e,t,r,n){if(t===null||typeof t>"u"||Wte(e,t,r,n))return!0;if(n)return!1;if(r!==null)switch(r.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function to(e,t,r,n,a,o,i){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=n,this.attributeNamespace=a,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var wa={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){wa[e]=new to(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];wa[t]=new to(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){wa[e]=new to(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){wa[e]=new to(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){wa[e]=new to(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){wa[e]=new to(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){wa[e]=new to(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){wa[e]=new to(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){wa[e]=new to(e,5,!1,e.toLowerCase(),null,!1,!1)});var RI=/[\-:]([a-z])/g;function OI(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(RI,OI);wa[t]=new to(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(RI,OI);wa[t]=new to(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(RI,OI);wa[t]=new to(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){wa[e]=new to(e,1,!1,e.toLowerCase(),null,!1,!1)}),wa.xlinkHref=new to("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){wa[e]=new to(e,1,!1,e.toLowerCase(),null,!0,!0)});function AI(e,t,r,n){var a=wa.hasOwnProperty(t)?wa[t]:null;(a!==null?a.type!==0:n||!(2l||a[i]!==o[l]){var s=`
-`+a[i].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=i&&0<=l);break}}}finally{bI=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?Iv(e):""}function hte(e){switch(e.tag){case 5:return Iv(e.type);case 16:return Iv("Lazy");case 13:return Iv("Suspense");case 19:return Iv("SuspenseList");case 0:case 2:case 15:return e=yI(e.type,!1),e;case 11:return e=yI(e.type.render,!1),e;case 1:return e=yI(e.type,!0),e;default:return""}}function wI(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case ef:return"Fragment";case Jd:return"Portal";case vI:return"Profiler";case pI:return"StrictMode";case gI:return"Suspense";case _I:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case w4:return(e.displayName||"Context")+".Consumer";case y4:return(e._context.displayName||"Context")+".Provider";case hI:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case mI:return t=e.displayName||null,t!==null?t:wI(e.type)||"Memo";case Js:t=e._payload,e=e._init;try{return wI(e(t))}catch{}}return null}function gte(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return wI(t);case 8:return t===pI?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function ec(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function F4(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function _te(e){var t=F4(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var a=r.get,o=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(i){n=""+i,o.call(this,i)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(i){n=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function hx(e){e._valueTracker||(e._valueTracker=_te(e))}function $4(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),n="";return e&&(n=F4(e)?e.checked?"true":"false":e.value),e=n,e!==r?(t.setValue(e),!0):!1}function gx(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function DI(e,t){var r=t.checked;return vn({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function S4(e,t){var r=t.defaultValue==null?"":t.defaultValue,n=t.checked!=null?t.checked:t.defaultChecked;r=ec(t.value!=null?t.value:r),e._wrapperState={initialChecked:n,initialValue:r,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function E4(e,t){t=t.checked,t!=null&&fI(e,"checked",t,!1)}function II(e,t){E4(e,t);var r=ec(t.value),n=t.type;if(r!=null)n==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(n==="submit"||n==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?FI(e,t.type,r):t.hasOwnProperty("defaultValue")&&FI(e,t.type,ec(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function C4(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!(n!=="submit"&&n!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function FI(e,t,r){(t!=="number"||gx(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var Fv=Array.isArray;function tf(e,t,r,n){if(e=e.options,t){t={};for(var a=0;a"+t.valueOf().toString()+"",t=_x.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function $v(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var Sv={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},mte=["Webkit","ms","Moz","O"];Object.keys(Sv).forEach(function(e){mte.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Sv[t]=Sv[e]})});function P4(e,t,r){return t==null||typeof t=="boolean"||t===""?"":r||typeof t!="number"||t===0||Sv.hasOwnProperty(e)&&Sv[e]?(""+t).trim():t+"px"}function N4(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var n=r.indexOf("--")===0,a=P4(r,t[r],n);r==="float"&&(r="cssFloat"),n?e.setProperty(r,a):e[r]=a}}var xte=vn({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function EI(e,t){if(t){if(xte[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(We(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(We(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(We(61))}if(t.style!=null&&typeof t.style!="object")throw Error(We(62))}}function CI(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var TI=null;function RI(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var OI=null,rf=null,nf=null;function M4(e){if(e=Gv(e)){if(typeof OI!="function")throw Error(We(280));var t=e.stateNode;t&&(t=Bx(t),OI(e.stateNode,e.type,t))}}function L4(e){rf?nf?nf.push(e):nf=[e]:rf=e}function z4(){if(rf){var e=rf,t=nf;if(nf=rf=null,M4(e),t)for(e=0;e>>=0,e===0?32:31-(Tte(e)/Rte|0)|0}var wx=64,Dx=4194304;function Rv(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ix(e,t){var r=e.pendingLanes;if(r===0)return 0;var n=0,a=e.suspendedLanes,o=e.pingedLanes,i=r&268435455;if(i!==0){var l=i&~a;l!==0?n=Rv(l):(o&=i,o!==0&&(n=Rv(o)))}else i=r&~a,i!==0?n=Rv(i):o!==0&&(n=Rv(o));if(n===0)return 0;if(t!==0&&t!==n&&!(t&a)&&(a=n&-n,o=t&-t,a>=o||a===16&&(o&4194240)!==0))return t;if(n&4&&(n|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=n;0r;r++)t.push(e);return t}function Ov(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ri(t),e[t]=r}function Pte(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var n=e.eventTimes;for(e=e.expirationTimes;0=Bv),pA=String.fromCharCode(32),vA=!1;function hA(e,t){switch(e){case"keyup":return cre.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function gA(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var lf=!1;function dre(e,t){switch(e){case"compositionend":return gA(t);case"keypress":return t.which!==32?null:(vA=!0,pA);case"textInput":return e=t.data,e===pA&&vA?null:e;default:return null}}function fre(e,t){if(lf)return e==="compositionend"||!ZI&&hA(e,t)?(e=lA(),Cx=VI=oc=null,lf=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=DA(r)}}function FA(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?FA(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function $A(){for(var e=window,t=gx();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch{r=!1}if(r)e=t.contentWindow;else break;t=gx(e.document)}return t}function eF(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function yre(e){var t=$A(),r=e.focusedElem,n=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&FA(r.ownerDocument.documentElement,r)){if(n!==null&&eF(r)){if(t=n.start,e=n.end,e===void 0&&(e=t),"selectionStart"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if(e=(t=r.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var a=r.textContent.length,o=Math.min(n.start,a);n=n.end===void 0?o:Math.min(n.end,a),!e.extend&&o>n&&(a=n,n=o,o=a),a=IA(r,o);var i=IA(r,n);a&&i&&(e.rangeCount!==1||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(t=t.createRange(),t.setStart(a.node,a.offset),e.removeAllRanges(),o>n?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}}for(t=[],e=r;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r=document.documentMode,sf=null,tF=null,Wv=null,rF=!1;function SA(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;rF||sf==null||sf!==gx(n)||(n=sf,"selectionStart"in n&&eF(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),Wv&&Hv(Wv,n)||(Wv=n,n=Mx(tF,"onSelect"),0pf||(e.current=vF[pf],vF[pf]=null,pf--)}function qr(e,t){pf++,vF[pf]=e.current,e.current=t}var cc={},Aa=sc(cc),lo=sc(!1),gu=cc;function vf(e,t){var r=e.type.contextTypes;if(!r)return cc;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var a={},o;for(o in r)a[o]=t[o];return n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function so(e){return e=e.childContextTypes,e!=null}function jx(){nn(lo),nn(Aa)}function UA(e,t,r){if(Aa.current!==cc)throw Error(We(168));qr(Aa,t),qr(lo,r)}function HA(e,t,r){var n=e.stateNode;if(t=t.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var a in n)if(!(a in t))throw Error(We(108,gte(e)||"Unknown",a));return vn({},r,n)}function Ux(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||cc,gu=Aa.current,qr(Aa,e),qr(lo,lo.current),!0}function WA(e,t,r){var n=e.stateNode;if(!n)throw Error(We(169));r?(e=HA(e,t,gu),n.__reactInternalMemoizedMergedChildContext=e,nn(lo),nn(Aa),qr(Aa,e)):nn(lo),qr(lo,r)}var ls=null,Hx=!1,hF=!1;function VA(e){ls===null?ls=[e]:ls.push(e)}function Are(e){Hx=!0,VA(e)}function uc(){if(!hF&&ls!==null){hF=!0;var e=0,t=Ar;try{var r=ls;for(Ar=1;e>=i,a-=i,ss=1<<32-Ri(t)+a|r<R?(P=C,C=null):P=C.sibling;var O=v(b,C,D[R],F);if(O===null){C===null&&(C=P);break}e&&C&&O.alternate===null&&t(b,C),y=o(O,y,R),I===null?S=O:I.sibling=O,I=O,C=P}if(R===D.length)return r(b,C),un&&mu(b,R),S;if(C===null){for(;RR?(P=C,C=null):P=C.sibling;var N=v(b,C,O.value,F);if(N===null){C===null&&(C=P);break}e&&C&&N.alternate===null&&t(b,C),y=o(N,y,R),I===null?S=N:I.sibling=N,I=N,C=P}if(O.done)return r(b,C),un&&mu(b,R),S;if(C===null){for(;!O.done;R++,O=D.next())O=f(b,O.value,F),O!==null&&(y=o(O,y,R),I===null?S=O:I.sibling=O,I=O);return un&&mu(b,R),S}for(C=n(b,C);!O.done;R++,O=D.next())O=h(C,b,R,O.value,F),O!==null&&(e&&O.alternate!==null&&C.delete(O.key===null?R:O.key),y=o(O,y,R),I===null?S=O:I.sibling=O,I=O);return e&&C.forEach(function(A){return t(b,A)}),un&&mu(b,R),S}function w(b,y,D,F){if(typeof D=="object"&&D!==null&&D.type===ef&&D.key===null&&(D=D.props.children),typeof D=="object"&&D!==null){switch(D.$$typeof){case vx:e:{for(var S=D.key,I=y;I!==null;){if(I.key===S){if(S=D.type,S===ef){if(I.tag===7){r(b,I.sibling),y=a(I,D.props.children),y.return=b,b=y;break e}}else if(I.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===Js&&ZA(S)===I.type){r(b,I.sibling),y=a(I,D.props),y.ref=Xv(b,I,D),y.return=b,b=y;break e}r(b,I);break}else t(b,I);I=I.sibling}D.type===ef?(y=$u(D.props.children,b.mode,F,D.key),y.return=b,b=y):(F=_b(D.type,D.key,D.props,null,b.mode,F),F.ref=Xv(b,y,D),F.return=b,b=F)}return i(b);case Jd:e:{for(I=D.key;y!==null;){if(y.key===I)if(y.tag===4&&y.stateNode.containerInfo===D.containerInfo&&y.stateNode.implementation===D.implementation){r(b,y.sibling),y=a(y,D.children||[]),y.return=b,b=y;break e}else{r(b,y);break}else t(b,y);y=y.sibling}y=f2(D,b.mode,F),y.return=b,b=y}return i(b);case Js:return I=D._init,w(b,y,I(D._payload),F)}if(Fv(D))return g(b,y,D,F);if(Dv(D))return _(b,y,D,F);qx(b,D)}return typeof D=="string"&&D!==""||typeof D=="number"?(D=""+D,y!==null&&y.tag===6?(r(b,y.sibling),y=a(y,D),y.return=b,b=y):(r(b,y),y=d2(D,b.mode,F),y.return=b,b=y),i(b)):r(b,y)}return w}var mf=QA(!0),JA=QA(!1),Yx=sc(null),Gx=null,xf=null,yF=null;function wF(){yF=xf=Gx=null}function DF(e){var t=Yx.current;nn(Yx),e._currentValue=t}function IF(e,t,r){for(;e!==null;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,n!==null&&(n.childLanes|=t)):n!==null&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===r)break;e=e.return}}function bf(e,t){Gx=e,yF=xf=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(co=!0),e.firstContext=null)}function Qo(e){var t=e._currentValue;if(yF!==e)if(e={context:e,memoizedValue:t,next:null},xf===null){if(Gx===null)throw Error(We(308));xf=e,Gx.dependencies={lanes:0,firstContext:e}}else xf=xf.next=e;return t}var xu=null;function FF(e){xu===null?xu=[e]:xu.push(e)}function ek(e,t,r,n){var a=t.interleaved;return a===null?(r.next=r,FF(t)):(r.next=a.next,a.next=r),t.interleaved=r,us(e,n)}function us(e,t){e.lanes|=t;var r=e.alternate;for(r!==null&&(r.lanes|=t),r=e,e=e.return;e!==null;)e.childLanes|=t,r=e.alternate,r!==null&&(r.childLanes|=t),r=e,e=e.return;return r.tag===3?r.stateNode:null}var dc=!1;function $F(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function tk(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function ds(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function fc(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,wr&2){var a=n.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),n.pending=t,us(e,r)}return a=n.interleaved,a===null?(t.next=t,FF(n)):(t.next=a.next,a.next=t),n.interleaved=t,us(e,r)}function Xx(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194240)!==0)){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,zI(e,r)}}function rk(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var a=null,o=null;if(r=r.firstBaseUpdate,r!==null){do{var i={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};o===null?a=o=i:o=o.next=i,r=r.next}while(r!==null);o===null?a=o=t:o=o.next=t}else a=o=t;r={baseState:n.baseState,firstBaseUpdate:a,lastBaseUpdate:o,shared:n.shared,effects:n.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function Zx(e,t,r,n){var a=e.updateQueue;dc=!1;var o=a.firstBaseUpdate,i=a.lastBaseUpdate,l=a.shared.pending;if(l!==null){a.shared.pending=null;var s=l,c=s.next;s.next=null,i===null?o=c:i.next=c,i=s;var d=e.alternate;d!==null&&(d=d.updateQueue,l=d.lastBaseUpdate,l!==i&&(l===null?d.firstBaseUpdate=c:l.next=c,d.lastBaseUpdate=s))}if(o!==null){var f=a.baseState;i=0,d=c=s=null,l=o;do{var v=l.lane,h=l.eventTime;if((n&v)===v){d!==null&&(d=d.next={eventTime:h,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var g=e,_=l;switch(v=t,h=r,_.tag){case 1:if(g=_.payload,typeof g=="function"){f=g.call(h,f,v);break e}f=g;break e;case 3:g.flags=g.flags&-65537|128;case 0:if(g=_.payload,v=typeof g=="function"?g.call(h,f,v):g,v==null)break e;f=vn({},f,v);break e;case 2:dc=!0}}l.callback!==null&&l.lane!==0&&(e.flags|=64,v=a.effects,v===null?a.effects=[l]:v.push(l))}else h={eventTime:h,lane:v,tag:l.tag,payload:l.payload,callback:l.callback,next:null},d===null?(c=d=h,s=f):d=d.next=h,i|=v;if(l=l.next,l===null){if(l=a.shared.pending,l===null)break;v=l,l=v.next,v.next=null,a.lastBaseUpdate=v,a.shared.pending=null}}while(1);if(d===null&&(s=f),a.baseState=s,a.firstBaseUpdate=c,a.lastBaseUpdate=d,t=a.shared.interleaved,t!==null){a=t;do i|=a.lane,a=a.next;while(a!==t)}else o===null&&(a.shared.lanes=0);wu|=i,e.lanes=i,e.memoizedState=f}}function nk(e,t,r){if(e=t.effects,t.effects=null,e!==null)for(t=0;tr?r:4,e(!0);var n=RF.transition;RF.transition={};try{e(!1),t()}finally{Ar=r,RF.transition=n}}function wk(){return Jo().memoizedState}function Mre(e,t,r){var n=gc(e);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},Dk(e))Ik(t,r);else if(r=ek(e,t,r,n),r!==null){var a=Xa();Mi(r,e,n,a),Fk(r,t,n)}}function Lre(e,t,r){var n=gc(e),a={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(Dk(e))Ik(t,a);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var i=t.lastRenderedState,l=o(i,r);if(a.hasEagerState=!0,a.eagerState=l,Oi(l,i)){var s=t.interleaved;s===null?(a.next=a,FF(t)):(a.next=s.next,s.next=a),t.interleaved=a;return}}catch{}finally{}r=ek(e,t,a,n),r!==null&&(a=Xa(),Mi(r,e,n,a),Fk(r,t,n))}}function Dk(e){var t=e.alternate;return e===gn||t!==null&&t===gn}function Ik(e,t){eh=eb=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function Fk(e,t,r){if(r&4194240){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,zI(e,r)}}var nb={readContext:Qo,useCallback:ka,useContext:ka,useEffect:ka,useImperativeHandle:ka,useInsertionEffect:ka,useLayoutEffect:ka,useMemo:ka,useReducer:ka,useRef:ka,useState:ka,useDebugValue:ka,useDeferredValue:ka,useTransition:ka,useMutableSource:ka,useSyncExternalStore:ka,useId:ka,unstable_isNewReconciler:!1},zre={readContext:Qo,useCallback:function(e,t){return bl().memoizedState=[e,t===void 0?null:t],e},useContext:Qo,useEffect:vk,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,tb(4194308,4,_k.bind(null,t,e),r)},useLayoutEffect:function(e,t){return tb(4194308,4,e,t)},useInsertionEffect:function(e,t){return tb(4,2,e,t)},useMemo:function(e,t){var r=bl();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=bl();return t=r!==void 0?r(t):t,n.memoizedState=n.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},n.queue=e,e=e.dispatch=Mre.bind(null,gn,e),[n.memoizedState,e]},useRef:function(e){var t=bl();return e={current:e},t.memoizedState=e},useState:fk,useDebugValue:LF,useDeferredValue:function(e){return bl().memoizedState=e},useTransition:function(){var e=fk(!1),t=e[0];return e=Nre.bind(null,e[1]),bl().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var n=gn,a=bl();if(un){if(r===void 0)throw Error(We(407));r=r()}else{if(r=t(),la===null)throw Error(We(349));yu&30||lk(n,t,r)}a.memoizedState=r;var o={value:r,getSnapshot:t};return a.queue=o,vk(ck.bind(null,n,o,e),[e]),n.flags|=2048,nh(9,sk.bind(null,n,o,r,t),void 0,null),r},useId:function(){var e=bl(),t=la.identifierPrefix;if(un){var r=cs,n=ss;r=(n&~(1<<32-Ri(n)-1)).toString(32)+r,t=":"+t+"R"+r,r=th++,0")&&(s=s.replace("",e.displayName)),s}while(1<=i&&0<=l);break}}}finally{UI=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?Sv(e):""}function Kte(e){switch(e.tag){case 5:return Sv(e.type);case 16:return Sv("Lazy");case 13:return Sv("Suspense");case 19:return Sv("SuspenseList");case 0:case 2:case 15:return e=HI(e.type,!1),e;case 11:return e=HI(e.type.render,!1),e;case 1:return e=HI(e.type,!0),e;default:return""}}function WI(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case cf:return"Fragment";case sf:return"Portal";case PI:return"Profiler";case kI:return"StrictMode";case MI:return"Suspense";case LI:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case UO:return(e.displayName||"Context")+".Consumer";case jO:return(e._context.displayName||"Context")+".Provider";case NI:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case zI:return t=e.displayName||null,t!==null?t:WI(e.type)||"Memo";case oc:t=e._payload,e=e._init;try{return WI(e(t))}catch{}}return null}function qte(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return WI(t);case 8:return t===kI?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function ic(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function VO(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Yte(e){var t=VO(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var a=r.get,o=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(i){n=""+i,o.call(this,i)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(i){n=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Nx(e){e._valueTracker||(e._valueTracker=Yte(e))}function KO(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),n="";return e&&(n=VO(e)?e.checked?"true":"false":e.value),e=n,e!==r?(t.setValue(e),!0):!1}function Mx(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function VI(e,t){var r=t.checked;return bn({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function qO(e,t){var r=t.defaultValue==null?"":t.defaultValue,n=t.checked!=null?t.checked:t.defaultChecked;r=ic(t.value!=null?t.value:r),e._wrapperState={initialChecked:n,initialValue:r,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function YO(e,t){t=t.checked,t!=null&&AI(e,"checked",t,!1)}function KI(e,t){YO(e,t);var r=ic(t.value),n=t.type;if(r!=null)n==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(n==="submit"||n==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?qI(e,t.type,r):t.hasOwnProperty("defaultValue")&&qI(e,t.type,ic(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function GO(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!(n!=="submit"&&n!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function qI(e,t,r){(t!=="number"||Mx(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var Cv=Array.isArray;function uf(e,t,r,n){if(e=e.options,t){t={};for(var a=0;a"+t.valueOf().toString()+"",t=Lx.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Tv(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var Rv={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Gte=["Webkit","ms","Moz","O"];Object.keys(Rv).forEach(function(e){Gte.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Rv[t]=Rv[e]})});function tA(e,t,r){return t==null||typeof t=="boolean"||t===""?"":r||typeof t!="number"||t===0||Rv.hasOwnProperty(e)&&Rv[e]?(""+t).trim():t+"px"}function rA(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var n=r.indexOf("--")===0,a=tA(r,t[r],n);r==="float"&&(r="cssFloat"),n?e.setProperty(r,a):e[r]=a}}var Xte=bn({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function XI(e,t){if(t){if(Xte[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Ge(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Ge(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Ge(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Ge(62))}}function ZI(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var QI=null;function JI(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var eF=null,df=null,ff=null;function nA(e){if(e=Jv(e)){if(typeof eF!="function")throw Error(Ge(280));var t=e.stateNode;t&&(t=lb(t),eF(e.stateNode,e.type,t))}}function aA(e){df?ff?ff.push(e):ff=[e]:df=e}function oA(){if(df){var e=df,t=ff;if(ff=df=null,nA(e),t)for(e=0;e>>=0,e===0?32:31-(lre(e)/sre|0)|0}var Hx=64,Wx=4194304;function Pv(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Vx(e,t){var r=e.pendingLanes;if(r===0)return 0;var n=0,a=e.suspendedLanes,o=e.pingedLanes,i=r&268435455;if(i!==0){var l=i&~a;l!==0?n=Pv(l):(o&=i,o!==0&&(n=Pv(o)))}else i=r&~a,i!==0?n=Pv(i):o!==0&&(n=Pv(o));if(n===0)return 0;if(t!==0&&t!==n&&!(t&a)&&(a=n&-n,o=t&-t,a>=o||a===16&&(o&4194240)!==0))return t;if(n&4&&(n|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=n;0r;r++)t.push(e);return t}function Nv(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Li(t),e[t]=r}function fre(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var n=e.eventTimes;for(e=e.expirationTimes;0=Wv),AA=String.fromCharCode(32),kA=!1;function PA(e,t){switch(e){case"keyup":return Bre.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function NA(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var gf=!1;function Ure(e,t){switch(e){case"compositionend":return NA(t);case"keypress":return t.which!==32?null:(kA=!0,AA);case"textInput":return e=t.data,e===AA&&kA?null:e;default:return null}}function Hre(e,t){if(gf)return e==="compositionend"||!mF&&PA(e,t)?(e=EA(),Xx=fF=dc=null,gf=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=HA(r)}}function VA(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?VA(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function KA(){for(var e=window,t=Mx();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch{r=!1}if(r)e=t.contentWindow;else break;t=Mx(e.document)}return t}function yF(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Qre(e){var t=KA(),r=e.focusedElem,n=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&VA(r.ownerDocument.documentElement,r)){if(n!==null&&yF(r)){if(t=n.start,e=n.end,e===void 0&&(e=t),"selectionStart"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if(e=(t=r.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var a=r.textContent.length,o=Math.min(n.start,a);n=n.end===void 0?o:Math.min(n.end,a),!e.extend&&o>n&&(a=n,n=o,o=a),a=WA(r,o);var i=WA(r,n);a&&i&&(e.rangeCount!==1||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(t=t.createRange(),t.setStart(a.node,a.offset),e.removeAllRanges(),o>n?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}}for(t=[],e=r;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r=document.documentMode,hf=null,wF=null,Yv=null,DF=!1;function qA(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;DF||hf==null||hf!==Mx(n)||(n=hf,"selectionStart"in n&&yF(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),Yv&&qv(Yv,n)||(Yv=n,n=ab(wF,"onSelect"),0yf||(e.current=PF[yf],PF[yf]=null,yf--)}function Qr(e,t){yf++,PF[yf]=e.current,e.current=t}var gc={},Na=vc(gc),uo=vc(!1),Du=gc;function wf(e,t){var r=e.type.contextTypes;if(!r)return gc;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var a={},o;for(o in r)a[o]=t[o];return n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function fo(e){return e=e.childContextTypes,e!=null}function sb(){sn(uo),sn(Na)}function sk(e,t,r){if(Na.current!==gc)throw Error(Ge(168));Qr(Na,t),Qr(uo,r)}function ck(e,t,r){var n=e.stateNode;if(t=t.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var a in n)if(!(a in t))throw Error(Ge(108,qte(e)||"Unknown",a));return bn({},r,n)}function cb(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||gc,Du=Na.current,Qr(Na,e),Qr(uo,uo.current),!0}function uk(e,t,r){var n=e.stateNode;if(!n)throw Error(Ge(169));r?(e=ck(e,t,Du),n.__reactInternalMemoizedMergedChildContext=e,sn(uo),sn(Na),Qr(Na,e)):sn(uo),Qr(uo,r)}var ds=null,ub=!1,NF=!1;function dk(e){ds===null?ds=[e]:ds.push(e)}function une(e){ub=!0,dk(e)}function hc(){if(!NF&&ds!==null){NF=!0;var e=0,t=Nr;try{var r=ds;for(Nr=1;e>=i,a-=i,fs=1<<32-Li(t)+a|r<T?(P=C,C=null):P=C.sibling;var A=v(x,C,D[T],I);if(A===null){C===null&&(C=P);break}e&&C&&A.alternate===null&&t(x,C),y=o(A,y,T),F===null?E=A:F.sibling=A,F=A,C=P}if(T===D.length)return r(x,C),vn&&Fu(x,T),E;if(C===null){for(;TT?(P=C,C=null):P=C.sibling;var N=v(x,C,A.value,I);if(N===null){C===null&&(C=P);break}e&&C&&N.alternate===null&&t(x,C),y=o(N,y,T),F===null?E=N:F.sibling=N,F=N,C=P}if(A.done)return r(x,C),vn&&Fu(x,T),E;if(C===null){for(;!A.done;T++,A=D.next())A=f(x,A.value,I),A!==null&&(y=o(A,y,T),F===null?E=A:F.sibling=A,F=A);return vn&&Fu(x,T),E}for(C=n(x,C);!A.done;T++,A=D.next())A=g(C,x,T,A.value,I),A!==null&&(e&&A.alternate!==null&&C.delete(A.key===null?T:A.key),y=o(A,y,T),F===null?E=A:F.sibling=A,F=A);return e&&C.forEach(function(L){return t(x,L)}),vn&&Fu(x,T),E}function w(x,y,D,I){if(typeof D=="object"&&D!==null&&D.type===cf&&D.key===null&&(D=D.props.children),typeof D=="object"&&D!==null){switch(D.$$typeof){case Px:e:{for(var E=D.key,F=y;F!==null;){if(F.key===E){if(E=D.type,E===cf){if(F.tag===7){r(x,F.sibling),y=a(F,D.props.children),y.return=x,x=y;break e}}else if(F.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===oc&&_k(E)===F.type){r(x,F.sibling),y=a(F,D.props),y.ref=eg(x,F,D),y.return=x,x=y;break e}r(x,F);break}else t(x,F);F=F.sibling}D.type===cf?(y=Au(D.props.children,x.mode,I,D.key),y.return=x,x=y):(I=Lb(D.type,D.key,D.props,null,x.mode,I),I.ref=eg(x,y,D),I.return=x,x=I)}return i(x);case sf:e:{for(F=D.key;y!==null;){if(y.key===F)if(y.tag===4&&y.stateNode.containerInfo===D.containerInfo&&y.stateNode.implementation===D.implementation){r(x,y.sibling),y=a(y,D.children||[]),y.return=x,x=y;break e}else{r(x,y);break}else t(x,y);y=y.sibling}y=A2(D,x.mode,I),y.return=x,x=y}return i(x);case oc:return F=D._init,w(x,y,F(D._payload),I)}if(Cv(D))return h(x,y,D,I);if(Ev(D))return _(x,y,D,I);vb(x,D)}return typeof D=="string"&&D!==""||typeof D=="number"?(D=""+D,y!==null&&y.tag===6?(r(x,y.sibling),y=a(y,D),y.return=x,x=y):(r(x,y),y=O2(D,x.mode,I),y.return=x,x=y),i(x)):r(x,y)}return w}var $f=mk(!0),xk=mk(!1),gb=vc(null),hb=null,Ef=null,UF=null;function HF(){UF=Ef=hb=null}function WF(e){var t=gb.current;sn(gb),e._currentValue=t}function VF(e,t,r){for(;e!==null;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,n!==null&&(n.childLanes|=t)):n!==null&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===r)break;e=e.return}}function Sf(e,t){hb=e,UF=Ef=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(po=!0),e.firstContext=null)}function ni(e){var t=e._currentValue;if(UF!==e)if(e={context:e,memoizedValue:t,next:null},Ef===null){if(hb===null)throw Error(Ge(308));Ef=e,hb.dependencies={lanes:0,firstContext:e}}else Ef=Ef.next=e;return t}var $u=null;function KF(e){$u===null?$u=[e]:$u.push(e)}function bk(e,t,r,n){var a=t.interleaved;return a===null?(r.next=r,KF(t)):(r.next=a.next,a.next=r),t.interleaved=r,vs(e,n)}function vs(e,t){e.lanes|=t;var r=e.alternate;for(r!==null&&(r.lanes|=t),r=e,e=e.return;e!==null;)e.childLanes|=t,r=e.alternate,r!==null&&(r.childLanes|=t),r=e,e=e.return;return r.tag===3?r.stateNode:null}var _c=!1;function qF(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function yk(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function gs(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function mc(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,$r&2){var a=n.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),n.pending=t,vs(e,r)}return a=n.interleaved,a===null?(t.next=t,KF(n)):(t.next=a.next,a.next=t),n.interleaved=t,vs(e,r)}function _b(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194240)!==0)){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,lF(e,r)}}function wk(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var a=null,o=null;if(r=r.firstBaseUpdate,r!==null){do{var i={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};o===null?a=o=i:o=o.next=i,r=r.next}while(r!==null);o===null?a=o=t:o=o.next=t}else a=o=t;r={baseState:n.baseState,firstBaseUpdate:a,lastBaseUpdate:o,shared:n.shared,effects:n.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function mb(e,t,r,n){var a=e.updateQueue;_c=!1;var o=a.firstBaseUpdate,i=a.lastBaseUpdate,l=a.shared.pending;if(l!==null){a.shared.pending=null;var s=l,c=s.next;s.next=null,i===null?o=c:i.next=c,i=s;var d=e.alternate;d!==null&&(d=d.updateQueue,l=d.lastBaseUpdate,l!==i&&(l===null?d.firstBaseUpdate=c:l.next=c,d.lastBaseUpdate=s))}if(o!==null){var f=a.baseState;i=0,d=c=s=null,l=o;do{var v=l.lane,g=l.eventTime;if((n&v)===v){d!==null&&(d=d.next={eventTime:g,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var h=e,_=l;switch(v=t,g=r,_.tag){case 1:if(h=_.payload,typeof h=="function"){f=h.call(g,f,v);break e}f=h;break e;case 3:h.flags=h.flags&-65537|128;case 0:if(h=_.payload,v=typeof h=="function"?h.call(g,f,v):h,v==null)break e;f=bn({},f,v);break e;case 2:_c=!0}}l.callback!==null&&l.lane!==0&&(e.flags|=64,v=a.effects,v===null?a.effects=[l]:v.push(l))}else g={eventTime:g,lane:v,tag:l.tag,payload:l.payload,callback:l.callback,next:null},d===null?(c=d=g,s=f):d=d.next=g,i|=v;if(l=l.next,l===null){if(l=a.shared.pending,l===null)break;v=l,l=v.next,v.next=null,a.lastBaseUpdate=v,a.shared.pending=null}}while(1);if(d===null&&(s=f),a.baseState=s,a.firstBaseUpdate=c,a.lastBaseUpdate=d,t=a.shared.interleaved,t!==null){a=t;do i|=a.lane,a=a.next;while(a!==t)}else o===null&&(a.shared.lanes=0);Cu|=i,e.lanes=i,e.memoizedState=f}}function Dk(e,t,r){if(e=t.effects,t.effects=null,e!==null)for(t=0;tr?r:4,e(!0);var n=QF.transition;QF.transition={};try{e(!1),t()}finally{Nr=r,QF.transition=n}}function Uk(){return ai().memoizedState}function vne(e,t,r){var n=wc(e);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},Hk(e))Wk(t,r);else if(r=bk(e,t,r,n),r!==null){var a=no();Wi(r,e,n,a),Vk(r,t,n)}}function gne(e,t,r){var n=wc(e),a={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(Hk(e))Wk(t,a);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var i=t.lastRenderedState,l=o(i,r);if(a.hasEagerState=!0,a.eagerState=l,zi(l,i)){var s=t.interleaved;s===null?(a.next=a,KF(t)):(a.next=s.next,s.next=a),t.interleaved=a;return}}catch{}finally{}r=bk(e,t,a,n),r!==null&&(a=no(),Wi(r,e,n,a),Vk(r,t,n))}}function Hk(e){var t=e.alternate;return e===wn||t!==null&&t===wn}function Wk(e,t){ag=yb=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function Vk(e,t,r){if(r&4194240){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,lF(e,r)}}var Ib={readContext:ni,useCallback:Ma,useContext:Ma,useEffect:Ma,useImperativeHandle:Ma,useInsertionEffect:Ma,useLayoutEffect:Ma,useMemo:Ma,useReducer:Ma,useRef:Ma,useState:Ma,useDebugValue:Ma,useDeferredValue:Ma,useTransition:Ma,useMutableSource:Ma,useSyncExternalStore:Ma,useId:Ma,unstable_isNewReconciler:!1},hne={readContext:ni,useCallback:function(e,t){return $l().memoizedState=[e,t===void 0?null:t],e},useContext:ni,useEffect:kk,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,wb(4194308,4,Mk.bind(null,t,e),r)},useLayoutEffect:function(e,t){return wb(4194308,4,e,t)},useInsertionEffect:function(e,t){return wb(4,2,e,t)},useMemo:function(e,t){var r=$l();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=$l();return t=r!==void 0?r(t):t,n.memoizedState=n.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},n.queue=e,e=e.dispatch=vne.bind(null,wn,e),[n.memoizedState,e]},useRef:function(e){var t=$l();return e={current:e},t.memoizedState=e},useState:Ok,useDebugValue:o2,useDeferredValue:function(e){return $l().memoizedState=e},useTransition:function(){var e=Ok(!1),t=e[0];return e=pne.bind(null,e[1]),$l().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var n=wn,a=$l();if(vn){if(r===void 0)throw Error(Ge(407));r=r()}else{if(r=t(),pa===null)throw Error(Ge(349));Su&30||Ek(n,t,r)}a.memoizedState=r;var o={value:r,getSnapshot:t};return a.queue=o,kk(Ck.bind(null,n,o,e),[e]),n.flags|=2048,lg(9,Sk.bind(null,n,o,r,t),void 0,null),r},useId:function(){var e=$l(),t=pa.identifierPrefix;if(vn){var r=ps,n=fs;r=(n&~(1<<32-Li(n)-1)).toString(32)+r,t=":"+t+"R"+r,r=og++,0<\/script>",e=e.removeChild(e.firstChild)):typeof n.is=="string"?e=i.createElement(r,{is:n.is}):(e=i.createElement(r),r==="select"&&(i=e,n.multiple?i.multiple=!0:n.size&&(i.size=n.size))):e=i.createElementNS(e,r),e[ml]=t,e[Yv]=n,Vk(e,t,!1,!1),t.stateNode=e;e:{switch(i=CI(r,n),r){case"dialog":rn("cancel",e),rn("close",e),a=n;break;case"iframe":case"object":case"embed":rn("load",e),a=n;break;case"video":case"audio":for(a=0;aFf&&(t.flags|=128,n=!0,ah(o,!1),t.lanes=4194304)}else{if(!n)if(e=Qx(i),e!==null){if(t.flags|=128,n=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),ah(o,!0),o.tail===null&&o.tailMode==="hidden"&&!i.alternate&&!un)return Pa(t),null}else 2*An()-o.renderingStartTime>Ff&&r!==1073741824&&(t.flags|=128,n=!0,ah(o,!1),t.lanes=4194304);o.isBackwards?(i.sibling=t.child,t.child=i):(r=o.last,r!==null?r.sibling=i:t.child=i,o.last=i)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=An(),t.sibling=null,r=hn.current,qr(hn,n?r&1|2:r&1),t):(Pa(t),null);case 22:case 23:return s2(),n=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==n&&(t.flags|=8192),n&&t.mode&1?Ro&1073741824&&(Pa(t),t.subtreeFlags&6&&(t.flags|=8192)):Pa(t),null;case 24:return null;case 25:return null}throw Error(We(156,t.tag))}function qre(e,t){switch(_F(t),t.tag){case 1:return so(t.type)&&jx(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return yf(),nn(lo),nn(Aa),TF(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return EF(t),null;case 13:if(nn(hn),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(We(340));_f()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return nn(hn),null;case 4:return yf(),null;case 10:return DF(t.type._context),null;case 22:case 23:return s2(),null;case 24:return null;default:return null}}var lb=!1,Na=!1,Yre=typeof WeakSet=="function"?WeakSet:Set,vt=null;function Df(e,t){var r=e.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(n){$n(e,t,n)}else r.current=null}function XF(e,t,r){try{r()}catch(n){$n(e,t,n)}}var Yk=!1;function Gre(e,t){if(sF=Sx,e=$A(),eF(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var a=n.anchorOffset,o=n.focusNode;n=n.focusOffset;try{r.nodeType,o.nodeType}catch{r=null;break e}var i=0,l=-1,s=-1,c=0,d=0,f=e,v=null;t:for(;;){for(var h;f!==r||a!==0&&f.nodeType!==3||(l=i+a),f!==o||n!==0&&f.nodeType!==3||(s=i+n),f.nodeType===3&&(i+=f.nodeValue.length),(h=f.firstChild)!==null;)v=f,f=h;for(;;){if(f===e)break t;if(v===r&&++c===a&&(l=i),v===o&&++d===n&&(s=i),(h=f.nextSibling)!==null)break;f=v,v=f.parentNode}f=h}r=l===-1||s===-1?null:{start:l,end:s}}else r=null}r=r||{start:0,end:0}}else r=null;for(cF={focusedElem:e,selectionRange:r},Sx=!1,vt=t;vt!==null;)if(t=vt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,vt=e;else for(;vt!==null;){t=vt;try{var g=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var _=g.memoizedProps,w=g.memoizedState,b=t.stateNode,y=b.getSnapshotBeforeUpdate(t.elementType===t.type?_:ki(t.type,_),w);b.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var D=t.stateNode.containerInfo;D.nodeType===1?D.textContent="":D.nodeType===9&&D.documentElement&&D.removeChild(D.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(We(163))}}catch(F){$n(t,t.return,F)}if(e=t.sibling,e!==null){e.return=t.return,vt=e;break}vt=t.return}return g=Yk,Yk=!1,g}function oh(e,t,r){var n=t.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var a=n=n.next;do{if((a.tag&e)===e){var o=a.destroy;a.destroy=void 0,o!==void 0&&XF(t,r,o)}a=a.next}while(a!==n)}}function sb(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var r=t=t.next;do{if((r.tag&e)===e){var n=r.create;r.destroy=n()}r=r.next}while(r!==t)}}function ZF(e){var t=e.ref;if(t!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof t=="function"?t(e):t.current=e}}function Gk(e){var t=e.alternate;t!==null&&(e.alternate=null,Gk(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ml],delete t[Yv],delete t[pF],delete t[Rre],delete t[Ore])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Xk(e){return e.tag===5||e.tag===3||e.tag===4}function Zk(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Xk(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function QF(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.nodeType===8?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(r.nodeType===8?(t=r.parentNode,t.insertBefore(e,r)):(t=r,t.appendChild(e)),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=zx));else if(n!==4&&(e=e.child,e!==null))for(QF(e,t,r),e=e.sibling;e!==null;)QF(e,t,r),e=e.sibling}function JF(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(n!==4&&(e=e.child,e!==null))for(JF(e,t,r),e=e.sibling;e!==null;)JF(e,t,r),e=e.sibling}var _a=null,Pi=!1;function pc(e,t,r){for(r=r.child;r!==null;)Qk(e,t,r),r=r.sibling}function Qk(e,t,r){if(_l&&typeof _l.onCommitFiberUnmount=="function")try{_l.onCommitFiberUnmount(yx,r)}catch{}switch(r.tag){case 5:Na||Df(r,t);case 6:var n=_a,a=Pi;_a=null,pc(e,t,r),_a=n,Pi=a,_a!==null&&(Pi?(e=_a,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):_a.removeChild(r.stateNode));break;case 18:_a!==null&&(Pi?(e=_a,r=r.stateNode,e.nodeType===8?fF(e.parentNode,r):e.nodeType===1&&fF(e,r),Mv(e)):fF(_a,r.stateNode));break;case 4:n=_a,a=Pi,_a=r.stateNode.containerInfo,Pi=!0,pc(e,t,r),_a=n,Pi=a;break;case 0:case 11:case 14:case 15:if(!Na&&(n=r.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){a=n=n.next;do{var o=a,i=o.destroy;o=o.tag,i!==void 0&&(o&2||o&4)&&XF(r,t,i),a=a.next}while(a!==n)}pc(e,t,r);break;case 1:if(!Na&&(Df(r,t),n=r.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(l){$n(r,t,l)}pc(e,t,r);break;case 21:pc(e,t,r);break;case 22:r.mode&1?(Na=(n=Na)||r.memoizedState!==null,pc(e,t,r),Na=n):pc(e,t,r);break;default:pc(e,t,r)}}function Jk(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new Yre),t.forEach(function(n){var a=ane.bind(null,e,n);r.has(n)||(r.add(n),n.then(a,a))})}}function Ni(e,t){var r=t.deletions;if(r!==null)for(var n=0;na&&(a=i),n&=~o}if(n=a,n=An()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*Zre(n/1960))-n,10e?16:e,hc===null)var n=!1;else{if(e=hc,hc=null,pb=0,wr&6)throw Error(We(331));var a=wr;for(wr|=4,vt=e.current;vt!==null;){var o=vt,i=o.child;if(vt.flags&16){var l=o.deletions;if(l!==null){for(var s=0;sAn()-r2?Iu(e,0):t2|=r),fo(e,t)}function fP(e,t){t===0&&(e.mode&1?(t=Dx,Dx<<=1,!(Dx&130023424)&&(Dx=4194304)):t=1);var r=Xa();e=us(e,t),e!==null&&(Ov(e,t,r),fo(e,r))}function nne(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),fP(e,r)}function ane(e,t){var r=0;switch(e.tag){case 13:var n=e.stateNode,a=e.memoizedState;a!==null&&(r=a.retryLane);break;case 19:n=e.stateNode;break;default:throw Error(We(314))}n!==null&&n.delete(t),fP(e,r)}var pP;pP=function(e,t,r){if(e!==null)if(e.memoizedProps!==t.pendingProps||lo.current)co=!0;else{if(!(e.lanes&r)&&!(t.flags&128))return co=!1,Vre(e,t,r);co=!!(e.flags&131072)}else co=!1,un&&t.flags&1048576&&KA(t,Vx,t.index);switch(t.lanes=0,t.tag){case 2:var n=t.type;ib(e,t),e=t.pendingProps;var a=vf(t,Aa.current);bf(t,r),a=AF(null,t,n,e,a,r);var o=kF();return t.flags|=1,typeof a=="object"&&a!==null&&typeof a.render=="function"&&a.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,so(n)?(o=!0,Ux(t)):o=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,$F(t),a.updater=ab,t.stateNode=a,a._reactInternals=t,BF(t,n,e,r),t=WF(null,t,n,!0,o,r)):(t.tag=0,un&&o&&gF(t),Ga(null,t,a,r),t=t.child),t;case 16:n=t.elementType;e:{switch(ib(e,t),e=t.pendingProps,a=n._init,n=a(n._payload),t.type=n,a=t.tag=ine(n),e=ki(n,e),a){case 0:t=HF(null,t,n,e,r);break e;case 1:t=zk(null,t,n,e,r);break e;case 11:t=kk(null,t,n,e,r);break e;case 14:t=Pk(null,t,n,ki(n.type,e),r);break e}throw Error(We(306,n,""))}return t;case 0:return n=t.type,a=t.pendingProps,a=t.elementType===n?a:ki(n,a),HF(e,t,n,a,r);case 1:return n=t.type,a=t.pendingProps,a=t.elementType===n?a:ki(n,a),zk(e,t,n,a,r);case 3:e:{if(Bk(t),e===null)throw Error(We(387));n=t.pendingProps,o=t.memoizedState,a=o.element,tk(e,t),Zx(t,n,null,r);var i=t.memoizedState;if(n=i.element,o.isDehydrated)if(o={element:n,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){a=wf(Error(We(423)),t),t=jk(e,t,n,r,a);break e}else if(n!==a){a=wf(Error(We(424)),t),t=jk(e,t,n,r,a);break e}else for(To=lc(t.stateNode.containerInfo.firstChild),Co=t,un=!0,Ai=null,r=JA(t,null,n,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(_f(),n===a){t=fs(e,t,r);break e}Ga(e,t,n,r)}t=t.child}return t;case 5:return ak(t),e===null&&xF(t),n=t.type,a=t.pendingProps,o=e!==null?e.memoizedProps:null,i=a.children,uF(n,a)?i=null:o!==null&&uF(n,o)&&(t.flags|=32),Lk(e,t),Ga(e,t,i,r),t.child;case 6:return e===null&&xF(t),null;case 13:return Uk(e,t,r);case 4:return SF(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=mf(t,null,n,r):Ga(e,t,n,r),t.child;case 11:return n=t.type,a=t.pendingProps,a=t.elementType===n?a:ki(n,a),kk(e,t,n,a,r);case 7:return Ga(e,t,t.pendingProps,r),t.child;case 8:return Ga(e,t,t.pendingProps.children,r),t.child;case 12:return Ga(e,t,t.pendingProps.children,r),t.child;case 10:e:{if(n=t.type._context,a=t.pendingProps,o=t.memoizedProps,i=a.value,qr(Yx,n._currentValue),n._currentValue=i,o!==null)if(Oi(o.value,i)){if(o.children===a.children&&!lo.current){t=fs(e,t,r);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var l=o.dependencies;if(l!==null){i=o.child;for(var s=l.firstContext;s!==null;){if(s.context===n){if(o.tag===1){s=ds(-1,r&-r),s.tag=2;var c=o.updateQueue;if(c!==null){c=c.shared;var d=c.pending;d===null?s.next=s:(s.next=d.next,d.next=s),c.pending=s}}o.lanes|=r,s=o.alternate,s!==null&&(s.lanes|=r),IF(o.return,r,t),l.lanes|=r;break}s=s.next}}else if(o.tag===10)i=o.type===t.type?null:o.child;else if(o.tag===18){if(i=o.return,i===null)throw Error(We(341));i.lanes|=r,l=i.alternate,l!==null&&(l.lanes|=r),IF(i,r,t),i=o.sibling}else i=o.child;if(i!==null)i.return=o;else for(i=o;i!==null;){if(i===t){i=null;break}if(o=i.sibling,o!==null){o.return=i.return,i=o;break}i=i.return}o=i}Ga(e,t,a.children,r),t=t.child}return t;case 9:return a=t.type,n=t.pendingProps.children,bf(t,r),a=Qo(a),n=n(a),t.flags|=1,Ga(e,t,n,r),t.child;case 14:return n=t.type,a=ki(n,t.pendingProps),a=ki(n.type,a),Pk(e,t,n,a,r);case 15:return Nk(e,t,t.type,t.pendingProps,r);case 17:return n=t.type,a=t.pendingProps,a=t.elementType===n?a:ki(n,a),ib(e,t),t.tag=1,so(n)?(e=!0,Ux(t)):e=!1,bf(t,r),Sk(t,n,a),BF(t,n,a,r),WF(null,t,n,!0,e,r);case 19:return Wk(e,t,r);case 22:return Mk(e,t,r)}throw Error(We(156,t.tag))};function vP(e,t){return q4(e,t)}function one(e,t,r,n){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ti(e,t,r,n){return new one(e,t,r,n)}function u2(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ine(e){if(typeof e=="function")return u2(e)?1:0;if(e!=null){if(e=e.$$typeof,e===hI)return 11;if(e===mI)return 14}return 2}function mc(e,t){var r=e.alternate;return r===null?(r=ti(e.tag,t,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function _b(e,t,r,n,a,o){var i=2;if(n=e,typeof e=="function")u2(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case ef:return $u(r.children,a,o,t);case pI:i=8,a|=8;break;case vI:return e=ti(12,r,t,a|2),e.elementType=vI,e.lanes=o,e;case gI:return e=ti(13,r,t,a),e.elementType=gI,e.lanes=o,e;case _I:return e=ti(19,r,t,a),e.elementType=_I,e.lanes=o,e;case D4:return mb(r,a,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case y4:i=10;break e;case w4:i=9;break e;case hI:i=11;break e;case mI:i=14;break e;case Js:i=16,n=null;break e}throw Error(We(130,e==null?e:typeof e,""))}return t=ti(i,r,t,a),t.elementType=e,t.type=n,t.lanes=o,t}function $u(e,t,r,n){return e=ti(7,e,n,t),e.lanes=r,e}function mb(e,t,r,n){return e=ti(22,e,n,t),e.elementType=D4,e.lanes=r,e.stateNode={isHidden:!1},e}function d2(e,t,r){return e=ti(6,e,null,t),e.lanes=r,e}function f2(e,t,r){return t=ti(4,e.children!==null?e.children:[],e.key,t),t.lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function lne(e,t,r,n,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=LI(0),this.expirationTimes=LI(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=LI(0),this.identifierPrefix=n,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function p2(e,t,r,n,a,o,i,l,s){return e=new lne(e,t,r,l,s),t===1?(t=1,o===!0&&(t|=8)):t=0,o=ti(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},$F(o),e}function sne(e,t,r){var n=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(r){console.error(r)}}t(),e.exports=$o}(ste);const Sf=qt(Kr);function bP(e){return e instanceof HTMLElement||e instanceof SVGElement}function pne(e){return e&&uu(e)==="object"&&bP(e.nativeElement)?e.nativeElement:bP(e)?e:null}function Ef(e){var t=pne(e);if(t)return t;if(e instanceof $.Component){var r;return(r=Sf.findDOMNode)===null||r===void 0?void 0:r.call(Sf,e)}return null}function vne(e,t,r){var n=m.useRef({});return(!("value"in n.current)||r(n.current.condition,t))&&(n.current.value=e(),n.current.condition=t),n.current.value}var hne=function(t,r){typeof t=="function"?t(r):uu(t)==="object"&&t&&"current"in t&&(t.current=r)},yP=function(){for(var t=arguments.length,r=new Array(t),n=0;n