:root{--primary:#409eff;--primary-light:#ecf5ff;--primary-hover:#66b1ff;--primary-soft:#409eff14;--primary-dark:#337ecc;--success:#67c23a;--success-light:#f0f9eb;--warning:#e6a23c;--warning-light:#fdf6ec;--danger:#f56c6c;--danger-light:#fef0f0;--text:#303133;--text-secondary:#606266;--text-muted:#909399;--bg:#f8fafc;--bg-card:#fff;--bg-secondary:#f8fafc;--bg-hover:#f1f5f9;--bg-elevated:#fff;--border:#dcdfe6;--border-light:#e4e7ed;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--shadow-sm:0 1px 2px #0000000a, 0 1px 3px #00000005;--shadow:0 4px 12px #0000000d, 0 2px 4px #00000008;--shadow-lg:0 16px 48px #00000014, 0 4px 12px #0000000a;--transition-fast:.15s ease-out;--transition:.2s ease-out;--transition-slow:.3s cubic-bezier(.16,1,.3,1);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--text-primary:#1e293b;--text-main:#1e293b;--text-inverse:#fff;--border-subtle:#f1f5f9;--border-hover:#cbd5e1;--radius-none:0px;--radius-full:9999px;--shadow-none:none;--shadow-md:0 8px 24px #0000000f, 0 2px 8px #0000000a;--shadow-xl:0 24px 64px #0000001a, 0 8px 16px #0000000f;--el-color-primary:var(--primary);--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:var(--primary-light);--el-color-primary-dark-2:var(--primary-dark);--el-color-success:var(--success);--el-color-success-light-9:var(--success-light);--el-color-warning:var(--warning);--el-color-warning-light-9:var(--warning-light);--el-color-danger:var(--danger);--el-color-danger-light-9:var(--danger-light);--el-text-color-primary:var(--text);--el-text-color-regular:var(--text);--el-text-color-secondary:var(--text-secondary);--el-text-color-placeholder:var(--text-muted);--el-border-color:var(--border);--el-border-color-light:var(--border-light);--el-border-color-lighter:#ebeef5;--el-bg-color:var(--bg-card);--el-bg-color-page:var(--bg);--el-fill-color-light:var(--bg-hover);--el-border-radius-base:var(--radius-sm);--el-border-radius-small:var(--space-1);--el-border-radius-round:var(--space-5);--el-font-size-base:14px;--el-font-size-small:13px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);height:100vh;color:var(--text);flex-direction:column;margin:0;font-family:-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5;display:flex;overflow:hidden}#app,.app-layout{flex-direction:column;flex:1;display:flex;overflow:hidden}.app-layout>.el-container{height:100%}.el-main.page-main{flex-direction:column;display:flex}.global-nav{background:var(--bg-card);border-bottom:1px solid var(--border);z-index:50;flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 24px;display:flex;box-shadow:0 2px 8px #0000000f,0 1px 2px #0000000a}.gn-brand{flex-direction:column;align-items:flex-start;gap:0;line-height:1.2;display:flex}.gn-title-row{align-items:center;gap:6px;display:flex}.gn-title{color:var(--text);letter-spacing:.2px;font-size:16px;font-weight:700}.gn-tag{color:var(--primary);background:var(--primary-light);border-radius:20px;padding:2px 8px;font-size:10px;font-weight:600}.gn-admin-label{color:var(--text-muted);margin-top:1px;font-size:11px;font-weight:500}.gn-org-switcher{border:1px solid var(--border);height:32px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:#fff;border-radius:6px;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:flex}.gn-org-switcher:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.gn-campus-box{border:1px solid var(--border);background:#fff;border-radius:6px;align-items:center;min-width:180px;height:32px;display:flex;overflow:hidden}.gn-campus-box .gn-campus-label{color:var(--text-muted);border-right:1px solid var(--border);flex-shrink:0;align-items:center;height:100%;padding:0 8px;font-size:12px;display:flex}.gn-campus-box select{height:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:0 8px;font-size:13px}.gn-campus-box.readonly .gn-campus-value{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;padding:0 8px;font-size:13px;overflow:hidden}.gn-actions{align-items:center;gap:10px;display:flex}.gn-btn{border-radius:var(--radius-sm);border:1px solid var(--border);height:34px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:#fff;align-items:center;gap:6px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.gn-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.page-main{background:var(--bg);flex-direction:column;flex:1;display:flex;overflow:hidden;padding:0!important}.page-header{background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;height:56px;padding:0 20px;display:flex;box-shadow:0 1px 4px #0000000a}.page-title{color:var(--text);font-size:16px;font-weight:700}.page-subtitle{color:var(--text-muted);font-size:12px}.page-body{flex:1;padding:20px;overflow-y:auto}.card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-light);padding:var(--space-4);box-shadow:none;transition:all var(--transition)}.card:hover{box-shadow:var(--shadow-sm);border-color:var(--border)}.card-title{color:var(--text);align-items:center;gap:6px;margin-bottom:10px;font-size:13px;font-weight:700;display:flex}.card-title-icon{border-radius:var(--radius-sm);background:var(--primary-soft);width:24px;height:24px;color:var(--primary);justify-content:center;align-items:center;font-size:12px;display:flex}.form-group{margin-bottom:10px}.form-section{border-bottom:1px solid var(--border-light);margin-bottom:18px;padding-bottom:14px}.form-section-title{color:var(--text-primary);align-items:center;gap:6px;margin-bottom:12px;font-size:13px;font-weight:700;display:flex}.form-label{color:var(--text-secondary);margin-bottom:4px;font-size:11px;font-weight:600;display:block}.form-input,.form-select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:36px;color:var(--text);transition:var(--transition-fast);background:#fafbfc;outline:none;padding:0 10px;font-family:inherit;font-size:13px}.form-input:focus,.form-select:focus{background:#fff;border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f614}textarea.form-input{resize:vertical;height:auto;min-height:60px;padding:8px 10px;line-height:1.5}.form-input-wrap{align-items:center;gap:6px;display:flex}.form-input-wrap .form-input{flex:1}.form-input-btn{border-radius:var(--radius-sm);border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:#fff;justify-content:center;align-items:center;font-size:13px;transition:all .15s;display:inline-flex}.form-input-btn:hover{border-color:var(--primary);color:var(--primary)}.btn{border-radius:var(--radius-sm);cursor:pointer;height:40px;transition:var(--transition-fast);border:none;justify-content:center;align-items:center;gap:6px;padding:0 20px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 2px 8px #2563eb40}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-success{background:var(--success);color:#fff;box-shadow:0 2px 8px #10b98140}.btn-success:hover{background:#059669;transform:translateY(-1px)}.btn-block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:#fff;align-items:center;gap:5px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn-secondary:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.btn-danger{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger-light);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:5px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn-danger:hover{background:var(--danger);color:#fff}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-icon{opacity:.5;margin-bottom:16px;font-size:48px}.empty-title{color:var(--text-secondary);font-size:15px;font-weight:700}.empty-desc{color:var(--text-muted);max-width:300px;margin-top:6px;font-size:13px}.ai-sidebar{background:var(--bg-card);width:320px;transition:width var(--transition);border-left:1px solid #e5e7eb;flex-direction:column;flex-shrink:0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.ai-sidebar.wide{width:480px}.ai-sidebar.collapsed{width:56px}.ai-sidebar.collapsed .ai-body,.ai-sidebar.collapsed .ai-footer,.ai-sidebar.collapsed .ai-header-info,.ai-sidebar.collapsed .ai-suggestions{display:none}.ai-sidebar.collapsed .ai-header{justify-content:center;align-items:center;height:auto;min-height:80px;padding:12px 0}.ai-sidebar.collapsed .ai-header-actions{flex-direction:column;align-items:center;gap:8px}.ai-sidebar.collapsed .ai-header-actions .ai-header-btn{display:none}.ai-sidebar.collapsed .ai-resize,.ai-sidebar.collapsed .ai-toggle{width:28px;height:28px;font-size:14px}.ai-header{border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 14px;display:flex}.ai-header-info{align-items:center;gap:8px;display:flex}.ai-avatar{background:linear-gradient(135deg, var(--primary), #3b82f6);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.ai-name{font-size:13px;font-weight:700}.ai-toggle{width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex}.ai-toggle:hover{background:var(--border-light);color:var(--text)}.ai-body{flex-direction:column;flex:1;gap:14px;padding:16px;display:flex;overflow-y:auto}.ai-msg-bot{max-width:90%;color:var(--text);background:#fff;border:1px solid #e2e8f0;border-radius:12px 12px 12px 4px;align-self:flex-start;padding:12px 16px;font-size:13px;line-height:1.6;box-shadow:0 1px 2px #0000000a}.ai-msg-user{color:#1e40af;max-width:90%;box-shadow:none;background:#dbeafe;border-radius:12px 12px 4px;align-self:flex-end;padding:8px 12px;font-size:13px;line-height:1.5}.ai-suggestions{flex-wrap:wrap;gap:8px;display:flex}.ai-suggestion{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:#fff;border-radius:20px;padding:6px 12px;font-size:12px}.ai-suggestion:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.ai-footer{background:#fff;border-top:1px solid #e5e7eb;flex-shrink:0;padding:16px}.ai-input-wrap{background:var(--bg);border:1px solid #d1d5db;border-radius:24px;align-items:center;gap:6px;padding:6px 6px 6px 14px;display:flex}.ai-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:13px}.ai-input::placeholder{color:var(--text-muted)}.ai-input-actions{align-items:center;gap:2px;display:flex}.ai-input-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.ai-input-btn:hover{background:var(--border-light);color:var(--text-secondary)}.ai-send{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:transform .12s,box-shadow .12s;display:flex;box-shadow:0 2px 8px #2563eb4d}.ai-send:hover{background:var(--primary-hover)}.filter-card{margin-bottom:var(--space-4)}.filter-card .el-card__body{padding:var(--space-3) var(--space-4)!important}.ob-visual{background:linear-gradient(135deg, var(--primary), #3b82f6);color:#fff;justify-content:center;align-items:center;height:180px;font-size:64px;display:flex}.ob-body{padding:28px 32px}.ob-title{margin-bottom:8px;font-size:20px;font-weight:700}.ob-desc{color:var(--text-secondary);font-size:14px;line-height:1.6}.ob-actions{justify-content:space-between;align-items:center;padding:16px 32px 24px;display:flex}.ob-skip{color:var(--text-muted);cursor:pointer;font-size:13px}.ob-skip:hover{color:var(--text-secondary)}.ob-nav{gap:10px;display:flex}.toast{background:var(--text);color:#fff;border-radius:var(--radius-md);z-index:9999;opacity:0;pointer-events:none;padding:10px 24px;font-size:13px;font-weight:500;transition:all .3s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(100px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.tooltip{position:relative}.tooltip-text{background:var(--text);color:#fff;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:var(--transition-fast);padding:4px 10px;font-size:11px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tooltip:hover .tooltip-text{opacity:1}.fgrid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.sys-log-entry{background:var(--bg-card);border:1px solid var(--border-light);border-radius:6px;flex-wrap:wrap;align-items:flex-start;gap:6px;margin-bottom:6px;padding:8px 10px;font-size:12px;display:flex}.sys-log-entry:hover{background:var(--bg-hover)}.sys-log-entry.level-error{border-left:3px solid #ff4d4f}.sys-log-entry.level-warn{border-left:3px solid #faad14}.sys-log-entry.level-info{border-left:3px solid #1677ff}.sys-log-main{flex-wrap:wrap;flex:auto;align-items:center;gap:6px;min-width:0;display:flex}.sys-log-actions{flex:none;align-items:center;margin-left:8px;display:flex}.sys-log-time{color:var(--text-muted);white-space:nowrap;font-size:11px}.sys-log-source{color:var(--text-secondary);white-space:nowrap;font-weight:600}.sys-log-msg{color:var(--text);word-break:break-all;flex:100%}.sys-log-detail{color:var(--text-muted);word-break:break-all;border-left:2px solid var(--border-light);flex:100%;margin-top:2px;padding-left:4px;font-size:11px}.modal-overlay{z-index:9999;opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a8c;justify-content:center;align-items:center;padding:20px;transition:opacity .2s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-overlay.active{opacity:1}.modal-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;animation:.25s cubic-bezier(.16,1,.3,1) modal-in}@keyframes modal-in{0%{opacity:0;transform:scale(.96)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 20px;display:flex}.modal-title{color:var(--text);font-size:16px;font-weight:700}.modal-close{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:20px;line-height:1;transition:all .15s;display:flex}.modal-close:hover{background:var(--bg-secondary);color:var(--text)}.modal-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:10px;padding:14px 24px;display:flex}.text-node{min-height:40px;padding:10px 14px}.tn-content{word-break:break-word;font-size:14px;line-height:1.5}.test-connection-row{background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.conn-status{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.conn-dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px}.conn-dot.ok{background:var(--success);box-shadow:0 0 5px #22c55e66}.conn-dot.fail{background:var(--danger);box-shadow:0 0 5px #ef444466}.conn-dot.testing{background:var(--warning);animation:1.2s infinite pulse}.conn-dot.idle{background:var(--text-muted)}.code-block{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-secondary);word-break:break-all;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:12px}.settings-danger-zone{flex-direction:column;gap:16px;display:flex}.settings-danger-item{justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-danger-title{color:var(--text);font-size:13px;font-weight:600}.settings-danger-desc{color:var(--text-muted);margin-top:2px;font-size:12px}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.el-card{border-radius:var(--radius-md)!important;border:1px solid var(--border-light)!important;box-shadow:none!important;transition:box-shadow var(--transition)!important}.el-card:hover{box-shadow:var(--shadow-sm)!important}.el-card__header{color:var(--text);font-size:14px;font-weight:600;padding:var(--space-4) var(--space-4) var(--space-3)!important;border-bottom:1px solid var(--border-light)!important}.el-card__body{padding:var(--space-4)!important}.el-table{border-radius:var(--radius-md);--el-table-header-bg-color:#fafafa;--el-table-row-hover-bg-color:var(--bg-hover);overflow:hidden;border:1px solid var(--border-light)!important}.el-table:before{display:none}.el-table th.el-table__cell{color:var(--text);height:48px;font-size:13px;font-weight:600;border-bottom:1px solid var(--border-light)!important;background-color:#fafafa!important}.el-table td.el-table__cell{color:var(--text-secondary);height:52px;font-size:13px;border-bottom:1px solid var(--border-light)!important}.el-table .el-table__cell{padding:var(--space-3) 0!important}.el-dialog{overflow:hidden;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important;border:1px solid var(--border-light)!important}.el-dialog__header{border-bottom:1px solid var(--border-light);margin-right:0!important;padding:16px 20px!important}.el-dialog__title{color:var(--text);font-size:16px;font-weight:600}.el-dialog__body{padding:20px!important}.el-dialog__footer{border-top:1px solid var(--border-light);padding:12px 20px 16px!important}.el-drawer{border-radius:var(--radius-lg) 0 0 var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important}.el-drawer__header{border-bottom:1px solid var(--border-light);padding:var(--space-4) var(--space-5)!important;margin-bottom:0!important}.el-drawer__title{color:var(--text);font-size:16px;font-weight:600}.el-drawer__body{padding:var(--space-5)!important}.el-button{font-weight:500;border-radius:var(--radius-sm)!important;transition:all var(--transition-fast)!important}.el-button--primary{box-shadow:0 2px 8px #409eff40}.el-button--primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #409eff59}.el-button.is-circle{box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.el-button.is-circle:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.el-form-item{margin-bottom:var(--space-4)!important}.el-form-item__label{color:var(--text-secondary);font-size:13px;font-weight:500}.el-input__wrapper,.el-textarea__inner,.el-select .el-input__wrapper{border-radius:var(--radius-sm)!important;box-shadow:0 0 0 1px var(--border) inset!important;transition:all var(--transition-fast)!important}.el-input__wrapper:hover,.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--border-hover) inset!important}.el-input__wrapper.is-focus,.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--primary) inset!important}.el-tag{font-weight:500;border-radius:var(--radius-sm)!important}.el-tag--round{border-radius:var(--radius-full)!important}.el-pagination{padding:var(--space-3) 0!important}.el-pagination .el-pager li{font-weight:500;border-radius:var(--radius-sm)!important}.el-dropdown__popper,.el-popper,.el-select-dropdown{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-md)!important;border:1px solid var(--border-light)!important}.el-message-box{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important;border:1px solid var(--border-light)!important}.el-message{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-md)!important}.el-menu{border-right:none!important}.el-menu-item{border-radius:var(--radius-sm);margin:2px 8px}.el-menu-item.is-active{font-weight:600;background:var(--primary-light)!important;color:var(--primary)!important}.el-menu-item:hover{background:var(--primary-light)!important;color:var(--primary)!important}.el-tabs__item{font-weight:500}.el-tabs__item.is-active{font-weight:600}.el-step__icon{border-radius:var(--radius-full)!important}.el-descriptions__label{color:var(--text-secondary);font-weight:500}.el-descriptions__content{color:var(--text);font-weight:400}.el-badge__content{border-radius:var(--radius-full)!important}.el-avatar{border-radius:var(--radius-md)!important}.el-avatar--circle{border-radius:var(--radius-full)!important}.el-upload--picture-card{border-radius:var(--radius-md)!important}.el-calendar,.el-image{border-radius:var(--radius-md);overflow:hidden}.el-progress-bar__outer,.el-progress-bar__inner,.el-slider__runway,.el-slider__bar,.el-slider__button,.el-switch__core{border-radius:var(--radius-full)!important}.el-checkbox__inner,.el-radio__inner{border-radius:var(--radius-sm)!important}.el-radio__inner{border-radius:var(--radius-full)!important}.el-tooltip__popper{border-radius:var(--radius-sm)!important}.el-popconfirm{border-radius:var(--radius-md)!important}.el-loading-mask{border-radius:var(--radius-md)}.el-skeleton__item{border-radius:var(--radius-sm)}.el-empty{padding:var(--space-8) 0}.el-alert{border-radius:var(--radius-md)!important}.el-notification{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important}.topic-page{flex-direction:column;flex:1;display:flex;overflow:hidden}.topic-toolbar{background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;height:56px;padding:0 20px;display:flex}.topic-toolbar .tt-title{color:var(--text);margin-right:8px;font-size:16px;font-weight:700}.topic-toolbar .tt-search{background:var(--bg-secondary);border-radius:var(--radius-sm);flex-shrink:0;align-items:center;width:180px;height:32px;padding:0 10px;display:flex}.topic-toolbar .tt-search input{width:100%;color:var(--text);background:0 0;border:none;outline:none;margin-left:6px;font-size:13px}.topic-toolbar .tt-filter-group{flex:1;align-items:center;gap:6px;display:flex;overflow:hidden}.topic-toolbar .tt-filter-chip{border:1px solid var(--border);background:var(--bg-card);height:28px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:14px;flex-shrink:0;align-items:center;gap:4px;padding:0 10px;font-size:12px;transition:all .15s;display:flex}.topic-toolbar .tt-filter-chip:hover{border-color:var(--primary);color:var(--primary)}.topic-toolbar .tt-filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.topic-toolbar .tt-divider{background:var(--border);flex-shrink:0;width:1px;height:20px;margin:0 4px}.topic-toolbar .tt-view-toggle{background:var(--bg-secondary);border-radius:var(--radius-sm);flex-shrink:0;gap:3px;padding:3px;display:flex}.topic-toolbar .tt-view-btn{border-radius:var(--radius-sm);height:26px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0 10px;font-size:12px;transition:all .15s}.topic-toolbar .tt-view-btn.active{background:var(--bg-card);color:var(--primary);font-weight:600;box-shadow:0 1px 3px #00000014}.topic-toolbar .tt-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);height:32px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;align-items:center;gap:4px;padding:0 14px;font-size:12px;transition:all .15s;display:flex}.topic-toolbar .tt-btn:hover{border-color:var(--primary);color:var(--primary)}.topic-toolbar .tt-btn-primary{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:500}.topic-toolbar .tt-btn-primary:hover{background:var(--primary-hover)}.topic-toolbar .tt-btn.active{background:var(--primary-light);color:var(--primary);border-color:var(--primary)}.topic-toolbar .tt-badge{background:var(--danger);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:4px;font-size:10px;font-weight:700;display:inline-flex}.quick-tags-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.quick-tag{border:1px solid var(--border);background:var(--bg-card);height:28px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:14px;align-items:center;padding:0 12px;font-size:12px;transition:all .15s;display:flex}.quick-tag:hover{border-color:var(--primary);color:var(--primary)}.quick-tag.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:500}.filter-panel{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-light);flex-direction:column;gap:4px;padding:6px 10px;display:flex}.filter-dimension{align-items:center;gap:8px;display:flex}.filter-dim-label{color:var(--text-secondary);white-space:nowrap;text-align:right;flex-shrink:0;width:40px;font-size:12px;font-weight:600}.filter-dim-chips{flex-wrap:wrap;flex:1;align-items:center;gap:4px;display:flex;overflow:hidden}.filter-dim-chips .tt-filter-chip{background:var(--bg-card);height:24px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;border:none;border-radius:12px;align-items:center;padding:0 8px;font-size:12px;transition:all .15s;display:flex}.filter-dim-chips .tt-filter-chip:hover{color:var(--primary);background:var(--primary-light)}.filter-dim-chips .tt-filter-chip.active{background:var(--primary);color:#fff}.topic-content{background:var(--bg);flex-direction:column;flex:1;padding:24px 32px;display:flex;overflow-y:auto}.list-view{display:none}.list-view.active{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;flex:1;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000000a}.list-table{border-collapse:separate;border-spacing:0;background:#fff;width:100%;overflow:hidden}.list-table th{text-align:left;color:#64748b;white-space:nowrap;letter-spacing:.5px;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:14px 20px;font-size:12px;font-weight:600}.list-table td{color:var(--text);vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:14px 20px;font-size:13px;transition:background .15s}.list-table tbody tr:last-child td{border-bottom:none}.list-table tbody tr:hover td{background:#f8fafc}.list-status{border-radius:20px;align-items:center;gap:6px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.list-pill{background:var(--bg-secondary);color:var(--text-secondary);border-radius:4px;padding:1px 6px;font-size:11px}.list-actions{gap:8px;display:flex}.list-actions button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:12px}.list-actions button:hover{color:var(--primary)}.sort-header{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sort-header:hover{color:var(--primary)}.sort-icon{color:var(--text-muted);opacity:.4;margin-left:4px;font-size:11px}.sort-icon.active{opacity:1;color:var(--primary)}.priority-line{border-radius:2px;flex-shrink:0;width:3px;height:18px;display:inline-block}.list-action-primary{border-radius:var(--radius-sm);background:var(--primary);color:#fff;cursor:pointer;border:none;height:28px;padding:0 12px;font-size:12px;font-weight:600;transition:all .15s}.list-action-primary:hover{background:var(--primary-hover)}.list-action-secondary{border-radius:var(--radius-sm);height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0 10px;font-size:12px;transition:all .15s}.list-action-secondary:hover{color:var(--primary);background:var(--primary-light)}.kanban-view{display:none}.kanban-view.active{gap:16px;height:100%;display:flex}.kanban-col{flex-direction:column;flex:1;gap:10px;min-width:260px;max-width:320px;display:flex}.kanban-col-header{justify-content:space-between;align-items:center;padding:0 4px;display:flex}.kanban-col-title{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.kanban-col-count{color:var(--text-muted);background:var(--bg-secondary);border-radius:10px;padding:1px 8px;font-size:11px}.kanban-col-body{background:var(--bg-secondary);border-radius:var(--radius-md);flex-direction:column;flex:1;gap:10px;padding:10px;display:flex;overflow-y:auto}.kanban-col-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.kanban-col-add{border-radius:var(--radius-md);border:1.5px dashed var(--border);color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;gap:6px;margin-top:4px;padding:10px;font-size:12px;transition:all .15s;display:flex}.kanban-col-add:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.topic-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);cursor:grab;padding:14px;transition:box-shadow .15s,border-color .15s,transform .15s;position:relative}.topic-card:hover{box-shadow:var(--shadow);border-color:#cbd5e1;transform:translateY(-1px)}.topic-card:active{cursor:grabbing}.topic-card .tc-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.topic-card .tc-tag{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.topic-card .tc-priority{border-radius:50%;width:8px;height:8px}.topic-card .tc-name{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:700}.topic-card .tc-desc{color:var(--text-muted);margin-bottom:10px;font-size:12px;line-height:1.4}.topic-card .tc-meta{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.topic-card .tc-meta-item{color:var(--text-secondary);background:var(--bg-secondary);border-radius:var(--radius-sm);padding:2px 8px;font-size:11px}.topic-card .tc-footer{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;padding-top:10px;display:flex}.topic-card .tc-deadline{color:var(--text-muted);font-size:11px}.topic-card .tc-actions{gap:6px;display:flex}.topic-card .tc-action-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;height:28px;padding:0 10px;font-size:11px;font-weight:600;transition:all .15s}.topic-card .tc-action-primary{background:var(--primary);color:#fff}.topic-card .tc-action-primary:hover{background:var(--primary-hover)}.topic-card .tc-action-secondary{background:var(--bg-secondary);color:var(--text-secondary)}.topic-card .tc-action-secondary:hover{background:var(--border-light)}.tc-tag-zs{color:var(--danger);background:#fef2f2}.tc-tag-jr{color:var(--success);background:#ecfdf5}.tc-tag-tz{color:var(--warning);background:#fffbeb}.tc-tag-hd{background:var(--purple-light);color:var(--purple)}.topic-card{position:relative;overflow:hidden}.topic-card:before{content:"";width:3px;position:absolute;top:0;bottom:0;left:0}.topic-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a}.tc-status-badge{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.tc-tag-item{color:#7c3aed!important;background:#f3e8ff!important}.tc-deadline{align-items:center;gap:4px;display:flex}.tc-deadline.overdue{color:var(--danger);font-weight:600}.canvas-view{display:none}.canvas-view.active{display:block}.topic-filter-bar{background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;height:40px;padding:0 20px;display:flex}.topic-filter-tags{flex:1;align-items:center;gap:8px;display:flex;overflow:hidden}.topic-filter-tag{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary-soft);white-space:nowrap;border-radius:12px;flex-shrink:0;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.topic-filter-tag-close{cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;margin-left:2px;font-size:14px;line-height:1;transition:all .15s;display:inline-flex}.topic-filter-tag-close:hover{background:var(--primary);color:#fff}.topic-filter-clear{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;font-size:12px;font-weight:500}.topic-filter-clear:hover{color:var(--primary);text-decoration:underline}.topic-batch-bar{background:var(--text);color:#fff;flex-shrink:0;align-items:center;gap:16px;height:48px;padding:0 20px;animation:.2s ease-out slide-down;display:flex}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.topic-batch-info{color:#ffffffd9;font-size:13px}.topic-batch-info strong{color:#fff;font-size:14px}.topic-batch-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.topic-batch-btn{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff40;height:30px;padding:0 14px;font-family:inherit;font-size:12px;transition:all .15s}.topic-batch-btn:hover{background:#ffffff1f;border-color:#fff6}.topic-batch-btn-danger:hover{background:var(--danger);border-color:var(--danger)}.topic-empty-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:80px 20px;display:flex}.topic-empty-icon{background:var(--bg-secondary);width:80px;height:80px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;display:flex}.topic-empty-title{color:var(--text-secondary);margin-bottom:6px;font-size:16px;font-weight:700}.topic-empty-desc{color:var(--text-muted);max-width:320px;font-size:13px;line-height:1.6}.settings-layout{flex:1;display:flex;overflow:hidden}.settings-nav{background:var(--bg-card);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:200px;padding:16px 10px;display:flex;overflow-y:auto}.settings-nav-title{color:var(--text);border-bottom:1px solid var(--border-light);margin-bottom:8px;padding:0 10px 12px;font-size:16px;font-weight:700}.settings-nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:10px;margin-bottom:2px;padding:9px 10px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.settings-nav-item:hover{background:var(--bg-secondary);color:var(--text)}.settings-nav-item.active{background:var(--primary-light);color:var(--primary)}.settings-nav-icon{text-align:center;width:22px;font-size:16px}.settings-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.settings-content{flex:1;padding:24px 32px;overflow-y:auto}.settings-footer{background:var(--bg-card);border-top:1px solid var(--border);flex-shrink:0;align-items:center;height:64px;padding:0 32px;display:flex}.settings-section{animation:.2s ease-out fade-in;display:none}.settings-section.active{display:block}.settings-section-title{color:var(--text);margin-bottom:4px;font-size:20px;font-weight:700}.settings-section-desc{color:var(--text-muted);margin-bottom:20px;font-size:13px}.form-hint{color:var(--text-muted);margin-top:4px;font-size:11px;line-height:1.4}.cat-cascade{height:100%;display:flex;overflow:hidden}.cat-cascade-nav{background:var(--bg-card);border-right:1px solid var(--border);flex-shrink:0;width:180px;padding:8px 0;overflow-y:auto}.cat-cascade-nav-item{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);color:var(--text-secondary);justify-content:space-between;align-items:center;margin:0 8px;padding:10px 14px;font-size:13px;display:flex}.cat-cascade-nav-item:hover{background:var(--border-light);color:var(--text)}.cat-cascade-nav-item.active{background:var(--primary-soft);color:var(--primary);border-left:3px solid var(--primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-left:0;padding-left:19px;font-weight:600}.cat-cascade-nav-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cat-cascade-nav-count{color:var(--text-muted);background:var(--bg-secondary);border-radius:10px;flex-shrink:0;padding:1px 7px;font-size:11px;font-weight:500}.cat-cascade-nav-item.active .cat-cascade-nav-count{background:var(--primary-light);color:var(--primary)}.cat-cascade-panel{background:var(--bg);flex:1;padding:20px 24px;overflow-y:auto}.cat-cascade-header{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:14px}.cat-cascade-header-title{color:var(--text);margin-bottom:4px;font-size:18px;font-weight:700}.cat-cascade-header-desc{color:var(--text-secondary);font-size:13px}.cat-cascade-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:20px;padding:16px 20px}.cat-cascade-section:last-child{margin-bottom:0}.cat-cascade-section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cat-cascade-section-title{color:var(--text);font-size:14px;font-weight:700}.cat-cascade-add-child{border-radius:var(--radius-sm);border:1px solid var(--border);height:28px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:#fff;align-items:center;gap:4px;padding:0 10px;font-family:inherit;font-size:12px;display:inline-flex}.cat-cascade-add-child:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.cat-cascade-tags{flex-wrap:wrap;gap:10px;display:flex}.cat-cascade-tag{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text);cursor:pointer;transition:var(--transition-fast);align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex;position:relative}.cat-cascade-tag:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.cat-cascade-tag-name{font-weight:500}.cat-cascade-tag-count{color:var(--text-muted);background:var(--bg-secondary);border-radius:10px;padding:1px 6px;font-size:11px}.cat-cascade-tag:hover .cat-cascade-tag-count{background:var(--primary-soft);color:var(--primary)}.cat-cascade-tag-actions{align-items:center;gap:4px;margin-left:4px;display:none}.cat-cascade-tag:hover .cat-cascade-tag-actions{display:inline-flex}.cat-cascade-tag-btn{border:1px solid var(--border);height:22px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:#fff;border-radius:4px;padding:0 8px;font-family:inherit;font-size:11px}.cat-cascade-tag-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.cat-cascade-tag-btn-del:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-light)}.cat-cascade-no-children{color:var(--text-muted);padding:8px 0;font-size:13px}.cat-cascade-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;display:flex}.cat-cascade-col{border-right:1px solid var(--border);background:var(--bg-card);flex-direction:column;flex:1;min-width:0;display:flex}.cat-cascade-col:last-child{border-right:none}.cat-cascade-col-title{color:var(--text);border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;font-weight:700;display:flex}.cat-cascade-col-count{color:var(--text-muted);background:var(--bg-card);border-radius:10px;padding:1px 7px;font-size:11px;font-weight:500}.cat-cascade-col-body{flex:1;padding:6px;overflow-y:auto}.cat-cascade-row{border-radius:var(--radius-sm);color:var(--text);cursor:pointer;align-items:center;gap:8px;margin-bottom:2px;padding:8px 12px;font-size:13px;transition:all .12s;display:flex}.cat-cascade-row:hover{background:var(--primary-light);color:var(--primary)}.cat-cascade-row.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.cat-cascade-row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cat-cascade-row-count{color:var(--text-muted);background:var(--bg-secondary);border-radius:10px;flex-shrink:0;padding:1px 6px;font-size:11px}.cat-cascade-row.active .cat-cascade-row-count{background:var(--primary-light);color:var(--primary)}.cat-cascade-row-actions{flex-shrink:0;align-items:center;gap:4px;display:none}.cat-cascade-row:hover .cat-cascade-row-actions{display:inline-flex}.cat-cascade-row-btn{border:1px solid var(--border);height:22px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:#fff;border-radius:4px;padding:0 8px;font-family:inherit;font-size:11px}.cat-cascade-row-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.cat-cascade-row-btn-del:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-light)}.cat-cascade-add-btn{border-radius:var(--radius-sm);border:1px dashed var(--border);height:36px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;gap:4px;margin:8px;font-family:inherit;font-size:13px;display:flex}.cat-cascade-add-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}@media (max-width:768px){.cat-cascade{flex-direction:column}.cat-cascade-nav{border-right:none;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;width:100%;padding:8px;display:flex}.cat-cascade-nav-item{flex:1;justify-content:center;min-width:80px;margin:0}.cat-cascade-nav-item.active{border-left:none;border-bottom:3px solid var(--primary);border-radius:var(--radius-sm);padding-left:14px}.cat-cascade-panel{padding:16px}.cat-cascade-col{border-right:none;border-bottom:1px solid var(--border)}.cat-cascade-col:last-child{border-bottom:none}}.ce-card{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:20px;padding:20px 24px;box-shadow:0 1px 3px #0000000a}.ce-section-title{color:var(--text);border-left:3px solid var(--primary);margin-bottom:16px;padding-left:12px;font-size:14px;font-weight:700}.ce-section:last-child{margin-bottom:0}.asset-tab{transition:all .15s}.asset-tab:hover:not(.active){background:var(--bg-secondary);color:var(--text)}.asset-panel{animation:.15s ease-out fade-in}.step-wrapper{flex-direction:column;gap:16px;height:100%;display:flex}.step-footer{border-top:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.design-workspace .card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition)}@keyframes shimmer{0%{left:-40px}to{left:100%}}@keyframes selectPulse{0%{box-shadow:0 0 #2563eb33}70%{box-shadow:0 0 0 8px #2563eb00}to{box-shadow:0 0 #2563eb00}}.design-workspace img{transition:transform .3s}@media (max-width:768px){.step-navigator{width:100%;padding:10px 16px}.step-connector{width:20px;margin:0 6px}.step-label{font-size:12px}}:root{--ce-primary:#2563eb;--ce-primary-hover:#1d4ed8;--ce-primary-light:#eff6ff;--ce-primary-border:#bfdbfe;--ce-primary-soft:#93c5fd;--ce-primary-dim:#3b82f6;--ce-text-main:#1f2937;--ce-text-title:#111827;--ce-text-body:#374151;--ce-text-muted:#6b7280;--ce-text-placeholder:#9ca3af;--ce-text-disabled:#94a3b8;--ce-border:#d1d5db;--ce-border-light:#e2e8f0;--ce-border-lighter:#e5e7eb;--ce-border-subtle:#f1f5f9;--ce-bg-base:#f5f7fa;--ce-bg-card:#fff;--ce-bg-surface:#f8fafc;--ce-bg-surface-hover:#f9fafb;--ce-bg-hover:#f3f4f6;--ce-bg-active:#e5e7eb;--ce-accent-red:#dc2626;--ce-accent-red-light:#fef2f2;--ce-accent-red-soft:#fca5a5;--ce-accent-green:#059669;--ce-accent-green-light:#ecfdf5;--ce-accent-green-border:#6ee7b7;--ce-accent-orange:#c2410c;--ce-accent-orange-light:#fff7ed;--ce-accent-orange-border:#fdba74;--ce-radius-xs:3px;--ce-radius-sm:4px;--ce-radius:6px;--ce-radius-lg:8px;--ce-radius-xl:10px;--ce-radius-pill:16px;--ce-shadow-sm:0 1px 3px #0000000a;--ce-shadow-md:0 4px 16px #00000014;--ce-shadow-lg:0 8px 24px #0000001f;--ce-shadow-xl:0 16px 48px #0000002e}.field-row{align-items:flex-start;gap:0;padding:10px 0;display:flex}.field-row-top{align-items:flex-start!important}.field-row-top .field-label-col{padding-top:2px}.field-label-col{text-align:left;flex-shrink:0;width:120px;padding-top:6px;padding-right:16px}.label-text{color:var(--ce-text-body);font-size:13px;font-weight:500}.label-required{color:var(--ce-accent-red);margin-left:2px;font-size:13px}.field-content-col{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.field-hint{color:var(--ce-text-placeholder);font-size:12px;line-height:1.5}input[type=text]:not(.el-input__inner),input[type=number]:not(.el-input__inner),input[type=date]:not(.el-input__inner),select,.form-input{border:1px solid var(--ce-border);border-radius:var(--ce-radius);height:36px;color:var(--ce-text-main);box-sizing:border-box;background:#fff;outline:none;width:100%;padding:0 12px;font-size:13px;transition:border-color .15s}textarea.form-input,.form-textarea{border:1px solid var(--ce-border);border-radius:var(--ce-radius);height:auto;min-height:36px;color:var(--ce-text-main);box-sizing:border-box;resize:vertical;background:#fff;outline:none;width:100%;padding:10px 12px;font-size:13px;line-height:1.6;transition:border-color .15s}input:focus,select:focus,.form-input:focus,.form-textarea:focus{border-color:var(--ce-primary-dim)}input::placeholder,.form-input::placeholder{color:var(--ce-text-placeholder)}.inline-group{flex-direction:row;align-items:center;gap:8px;display:flex}.input-unit-wrap{align-items:center;gap:6px;display:flex}.short-input{width:100px}.unit-label,.unit{color:var(--ce-text-muted);white-space:nowrap;font-size:13px}.inline-gap{width:24px}.inline-label{color:var(--ce-text-body);white-space:nowrap;font-size:13px;font-weight:500}.input-with-count{position:relative}.input-with-count input{padding-right:56px}.char-count{color:var(--ce-text-placeholder);pointer-events:none;font-size:12px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.age-range{align-items:center;gap:8px;display:flex}.age-range input{text-align:center;width:64px}.age-sep{color:var(--ce-text-placeholder)}.btn{border-radius:var(--ce-radius-lg);cursor:pointer;border:none;justify-content:center;align-items:center;height:36px;padding:0 18px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{background:var(--ce-primary);color:#fff}.btn-primary:hover{background:var(--ce-primary-hover)}.btn-secondary{background:var(--ce-border-subtle);color:var(--ce-text-body);border:1px solid var(--ce-border-light)}.btn-secondary:hover{background:var(--ce-border-light)}.btn-ghost{height:32px;color:var(--ce-text-muted);border:1px solid var(--ce-border-lighter);border-radius:var(--ce-radius);cursor:pointer;white-space:nowrap;background:0 0;justify-content:center;align-items:center;padding:0 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn-ghost:hover{background:var(--ce-bg-surface-hover)}.btn-sm{border-radius:var(--ce-radius);border:1px solid var(--ce-border-light);height:36px;color:var(--ce-text-body);cursor:pointer;white-space:nowrap;background:#fff;padding:0 14px;font-size:13px;font-weight:500;transition:all .15s}.btn-sm:hover{background:var(--ce-border-subtle)}.btn-sm-primary{background:var(--ce-text-body);color:#fff;border-color:var(--ce-text-body)}.btn-sm-primary:hover{background:var(--ce-text-main)}.tag-row{flex-wrap:wrap;gap:6px;display:flex}.tag-pill{background:var(--ce-primary-light);color:var(--ce-primary-hover);border-radius:var(--ce-radius-pill);align-items:center;gap:4px;padding:4px 10px;font-size:12px;display:inline-flex}.tag-remove{color:var(--ce-primary-hover);cursor:pointer;background:0 0;border:none;font-size:14px;line-height:1}.card-outline{background:var(--ce-bg-surface);border:1px solid var(--ce-border-light);border-radius:var(--ce-radius-lg);padding:12px}.list-row{background:var(--ce-bg-surface);border-radius:var(--ce-radius);align-items:center;gap:8px;padding:8px 10px;display:flex}.list-index{color:var(--ce-text-disabled);min-width:20px;font-size:12px;font-weight:600}.list-text{color:var(--ce-text-body);flex:1;font-size:13px}.list-remove{color:var(--ce-text-disabled);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.list-remove:hover{color:var(--ce-accent-red)}.checkbox-label{color:var(--ce-text-body);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.radio-group-wrap{flex-wrap:wrap;gap:8px;display:flex}.radio-label{border-radius:var(--ce-radius);color:var(--ce-text-body);background:var(--ce-bg-hover);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;align-items:center;gap:4px;padding:5px 12px;font-size:12px;transition:all .15s;display:inline-flex}.radio-label:hover{background:var(--ce-border-lighter)}.radio-label.active{background:var(--ce-border-lighter);color:var(--ce-text-body);border-color:var(--ce-border);font-weight:500}.radio-input{width:14px;height:14px;accent-color:var(--ce-text-muted);cursor:pointer;margin:0}.radio-remove{color:var(--ce-text-disabled);cursor:pointer;background:0 0;border:none;margin-left:2px;padding:0 0 0 4px;font-size:13px;line-height:1}.radio-remove:hover{color:var(--ce-accent-red)}.teacher-selected-list{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.teacher-tag{background:var(--ce-bg-hover);border:1px solid var(--ce-border-lighter);color:var(--ce-text-body);border-radius:var(--ce-radius);align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.teacher-tag-remove{color:var(--ce-text-placeholder);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;line-height:1}.teacher-tag-remove:hover{color:var(--ce-accent-red)}.teacher-avatar,.teacher-avatar-placeholder{object-fit:cover;color:#fff;background:var(--ce-text-disabled);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:600;display:inline-flex}.teacher-avatar-sm{width:32px;height:32px}.btn-add-teacher-plain{color:var(--ce-text-muted);cursor:pointer;background:0 0;border:none;height:auto;padding:0;font-size:13px;font-weight:500}.btn-add-teacher-plain:hover{color:var(--ce-text-body)}.teacher-picker-wrap{position:relative}.teacher-picker-dropdown{z-index:100;border:1px solid var(--ce-border);border-radius:var(--ce-radius);background:#fff;padding:12px;position:absolute;top:0;left:0;right:0;box-shadow:0 8px 24px #0000001f}.teacher-option-list{min-height:60px;max-height:220px;overflow-y:auto}.teacher-option-item{cursor:pointer;border-radius:var(--ce-radius);align-items:center;gap:10px;padding:8px 10px;transition:background .12s;display:flex}.teacher-option-item:hover{background:var(--ce-bg-surface-hover)}.teacher-option-info{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.teacher-option-name{color:var(--ce-text-main);font-size:14px;font-weight:500}.teacher-option-title{color:var(--ce-text-muted);background:var(--ce-border-subtle);border-radius:var(--ce-radius-sm);padding:1px 6px;font-size:12px}.teacher-option-subjects{color:var(--ce-text-disabled);font-size:11px}.teacher-empty-hint{text-align:center;color:var(--ce-text-disabled);padding:20px 0;font-size:13px}.campus-check-row{flex-wrap:wrap;gap:8px;display:flex}.campus-check-item{background:var(--ce-bg-surface-hover);border:1px solid var(--ce-border-lighter);border-radius:var(--ce-radius);color:var(--ce-text-body);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:all .15s;display:inline-flex}.campus-check-item:hover{border-color:var(--ce-primary-dim);background:var(--ce-primary-light)}.campus-check-item.active{background:var(--ce-primary-light);border-color:var(--ce-primary-dim);color:var(--ce-primary-hover);font-weight:500}.campus-check-item input[type=checkbox]{width:14px;height:14px;accent-color:var(--ce-primary-dim);cursor:pointer}.tpl-overlay{z-index:10000;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.tpl-dialog{border-radius:var(--ce-radius-xl);background:#fff;width:340px;max-width:90vw;padding:18px 20px 16px;box-shadow:0 16px 48px #00000029}.tpl-dialog-sm{width:300px}.tpl-dialog-title{color:var(--ce-text-main);margin:0 0 6px;font-size:15px;font-weight:700}.tpl-dialog-desc{color:var(--ce-text-muted);margin:0 0 12px;font-size:12px;line-height:1.45}.tpl-dialog-footer{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.save-template-input{border:1px solid var(--ce-border);border-radius:var(--ce-radius);box-sizing:border-box;outline:none;width:100%;height:34px;padding:0 10px;font-size:13px;transition:all .15s}.save-template-input:focus{border-color:var(--ce-primary-dim);box-shadow:0 0 0 2px #3b82f61a}.tag-pill--green{background:var(--ce-accent-green-light);color:var(--ce-accent-green);border:1px solid var(--ce-accent-green-border)}.tag-pill--orange{background:var(--ce-accent-orange-light);color:var(--ce-accent-orange);border:1px solid var(--ce-accent-orange-border)}.tag-block{border-radius:var(--ce-radius);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--ce-bg-hover);color:var(--ce-text-body);border:1px solid #0000;align-items:center;gap:4px;padding:5px 12px;font-size:12px;transition:all .15s;display:inline-flex}.tag-block:hover{background:var(--ce-bg-active)}.tag-block.active{background:var(--ce-bg-active);color:var(--ce-text-body);border-color:var(--ce-border);font-weight:500}.tag-block--primary{background:var(--ce-primary-light);color:var(--ce-primary);border-color:var(--ce-primary-border)}.tag-block--primary:hover{background:var(--ce-primary-light)}.tag-block--primary.active{background:var(--ce-primary-light);color:var(--ce-primary);border-color:var(--ce-primary-soft);box-shadow:0 1px 2px #2563eb14}.outcome-tag,.mkt-tag{border-radius:var(--ce-radius-pill);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--ce-bg-hover);color:var(--ce-text-body);border:1px solid #0000;align-items:center;gap:4px;padding:5px 12px;font-size:12px;transition:all .15s;display:inline-flex}.outcome-tag:hover,.mkt-tag:hover{background:var(--ce-bg-active)}.outcome-tag.active{background:var(--ce-accent-green-light);color:var(--ce-accent-green);border-color:var(--ce-accent-green-border);font-weight:500}.mkt-tag.active{background:var(--ce-accent-orange-light);color:var(--ce-accent-orange);border-color:var(--ce-accent-orange-border);font-weight:600}.class-tab-item,.teacher-tag,.welfare-item{border-radius:var(--ce-radius);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--ce-bg-hover);color:var(--ce-text-body);border:1px solid #0000;align-items:center;gap:4px;padding:5px 12px;font-size:12px;transition:all .15s;display:inline-flex}.class-tab-item:hover,.teacher-tag:hover,.welfare-item:hover{background:var(--ce-bg-active)}.class-tab-active,.welfare-item.active{background:var(--ce-bg-active);color:var(--ce-text-body);border-color:var(--ce-border);font-weight:500}.promo-tag{background:var(--ce-bg-hover);border:1px solid var(--ce-border-lighter);border-radius:var(--ce-radius);align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.campus-tab-item{border-radius:var(--ce-radius);color:var(--ce-text-muted);background:var(--ce-bg-hover);cursor:pointer;border:1px solid #0000;align-items:center;gap:4px;padding:5px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.campus-tab-item:hover{background:var(--ce-bg-active)}.campus-tab-active{color:var(--ce-primary);background:var(--ce-primary-light);border-color:var(--ce-primary-border)}.campus-tab-remove{color:var(--ce-text-placeholder);cursor:pointer;border-radius:var(--ce-radius-sm);background:0 0;border:none;padding:0 2px;font-size:15px;line-height:1;transition:color .12s}.campus-tab-active .campus-tab-remove{color:var(--ce-primary-soft)}.campus-tab-remove:hover{color:var(--ce-accent-red)}.sku-spec-list{flex-wrap:wrap;align-items:stretch;gap:12px;display:flex}.sku-spec-card{background:var(--ce-bg-surface);border:1.5px solid var(--ce-border-light);border-radius:var(--ce-radius-lg);cursor:pointer;flex-direction:column;gap:8px;min-width:160px;padding:12px 14px;transition:all .2s;display:flex;position:relative}.sku-spec-card:hover{border-color:var(--ce-primary-soft);box-shadow:0 2px 8px #2563eb0f}.sku-spec-card.active{border-color:var(--ce-primary);background:var(--ce-primary-light);box-shadow:0 2px 8px #2563eb1a}.sku-spec-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.sku-spec-name{color:var(--ce-text-title);font-size:14px;font-weight:600}.sku-spec-card.active .sku-spec-name{color:var(--ce-primary)}.sku-spec-actions{align-items:center;gap:6px;display:flex}.sku-spec-action-btn{border-radius:var(--ce-radius-sm);border:1px solid var(--ce-primary-soft);color:var(--ce-primary);cursor:pointer;white-space:nowrap;background:0 0;padding:2px 6px;font-size:11px;transition:all .12s}.sku-spec-action-btn:hover{background:var(--ce-primary-light);border-color:var(--ce-primary)}.sku-spec-remove{color:var(--ce-text-placeholder);cursor:pointer;border-radius:var(--ce-radius-sm);background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1;transition:color .12s}.sku-spec-remove:hover{color:var(--ce-accent-red)}.sku-price-row{align-items:center;gap:20px;display:flex}.sku-price-group{align-items:center;gap:8px;display:flex}.sku-price-label{color:var(--ce-text-body);white-space:nowrap;font-size:13px;font-weight:500}.sku-price-box{border:1px solid var(--ce-border-light);border-radius:var(--ce-radius);background:#fff;align-items:center;gap:4px;min-width:140px;height:36px;padding:0 10px;transition:border-color .15s;display:flex}.sku-price-box:focus-within{border-color:var(--ce-primary)}.sku-price-symbol{color:var(--ce-text-muted);-webkit-user-select:none;user-select:none;font-size:14px;font-weight:500}.sku-price-unit{color:var(--ce-text-muted);-webkit-user-select:none;user-select:none;font-size:13px;font-weight:500}.sku-price-input{color:var(--ce-accent-red);text-align:left;background:0 0;border:none;outline:none;flex:1;min-width:60px;font-size:15px;font-weight:600}.sku-price-input::placeholder{color:var(--ce-text-placeholder);font-size:14px;font-weight:400}.sku-original-input{color:var(--ce-text-body);text-align:left;background:0 0;border:none;outline:none;flex:1;min-width:60px;font-size:15px;font-weight:400}.sku-original-input::placeholder{color:var(--ce-text-placeholder);font-size:14px}.sku-hours-group{align-items:center;gap:8px;display:flex}.sku-hours-label{color:var(--ce-text-body);white-space:nowrap;font-size:13px;font-weight:500}.sku-hours-box{border:1px solid var(--ce-border-light);border-radius:var(--ce-radius);background:#fff;align-items:center;gap:4px;min-width:120px;height:36px;padding:0 10px;transition:border-color .15s;display:flex}.sku-hours-box:focus-within{border-color:var(--ce-primary)}.sku-hours-input{color:var(--ce-text-body);text-align:left;background:0 0;border:none;outline:none;flex:1;min-width:50px;font-size:15px;font-weight:400}.sku-hours-input::placeholder{color:var(--ce-text-placeholder);font-size:14px}.sku-hours-unit{color:var(--ce-text-muted);-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:13px;font-weight:500}.sku-spec-price-row{align-items:center;gap:8px;display:flex}.sku-spec-price-input-wrap{border:1px solid var(--ce-border-light);border-radius:var(--ce-radius);background:#fff;flex:1;align-items:center;gap:2px;padding:3px 8px;display:flex}.sku-spec-currency{color:var(--ce-text-muted);font-size:13px;font-weight:500}.sku-spec-price-input{width:60px;color:var(--ce-text-title);background:0 0;border:none;outline:none;padding:0;font-size:14px;font-weight:600}.sku-spec-price-input::placeholder{color:var(--ce-text-placeholder);font-size:12px;font-weight:400}.sku-spec-original-input-wrap{align-items:center;display:flex}.sku-spec-original-input{width:50px;color:var(--ce-text-placeholder);background:0 0;border:none;outline:none;padding:0;font-size:12px;text-decoration:line-through}.sku-spec-original-input::placeholder{color:var(--ce-text-placeholder)}.sku-spec-add{border:1.5px dashed var(--ce-primary-soft);border-radius:var(--ce-radius-lg);cursor:pointer;min-width:100px;color:var(--ce-primary);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:12px 14px;transition:all .2s;display:flex}.sku-spec-add:hover{background:var(--ce-primary-light);border-color:var(--ce-primary)}.sku-spec-add-icon{font-size:20px;font-weight:300;line-height:1}.sku-spec-add-label{font-size:13px;font-weight:500}.ai-notify-item[data-v-0f4a2086]{cursor:pointer;border-bottom:1px solid #f3f4f6;padding:10px 14px}.ai-notify-item[data-v-0f4a2086]:hover{background:#f9fafb}.ai-notify-item.unread[data-v-0f4a2086]{background:#eff6ff}.ai-notify-header[data-v-0f4a2086]{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.ai-notify-page[data-v-0f4a2086]{color:#2563eb;font-size:12px;font-weight:500}.ai-notify-time[data-v-0f4a2086]{color:#9ca3af;font-size:11px}.ai-notify-msg[data-v-0f4a2086]{color:#374151;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:12px;overflow:hidden}.ai-notify-reply[data-v-0f4a2086]{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.mc-toolbar[data-v-0f4a2086]{border-bottom:1px solid #f3f4f6;justify-content:flex-end;align-items:center;gap:4px;margin-bottom:8px;padding:0 16px 8px;display:flex}.mc-empty[data-v-0f4a2086]{text-align:center;color:#9ca3af;padding:24px 0;font-size:13px}.mc-help-list[data-v-0f4a2086]{flex-direction:column;gap:12px;padding:16px;display:flex}.mc-help-item[data-v-0f4a2086]{color:#4b5563;cursor:pointer;background:#f9fafb;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;font-size:14px;transition:all .2s;display:flex}.mc-help-item[data-v-0f4a2086]:hover{color:#111827;background:#f3f4f6}.mc-list-wrap[data-v-0f4a2086]{min-height:200px}.mc-error-item[data-v-0f4a2086],.mc-log-item[data-v-0f4a2086]{cursor:pointer;border-bottom:1px solid #f3f4f6;padding:12px 16px;transition:background .15s}.mc-error-item[data-v-0f4a2086]:hover,.mc-log-item[data-v-0f4a2086]:hover{background:#f9fafb}.mc-error-header[data-v-0f4a2086],.mc-log-header[data-v-0f4a2086]{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.mc-error-type[data-v-0f4a2086]{color:#2563eb;background:#eff6ff;border-radius:4px;padding:2px 8px;font-size:12px}.mc-error-time[data-v-0f4a2086],.mc-log-time[data-v-0f4a2086]{color:#9ca3af;font-size:12px}.mc-error-title[data-v-0f4a2086]{color:#111827;font-size:14px;font-weight:500;line-height:1.4}.mc-error-desc[data-v-0f4a2086]{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.mc-error-reason[data-v-0f4a2086]{color:#e6a23c;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.mc-error-meta[data-v-0f4a2086]{color:#9ca3af;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.mc-error-actions[data-v-0f4a2086],.mc-log-actions[data-v-0f4a2086]{justify-content:flex-end;margin-top:6px;display:flex}.mc-log-source[data-v-0f4a2086]{color:#6b7280;margin-bottom:2px;font-size:12px}.mc-log-message[data-v-0f4a2086]{color:#374151;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.message-center-drawer[data-v-0f4a2086] .el-drawer__body{height:100%;padding:0;overflow:hidden}.message-center-drawer[data-v-0f4a2086] .el-tabs__header{z-index:10;background:#fff;position:sticky;top:0}.mc-body[data-v-0f4a2086]{flex-direction:column;height:100%;display:flex}.mc-scroll-area[data-v-0f4a2086]{flex:1;min-height:0;overflow-y:auto}.gn-identity-switcher[data-v-77ffc860]{color:#4b5563;cursor:pointer;white-space:nowrap;background:#f3f4f6;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;transition:all .2s;display:flex}.gn-identity-switcher[data-v-77ffc860]:hover{color:#111827;background:#e5e7eb}.gn-campus-switcher[data-v-77ffc860]{color:#4b5563;cursor:pointer;white-space:nowrap;background:#f3f4f6;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;transition:all .2s;display:flex}.gn-campus-switcher[data-v-77ffc860]:hover{color:#111827;background:#e5e7eb}.gn-account-switcher[data-v-77ffc860]{color:#4b5563;cursor:pointer;white-space:nowrap;background:#f3f4f6;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;transition:all .2s;display:flex}.gn-account-switcher[data-v-77ffc860]:hover{color:#111827;background:#e5e7eb}.profile-popover[data-v-77ffc860]{padding:0!important}.profile-popover .el-popover__title[data-v-77ffc860]{display:none}.profile-card[data-v-77ffc860]{flex-direction:column;gap:0;display:flex}.profile-card-header[data-v-77ffc860]{border-bottom:1px solid #f3f4f6;align-items:flex-start;gap:12px;padding:16px;display:flex}.profile-card-info[data-v-77ffc860]{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.profile-card-name[data-v-77ffc860]{color:#111827;font-size:16px;font-weight:600;line-height:1.4}.profile-card-meta[data-v-77ffc860]{color:#9ca3af;align-items:center;gap:8px;font-size:12px;display:flex}.profile-card-current-idt[data-v-77ffc860]{color:#4b5563;align-items:center;gap:6px;margin-top:2px;font-size:13px;display:flex}.profile-card-idt-section[data-v-77ffc860]{border-bottom:1px solid #f3f4f6;padding:12px 16px}.profile-card-section-title[data-v-77ffc860]{color:#9ca3af;margin-bottom:8px;font-size:12px;font-weight:500}.profile-card-idt-list[data-v-77ffc860]{flex-direction:column;gap:4px;display:flex}.profile-card-idt-item[data-v-77ffc860]{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;transition:all .15s;display:flex}.profile-card-idt-item[data-v-77ffc860]:hover{background:#f9fafb;border-color:#e5e7eb}.profile-card-idt-item.active[data-v-77ffc860]{background:#ecfdf5;border-color:#a7f3d0}.profile-card-idt-main[data-v-77ffc860]{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.profile-card-idt-role[data-v-77ffc860]{color:#374151;white-space:nowrap;font-size:13px;font-weight:500}.profile-card-idt-dept[data-v-77ffc860]{color:#9ca3af;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.profile-card-idt-default[data-v-77ffc860]{color:#f59e0b;flex-shrink:0;font-size:11px;font-weight:500}.profile-card-actions[data-v-77ffc860]{border-bottom:1px solid #f3f4f6;gap:8px;padding:12px 16px;display:flex}.profile-card-action-item[data-v-77ffc860]{cursor:pointer;color:#4b5563;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:10px 0;font-size:12px;transition:all .15s;display:flex}.profile-card-action-item[data-v-77ffc860]:hover{color:#111827;background:#f9fafb}.profile-card-action-item .el-icon[data-v-77ffc860]{color:#6b7280}.profile-card-action-item:hover .el-icon[data-v-77ffc860]{color:#2563eb}.profile-card-footer[data-v-77ffc860]{cursor:pointer;color:#9ca3af;border-radius:0 0 8px 8px;justify-content:center;align-items:center;gap:6px;padding:12px 16px;font-size:13px;transition:all .15s;display:flex}.profile-card-footer[data-v-77ffc860]:hover{color:#e6a23c;background:#fef2f2}.gn-domain-tabs[data-v-77ffc860]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gn-domain-tab[data-v-77ffc860]{color:#6b7280;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#f3f4f6;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.gn-domain-tab[data-v-77ffc860]:hover{color:#374151;background:#e5e7eb}.gn-domain-tab.active[data-v-77ffc860]{color:#2563eb;background:#eff6ff;border-color:#bfdbfe;font-weight:600}.app-aside[data-v-b4fc709a]{background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;display:flex;overflow:hidden}.sidebar-secondary[data-v-b4fc709a]{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.sidebar-group-header[data-v-b4fc709a]{justify-content:space-between;align-items:center;gap:4px;padding:14px 4px 6px;display:flex}.sidebar-group-title[data-v-b4fc709a]{color:#374151;font-size:13px;font-weight:600}.sidebar-group-toggle[data-v-b4fc709a]{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:all .15s;display:flex}.sidebar-group-toggle[data-v-b4fc709a]:hover{color:#374151;background:#f3f4f6}.secondary-title[data-v-b4fc709a]{color:#111827;border-bottom:1px solid #e5e7eb;flex-shrink:0;padding:16px 16px 12px;font-size:15px;font-weight:600}.secondary-body[data-v-b4fc709a]{flex:1;padding:6px;overflow-y:auto}.secondary-section-title[data-v-b4fc709a]{color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;padding:10px 4px 4px;font-size:11px;font-weight:500}.secondary-item[data-v-b4fc709a]{color:#4b5563;cursor:pointer;border:1px solid #0000;border-radius:6px;margin-bottom:1px;padding:7px 8px;font-size:12px;transition:all .15s}.secondary-item[data-v-b4fc709a]:hover{color:#111827;background:#f3f4f6;border-color:#e5e7eb}.secondary-item.active[data-v-b4fc709a]{color:#2563eb;background:#eff6ff;border-color:#bfdbfe;font-weight:500}.page-main[data-v-a9592682]{flex-direction:column;flex:1;height:calc(100vh - 52px);min-height:0;padding:0;display:flex;overflow:hidden}.main-stage[data-v-a9592682]{flex:1;min-height:0;display:flex;overflow:hidden}.main-content[data-v-a9592682]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.router-view-wrapper[data-v-a9592682]{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.page-layout-wrapper[data-v-0ec31569]{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.page-header[data-v-0ec31569]{background:var(--bg-card,#fff);border-bottom:1px solid var(--border-light,#e8e8e8);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.page-header-main[data-v-0ec31569]{flex:1}.page-title[data-v-0ec31569]{color:var(--text-primary,#1a1a1a);margin:0;font-size:18px;font-weight:600;line-height:1.4}.page-subtitle[data-v-0ec31569]{color:var(--text-muted,#666);margin:4px 0 0;font-size:13px;line-height:1.5}.title-extra[data-v-0ec31569]{vertical-align:middle;align-items:center;margin-left:6px;display:inline-flex}.page-header-actions[data-v-0ec31569]{flex-shrink:0;align-items:center;gap:10px;margin-left:16px;display:flex}.page-body[data-v-0ec31569]{flex-direction:column;flex:1;min-height:0;padding:16px 20px;display:flex;overflow-y:auto}.page-body-content[data-v-0ec31569]{flex-direction:column;flex:1;min-height:0;display:flex}.page-footer[data-v-0ec31569]{background:var(--bg-card,#fff);border-top:1px solid var(--ce-border,#e5e7eb);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;box-shadow:0 -4px 12px #0000000f}[data-v-39908cc8] .page-body{padding:16px 20px!important}.crud-filter-bar[data-v-39908cc8]{flex-shrink:0;margin-bottom:16px}.crud-filter-top[data-v-39908cc8]{margin-bottom:12px}.crud-filter-bottom[data-v-39908cc8]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.crud-content-card[data-v-39908cc8],.crud-content-card[data-v-39908cc8] .el-card__body{flex-direction:column;flex:1;display:flex;overflow:hidden}.crud-pagination-bar[data-v-39908cc8]{flex-shrink:0;justify-content:center;margin-top:16px;padding:8px 0;display:flex}.crud-page-filter[data-v-a89efb2a]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.crud-page-filter-left[data-v-a89efb2a],.crud-page-filter-right[data-v-a89efb2a]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.page-container[data-v-7d587efd]{padding:24px}.page-header[data-v-7d587efd]{margin-bottom:20px}.page-header h2[data-v-7d587efd]{color:var(--text);margin:0;font-size:20px;font-weight:600}.page-desc[data-v-7d587efd]{color:var(--text-muted);margin:4px 0 0;font-size:13px}.info-card[data-v-7d587efd]{border-radius:10px;margin-top:24px;padding:16px 20px}.info-card-title[data-v-7d587efd]{margin-bottom:10px;font-size:14px;font-weight:600}.info-card ul[data-v-7d587efd]{margin:0;padding-left:18px;font-size:13px;line-height:1.8}.info-card li[data-v-7d587efd]{margin-bottom:4px}.theme-purple[data-v-7d587efd]{background:#fdf4ff;border:1px solid #f0abfc}.theme-purple .info-card-title[data-v-7d587efd]{color:#86198f}.theme-purple ul[data-v-7d587efd]{color:#701a75}.theme-yellow[data-v-7d587efd]{background:#fefce8;border:1px solid #fde68a}.theme-yellow .info-card-title[data-v-7d587efd]{color:#854d0e}.theme-yellow ul[data-v-7d587efd]{color:#713f12}.theme-blue[data-v-7d587efd]{background:#eff6ff;border:1px solid #93c5fd}.theme-blue .info-card-title[data-v-7d587efd]{color:#1e40af}.theme-blue ul[data-v-7d587efd]{color:#1e3a5f}.theme-green[data-v-7d587efd]{background:#f0fdf4;border:1px solid #86efac}.theme-green .info-card-title[data-v-7d587efd]{color:#166534}.theme-green ul[data-v-7d587efd]{color:#14532d}.theme-orange[data-v-7d587efd]{background:#fff7ed;border:1px solid #fdba74}.theme-orange .info-card-title[data-v-7d587efd]{color:#9a3412}.theme-orange ul[data-v-7d587efd]{color:#7c2d12}.theme-pink[data-v-7d587efd]{background:#fdf2f8;border:1px solid #f9a8d4}.theme-pink .info-card-title[data-v-7d587efd]{color:#9d174d}.theme-pink ul[data-v-7d587efd]{color:#831843}.theme-teal[data-v-7d587efd]{background:#f0fdfa;border:1px solid #5eead4}.theme-teal .info-card-title[data-v-7d587efd]{color:#115e59}.theme-teal ul[data-v-7d587efd]{color:#134e4a}.skeleton-wrapper[data-v-f275633e]{padding:16px}.skeleton-header[data-v-f275633e]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.skeleton-cards[data-v-f275633e]{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px;display:grid}.skeleton-main[data-v-f275633e]{grid-template-columns:1fr 360px;gap:16px;display:grid}.skeleton-section[data-v-f275633e],.skeleton-table[data-v-f275633e]{background:var(--bg-secondary);border-radius:var(--radius-md);padding:16px}.drawer-header[data-v-9d155aa7]{border-bottom:1px solid var(--el-border-color);margin-bottom:16px;padding-bottom:16px}.drawer-footer[data-v-9d155aa7]{border-top:1px solid var(--el-border-color);justify-content:flex-end;gap:12px;margin-top:16px;padding-top:16px;display:flex}[data-v-9d155aa7] .el-tabs{flex-direction:column;height:100%;display:flex}[data-v-9d155aa7] .el-tabs__content{flex:1;overflow-y:auto}
