/* 优化侧边栏 */
.sidebar-mini.sidebar-collapse .app-sidebar:hover {min-width: 4.6rem !important;max-width: 4.6rem !important;}
.sidebar-mini.sidebar-collapse .app-sidebar:hover .aside-wrapper {min-width: var(--lte-sidebar-width); max-width: var(--lte-sidebar-width);}
.app-sidebar>.aside-wrapper {min-width: 100%;max-width: 100%;transition: min-width 0.3s ease-in-out, max-width 0.3s ease-in-out;}
/* 首页首次登录 */
#loginSuccessModal{bottom: 0; right: 20px; top: auto; left: auto; z-index: 1055; max-width: 400px; margin: 0; pointer-events: none; height: auto;}
/* 管理员面板背景 */
.navbar-nav>.user-menu>.dropdown-menu>li.user-header.gradient-bg {background: linear-gradient(135deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.1) 100%);}
.navbar-nav>.user-menu>.dropdown-menu>li.user-header.gradient-mesh-bg {background-image: radial-gradient(circle at 25% 25%, rgba(255,255,255,0.05) 0%, transparent 55%),radial-gradient(circle at 75% 75%, rgba(255,255,255,0.25) 0%, transparent 55%);}
.navbar-nav>.user-menu>.dropdown-menu>li.user-header.geometric-bg {background-image: repeating-linear-gradient(-45deg, transparent, transparent 10px, rgba(255,255,255,0.2) 10px, rgba(255,255,255,0.3) 20px);background-blend-mode: overlay;}
.navbar-nav>.user-menu>.dropdown-menu>li.user-header.stripes-bg {background-image: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(255,255,255,0.3) 10px, rgba(255,255,255,0.3) 20px),repeating-linear-gradient(-45deg, transparent, transparent 10px, rgba(255,255,255,0.2) 10px, rgba(255,255,255,0.2) 20px)}
/* 表单 */
.ws-form .label{width: 120px;text-align: right;}
.ws-form .tips{width:220px;margin-left: 10px;}
/* 通用配置项 */
#configTabs .nav-link.active {font-weight:600;}
#configContent .tab-pane {padding-bottom:20px;}
#configContent .tab-pane .label {width:160px;text-align:right;}
#configContent .tab-pane .input {width:320px;}
#configContent .tab-pane .switch {width:auto;}
#configContent .tab-pane .image {width:320px;}
#configContent .tab-pane .images {width:320px;}
#configContent .tab-pane .checkbox {width:320px;}
#configContent .tab-pane .radio {width:320px;}
#configContent .tab-pane .custom {width:auto;}
#configContent .tab-pane .description {width:auto;}
#configContent .tab-pane .description .form-text {margin:0;line-height:1rem;}
#configContent .tab-pane .description .key {color:var(--bs-info);}
.config-group {border-radius:8px;padding:20px;margin-bottom:20px;border-left:4px solid transparent;}
.config-group h5 {color:#495057;margin-bottom:15px;font-weight:600;}
.config-group .config-item {position:relative;padding: 8px 0; border-radius: var(--bs-border-radius);}
.config-group .config-item:hover {background: var(--bs-secondary-bg);}
.config-group.editing .config-item:hover {background: var(--bs-body-bg);}
.config-group.editing {background:var(--bs-secondary-bg);border-left:4px solid var(--bs-warning);}
.config-group>.row{padding-left:8px;}
.config-group .config-item label {font-weight:500;margin-bottom:5px;}
.config-group .group-actions {position:absolute;top:20px;right:20px;}
.config-group .item-actions {display:none;}
.config-group .edit-mode .item-actions {display:block;}
.config-group .edit-mode .description-content {display:none;}
.config-group .edit-mode .config-item {background: var(--bs-secondary-bg);padding:10px;border-radius:4px;border:1px solid var(--bs-border-color);}
#configContent .tab-pane .custom .scheme {width: 24px; height: 24px; margin: auto;display: block;}
/* 导航栏 */
#navContextMenu .dropdown-item>span{min-width: 130px;display: inline-block;pointer-events: none;}
.nav-tabs>.nav-item>.nav-link:not(.active)>.close-tab{visibility: hidden;}
.nav-tabs>.nav-item:hover>.nav-link>.close-tab{visibility: visible;}
.nav-tabs .tabdrop .dropdown-menu .nav-link.active{border: none;border-radius: 0;}
.nav-tabs .tabdrop .dropdown-menu .nav-link:hover{color: var(--bs-dropdown-link-hover-color); background-color: var(--bs-dropdown-link-hover-bg);}
.nav-tabs .tabdrop .dropdown-menu .nav-link .close-tab{float: right;}
.nav-tabs .nav-item .pin-tab {min-width: 1.2rem; display: inline-block; text-align: center;}
/* treegrid样式 */
.treegrid-indent {width:16px; height: 16px; display: inline-block; position: relative;}
.treegrid-expander {width:16px; height: 16px; display: inline-block; position: relative; cursor: pointer;}
/* 背景 */
.ws-bg-tertiary{background-color: var(--bs-tertiary-bg);background-image: radial-gradient(circle, var(--bs-border-color) 1px, rgba(0, 0, 0, 0) 1px);background-size: 0.5rem 0.5rem;}
/**------ table.js样式 ---------*/
/* 下拉菜单内容超出部分显示 */
.fixed-table-body{overflow: visible !important;}
/* 长文本显示样式 */
.expandable-content {position: relative;cursor: pointer;}
.expandable-content .content-wrapper {display: flex;align-items: flex-start;}
.expandable-content .truncated-text,.expandable-content .full-text {flex: 1;min-width: 0; }
.expandable-content .expand-toggle {margin-left: 4px;color: var(--bs-secondary);transition: transform 0.2s;}
.expandable-content.expanded .expand-toggle {transform: rotate(180deg);}
.expandable-content.multiline .truncated-text,
.expandable-content.multiline .full-text {white-space: pre-line;word-break: break-word;}
/* 长文本容器样式 */
.long-text-container {position: relative;}
.long-text-container .text-preview,.long-text-container .text-full {word-break: break-word;line-height: 1.4;}
.long-text-container .text-toggle {margin-top: 4px;text-align: right;}
.long-text-container .text-toggle .btn {padding: 0;font-size: 0.875rem;color: var(--bs-primary);text-decoration: none;}
.long-text-container .text-toggle .btn:hover {text-decoration: underline;}
/* 代码片段样式 */
.code-snippet {border: 1px solid var(--bs-secondary-bg-subtle);border-radius: 4px;background-color: var(--bs-secondary-bg);}
.code-snippet pre {margin: 0;padding: 8px;background-color: transparent;border: none;}
.code-snippet.truncated pre {overflow: hidden;}
.code-snippet .code-actions {position: absolute;top: 4px;right: 4px;display: flex;gap: 4px;opacity: 0;transition: opacity 0.2s;}
.code-snippet:hover .code-actions {opacity: 1;}
.code-snippet .code-copy-btn,.code-snippet .code-expand-btn {padding: 2px 6px;font-size: 0.75rem;line-height: 1;}
/* 表格单元格内的文本截断 */
.table-cell-content {max-width: 200px; overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
.table-cell-content.multiline {white-space: normal;display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;}
/* 工具提示样式 */
.text-tooltip {position: relative;}
.text-tooltip:hover::after {content: attr(data-full-text);position: absolute;bottom: 100%;left: 50%;transform: translateX(-50%);background: #333;color: white;padding: 4px 8px;border-radius: 4px;font-size: 0.875rem;white-space: pre-wrap;max-width: 300px;z-index: 1000;box-shadow: 0 2px 8px rgba(0,0,0,0.15);}
/* 页面加载动画 */
.loading-overlay {position: fixed;top: 0;left: 0;right: 0;bottom: 0;background: var(--bs-body-bg);display: flex;align-items: center;justify-content: center;z-index: 9999;transition: opacity 0.5s ease, visibility 0.5s ease;}
.loading-overlay.hidden {opacity: 0;visibility: hidden;}
.loading-spinner {width: 60px;height: 60px;border: 4px solid rgba(255, 255, 255, 0.1);border-top-color: var(--bs-primary);border-radius: 50%;animation: spin 1s linear infinite;}