:root,:host{--w-e-textarea-bg-color: #fff;--w-e-textarea-color: #333;--w-e-textarea-border-color: #ccc;--w-e-textarea-slight-border-color: #e8e8e8;--w-e-textarea-slight-color: #d4d4d4;--w-e-textarea-slight-bg-color: #f5f2f0;--w-e-textarea-selected-border-color: #B4D5FF;--w-e-textarea-handler-bg-color: #4290f7;--w-e-toolbar-color: #595959;--w-e-toolbar-bg-color: #fff;--w-e-toolbar-active-color: #333;--w-e-toolbar-active-bg-color: #f1f1f1;--w-e-toolbar-disabled-color: #999;--w-e-toolbar-border-color: #e8e8e8;--w-e-modal-button-bg-color: #fafafa;--w-e-modal-button-border-color: #d9d9d9}.w-e-text-container *,.w-e-toolbar *{box-sizing:border-box;margin:0;outline:none;padding:0}.w-e-text-container blockquote,.w-e-text-container li,.w-e-text-container p,.w-e-text-container td,.w-e-text-container th,.w-e-toolbar *{line-height:1.5}.w-e-text-container{background-color:var(--w-e-textarea-bg-color);color:var(--w-e-textarea-color);height:100%;position:relative}.w-e-text-container .w-e-scroll{-webkit-overflow-scrolling:touch;height:100%}.w-e-text-container [data-slate-editor]{word-wrap:break-word;border-top:1px solid transparent;min-height:100%;outline:0;padding:0 10px;white-space:pre-wrap}.w-e-text-container [data-slate-editor] p{margin:15px 0}.w-e-text-container [data-slate-editor] h1,.w-e-text-container [data-slate-editor] h2,.w-e-text-container [data-slate-editor] h3,.w-e-text-container [data-slate-editor] h4,.w-e-text-container [data-slate-editor] h5{margin:20px 0}.w-e-text-container [data-slate-editor] img{cursor:default;display:inline!important;max-width:100%;min-height:20px;min-width:20px}.w-e-text-container [data-slate-editor] span{text-indent:0}.w-e-text-container [data-slate-editor] [data-selected=true]{box-shadow:0 0 0 2px var(--w-e-textarea-selected-border-color)}.w-e-text-placeholder{font-style:italic;left:10px;top:17px;width:90%}.w-e-max-length-info,.w-e-text-placeholder{color:var(--w-e-textarea-slight-color);pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}.w-e-max-length-info{bottom:.5em;right:1em}.w-e-bar{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-color);font-size:14px;padding:0 5px}.w-e-bar svg{fill:var(--w-e-toolbar-color);height:14px;width:14px}.w-e-bar-show{display:flex}.w-e-bar-hidden{display:none}.w-e-hover-bar{border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 5px #0000001f;position:absolute}.w-e-toolbar{flex-wrap:wrap;position:relative}.w-e-bar-divider{background-color:var(--w-e-toolbar-border-color);display:inline-flex;height:40px;margin:0 5px;width:1px}.w-e-bar-item{display:flex;height:40px;padding:4px;position:relative;text-align:center}.w-e-bar-item,.w-e-bar-item button{align-items:center;justify-content:center}.w-e-bar-item button{background:transparent;border:none;color:var(--w-e-toolbar-color);cursor:pointer;display:inline-flex;height:32px;overflow:hidden;padding:0 8px;white-space:nowrap}.w-e-bar-item button:hover{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item button .title{margin-left:5px}.w-e-bar-item .active{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item .disabled{color:var(--w-e-toolbar-disabled-color);cursor:not-allowed}.w-e-bar-item .disabled svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-menu-tooltip-v5:before{background-color:var(--w-e-toolbar-active-color);border-radius:5px;color:var(--w-e-toolbar-bg-color);content:attr(data-tooltip);font-size:.75em;opacity:0;padding:5px 10px;position:absolute;text-align:center;top:40px;transition:opacity .6s;visibility:hidden;white-space:pre;z-index:1}.w-e-menu-tooltip-v5:after{border:5px solid transparent;border-bottom:5px solid var(--w-e-toolbar-active-color);content:"";opacity:0;position:absolute;top:30px;transition:opacity .6s;visibility:hidden}.w-e-menu-tooltip-v5:hover:after,.w-e-menu-tooltip-v5:hover:before{opacity:1;visibility:visible}.w-e-menu-tooltip-v5.tooltip-right:before{left:100%;top:10px}.w-e-menu-tooltip-v5.tooltip-right:after{border-bottom-color:transparent;border-left-color:transparent;border-right-color:var(--w-e-toolbar-active-color);border-top-color:transparent;left:100%;margin-left:-10px;top:16px}.w-e-bar-item-group .w-e-bar-item-menus-container{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;display:none;left:0;margin-top:40px;position:absolute;top:0;z-index:1}.w-e-bar-item-group:hover .w-e-bar-item-menus-container{display:block}.w-e-select-list{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;left:0;margin-top:40px;max-height:350px;min-width:100px;overflow-y:auto;position:absolute;top:0;z-index:1}.w-e-select-list ul{line-height:1;list-style:none}.w-e-select-list ul .selected{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li{cursor:pointer;padding:7px 0 7px 25px;position:relative;text-align:left;white-space:nowrap}.w-e-select-list ul li:hover{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li svg{left:0;margin-left:5px;margin-top:-7px;position:absolute;top:50%}.w-e-bar-bottom .w-e-select-list{bottom:0;margin-bottom:40px;margin-top:0;top:inherit}.w-e-drop-panel{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;margin-top:40px;min-width:200px;padding:10px;position:absolute;top:0;z-index:1}.w-e-bar-bottom .w-e-drop-panel{bottom:0;margin-bottom:40px;margin-top:0;top:inherit}.w-e-modal{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;color:var(--w-e-toolbar-color);font-size:14px;min-height:40px;min-width:100px;padding:20px 15px 0;position:absolute;text-align:left;z-index:1}.w-e-modal .btn-close{cursor:pointer;line-height:1;padding:5px;position:absolute;right:8px;top:7px}.w-e-modal .btn-close svg{fill:var(--w-e-toolbar-color);height:10px;width:10px}.w-e-modal .babel-container{display:block;margin-bottom:15px}.w-e-modal .babel-container span{display:block;margin-bottom:10px}.w-e-modal .button-container{margin-bottom:15px}.w-e-modal button{background-color:var(--w-e-modal-button-bg-color);border:1px solid var(--w-e-modal-button-border-color);border-radius:4px;color:var(--w-e-toolbar-color);cursor:pointer;font-weight:400;height:32px;padding:4.5px 15px;text-align:center;touch-action:manipulation;transition:all .3s cubic-bezier(.645,.045,.355,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.w-e-modal input[type=number],.w-e-modal input[type=text],.w-e-modal textarea{font-feature-settings:"tnum";background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-modal-button-border-color);border-radius:4px;color:var(--w-e-toolbar-color);font-variant:tabular-nums;padding:4.5px 11px;transition:all .3s;width:100%}.w-e-modal textarea{min-height:60px}body .w-e-modal,body .w-e-modal *{box-sizing:border-box}.w-e-progress-bar{background-color:var(--w-e-textarea-handler-bg-color);height:1px;position:absolute;transition:width .3s;width:0}.w-e-full-screen-container{bottom:0!important;display:flex!important;flex-direction:column!important;height:100%!important;left:0!important;margin:0!important;padding:0!important;position:fixed;right:0!important;top:0!important;width:100%!important}.w-e-full-screen-container [data-w-e-textarea=true]{flex:1!important}.w-e-text-container [data-slate-editor] code{background-color:var(--w-e-textarea-slight-bg-color);border-radius:3px;font-family:monospace;padding:3px}.w-e-panel-content-color{list-style:none;text-align:left;width:230px}.w-e-panel-content-color li{border:1px solid var(--w-e-toolbar-bg-color);border-radius:3px;cursor:pointer;display:inline-block;padding:2px}.w-e-panel-content-color li:hover{border-color:var(--w-e-toolbar-color)}.w-e-panel-content-color li .color-block{border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;height:17px;width:17px}.w-e-panel-content-color .active{border-color:var(--w-e-toolbar-color)}.w-e-panel-content-color .clear{line-height:1.5;margin-bottom:5px;width:100%}.w-e-panel-content-color .clear svg{height:16px;margin-bottom:-4px;width:16px}.w-e-text-container [data-slate-editor] blockquote{background-color:var(--w-e-textarea-slight-bg-color);border-left:8px solid var(--w-e-textarea-selected-border-color);display:block;font-size:100%;line-height:1.5;margin:10px 0;padding:10px}.w-e-panel-content-emotion{font-size:20px;list-style:none;text-align:left;width:300px}.w-e-panel-content-emotion li{border-radius:3px;cursor:pointer;display:inline-block;padding:0 5px}.w-e-panel-content-emotion li:hover{background-color:var(--w-e-textarea-slight-bg-color)}.w-e-textarea-divider{border-radius:3px;margin:20px auto;padding:20px}.w-e-textarea-divider hr{background-color:var(--w-e-textarea-border-color);border:0;display:block;height:1px}.w-e-text-container [data-slate-editor] pre>code{background-color:var(--w-e-textarea-slight-bg-color);border:1px solid var(--w-e-textarea-slight-border-color);border-radius:4px;display:block;font-size:14px;padding:10px;text-indent:0}.w-e-text-container [data-slate-editor] .w-e-image-container{display:inline-block;margin:0 3px}.w-e-text-container [data-slate-editor] .w-e-image-container:hover{box-shadow:0 0 0 2px var(--w-e-textarea-selected-border-color)}.w-e-text-container [data-slate-editor] .w-e-selected-image-container{overflow:hidden;position:relative}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .w-e-image-dragger{background-color:var(--w-e-textarea-handler-bg-color);height:7px;position:absolute;width:7px}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-top{cursor:nwse-resize;left:0;top:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-top{cursor:nesw-resize;right:0;top:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-bottom{bottom:0;cursor:nesw-resize;left:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-bottom{bottom:0;cursor:nwse-resize;right:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container:hover,.w-e-text-container [contenteditable=false] .w-e-image-container:hover{box-shadow:none}.w-e-text-container [data-slate-editor] .table-container{border:1px dashed var(--w-e-textarea-border-color);border-radius:5px;margin-top:10px;overflow-x:auto;padding:10px;width:100%}.w-e-text-container [data-slate-editor] table{border-collapse:collapse}.w-e-text-container [data-slate-editor] table td,.w-e-text-container [data-slate-editor] table th{border:1px solid var(--w-e-textarea-border-color);line-height:1.5;min-width:30px;padding:3px 5px;text-align:left}.w-e-text-container [data-slate-editor] table th{background-color:var(--w-e-textarea-slight-bg-color);font-weight:700;text-align:center}.w-e-panel-content-table{background-color:var(--w-e-toolbar-bg-color)}.w-e-panel-content-table table{border-collapse:collapse}.w-e-panel-content-table td{border:1px solid var(--w-e-toolbar-border-color);cursor:pointer;height:15px;padding:3px 5px;width:20px}.w-e-panel-content-table td.active{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-textarea-video-container{background-image:linear-gradient(45deg,#eee 25%,transparent 0,transparent 75%,#eee 0,#eee),linear-gradient(45deg,#eee 25%,#fff 0,#fff 75%,#eee 0,#eee);background-position:0 0,10px 10px;background-size:20px 20px;border:1px dashed var(--w-e-textarea-border-color);border-radius:5px;margin:10px auto 0;padding:10px 0;text-align:center}.w-e-text-container [data-slate-editor] pre>code{word-wrap:normal;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;-webkit-hyphens:none;hyphens:none;line-height:1.5;margin:.5em 0;overflow:auto;padding:1em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;text-shadow:0 1px #fff;white-space:pre;word-break:normal;word-spacing:normal}.w-e-text-container [data-slate-editor] pre>code .token.cdata,.w-e-text-container [data-slate-editor] pre>code .token.comment,.w-e-text-container [data-slate-editor] pre>code .token.doctype,.w-e-text-container [data-slate-editor] pre>code .token.prolog{color:#708090}.w-e-text-container [data-slate-editor] pre>code .token.punctuation{color:#999}.w-e-text-container [data-slate-editor] pre>code .token.namespace{opacity:.7}.w-e-text-container [data-slate-editor] pre>code .token.boolean,.w-e-text-container [data-slate-editor] pre>code .token.constant,.w-e-text-container [data-slate-editor] pre>code .token.deleted,.w-e-text-container [data-slate-editor] pre>code .token.number,.w-e-text-container [data-slate-editor] pre>code .token.property,.w-e-text-container [data-slate-editor] pre>code .token.symbol,.w-e-text-container [data-slate-editor] pre>code .token.tag{color:#905}.w-e-text-container [data-slate-editor] pre>code .token.attr-name,.w-e-text-container [data-slate-editor] pre>code .token.builtin,.w-e-text-container [data-slate-editor] pre>code .token.char,.w-e-text-container [data-slate-editor] pre>code .token.inserted,.w-e-text-container [data-slate-editor] pre>code .token.selector,.w-e-text-container [data-slate-editor] pre>code .token.string{color:#690}.w-e-text-container [data-slate-editor] pre>code .language-css .token.string,.w-e-text-container [data-slate-editor] pre>code .style .token.string,.w-e-text-container [data-slate-editor] pre>code .token.entity,.w-e-text-container [data-slate-editor] pre>code .token.operator,.w-e-text-container [data-slate-editor] pre>code .token.url{color:#9a6e3a}.w-e-text-container [data-slate-editor] pre>code .token.atrule,.w-e-text-container [data-slate-editor] pre>code .token.attr-value,.w-e-text-container [data-slate-editor] pre>code .token.keyword{color:#07a}.w-e-text-container [data-slate-editor] pre>code .token.class-name,.w-e-text-container [data-slate-editor] pre>code .token.function{color:#dd4a68}.w-e-text-container [data-slate-editor] pre>code .token.important,.w-e-text-container [data-slate-editor] pre>code .token.regex,.w-e-text-container [data-slate-editor] pre>code .token.variable{color:#e90}.w-e-text-container [data-slate-editor] pre>code .token.bold,.w-e-text-container [data-slate-editor] pre>code .token.important{font-weight:700}.w-e-text-container [data-slate-editor] pre>code .token.italic{font-style:italic}.w-e-text-container [data-slate-editor] pre>code .token.entity{cursor:help}:root{--primary: #722ED1;--primary-light: #9254DE;--accent: #B37FEB;--accent-dark: #722ED1;--bg-light: #F9F0FF;--border-green: #D3ADF7;--danger: #FF4D4F;--warning: #FA8C16;--content-bg: #FAF5FF;--header-bg: #ffffff;--terminal-green: #B37FEB;--radius-card: 10px;--radius-btn: 6px;--radius-input: 6px;--radius-modal: 10px;--sider-width: 232px;--sider-collapsed-width: 64px;--header-height: 64px}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;width:100%}body{font-family:HarmonyOS Sans SC,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;background:linear-gradient(180deg,#faf5ff,#f3e8ff);background-attachment:fixed;color:#000000d9;-webkit-font-smoothing:antialiased}a{color:var(--accent-dark)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#2e0a4e33;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#2e0a4e66}::-webkit-scrollbar-track{background:transparent}.data-table-wrapper .ant-table-body{max-height:60vh!important;overflow-y:auto!important}*{scrollbar-width:thin;scrollbar-color:rgba(46,10,78,.2) transparent}.admin-sider{background:linear-gradient(180deg,#1e0a2e,#2d1b4e)!important;position:relative;z-index:10}.admin-sider .ant-layout-sider-children{display:flex;flex-direction:column}.admin-sider:after{content:"";position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(180deg,transparent 0%,rgba(147,84,222,.06) 100%);pointer-events:none;z-index:0}.sider-logo{height:var(--header-height);display:flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;color:#fff;font-size:17px;font-weight:700;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden;white-space:nowrap}.sider-logo img{height:30px;width:30px;object-fit:contain}.sider-logo .logo-placeholder{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;flex-shrink:0;box-shadow:0 2px 8px #722ed14d;transition:transform .3s ease,box-shadow .3s ease}.sider-logo .logo-placeholder:hover{transform:rotate(8deg) scale(1.08);box-shadow:0 4px 14px #722ed173}.admin-sider .ant-menu{background:transparent!important;border-inline-end:none!important;color:#ffffffbf!important;flex:1;padding:8px 0;overflow-y:auto;overflow-x:hidden}.admin-sider .ant-menu-item,.admin-sider .ant-menu-submenu-title{color:#ffffffbf!important;margin:2px 8px!important;border-radius:6px;transition:background .25s ease,color .25s ease,transform .2s ease}.admin-sider .ant-menu-item:hover,.admin-sider .ant-menu-submenu-title:hover{background:#9354de26!important;color:#fff!important;transform:translate(2px)}.admin-sider .ant-menu-item-selected{background:#9354de33!important;color:var(--accent)!important;position:relative}.admin-sider .ant-menu-item-selected:after{content:"";position:absolute;left:0;top:6px;bottom:6px;width:4px;background:var(--accent);border-radius:0 4px 4px 0}.admin-sider .ant-menu-item .anticon,.admin-sider .ant-menu-submenu-title .anticon{color:inherit!important}.admin-sider .ant-menu-submenu .ant-menu{background:#0000002e!important}.admin-header{background:var(--header-bg)!important;height:var(--header-height)!important;line-height:var(--header-height);padding:0 20px!important;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0ec;box-shadow:0 1px 4px #2e0a4e0a}.admin-header .header-left{display:flex;align-items:center;gap:12px}.admin-header .header-right{display:flex;align-items:center;gap:16px}.admin-breadcrumb{font-size:14px}.admin-content{margin:16px;padding:16px;background:#fff;border-radius:var(--radius-card);min-height:calc(100vh - var(--header-height) - 32px);box-shadow:0 4px 16px #2e0a4e0f}.data-table-wrapper .ant-table-thead>tr>th{background:var(--bg-light)!important;color:var(--primary)!important;font-weight:600;border-bottom:2px solid var(--border-green)!important}.data-table-wrapper .ant-table-tbody>tr:nth-child(odd){background:#fff!important}.data-table-wrapper .ant-table-tbody>tr:nth-child(2n){background:var(--bg-light)!important}.data-table-wrapper .ant-table-tbody>tr:hover>td{background:#9354de14!important}.data-table-wrapper .ant-table-cell{white-space:normal!important;word-break:break-word!important}.data-table-wrapper .ant-table-tbody>tr{cursor:pointer}.data-table-wrapper .ant-table-pagination{margin-top:16px!important}.ant-table-cell-fix-left,.ant-table-cell-fix-right,.data-table-wrapper .ant-table-cell-fix-left,.data-table-wrapper .ant-table-cell-fix-right{background:#fff!important;background-color:#fff!important}.ant-table-tbody>tr:nth-child(2n)>.ant-table-cell-fix-left,.ant-table-tbody>tr:nth-child(2n)>.ant-table-cell-fix-right,.data-table-wrapper .ant-table-tbody>tr:nth-child(2n)>.ant-table-cell-fix-left,.data-table-wrapper .ant-table-tbody>tr:nth-child(2n)>.ant-table-cell-fix-right{background:var(--bg-light)!important;background-color:var(--bg-light)!important}.ant-table-tbody>tr.ant-table-row:hover>.ant-table-cell-fix-left,.ant-table-tbody>tr.ant-table-row:hover>.ant-table-cell-fix-right,.data-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>.ant-table-cell-fix-left,.data-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>.ant-table-cell-fix-right{background:#9354de14!important;background-color:#9354de14!important}.ant-table-thead>tr>th.ant-table-cell-fix-left,.ant-table-thead>tr>th.ant-table-cell-fix-right,.data-table-wrapper .ant-table-thead>tr>th.ant-table-cell-fix-left,.data-table-wrapper .ant-table-thead>tr>th.ant-table-cell-fix-right{background:var(--bg-light)!important;background-color:var(--bg-light)!important}.ant-table-cell-fix-right-last:after,.data-table-wrapper .ant-table-cell-fix-right-last:after{box-shadow:-10px 0 8px -8px #2e0a4e1f!important}.ant-table-cell-fix-left-last:after,.data-table-wrapper .ant-table-cell-fix-left-last:after{box-shadow:10px 0 8px -8px #2e0a4e1f!important}.ant-btn{border-radius:var(--radius-btn)!important}.ant-btn-primary{background:var(--accent-dark)!important;border-color:var(--accent-dark)!important}.ant-btn-primary:not(:disabled):hover{background:var(--accent)!important;border-color:var(--accent)!important}.ant-btn-default{border-color:var(--border-green)!important;color:var(--accent-dark)!important}.ant-btn-default:not(:disabled):hover{background:var(--bg-light)!important;border-color:var(--accent)!important;color:var(--accent)!important}.ant-btn-dangerous{background:var(--danger)!important;border-color:var(--danger)!important;color:#fff!important}.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-select .ant-select-selector,.ant-picker{border-radius:var(--radius-input)!important}.ant-card{border-radius:var(--radius-card)!important}.ant-drawer-content,.ant-modal-content{border-radius:var(--radius-modal)!important}.fixed-layout-drawer .ant-drawer-body{padding:0!important;display:flex;flex-direction:column;height:100%;overflow:hidden}.fixed-layout-drawer .drawer-body-inner{flex:1;overflow-y:auto;padding:20px 24px}.fixed-layout-modal .ant-modal-body{max-height:60vh;overflow-y:auto}.ant-tabs-tab .anticon{color:inherit!important}.icon-tag{display:inline-flex;align-items:center;gap:4px}.login-page{height:100vh;width:100%;display:flex}.login-left{flex:1;position:relative;overflow:hidden;background:radial-gradient(at 20% 20%,rgba(179,127,235,.45) 0%,transparent 50%),radial-gradient(at 80% 70%,rgba(147,84,222,.35) 0%,transparent 55%),radial-gradient(at 50% 100%,rgba(213,189,246,.3) 0%,transparent 60%),linear-gradient(135deg,#4a1b7a,#5b2a9e 40%,#6d3cb8);display:flex;flex-direction:column;justify-content:center;padding:64px;color:#fff}.login-left .login-footer{position:absolute;bottom:32px;left:64px;right:64px;font-size:12px;color:#fff6;z-index:1}.login-left .login-footer .icp-text{margin-left:4px}.login-left .feature-list{margin-top:40px;display:flex;flex-direction:column;gap:18px}.login-left .feature-item{display:flex;align-items:center;gap:14px;opacity:0;animation:fade-in-up .6s ease forwards}.login-left .feature-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#b37feb59,#722ed140);border:1px solid rgba(179,127,235,.4);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;flex-shrink:0;box-shadow:0 4px 12px #722ed140}.login-left .deco-rings{position:absolute;bottom:80px;right:60px;width:200px;height:200px;pointer-events:none;z-index:0;opacity:.5;animation:float-glow 8s ease-in-out infinite alternate}.login-left .deco-rings .ring{position:absolute;border-radius:50%;border:1px solid rgba(179,127,235,.3)}.login-left .deco-rings .ring-1{top:0;right:0;bottom:0;left:0;animation:pulse-ring 4s ease-in-out infinite}.login-left .deco-rings .ring-2{top:30px;right:30px;bottom:30px;left:30px;border-color:#b37feb33;animation:pulse-ring 4s ease-in-out infinite .6s}.login-left .deco-rings .ring-3{top:60px;right:60px;bottom:60px;left:60px;border-color:#b37feb26;animation:pulse-ring 4s ease-in-out infinite 1.2s}.login-left .deco-rings .core{position:absolute;top:84px;right:84px;bottom:84px;left:84px;border-radius:50%;background:radial-gradient(circle,rgba(179,127,235,.6) 0%,transparent 70%);animation:pulse-core 3s ease-in-out infinite}@keyframes pulse-ring{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.12);opacity:.8}}@keyframes pulse-core{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.login-left .feature-text{font-size:15px;color:#fffc;line-height:1.5}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-left:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(179,127,235,.28) 0%,transparent 70%);top:-120px;right:-120px;animation:float-glow 8s ease-in-out infinite alternate}.login-left:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(179,127,235,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(179,127,235,.06) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(circle at 50% 50%,#000 0%,transparent 80%);-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 0%,transparent 80%);pointer-events:none}@keyframes float-glow{0%{transform:translate(0) scale(1);opacity:.7}to{transform:translate(-40px,60px) scale(1.15);opacity:1}}.login-left .brand-block{position:relative;z-index:1}.login-left .brand-logo{display:flex;align-items:center;gap:14px;margin-bottom:28px}.login-left .brand-logo img{height:48px;width:48px}.login-left .logo-placeholder-large{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#b37febe6,#722ed1e6);display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;box-shadow:0 4px 16px #b37feb66}.login-header .logo-placeholder-small{width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,#b37feb,#722ed1);display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;margin-right:8px}.login-header .header-logo{height:28px;width:28px;object-fit:contain;margin-right:8px}.login-left .brand-name{font-size:30px;font-weight:800;letter-spacing:1px}.login-left .brand-slogan{font-size:38px;font-weight:700;line-height:1.3;margin-bottom:14px;background:linear-gradient(90deg,#fff,var(--accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login-left .brand-sub{font-size:15px;line-height:1.8;color:#ffffff9e;max-width:420px}.login-right{width:460px;background:#fff;display:flex;flex-direction:column}.login-header{height:var(--header-height);display:flex;align-items:center;padding:0 40px;border-bottom:1px solid #f0f2ed;font-weight:600;color:var(--primary)}.login-form-wrap{flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 48px}.login-form-wrap .login-title{font-size:24px;font-weight:700;color:var(--primary);margin-bottom:6px}.login-form-wrap .login-subtitle{color:#00000073;margin-bottom:32px}.login-qrcode-wrap{display:flex;flex-direction:column;align-items:center;padding:12px 0 4px}.login-qrcode-box{position:relative;width:196px;height:196px;display:flex;align-items:center;justify-content:center;border:1px solid #f0f2ed;border-radius:8px;padding:8px}.login-qrcode-placeholder{width:180px;height:180px;background:#fafafa;border-radius:4px}.login-qrcode-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffeb;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:8px;cursor:pointer;color:#000000a6;font-size:13px;padding:0 12px}.login-qrcode-tip{margin-top:16px;color:#00000073;font-size:13px;text-align:center}.terminal-box{background:var(--primary);border-radius:8px;font-family:JetBrains Mono,Fira Code,Menlo,Consolas,monospace;color:var(--terminal-green);font-size:13px;line-height:1.6;display:flex;flex-direction:column;height:100%;min-height:320px}.terminal-output{flex:1;overflow-y:auto;padding:12px 16px;white-space:pre-wrap;word-break:break-word}.terminal-input-line{display:flex;align-items:center;padding:8px 16px 14px;gap:8px;border-top:1px solid rgba(105,240,174,.18)}.terminal-input-line .prompt{color:var(--terminal-green);-webkit-user-select:none;user-select:none}.terminal-input-line input{flex:1;background:transparent;border:none;outline:none;color:var(--terminal-green);font-family:inherit;font-size:inherit;caret-color:var(--terminal-green)}.brand-page{display:flex;gap:16px;align-items:flex-start}.brand-page .brand-form-panel{flex:1;min-width:0}.brand-page .brand-preview-panel{width:360px;flex-shrink:0;position:sticky;top:16px}.brand-footer{text-align:center;padding:14px;color:#00000073;font-size:12px}.brand-footer a{color:#00000073}.brand-footer a:hover{color:var(--accent-dark)}.placeholder-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:12px;color:#00000073}.dashboard-page{display:flex;flex-direction:column}.dashboard-welcome{position:relative;border-radius:var(--radius-card);overflow:hidden;padding:28px 32px;background:linear-gradient(135deg,#3a0d5e,#722ed1 60%,#9254de)}.dashboard-welcome .welcome-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 80% 20%,rgba(179,127,235,.35) 0%,transparent 60%),radial-gradient(circle at 20% 80%,rgba(211,173,247,.18) 0%,transparent 50%);pointer-events:none;animation:welcome-shift 14s ease-in-out infinite alternate}@keyframes welcome-shift{0%{background-position:0% 0%,0% 0%;transform:scale(1)}to{background-position:10% 8%,-8% -6%;transform:scale(1.08)}}.dashboard-welcome .welcome-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px}.stat-card{border-radius:var(--radius-card);padding:24px;display:flex;align-items:center;gap:16px;box-shadow:0 4px 16px #2e0a4e1f;transition:transform .2s ease,box-shadow .2s ease;color:#fff;min-height:100px}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #2e0a4e33}.stat-card .stat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;transition:transform .25s ease}.stat-card:hover .stat-icon{transform:scale(1.1) rotate(-4deg)}.stat-card .stat-info{flex:1;min-width:0}.stat-card .stat-title{font-size:13px;color:#ffffffb3;margin-bottom:6px}.stat-card .stat-value{font-size:28px;font-weight:700;line-height:1.2;color:#fff;font-variant-numeric:tabular-nums}.stat-card .stat-suffix{font-size:16px;font-weight:500;margin-left:2px;opacity:.8}.ant-card{box-shadow:0 2px 8px #2e0a4e0f;transition:box-shadow .25s ease,transform .25s ease}.ant-card-hoverable:hover{box-shadow:0 8px 24px #2e0a4e1f!important;transform:translateY(-2px)}.page-header-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-header-bar .page-title{font-size:18px;font-weight:700;color:var(--primary)}.log-item{padding-bottom:4px}.log-item .log-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.log-item .log-meta{font-size:12px}.status-row{display:flex;align-items:center;justify-content:space-between}
