@charset "UTF-8";.notif-drawer[data-v-92f27942]{display:flex;flex-direction:column;height:100%}.notif-header[data-v-92f27942]{padding:16px 20px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}.notif-header h3[data-v-92f27942]{font-size:16px;font-weight:700;color:#1e293b}.notif-header-right[data-v-92f27942]{display:flex;gap:4px}.notif-tabs[data-v-92f27942]{display:flex;gap:4px;padding:8px 16px;border-bottom:1px solid #e2e8f0}.notif-tab[data-v-92f27942]{padding:6px 12px;border:none;background:transparent;font-size:12px;color:#64748b;cursor:pointer;border-radius:6px;transition:all .15s ease;display:flex;align-items:center;gap:4px;font-family:Noto Sans CJK SC,PingFang SC,Microsoft YaHei,sans-serif}.notif-tab[data-v-92f27942]:hover{background:#f1f5f9}.notif-tab.active[data-v-92f27942]{background:#3b82f61a;color:#3b82f6;font-weight:600}.notif-tab .tab-badge[data-v-92f27942]{padding:0 6px;border-radius:100px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;min-width:18px;text-align:center}.notif-list[data-v-92f27942]{flex:1;overflow-y:auto;padding:8px 0}.notif-item[data-v-92f27942]{padding:12px 20px;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background .15s ease}.notif-item[data-v-92f27942]:hover{background:#f1f5f9}.notif-item.unread[data-v-92f27942]{background:#3b82f608}.notif-item.unread .notif-title[data-v-92f27942]{font-weight:700}.notif-item-header[data-v-92f27942]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.notif-severity-dot[data-v-92f27942]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.notif-severity-dot.critical[data-v-92f27942]{background:#ef4444}.notif-severity-dot.high[data-v-92f27942]{background:#f59e0b}.notif-severity-dot.medium[data-v-92f27942]{background:#3b82f6}.notif-severity-dot.low[data-v-92f27942]{background:#94a3b8}.notif-severity-dot.red[data-v-92f27942]{background:#ef4444}.notif-severity-dot.yellow[data-v-92f27942],.notif-severity-dot.orange[data-v-92f27942]{background:#f59e0b}.notif-title[data-v-92f27942]{font-size:13px;color:#1e293b;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-time[data-v-92f27942]{font-size:11px;color:#94a3b8;flex-shrink:0}.notif-item-body[data-v-92f27942]{display:flex;gap:8px;font-size:12px;color:#64748b;margin-bottom:6px;flex-wrap:wrap}.notif-platform[data-v-92f27942]{color:#3b82f6;font-weight:600}.notif-metric strong[data-v-92f27942]{color:#ef4444}.notif-item-footer[data-v-92f27942]{display:flex;align-items:center;justify-content:space-between}.notif-push-icons[data-v-92f27942]{display:flex;gap:6px}.notif-push-icons .push-icon[data-v-92f27942]{font-size:14px;color:#94a3b8}.notif-push-icons .push-icon.read[data-v-92f27942]{color:#10b981}.notif-push-icons .push-icon.delivered[data-v-92f27942]{color:#3b82f6}.notif-push-icons .push-icon.sent[data-v-92f27942]{color:#64748b}.notif-push-icons .push-icon.failed[data-v-92f27942]{color:#ef4444}.notif-empty[data-v-92f27942]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#94a3b8}.notif-empty .el-icon[data-v-92f27942]{font-size:40px;color:#10b981;margin-bottom:12px}.notif-empty p[data-v-92f27942]{font-size:14px}.badge[data-v-92f27942]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:100px;font-size:11px;font-weight:600}.badge.blue[data-v-92f27942]{background:#3b82f61a;color:#3b82f6}.badge.green[data-v-92f27942]{background:#10b9811a;color:#10b981}.badge.orange[data-v-92f27942]{background:#f59e0b1a;color:#f59e0b}.badge.red[data-v-92f27942]{background:#ef44441a;color:#ef4444}.badge.gray[data-v-92f27942]{background:#f1f5f9;color:#64748b}.alert-toast-container[data-v-77576123]{position:fixed;top:70px;right:24px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none}.toast-wrapper[data-v-77576123]{display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 100px);overflow-y:auto;pointer-events:auto}.toast-wrapper[data-v-77576123]::-webkit-scrollbar{width:4px}.toast-wrapper[data-v-77576123]::-webkit-scrollbar-thumb{background:#0000001a;border-radius:2px}.alert-toast[data-v-77576123]{width:380px;background:#fff;border-radius:10px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;display:flex;cursor:pointer;overflow:hidden;transition:transform .2s,box-shadow .2s}.alert-toast[data-v-77576123]:hover{transform:translate(-4px);box-shadow:0 12px 40px #00000029,0 4px 12px #00000014}.toast-severity-bar[data-v-77576123]{width:4px;flex-shrink:0}.alert-toast.critical .toast-severity-bar[data-v-77576123]{background:#ef4444}.alert-toast.high .toast-severity-bar[data-v-77576123]{background:#f59e0b}.alert-toast.medium .toast-severity-bar[data-v-77576123]{background:#3b82f6}.alert-toast.low .toast-severity-bar[data-v-77576123]{background:#9ca3af}.toast-content[data-v-77576123]{flex:1;padding:12px 14px;min-width:0}.toast-header[data-v-77576123]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.toast-header-left[data-v-77576123]{display:flex;align-items:center;gap:6px}.toast-icon[data-v-77576123]{font-size:16px;display:flex}.alert-toast.critical .toast-icon[data-v-77576123]{color:#ef4444}.alert-toast.high .toast-icon[data-v-77576123]{color:#f59e0b}.alert-toast.medium .toast-icon[data-v-77576123]{color:#3b82f6}.alert-toast.low .toast-icon[data-v-77576123]{color:#9ca3af}.toast-severity-label[data-v-77576123]{font-size:11px;font-weight:700;padding:1px 6px;border-radius:100px}.alert-toast.critical .toast-severity-label[data-v-77576123]{background:#ef44441a;color:#ef4444}.alert-toast.high .toast-severity-label[data-v-77576123]{background:#f59e0b1a;color:#f59e0b}.alert-toast.medium .toast-severity-label[data-v-77576123]{background:#3b82f61a;color:#3b82f6}.alert-toast.low .toast-severity-label[data-v-77576123]{background:#9ca3af1a;color:#6b7280}.toast-platform[data-v-77576123]{font-size:11px;color:#3b82f6;font-weight:600}.toast-close[data-v-77576123]{font-size:14px;color:#9ca3af;cursor:pointer;transition:color .15s}.toast-close[data-v-77576123]:hover{color:#ef4444}.toast-title[data-v-77576123]{font-size:14px;font-weight:700;color:#1e293b;margin-bottom:4px;line-height:1.4}.toast-metric[data-v-77576123]{display:flex;gap:4px;align-items:center;margin-bottom:6px}.toast-metric-label[data-v-77576123]{font-size:12px;color:#64748b}.toast-metric-value[data-v-77576123]{font-size:14px;font-weight:700;color:#ef4444;font-family:SF Mono,Fira Code,monospace}.toast-desc[data-v-77576123]{font-size:12px;color:#64748b;line-height:1.5;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.toast-push-tracking[data-v-77576123]{padding:8px 10px;background:#f8fafc;border-radius:6px;margin-bottom:8px}.toast-push-label[data-v-77576123]{font-size:10px;color:#94a3b8;margin-bottom:4px;font-weight:600}.toast-push-targets[data-v-77576123]{display:flex;flex-direction:column;gap:3px}.toast-push-target[data-v-77576123]{display:flex;align-items:center;gap:4px;font-size:11px}.toast-push-target .push-dot[data-v-77576123]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.toast-push-target .push-name[data-v-77576123]{color:#475569;font-weight:500}.toast-push-target .push-status-text[data-v-77576123]{margin-left:auto;font-size:10px}.toast-push-target.sent .push-dot[data-v-77576123]{background:#3b82f6;animation:pulse-77576123 1.5s infinite}.toast-push-target.sent .push-status-text[data-v-77576123]{color:#3b82f6}.toast-push-target.delivered .push-dot[data-v-77576123]{background:#3b82f6}.toast-push-target.delivered .push-status-text[data-v-77576123]{color:#3b82f6}.toast-push-target.read .push-dot[data-v-77576123]{background:#10b981}.toast-push-target.read .push-status-text[data-v-77576123]{color:#10b981}.toast-push-target.failed .push-dot[data-v-77576123]{background:#ef4444}.toast-push-target.failed .push-status-text[data-v-77576123]{color:#ef4444}@keyframes pulse-77576123{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.toast-footer[data-v-77576123]{display:flex;justify-content:space-between;align-items:center}.toast-time[data-v-77576123]{font-size:10px;color:#94a3b8}.toast-action[data-v-77576123]{font-size:11px;color:#3b82f6;font-weight:600}.toast-dismiss-all[data-v-77576123]{margin-top:8px;padding:6px 16px;background:#1e293bcc;color:#fff;border-radius:100px;font-size:12px;cursor:pointer;pointer-events:auto;transition:background .2s}.toast-dismiss-all[data-v-77576123]:hover{background:#1e293b}.toast-enter-active[data-v-77576123]{transition:all .4s cubic-bezier(.16,1,.3,1)}.toast-leave-active[data-v-77576123]{transition:all .3s cubic-bezier(.16,1,.3,1)}.toast-enter-from[data-v-77576123],.toast-leave-to[data-v-77576123]{opacity:0;transform:translate(400px) scale(.9)}.toast-move[data-v-77576123]{transition:transform .3s ease}.fade-enter-active[data-v-77576123],.fade-leave-active[data-v-77576123]{transition:opacity .2s}.fade-enter-from[data-v-77576123],.fade-leave-to[data-v-77576123]{opacity:0}.layout[data-v-0846b76f]{display:flex;min-height:100vh}.sidebar[data-v-0846b76f]{position:fixed;left:0;top:0;bottom:0;width:220px;background:#0f172a;color:#cbd5e1;z-index:100;display:flex;flex-direction:column;transition:width .25s ease}.sidebar.collapsed[data-v-0846b76f]{width:64px}.sidebar-logo[data-v-0846b76f]{padding:20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-logo .logo-icon[data-v-0846b76f]{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:#fff;flex-shrink:0}.sidebar-logo .logo-text[data-v-0846b76f]{font-size:15px;font-weight:700;color:#fff;line-height:1.3}.sidebar-logo .logo-sub[data-v-0846b76f]{font-size:10px;color:#64748b}.sidebar-nav[data-v-0846b76f]{flex:1;overflow-y:auto;padding:12px 0}.sidebar-nav[data-v-0846b76f]::-webkit-scrollbar{width:4px}.sidebar-nav[data-v-0846b76f]::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.nav-section[data-v-0846b76f]{margin-bottom:8px}.nav-section-title[data-v-0846b76f]{padding:8px 20px;font-size:10px;color:#475569;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.nav-item[data-v-0846b76f]{display:flex;align-items:center;gap:10px;padding:10px 20px;color:#94a3b8;font-size:13px;cursor:pointer;transition:all .15s ease;border-left:3px solid transparent;text-decoration:none}.nav-item[data-v-0846b76f]:hover{background:#1e293b;color:#e2e8f0}.nav-item.active[data-v-0846b76f]{background:#2563eb1f;color:#fff;border-left-color:#3b82f6}.nav-item .nav-icon[data-v-0846b76f]{font-size:16px;flex-shrink:0;width:18px}.nav-item .nav-badge[data-v-0846b76f]{margin-left:auto;padding:1px 7px;border-radius:100px;background:#ef4444;color:#fff;font-size:10px;font-weight:700}.sidebar-footer[data-v-0846b76f]{padding:12px 16px;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:8px}.footer-user-avatar[data-v-0846b76f]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;flex-shrink:0}.footer-user-avatar.red[data-v-0846b76f]{background:#ef4444}.footer-user-avatar.blue[data-v-0846b76f]{background:#3b82f6}.footer-user-avatar.purple[data-v-0846b76f]{background:#8b5cf6}.footer-user-avatar.green[data-v-0846b76f]{background:#10b981}.footer-user-info[data-v-0846b76f]{flex:1;min-width:0}.footer-user-name[data-v-0846b76f]{font-size:12px;font-weight:600;color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-badge[data-v-0846b76f]{display:inline-block;padding:1px 6px;border-radius:100px;font-size:10px;font-weight:600}.role-badge.red[data-v-0846b76f]{background:#ef444433;color:#fca5a5}.role-badge.blue[data-v-0846b76f]{background:#3b82f633;color:#93c5fd}.role-badge.purple[data-v-0846b76f]{background:#8b5cf633;color:#c4b5fd}.role-badge.green[data-v-0846b76f]{background:#10b98133;color:#6ee7b7}.footer-dropdown[data-v-0846b76f]{color:#64748b;cursor:pointer;font-size:14px}.footer-dropdown[data-v-0846b76f]:hover{color:#e2e8f0}.main[data-v-0846b76f]{margin-left:220px;min-height:100vh;transition:margin-left .25s ease}.topbar[data-v-0846b76f]{background:#fff;height:56px;display:flex;align-items:center;padding:0 24px;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:50}.topbar-left[data-v-0846b76f]{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.collapse-btn[data-v-0846b76f]{font-size:20px;cursor:pointer;color:#64748b;transition:color .15s ease;flex:none}.collapse-btn[data-v-0846b76f]:hover{color:#3b82f6}.topbar-hotel[data-v-0846b76f]{min-width:0}.topbar-hotel .topbar-hotel-row[data-v-0846b76f]{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0}.topbar-hotel .topbar-hotel-label[data-v-0846b76f]{font-size:12px;font-weight:600;color:#64748b;flex:none}.topbar-hotel .topbar-hotel-count[data-v-0846b76f]{padding:0 6px;border-radius:100px;background:#2563eb1f;color:#3b82f6;font-size:10px;font-weight:700;line-height:16px;flex:none}.topbar-hotel .topbar-hotel-select[data-v-0846b76f]{width:240px;flex:0 1 240px;min-width:150px}.topbar-hotel .topbar-hotel-select[data-v-0846b76f] .el-select__selected-item{font-size:13px;font-weight:600}.topbar-hotel .topbar-hotel-apply[data-v-0846b76f]{flex:none}.topbar-hotel .topbar-hotel-applied[data-v-0846b76f]{display:inline-flex;align-items:center;gap:5px;max-width:320px;padding:3px 9px;border-radius:100px;background:#10b9811a;border:1px solid rgba(16,185,129,.25);color:#059669;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-hotel .topbar-hotel-applied .ok[data-v-0846b76f]{color:#10b981;font-weight:800}.topbar-hotel .topbar-hotel-applied i[data-v-0846b76f]{font-style:normal;color:#34d399;font-size:11px}.topbar-hotel .topbar-hotel-empty[data-v-0846b76f]{font-size:12px;color:#ef4444}.topbar-hotel .topbar-sub[data-v-0846b76f]{font-size:12px;color:#94a3b8;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1280px){.topbar-hotel .topbar-hotel-applied[data-v-0846b76f]{max-width:150px}}@media (max-width: 1080px){.topbar-hotel .topbar-hotel-applied[data-v-0846b76f]{display:none}}.topbar-title[data-v-0846b76f]{font-size:17px;font-weight:700;color:#1e293b}.topbar-sub[data-v-0846b76f]{font-size:12px;color:#94a3b8;margin-left:8px}.topbar-right[data-v-0846b76f]{margin-left:auto;display:flex;align-items:center;gap:12px}.topbar-date[data-v-0846b76f]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f1f5f9;border-radius:6px;font-size:12px;color:#64748b}.alert-badge[data-v-0846b76f] .el-badge__content{font-size:10px}.topbar-alert[data-v-0846b76f]{width:36px;height:36px;border-radius:8px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:#64748b;transition:all .15s ease}.topbar-alert[data-v-0846b76f]:hover{background:#3b82f61a;color:#3b82f6}.content[data-v-0846b76f]{padding:24px}:root{--sidebar-bg: #0f172a;--sidebar-hover: #1e293b;--sidebar-active: #2563eb;--bg: #f1f5f9;--card: #ffffff;--ink: #1e293b;--muted: #94a3b8;--muted2: #64748b;--rule: #e2e8f0;--rule2: #f1f5f9;--accent: #3b82f6;--accent2: #8b5cf6;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #6366f1;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .08);--font: Noto Sans CJK SC, PingFang SC, Microsoft YaHei, sans-serif;--mono: SF Mono, JetBrains Mono, Consolas, monospace}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Noto Sans CJK SC,PingFang SC,Microsoft YaHei,sans-serif;background:#f1f5f9;color:#1e293b;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}.font-mono{font-family:SF Mono,JetBrains Mono,Consolas,monospace}.font-bold{font-weight:700}.text-center{text-align:center}.text-muted{color:#94a3b8}.text-muted2{color:#64748b}.text-success{color:#10b981}.text-warning{color:#f59e0b}.text-danger{color:#ef4444}.text-accent{color:#3b82f6}.text-accent2{color:#8b5cf6}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.flex{display:flex}.justify-between{justify-content:space-between}.items-center{align-items:center}.badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:100px;font-size:11px;font-weight:600}.badge.blue{background:#3b82f61a;color:#3b82f6}.badge.purple{background:#8b5cf61a;color:#8b5cf6}.badge.green{background:#10b9811a;color:#10b981}.badge.orange{background:#f59e0b1a;color:#f59e0b}.badge.red{background:#ef44441a;color:#ef4444}.badge.gray{background:#f1f5f9;color:#64748b}.progress{height:8px;background:#f1f5f9;border-radius:100px;overflow:hidden}.progress .progress-bar{height:100%;border-radius:100px;transition:width .5s}.progress .progress-bar.blue{background:#3b82f6}.progress .progress-bar.green{background:#10b981}.progress .progress-bar.orange{background:#f59e0b}.progress .progress-bar.red{background:#ef4444}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease,transform .3s ease}.fade-enter-from{opacity:0;transform:translateY(8px)}.fade-leave-to{opacity:0}.el-card{border:1px solid #e2e8f0!important;border-radius:10px!important;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a!important}.el-table th.el-table__cell{background:#f1f5f9!important;color:#64748b!important;font-weight:600}.el-button--primary{--el-button-bg-color: #3b82f6;--el-button-border-color: #3b82f6}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0003}
