:root{--primary-color:#2b77f2;--primary-hover:#1e60d1;--bg-color:#f5f7fa;--sidebar-bg:#fff;--header-bg:#fff;--card-bg:#fff;--text-main:#333;--text-secondary:#666;--text-light:#999;--border-color:#e5e7eb;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f}*{box-sizing:border-box;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif}body{background-color:var(--bg-color);color:var(--text-main);min-height:100vh;overflow-x:hidden}.sidebar{background-color:var(--sidebar-bg);border-right:1px solid var(--border-color);width:240px;padding:0 0 var(--spacing-md) 0;z-index:100;flex-direction:column;height:100vh;display:flex;position:fixed}.logo{padding:0 var(--spacing-lg);margin-bottom:var(--spacing-lg);color:var(--primary-color);white-space:nowrap;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.nav-menu{list-style:none}.nav-item{margin-bottom:4px}.nav-link{padding:12px var(--spacing-lg);color:#333;align-items:center;gap:10px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.nav-link:hover,.nav-link.active{color:var(--primary-color);border-right:3px solid var(--primary-color);background-color:#ebf2fe}.nav-link i{text-align:center;width:20px}.nav-submenu{background-color:#f7f9fc;border-top:1px solid #f0f2f5;border-bottom:1px solid #f0f2f5;padding:4px 0;list-style:none;display:none}.nav-submenu.open{display:block}.nav-submenu-item a{color:var(--text-secondary);padding:10px 24px 10px 78px;font-size:13px;font-weight:400;text-decoration:none;transition:all .2s;display:block;position:relative}.nav-submenu-item a:before{content:"";background-color:#c8cdd4;border-radius:50%;width:5px;height:5px;transition:all .2s;position:absolute;top:50%;left:66px;transform:translateY(-50%)}.nav-submenu-item a:hover,.nav-submenu-item a.active{color:var(--primary-color);background-color:#eef4fe;font-weight:600}.nav-submenu-item a:hover:before,.nav-submenu-item a.active:before{background-color:var(--primary-color)}.main-content{min-width:0;padding:var(--spacing-lg);gap:var(--spacing-lg);flex-direction:column;flex:1;margin-left:240px;display:flex}.topbar{background:var(--card-bg);padding:10px var(--spacing-lg);box-shadow:var(--shadow-sm);border-radius:8px;justify-content:space-between;align-items:center;display:flex}.topbar-enterprise{color:var(--text-secondary);align-items:center;gap:10px;font-size:13px;display:flex}.topbar-enterprise i{color:var(--primary-color);font-size:15px}.admin-badge{color:#e6a23c;background:#fdf6ec;border:1px solid #f5dab1;border-radius:10px;padding:2px 10px;font-size:12px}.enterprise-name-text{color:var(--primary-color);background:#eef4fe;border-radius:6px;padding:4px 10px;font-size:14px;font-weight:600}.enterprise-name-empty{color:var(--text-light);font-size:13px;font-style:italic}.empty-state-card{background:var(--card-bg);padding:80px var(--spacing-lg);box-shadow:var(--shadow-sm);border-radius:8px;justify-content:center;align-items:center;min-height:400px;display:flex}.empty-state-content{text-align:center;color:var(--text-secondary)}.empty-state-content i{color:var(--primary-color);margin-bottom:16px;font-size:36px}.empty-state-content p{margin-top:8px;font-size:14px}.page-header{background:var(--card-bg);padding:var(--spacing-md) var(--spacing-lg);box-shadow:var(--shadow-sm);border-radius:8px;justify-content:space-between;align-items:center;display:flex}.page-title h1{color:var(--text-main);font-size:16px;font-weight:600}.page-title p{color:var(--text-light);margin-top:4px;font-size:12px}.settings-card{background:var(--card-bg);box-shadow:var(--shadow-sm);border-radius:8px;overflow:hidden}.card-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);cursor:pointer;justify-content:space-between;align-items:center;display:flex}.card-title{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.card-title .icon{font-size:18px}.card-content{padding:0}.setting-item{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:flex-start;display:flex}.setting-item:last-child{border-bottom:none}.setting-info h3{color:var(--text-main);margin-bottom:6px;font-size:14px;font-weight:500}.setting-info p{color:var(--text-light);max-width:600px;font-size:12px;line-height:1.5}.setting-info .sub-desc{color:#e15554;margin-top:4px}.switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch input:disabled+.slider{opacity:.5;cursor:not-allowed}.slider{cursor:pointer;background-color:#ccc;border-radius:24px;transition:all .4s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .4s;position:absolute;bottom:2px;left:2px}input:checked+.slider{background-color:var(--primary-color)}input:checked+.slider:before{transform:translate(20px)}.app-icons{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);background-color:#fff;align-items:center;gap:12px;display:flex}.app-tag{color:var(--text-main);align-items:center;gap:6px;font-size:13px;display:flex}.app-tag i{font-size:16px}.tag-wechat{color:#07c160}.tag-work-wechat{color:#2b77f2}.tag-qq{color:#d93d3d}.tag-whatsapp{color:#25d366}.tag-sms{color:#2b77f2}.filter-bar{padding:var(--spacing-md) var(--spacing-lg);background:#fff;align-items:center;display:flex}.search-input{border:1px solid var(--border-color);border-radius:4px;outline:none;width:300px;padding:8px 12px;font-size:13px}.search-input:focus{border-color:var(--primary-color)}.expand-btn{color:var(--primary-color);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;font-size:13px;display:flex}.expand-btn:hover{text-decoration:underline}.badge{color:var(--text-light);margin-left:4px;font-weight:400}.data-table-container{background:var(--card-bg);box-shadow:var(--shadow-sm);border-radius:8px;overflow:visible}.filters-row{padding:var(--spacing-md);border-bottom:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.filter-input,.filter-select{border:1px solid var(--border-color);border-radius:4px;min-width:140px;padding:6px 10px;font-size:13px}.btn-primary{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:7px 16px;font-size:13px}.btn-secondary{color:var(--text-main);border:1px solid var(--border-color);cursor:pointer;background-color:#fff;border-radius:4px;padding:7px 16px;font-size:13px}.table-wrapper{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid #f0f0f0;padding:12px 16px}th{color:var(--text-secondary);background-color:#fafafa;font-weight:600}tr:hover{background-color:#f5f7fa}.status-dot{background-color:#ccc;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.status-active{background-color:#07c160}.status-pending{background-color:#f0ad4e}.status-error{background-color:#d9534f}.action-link{color:var(--primary-color);cursor:pointer;margin-right:8px;text-decoration:none}.pagination{color:var(--text-secondary);justify-content:flex-end;align-items:center;gap:8px;padding:12px 16px;font-size:13px;display:flex}.page-btn{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:4px;padding:4px 8px}.page-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}body.modal-open{overflow:hidden!important}.modal-overlay{z-index:1000;overscroll-behavior:contain;background:#00000073;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.show{display:flex}.modal{overscroll-behavior:contain;background:#fff;border-radius:6px;flex-direction:column;max-height:86vh;display:flex;box-shadow:0 8px 30px #0003}.modal-lg{width:720px}.modal-sm{width:420px}.modal-header{border-bottom:1px solid var(--border-color);color:var(--text-main);justify-content:space-between;align-items:center;padding:14px 20px;font-size:15px;font-weight:600;display:flex}.modal-close{color:var(--text-light);cursor:pointer;background:0 0;border:none;font-size:16px}.modal-close:hover{color:var(--text-main)}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px;display:flex}.chat-body{overscroll-behavior:contain;background:#fff;flex:1;min-height:300px;padding:16px 24px;overflow-y:auto}.chat-time-divider{text-align:center;color:var(--text-light);margin:18px 0 10px;font-size:12px}.chat-sys-note{text-align:center;color:var(--text-light);word-break:break-all;max-width:80%;margin:8px auto;font-size:12px;line-height:1.5}.chat-msg{align-items:flex-start;gap:8px;margin-bottom:14px;display:flex}.chat-msg.right{flex-direction:row-reverse}.chat-avatar{color:#fff;background:#d8d8d8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;display:flex;position:relative;overflow:hidden}.chat-avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.chat-msg-main{max-width:70%}.chat-name{color:var(--text-light);margin-bottom:4px;font-size:12px}.chat-msg.right .chat-name{text-align:right}.chat-msg.right .chat-bubble-wrap{justify-content:flex-end;display:flex}.chat-bubble{color:var(--text-main);word-break:break-all;text-align:left;background:#f2f3f5;border-radius:6px;padding:8px 12px;font-size:13px;line-height:1.5;display:inline-block}.chat-msg.right .chat-bubble{background:var(--primary-color);color:#fff}.chat-img-placeholder{border:1px solid var(--border-color);color:#c0c4cc;background:#f7f8fa;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:120px;height:160px;font-size:12px;display:flex}.chat-img-placeholder i{font-size:26px}.pay-bubble{width:205px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);text-align:left;border-radius:8px;overflow:hidden}.pay-bubble-top{color:#fff;background:#f5a04a;align-items:center;gap:10px;padding:12px 14px;display:flex}.pay-bubble-icon{border:2px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;display:flex}.pay-bubble.redpacket .pay-bubble-icon{color:#f8d377;background:#e94f3f;border:none;border-radius:6px;font-size:14px}.pay-bubble-amount{font-size:17px;font-weight:600}.pay-bubble-note{font-size:13px;font-weight:400}.pay-bubble-bottom{color:var(--text-light);background:#fff;padding:5px 14px;font-size:11px}.confirm-body{gap:12px;padding:24px 24px 8px;display:flex}.confirm-body .confirm-icon{color:#f0a020;flex-shrink:0;margin-top:1px;font-size:20px}.confirm-title{color:var(--text-main);margin-bottom:8px;font-size:15px;font-weight:600}.confirm-desc{color:var(--text-secondary);font-size:13px}.btn-primary-sm{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:6px 18px;font-size:13px}.btn-primary-sm:hover{background:var(--primary-hover)}.btn-plain-sm{color:var(--text-main);border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:4px;padding:6px 18px;font-size:13px}.btn-plain-sm:hover{border-color:var(--primary-color);color:var(--primary-color)}.btn-plain-sm:disabled{color:#c0c4cc;cursor:not-allowed;border-color:var(--border-color)}.info-tip{color:var(--text-light);cursor:pointer;align-items:center;display:inline-flex;position:relative}.info-tip .info-tooltip{color:#fff;z-index:100;width:230px;box-shadow:var(--shadow-md);pointer-events:none;white-space:normal;word-break:break-word;background:#4c4c4c;border-radius:4px;padding:8px 12px;font-size:12px;line-height:1.6;display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.info-tip .info-tooltip:before{content:"";border:5px solid #0000;border-bottom-color:#4c4c4c;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.info-tip:hover .info-tooltip,.info-tip:focus .info-tooltip{display:block}.info-tip-right .info-tooltip,.info-tip.info-tip-right .info-tooltip{left:auto;right:0;transform:none}.info-tip-right .info-tooltip:before,.info-tip.info-tip-right .info-tooltip:before{left:auto;right:6px;transform:none}.info-tip-top .info-tooltip{white-space:nowrap;width:max-content;max-width:240px;top:auto;bottom:calc(100% + 8px)}.info-tip-top .info-tooltip:before{border-top-color:#4c4c4c;border-bottom-color:#0000;top:100%;bottom:auto}.info-tip:focus{outline:none}.stats-type-tip{color:#c0c4cc;margin-left:4px}.stats-type-tip:hover,.stats-type-tip:focus{color:var(--primary-color)}.stats-type-tip .info-tooltip{white-space:nowrap;text-align:center;width:max-content;max-width:260px}.master-switch-tip{color:#999;margin-left:2px}.master-switch-tip .info-tooltip{white-space:normal;text-align:left;width:250px;max-width:250px}.switch-mutex-tip .info-tooltip{white-space:normal;text-align:left;width:240px;max-width:240px;left:auto;right:0;transform:none}.switch-mutex-tip .info-tooltip:before{left:auto;right:14px;transform:none}.action-link.disabled{color:#c0c4cc;cursor:not-allowed}.sel{display:inline-block;position:relative}.sel-input{cursor:pointer;width:170px;color:var(--text-main);background:#fff;border:1px solid #dcdfe6;border-radius:4px;padding:7px 26px 7px 10px;font-size:13px}.sel-input::placeholder{color:#c0c4cc}.sel-input:focus{border-color:var(--primary-color);outline:none}.sel-arrow{color:#c0c4cc;pointer-events:none;font-size:12px;transition:transform .2s;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.sel.open .sel-arrow{transform:translateY(-50%)rotate(180deg)}.sel-clear{color:#c0c4cc;cursor:pointer;z-index:10;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;transition:color .15s,background-color .15s;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%);pointer-events:auto!important}.sel-clear:hover{color:#909399;background-color:#0000000d}.sel-clear:active{transform:translateY(-50%)scale(.9)}.sel-panel{border:1px solid var(--border-color);min-width:100%;box-shadow:var(--shadow-md);z-index:300;background:#fff;border-radius:4px;max-height:240px;padding:4px 0;display:none;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.sel.open .sel-panel{display:block}.sel.align-right .sel-panel{left:auto;right:0}.sel-option{color:var(--text-main);cursor:pointer;white-space:nowrap;padding:8px 14px;font-size:13px}.sel-option:hover{background:#f5f7fa}.sel-option.selected{color:var(--primary-color);font-weight:600}.tree{padding:6px 10px;font-size:13px}.tree-node{cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:5px 0;display:flex}.tree-toggle{color:#c0c4cc;cursor:pointer;text-align:center;flex-shrink:0;width:14px;font-size:11px}.tree-children{padding-left:22px;display:none}.tree-item.open>.tree-children{display:block}.tree-item.open>.tree-node .tree-toggle i{transform:rotate(90deg)}.tree-toggle i{transition:transform .15s}.range-box{background:#fff;border:1px solid #dcdfe6;border-radius:4px;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.range-box input{width:86px;color:var(--text-main);background:0 0;border:none;outline:none;padding:7px 2px;font-size:13px}.range-box input::placeholder{color:#c0c4cc}.range-box .fa-calendar{color:#c0c4cc;font-size:13px}.th-flex{align-items:center;gap:6px;display:flex;position:relative}.funnel{color:#c0c4cc;cursor:pointer;font-size:11px}.funnel.active{color:var(--primary-color)}.funnel-pop{border:1px solid var(--border-color);box-shadow:var(--shadow-md);z-index:200;background:#fff;border-radius:4px;padding:10px 14px;font-weight:400;display:none;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-30%)}.funnel-pop.show{display:block}.funnel-pop label{color:var(--text-main);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:5px 0;font-size:13px;display:flex}.funnel-pop-btns{gap:16px;margin-top:8px;font-size:13px;display:flex}.funnel-pop-btns a{cursor:pointer}.funnel-pop-btns .ok{color:var(--primary-color)}.funnel-pop-btns .reset{color:var(--primary-color);opacity:.7}.caret-sort{cursor:pointer;vertical-align:middle;flex-direction:column;line-height:0;display:inline-flex}.caret-sort i{color:#c0c4cc;height:7px;font-size:10px}.caret-sort.asc .fa-caret-up,.caret-sort.desc .fa-caret-down{color:var(--primary-color)}.btn-secondary:disabled{color:#c0c4cc;cursor:not-allowed;background:#fff}.msg-toast,.msg-success{z-index:3000;box-shadow:var(--shadow-sm);box-sizing:border-box;border-radius:4px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;display:none;position:fixed;top:20px;left:50%;transform:translate(-50%)}.msg-toast.show,.msg-success.show{display:inline-flex}.msg-toast.msg-success,.msg-success{color:#67c23a;background:#f0f9eb;border:1px solid #e1f3d8}.msg-toast.msg-success i,.msg-success i{color:#67c23a}.msg-toast.msg-error,.msg-error{color:#f56c6c;background:#fef0f0;border:1px solid #fde2e2}.msg-toast.msg-error i,.msg-error i{color:#f56c6c}.msg-toast.msg-warning,.msg-warning{color:#e6a23c;background:#fdf6ec;border:1px solid #faecd8}.msg-toast.msg-warning i,.msg-warning i{color:#e6a23c}.msg-toast.msg-info,.msg-info{color:#909399;background:#edf2fc;border:1px solid #ebeef5}.msg-toast.msg-info i,.msg-info i{color:#909399}.export-body{padding:24px 30px;font-size:13px}.export-row{align-items:center;gap:14px;margin-bottom:16px;display:flex}.export-row:last-child{margin-bottom:0}.export-row label.radio{cursor:pointer;align-items:center;gap:5px;display:flex}.export-label{color:var(--text-secondary)}.export-label .required{color:#d9534f;margin-right:2px}.chat-real-img{border:1px solid var(--border-color);border-radius:4px;max-width:150px}.table-wrapper{background:var(--card-bg);-webkit-overflow-scrolling:touch;border-radius:0 0 8px 8px;width:100%;overflow-x:auto}.table-wrapper::-webkit-scrollbar{height:8px}.table-wrapper::-webkit-scrollbar-thumb{background:#dcdfe6;border-radius:4px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:#b0b4bc}.table-wrapper::-webkit-scrollbar-track{background:#f8f9fb}.table-wrapper table{border-collapse:collapse;background:var(--card-bg);width:100%}.table-wrapper td{background-color:var(--card-bg)}.table-wrapper table.log-table{table-layout:fixed}.table-wrapper table.log-table th,.table-wrapper table.log-table td{box-sizing:border-box}.table-wrapper table.log-table td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-wrapper table.log-table td.sticky-col,.table-wrapper table.log-table th.sticky-col{overflow:visible}.table-wrapper table.exec-table{min-width:850px}.table-wrapper table.stats-table{width:100%;min-width:680px}.time-cell,td.time-cell,th.time-cell{min-width:155px;white-space:nowrap!important}th.sticky-col,td.sticky-col{text-align:center;background:#fff;position:sticky;right:0;box-shadow:-8px 0 8px -8px #00000026;white-space:nowrap!important}.op-cell{white-space:nowrap!important}.op-cell .action-link{white-space:nowrap;display:inline-block}thead th.sticky-col{z-index:2;background:#fafafa}tr:hover td.sticky-col{background:#f5f7fa}.table-wrapper.at-end th.sticky-col,.table-wrapper.at-end td.sticky-col{box-shadow:none}th.th-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.sel-up .sel-panel{top:auto;bottom:calc(100% + 6px)}.sel-sm .sel-input{width:78px;padding:5px 22px 5px 8px}.dp-anchor{position:relative}.range-box input{cursor:pointer}.dp-panel{border:1px solid var(--border-color);box-shadow:var(--shadow-md);z-index:500;background:#fff;border-radius:4px;width:646px;display:none;position:absolute;top:calc(100% + 8px);left:0}.dp-panel.show{display:block}.dp-panel.align-right{left:auto;right:0}.dp-inputs{border-bottom:1px solid var(--border-color);color:#c0c4cc;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.dp-inputs span.filled{color:var(--text-main)}.dp-months{display:flex}.dp-month{width:50%;padding:8px 14px 12px}.dp-month:first-child{border-right:1px solid var(--border-color)}.dp-month-head{color:var(--text-main);justify-content:center;align-items:center;padding:6px 0 10px;font-size:14px;font-weight:600;display:flex;position:relative}.dp-nav{color:#c0c4cc;cursor:pointer;padding:2px 4px;font-size:12px;position:absolute;top:4px}.dp-nav:hover{color:var(--primary-color)}.dp-nav.disabled{pointer-events:none;color:#e4e7ed!important;cursor:not-allowed!important}.dp-nav.prev-year{left:2px}.dp-nav.prev-month{left:26px}.dp-nav.next-month{right:26px}.dp-nav.next-year{right:2px}.dp-week,.dp-days{grid-template-columns:repeat(7,1fr);display:grid}.dp-week span{text-align:center;color:var(--text-secondary);border-bottom:1px solid #f0f0f0;margin-bottom:4px;padding:6px 0;font-size:12px}.dp-day{text-align:center;cursor:pointer;height:30px;color:var(--text-main);padding:0;font-size:12px;line-height:30px}.dp-day span{border-radius:2px;width:24px;height:24px;line-height:24px;display:inline-block}.dp-day:hover span{color:var(--primary-color)}.dp-day.other{color:#c0c4cc}.dp-day.disabled{pointer-events:none;color:#c0c4cc!important;cursor:not-allowed!important;background:0 0!important}.dp-day.disabled span{color:#c0c4cc!important;cursor:not-allowed!important;background:0 0!important}.dp-day.disabled:hover span{color:#c0c4cc!important;background:0 0!important}.dp-day.today span{color:var(--primary-color);font-weight:600}.dp-day.in-range,.dp-day.start,.dp-day.end{background:#f2f6fc}.dp-day.start span,.dp-day.end span{background:var(--primary-color);color:#fff;font-weight:400}.dp-shortcuts{border-top:1px solid var(--border-color);align-items:center;gap:22px;padding:10px 16px;font-size:13px;display:flex}.dp-shortcuts a{cursor:pointer;color:var(--text-main);align-items:center;gap:6px;display:flex}.dp-shortcuts a:before{content:"";background:#fff;border:1px solid #dcdfe6;border-radius:50%;width:12px;height:12px}.dp-shortcuts a:hover{color:var(--primary-color)}.view{gap:var(--spacing-lg);flex-direction:column;display:none}.view.active{display:flex}.tabbar{gap:10px;display:flex}.tab-btn{border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;background:#fff;border-radius:4px;padding:6px 18px;font-size:13px}.tab-btn.active{color:var(--primary-color);border-color:var(--primary-color)}.search-join{display:inline-flex}.search-join input{border:1px solid #dcdfe6;border-right:none;border-radius:4px 0 0 4px;outline:none;width:150px;padding:7px 10px;font-size:13px}.search-join input:focus{border-color:var(--primary-color)}.search-join button{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:0 4px 4px 0;padding:0 16px;font-size:13px}.empty-state{text-align:center;color:var(--text-light);padding:60px 0 70px;font-size:13px}.empty-state i{color:#e0e3e8;margin-bottom:10px;font-size:44px;display:block}.shot{cursor:pointer;background:#f7f7f7;border:1px solid #e5e7eb;border-radius:4px;width:76px;height:150px;padding:8px 6px;position:relative;overflow:hidden}.shot .shot-bar{background:#e8eaed;border-radius:2px;height:6px;margin-bottom:5px}.shot .shot-bar.short{width:60%}.shot .shot-dialog{color:#666;text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:3px;padding:4px 3px 0;font-size:6px;position:absolute;top:38%;left:8%;right:8%;box-shadow:0 2px 6px #0000001f}.shot .shot-dialog .btns{border-top:1px solid #f0f0f0;margin-top:4px;display:flex}.shot .shot-dialog .btns span{flex:1;padding:3px 0}.shot .shot-dialog .btns .red{color:#d9534f}.shot-lg{width:205px;height:405px;margin:0 auto;padding:20px 14px}.shot-lg .shot-bar{height:14px;margin-bottom:12px}.shot-lg .shot-dialog{padding:10px 8px 0;font-size:12px}.shot-lg .shot-dialog .btns span{padding:8px 0}.sync-table{border-collapse:collapse;width:100%;font-size:13px}.sync-table th,.sync-table td{text-align:left;border-bottom:1px solid #f0f0f0;padding:10px 12px}.sync-table th{color:var(--text-secondary);background:#fafafa;font-weight:600}.back-link{color:var(--primary-color);cursor:pointer;align-items:center;gap:6px;font-size:14px;display:inline-flex}.dept-badge{background:var(--primary-color);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;display:inline-flex}.expander{width:16px;height:16px;color:var(--text-secondary);cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:inline-flex}.expander.blank{visibility:hidden}tr.child-row td:first-child{padding-left:46px}.dd{cursor:pointer;color:var(--text-main);white-space:nowrap;align-items:center;gap:4px;display:inline-flex;position:relative}.dd .dd-arrow{color:#c0c4cc;font-size:11px}.dd .dd-panel{border:1px solid var(--border-color);box-shadow:var(--shadow-md);z-index:400;background:#fff;border-radius:4px;min-width:96px;padding:4px 0;display:none;position:absolute;top:calc(100% + 6px);left:0}.dd.open .dd-panel{display:block}.dd .dd-option{text-align:center;padding:7px 16px;font-size:13px}.dd .dd-option:hover{background:#f5f7fa}.dd .dd-option.link{color:var(--primary-color)}.dd-sep{color:#e0e3e8;margin:0 10px}.head-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.link-blue{color:var(--primary-color);cursor:pointer}.app-tabs{border-bottom:1px solid var(--border-color);gap:28px;margin:14px 0;display:flex}.app-tab{color:var(--text-main);cursor:pointer;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:8px 2px 10px;font-size:14px;display:flex}.app-tab i{font-size:16px}.app-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.rule-search{width:380px;display:inline-flex}.rule-search input{border:1px solid #dcdfe6;border-right:none;border-radius:4px 0 0 4px;outline:none;flex:1;padding:8px 12px;font-size:13px}.rule-search button{color:var(--text-light);cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-radius:0 4px 4px 0;padding:0 14px}.rule-sec-head{align-items:center;gap:8px;padding:16px 24px;display:flex}.rule-sec-head .sec-icon{color:var(--primary-color);font-size:17px}.rule-sec-head .sec-title{font-size:15px;font-weight:600}.rule-sec-head .sec-count{color:var(--text-secondary);font-size:13px}.rule-sec-head .sec-toggle{color:var(--primary-color);cursor:pointer;margin-left:auto;font-size:13px}.rule-sec-info{color:var(--text-secondary);background:#eef4fe;border-radius:4px;margin:0 24px 6px;padding:10px 14px;font-size:12px}.rule-item{border-bottom:1px solid #f5f5f5;align-items:flex-start;gap:16px;padding:14px 24px;display:flex}.rule-item:last-child{border-bottom:none}.rule-item .rule-main{flex:1}.rule-item h4{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.rule-item h4:before{content:"";background:var(--primary-color);border-radius:1px;width:3px;height:14px}.rule-item p{color:var(--text-secondary);margin-top:6px;font-size:12px;line-height:1.7}.video-tag{color:var(--primary-color);cursor:pointer;align-items:center;gap:4px;font-size:12px;font-weight:400;display:inline-flex}.rule-extra{display:none}.rule-sec.open .rule-extra{display:flex}.wm-config-body{flex-direction:column;gap:12px;padding:4px 24px 16px;display:flex}.wm-row{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px;font-size:12px;display:flex}.wm-row label{cursor:pointer;align-items:center;gap:4px;display:inline-flex}.chip{border:1px solid var(--border-color);background:#fff;border-radius:4px;align-items:center;gap:8px;margin:4px 8px 4px 0;padding:6px 12px;font-size:13px;display:inline-flex}.chip i{color:var(--text-light);cursor:pointer;font-size:12px}.chip i:hover{color:#d9534f}.pill-info{color:var(--primary-color);background:#eef4fe;border:1px solid #c9ddfc;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:inline-flex}.upload-zone{text-align:center;color:var(--text-secondary);cursor:pointer;border:1px dashed #dcdfe6;border-radius:6px;padding:34px 0;font-size:13px}.upload-zone i{color:#c0c4cc;margin-bottom:10px;font-size:30px;display:block}.upload-zone:hover,.upload-zone.is-dragover{border-color:var(--primary-color);background-color:#f0f7ff}.upload-zone.has-file{background-color:#f6ffed;border-color:#67c23a}.org-panel{flex-shrink:0;width:220px;padding:12px;position:sticky;top:24px}.org-search{color:#c0c4cc;border:1px solid #dcdfe6;border-radius:16px;align-items:center;gap:6px;margin-bottom:10px;padding:6px 12px;display:flex}.org-search input{border:none;outline:none;flex:1;min-width:0;font-size:12px}.org-tree{max-height:480px;font-size:13px;overflow-y:auto}.org-node{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;align-items:center;gap:4px;padding:6px 8px;display:flex;overflow:hidden}.org-node:hover{background:#f5f7fa}.org-node.selected{color:var(--primary-color);background:#e8f1fe}.org-node .org-caret{color:#999;text-align:center;flex-shrink:0;width:14px;font-size:10px;transition:transform .15s}.org-label{align-items:center;gap:6px;display:flex}.org-label i{text-align:center;width:12px;font-size:12px}.org-label i.fa-folder{color:#b0b6c1}.org-label i.fa-user{color:#7a94c2}.org-item.open>.org-node .org-caret{transform:rotate(90deg)}.org-children{padding-left:18px;display:none}.org-item.open>.org-children{display:block}.org-empty{color:#c0c4cc;padding:4px 8px 4px 26px;font-size:12px}.rules-disabled{opacity:.55;filter:grayscale(.4);pointer-events:none;-webkit-user-select:none;user-select:none}.rules-disabled .slider{background-color:#dcdfe6!important}.impact-tag{color:#d48806;cursor:pointer;background:#fff7e8;border:1px solid #f5d9a0;border-radius:10px;align-items:center;gap:4px;padding:1px 8px;font-size:12px;font-weight:400;display:inline-flex}.impact-tag:hover{background:#fdeed0}.rule-impact-note{color:#8a5a00;background:#fff7e8;border-left:3px solid #f0a020;border-radius:0 4px 4px 0;margin-top:10px;padding:8px 12px;font-size:12px;line-height:1.8}.rule-impact-note .link-blue{margin-left:4px}.impact-body{flex:1;padding:20px 24px 4px;overflow-y:auto}.impact-alert{background:#fff7e8;border:1px solid #f5d9a0;border-radius:4px;gap:10px;margin-bottom:16px;padding:12px 14px;display:flex}.impact-alert i{color:#f0a020;flex-shrink:0;margin-top:1px;font-size:18px}.impact-alert-title{color:var(--text-main);margin-bottom:6px;font-size:14px;font-weight:600}.impact-alert-desc{color:var(--text-secondary);font-size:12px;line-height:1.8}.impact-alert-desc b{color:#d4380d}.impact-group{margin-bottom:14px}.impact-group-title{color:var(--text-main);align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.impact-group-title i{color:var(--primary-color);font-size:12px}.impact-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.impact-item{border:1px solid var(--border-color);background:#fcfcfd;border-radius:4px;align-items:center;gap:8px;padding:9px 12px;display:flex}.impact-item>i{color:#d4380d;flex-shrink:0;font-size:12px}.impact-item-name{color:var(--text-main);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.impact-ok-item{background:#fafdf8;border-color:#e3f0dc}.impact-ok-item>i{color:#67c23a}.impact-level{border-radius:8px;flex-shrink:0;padding:0 6px;font-size:11px;font-weight:400}.impact-level.lv-stop{color:#d4380d;background:#fff1f0;border:1px solid #ffc9c4}.impact-level.lv-ok{color:#529b2e;background:#f0f9eb;border:1px solid #c2e7b0}.impact-ack{border-top:1px solid var(--border-color);color:var(--text-main);cursor:pointer;background:#fafafa;flex-shrink:0;align-items:flex-start;gap:8px;padding:12px 24px;font-size:13px;display:flex}.impact-ack input{flex-shrink:0;margin-top:2px}.impact-footer-hint{color:var(--text-light);margin-right:auto;font-size:12px}.btn-danger-sm{color:#fff;cursor:pointer;background:#d4380d;border:none;border-radius:4px;padding:6px 18px;font-size:13px}.btn-danger-sm:hover{background:#e14a1d}.btn-danger-sm:disabled{cursor:not-allowed;background:#f0b3a3}.dp-panel.align-right[data-v-339551a5]{left:auto!important;right:0!important}.range-box[data-v-339551a5]{cursor:pointer;-webkit-user-select:none;user-select:none}.range-box input[data-v-339551a5]{cursor:pointer}.dp-clear-icon[data-v-339551a5]{color:#c0c4cc;cursor:pointer;font-size:13px;transition:color .15s}.dp-clear-icon[data-v-339551a5]:hover{color:#909399}.dp-nav.disabled[data-v-339551a5]{pointer-events:none;color:#e4e7ed!important;cursor:not-allowed!important}[data-v-339551a5] .dp-day.disabled,.dp-day.disabled[data-v-339551a5]{pointer-events:none;color:#c0c4cc!important;cursor:not-allowed!important;background:0 0!important}[data-v-339551a5] .dp-day.disabled span,.dp-day.disabled span[data-v-339551a5]{color:#c0c4cc!important;cursor:not-allowed!important;background:0 0!important}[data-v-339551a5] .dp-day.disabled:hover span,.dp-day.disabled:hover span[data-v-339551a5]{color:#c0c4cc!important;background:0 0!important}
