.sidebar[data-v-9e3146d0]{width:220px;height:100vh;background:#fff;border-right:1px solid #eee;display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:100;box-shadow:2px 0 12px #0000000a}.sidebar-logo[data-v-9e3146d0]{display:flex;align-items:center;justify-content:center;padding:20px 18px;border-bottom:1px solid #f0f0f0}.logo-img[data-v-9e3146d0]{max-width:100%;height:auto;max-height:48px;object-fit:contain}.sidebar-nav[data-v-9e3146d0]{flex:1;padding:12px 10px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.nav-divider[data-v-9e3146d0]{margin:6px 14px;height:1px;background:#eee;border-radius:1px}.nav-item[data-v-9e3146d0]{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;color:#555;text-decoration:none;font-size:14px;font-weight:500;transition:all .2s ease;position:relative}.nav-item[data-v-9e3146d0]:hover{background:#fef0f0;color:#b22222}.nav-item.active[data-v-9e3146d0]{background:linear-gradient(135deg,#b22222,#8b1a1a);color:#fff;box-shadow:0 4px 12px #b222224d}.nav-icon[data-v-9e3146d0]{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.nav-icon svg[data-v-9e3146d0]{width:19px;height:19px}.nav-label[data-v-9e3146d0]{flex:1}.nav-indicator[data-v-9e3146d0]{width:4px;height:4px;border-radius:50%;background:#fff}.sidebar-bottom-nav[data-v-9e3146d0]{border-top:1px solid #f0f0f0;padding:6px 10px}.sidebar-footer[data-v-9e3146d0]{padding:14px 18px;border-top:1px solid #f0f0f0}.version[data-v-9e3146d0]{font-size:12px;color:#bbb}@media(max-width:767px){.sidebar[data-v-9e3146d0]{transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 20px #00000026;z-index:100}.sidebar.mobile-open[data-v-9e3146d0]{transform:translate(0)}}.header[data-v-8f5d007d]{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:50}.header-left[data-v-8f5d007d]{display:flex;align-items:center;gap:10px}.hamburger-btn[data-v-8f5d007d]{width:36px;height:36px;border-radius:8px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;transition:all .15s}.hamburger-btn[data-v-8f5d007d]:hover{background:#f5f5f5;color:#b22222}.hamburger-btn svg[data-v-8f5d007d]{width:22px;height:22px}.search-box[data-v-8f5d007d]{display:flex;align-items:center;background:#f5f5f5;border-radius:10px;padding:8px 14px;gap:8px;width:320px;transition:all .25s;border:1px solid transparent}.search-box[data-v-8f5d007d]:focus-within{background:#fff;border-color:#b22222;box-shadow:0 0 0 3px #b2222214}.search-icon[data-v-8f5d007d]{width:18px;height:18px;color:#999;flex-shrink:0}.search-input[data-v-8f5d007d]{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:#333}.search-input[data-v-8f5d007d]::placeholder{color:#bbb}.search-active[data-v-8f5d007d]{position:relative}.search-dropdown[data-v-8f5d007d]{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border-radius:12px;border:1px solid #eee;box-shadow:0 8px 30px #0000001a;z-index:200;overflow:hidden}.sd-hd[data-v-8f5d007d]{padding:10px 14px 6px;font-size:11px;color:#bbb;font-weight:600;text-transform:uppercase}.sd-empty[data-v-8f5d007d]{padding:16px 14px;font-size:13px;color:#ccc;text-align:center}.sd-item[data-v-8f5d007d]{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;transition:background .1s}.sd-item[data-v-8f5d007d]:hover{background:#fafafa}.sd-item-icon[data-v-8f5d007d]{width:14px;height:14px;color:#bbb;flex-shrink:0}.sd-item-text[data-v-8f5d007d]{flex:1;font-size:13px;color:#555;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-item-del[data-v-8f5d007d]{width:24px;height:24px;border:none;background:none;border-radius:4px;cursor:pointer;color:#ccc;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .1s}.sd-item:hover .sd-item-del[data-v-8f5d007d]{opacity:1}.sd-item-del[data-v-8f5d007d]:hover{background:#fef0f0;color:#b22222}.sd-item-del svg[data-v-8f5d007d]{width:12px;height:12px}.header-right[data-v-8f5d007d]{display:flex;align-items:center;gap:6px}.header-btn[data-v-8f5d007d]{width:40px;height:40px;border-radius:10px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;transition:all .2s ease;position:relative}.header-btn[data-v-8f5d007d]:hover{background:#f5f5f5;color:#b22222}.header-btn svg[data-v-8f5d007d]{width:20px;height:20px}.notif-wrapper[data-v-8f5d007d]{position:relative}.notif-btn.has-unread[data-v-8f5d007d]{color:#b22222}.notif-badge[data-v-8f5d007d]{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;background:#b22222;color:#fff;border-radius:9px;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;border:2px solid #fff;line-height:1}.notif-btn.has-unread svg[data-v-8f5d007d]{animation:bell-shake-8f5d007d .5s ease-in-out infinite alternate}@keyframes bell-shake-8f5d007d{0%,to{transform:rotate(0)}25%{transform:rotate(8deg)}75%{transform:rotate(-8deg)}}.notif-panel[data-v-8f5d007d]{position:absolute;top:calc(100% + 8px);right:0;width:380px;max-height:300px;background:#fff;border-radius:14px;box-shadow:0 8px 36px #0000001f;z-index:100;display:flex;flex-direction:column;overflow:hidden}.notif-panel-header[data-v-8f5d007d]{display:flex;justify-content:space-between;align-items:center;padding:16px 18px 12px;border-bottom:1px solid #f0f0f0}.notif-panel-title[data-v-8f5d007d]{font-size:16px;font-weight:700;color:#1a1a2e}.mark-all-btn[data-v-8f5d007d]{font-size:12px;color:#b22222;background:none;border:none;cursor:pointer}.mark-all-btn[data-v-8f5d007d]:hover{text-decoration:underline}.notif-tabs[data-v-8f5d007d]{display:flex;padding:0 18px;gap:20px;border-bottom:1px solid #f0f0f0}.notif-tabs button[data-v-8f5d007d]{padding:10px 0;border:none;background:none;font-size:13px;color:#999;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;display:flex;align-items:center;gap:6px}.notif-tabs button.active[data-v-8f5d007d]{color:#b22222;border-bottom-color:#b22222;font-weight:600}.tab-badge[data-v-8f5d007d]{min-width:18px;height:18px;padding:0 5px;background:#b22222;color:#fff;border-radius:9px;font-size:11px;display:inline-flex;align-items:center;justify-content:center}.notif-list[data-v-8f5d007d]{flex:1;overflow-y:auto;padding:4px 0}.notif-empty[data-v-8f5d007d]{text-align:center;color:#bbb;padding:40px 0;font-size:13px}.notif-more[data-v-8f5d007d]{display:flex;align-items:center;justify-content:center;gap:4px;padding:12px 18px;cursor:pointer;color:#b22222;font-size:13px;font-weight:500;border-top:1px solid #f5f5f5;transition:background .15s}.notif-more[data-v-8f5d007d]:hover{background:#fafafa}.notif-more svg[data-v-8f5d007d]{width:14px;height:14px}.notif-item[data-v-8f5d007d]{display:flex;gap:10px;padding:12px 18px;cursor:pointer;transition:background .15s;border-bottom:1px solid #fafafa}.notif-item[data-v-8f5d007d]:hover{background:#fafafa}.notif-item.unread[data-v-8f5d007d]{background:#fef9f9}.notif-item-dot[data-v-8f5d007d]{width:8px;height:8px;background:#b22222;border-radius:50%;margin-top:5px;flex-shrink:0}.notif-item-content[data-v-8f5d007d]{flex:1;min-width:0}.notif-item-title[data-v-8f5d007d]{font-size:14px;font-weight:600;color:#333;margin-bottom:3px}.notif-item-sub[data-v-8f5d007d]{font-size:12px;color:#999;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-item-meta[data-v-8f5d007d]{font-size:11px;color:#bbb;display:flex;gap:10px}.slide-enter-active[data-v-8f5d007d],.slide-leave-active[data-v-8f5d007d]{transition:all .2s ease}.slide-enter-from[data-v-8f5d007d],.slide-leave-to[data-v-8f5d007d]{opacity:0;transform:translateY(-6px)}.avatar-wrapper[data-v-8f5d007d]{position:relative}.avatar-btn[data-v-8f5d007d]{border:none;background:none;cursor:pointer;padding:2px;border-radius:10px;transition:all .2s;margin-left:4px}.avatar-btn[data-v-8f5d007d]:hover{box-shadow:0 0 0 3px #b2222226}.avatar[data-v-8f5d007d]{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#b22222,#8b1a1a);display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:600;transition:transform .2s}.avatar-btn:hover .avatar[data-v-8f5d007d]{transform:scale(1.05)}.dropdown-menu[data-v-8f5d007d]{position:absolute;top:calc(100% + 8px);right:0;width:220px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001f;padding:8px;z-index:100}.dropdown-header[data-v-8f5d007d]{padding:10px 12px 6px}.dropdown-name[data-v-8f5d007d]{font-size:14px;font-weight:600;color:#333;display:block}.dropdown-role[data-v-8f5d007d]{font-size:12px;color:#999;margin-top:2px}.dropdown-divider[data-v-8f5d007d]{height:1px;background:#f0f0f0;margin:6px 0}.dropdown-item[data-v-8f5d007d]{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;border-radius:8px;font-size:14px;color:#555;cursor:pointer;transition:all .15s}.dropdown-item[data-v-8f5d007d]:hover{background:#f5f5f5;color:#333}.dropdown-item svg[data-v-8f5d007d]{width:18px;height:18px;flex-shrink:0}.logout-item[data-v-8f5d007d]{color:#b22222}.logout-item[data-v-8f5d007d]:hover{background:#fff1f0}.dropdown-enter-active[data-v-8f5d007d]{transition:all .2s ease-out}.dropdown-leave-active[data-v-8f5d007d]{transition:all .15s ease-in}.dropdown-enter-from[data-v-8f5d007d]{opacity:0;transform:translateY(-8px) scale(.96)}.dropdown-leave-to[data-v-8f5d007d]{opacity:0;transform:translateY(-4px) scale(.98)}.modal-overlay[data-v-8f5d007d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:200}.modal-card[data-v-8f5d007d]{background:#fff;border-radius:16px;padding:28px 32px;width:520px;max-width:90vw;box-shadow:0 8px 32px #00000026}.modal-header[data-v-8f5d007d]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.modal-header h3[data-v-8f5d007d]{font-size:18px;color:#1a1a2e;flex:1}.modal-close[data-v-8f5d007d]{width:32px;height:32px;border:none;background:transparent;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#999;transition:all .15s}.modal-close[data-v-8f5d007d]:hover{background:#f5f5f5;color:#333}.modal-close svg[data-v-8f5d007d]{width:18px;height:18px}.detail-meta[data-v-8f5d007d]{font-size:12px;color:#bbb;margin-bottom:8px;display:flex;gap:12px}.detail-source[data-v-8f5d007d]{color:#b22222;font-weight:500}.detail-subtitle[data-v-8f5d007d]{font-size:15px;color:#555;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.detail-content[data-v-8f5d007d]{font-size:14px;color:#333;line-height:1.8;white-space:pre-wrap}.detail-actions[data-v-8f5d007d]{margin-top:20px;padding-top:16px;border-top:1px solid #f0f0f0}.detail-cta[data-v-8f5d007d]{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:linear-gradient(135deg,#b22222,#8b1a1a);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.detail-cta[data-v-8f5d007d]:hover{opacity:.92;box-shadow:0 4px 14px #b222224d}.modal-enter-active[data-v-8f5d007d],.modal-leave-active[data-v-8f5d007d]{transition:all .2s ease}.modal-enter-from[data-v-8f5d007d],.modal-leave-to[data-v-8f5d007d]{opacity:0}.help-wrapper[data-v-8f5d007d]{position:relative}.help-dropdown[data-v-8f5d007d]{position:absolute;top:calc(100% + 4px);right:0;width:140px;background:#fff;border-radius:10px;border:1px solid #eee;box-shadow:0 4px 20px #0000001a;z-index:100;overflow:hidden}.help-item[data-v-8f5d007d]{display:block;width:100%;padding:10px 16px;border:none;background:none;font-size:13px;color:#555;cursor:pointer;text-align:left;transition:background .1s}.help-item[data-v-8f5d007d]:hover{background:#fafafa;color:#b22222}.about-card[data-v-8f5d007d]{background:#fff;border-radius:16px;width:440px;max-width:90vw;box-shadow:0 20px 60px #00000026;overflow:hidden}.about-hd[data-v-8f5d007d]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #f0f0f0}.about-hd h2[data-v-8f5d007d]{font-size:18px;font-weight:600;color:#1a1a2e;margin:0}.about-close[data-v-8f5d007d]{width:32px;height:32px;border-radius:8px;border:none;background:#f5f5f5;color:#999;cursor:pointer;display:flex;align-items:center;justify-content:center}.about-close[data-v-8f5d007d]:hover{background:#eee;color:#333}.about-close svg[data-v-8f5d007d]{width:16px;height:16px}.about-body[data-v-8f5d007d]{padding:20px 24px}.about-row[data-v-8f5d007d]{font-size:14px;color:#555;margin:0 0 12px}.about-row[data-v-8f5d007d]:last-child{margin-bottom:0}.about-link[data-v-8f5d007d]{font-size:13px;color:#b22222;background:none;border:none;cursor:pointer;margin-left:4px;padding:0;text-decoration:underline}.about-link[data-v-8f5d007d]:hover{color:#8b1a1a}.about-ext-link[data-v-8f5d007d]{color:#b22222;text-decoration:none;font-weight:500}.about-ext-link[data-v-8f5d007d]:hover{text-decoration:underline}@media(max-width:767px){.header[data-v-8f5d007d]{padding:0 12px}.search-box[data-v-8f5d007d]{width:180px;padding:6px 10px}.search-input[data-v-8f5d007d]{font-size:13px}.modal-card[data-v-8f5d007d]{padding:20px}.notif-panel[data-v-8f5d007d]{width:320px;max-width:calc(100vw - 20px);right:-10px}}.ob-overlay[data-v-a8ef72d9]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999}.ob-hole[data-v-a8ef72d9]{position:fixed;border-radius:8px;box-shadow:0 0 0 9999px #00000073;transition:all .25s ease;z-index:1}.ob-bubble[data-v-a8ef72d9]{position:fixed;z-index:2;background:#fff;border-radius:14px;padding:22px 24px;box-shadow:0 12px 40px #00000040;animation:ob-pop-a8ef72d9 .2s ease}@keyframes ob-pop-a8ef72d9{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ob-title[data-v-a8ef72d9]{font-size:17px;font-weight:700;color:#1a1a1a;margin-bottom:8px}.ob-text[data-v-a8ef72d9]{font-size:13.5px;color:#555;line-height:1.8}.ob-dots[data-v-a8ef72d9]{display:flex;gap:6px;margin:16px 0 14px}.ob-dot[data-v-a8ef72d9]{width:7px;height:7px;border-radius:50%;background:#ddd;transition:all .2s ease}.ob-dot.active[data-v-a8ef72d9]{background:#b22222;width:18px;border-radius:4px}.ob-actions[data-v-a8ef72d9]{display:flex;align-items:center;gap:10px}.ob-btn[data-v-a8ef72d9]{border:none;border-radius:8px;padding:8px 18px;font-size:13px;cursor:pointer;transition:all .15s ease}.ob-btn--ghost[data-v-a8ef72d9]{background:#f3f3f4;color:#555}.ob-btn--ghost[data-v-a8ef72d9]:hover{background:#e8e8ea}.ob-btn--primary[data-v-a8ef72d9]{background:linear-gradient(135deg,#b22222,#8b1a1a);color:#fff;font-weight:600;margin-left:auto}.ob-btn--primary[data-v-a8ef72d9]:hover{box-shadow:0 4px 12px #b2222259}.ob-counter[data-v-a8ef72d9]{font-size:12px;color:#aaa}.layout[data-v-82c1cb78]{display:flex;height:100vh}.layout-main[data-v-82c1cb78]{flex:1;margin-left:220px;display:flex;flex-direction:column;overflow:hidden;background:#f7f8fa}.layout-content[data-v-82c1cb78]{flex:1;overflow:hidden;display:flex;flex-direction:column}.sidebar-overlay[data-v-82c1cb78]{display:none}@media(max-width:767px){.layout-main[data-v-82c1cb78]{margin-left:0}.sidebar-overlay[data-v-82c1cb78]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:90}}.global-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:10px 24px;border-radius:10px;font-size:14px;z-index:10000;box-shadow:0 4px 16px #00000026}.toast-fade-enter-active{transition:all .25s ease}.toast-fade-leave-active{transition:all .3s ease}.toast-fade-enter-from,.toast-fade-leave-to{opacity:0;transform:translate(-50%) translateY(-10px)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#f7f8fa;min-height:100vh;color:#333;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#aaa}.page-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:24px 28px}@media(max-width:767px){.page-scroll{padding:16px 14px}}@media(max-width:480px){.page-scroll{padding:12px 10px}}.page-enter-active,.page-leave-active{transition:opacity .2s ease}.page-enter-from,.page-leave-to{opacity:0}
