.ann-bar[data-v-8a324aa1]{position:fixed;top:0;left:0;right:0;z-index:2000;display:flex;align-items:center;gap:10px;height:38px;padding:0 14px;background:linear-gradient(90deg,#ff8a1e,#ff6a00);color:#fff;font-size:13px;font-weight:600;overflow:hidden;cursor:pointer;box-shadow:0 2px 8px #ff6a0047}.ann-ico[data-v-8a324aa1]{flex:0 0 auto;font-size:15px}.ann-rotator[data-v-8a324aa1]{flex:1;min-width:0;position:relative;height:22px;overflow:hidden;display:flex;align-items:center}.ann-line[data-v-8a324aa1]{display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:22px}.ann-count[data-v-8a324aa1]{flex:0 0 auto;font-size:11px;font-weight:700;background:#ffffff38;border-radius:999px;padding:2px 8px}.ann-more[data-v-8a324aa1]{flex:0 0 auto;font-size:12px;font-weight:700;opacity:.92}.ann-slide-enter-active[data-v-8a324aa1],.ann-slide-leave-active[data-v-8a324aa1]{transition:opacity .35s ease,transform .35s ease}.ann-slide-enter-from[data-v-8a324aa1]{opacity:0;transform:translateY(100%)}.ann-slide-leave-to[data-v-8a324aa1]{opacity:0;transform:translateY(-100%)}.ann-modal[data-v-8a324aa1]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;background:#0f172a99;display:flex;align-items:center;justify-content:center;padding:20px}.ann-modal-card[data-v-8a324aa1]{width:100%;max-width:440px;max-height:76vh;background:#fff;border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.ann-modal-head[data-v-8a324aa1]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #eef2f8}.ann-modal-head b[data-v-8a324aa1]{font-size:16px;color:#1f2b3d}.ann-close[data-v-8a324aa1]{border:none;background:#f4f6fa;width:30px;height:30px;border-radius:50%;color:#6f819c;font-size:15px;cursor:pointer}.ann-modal-body[data-v-8a324aa1]{padding:6px 18px 18px;overflow-y:auto}.ann-entry[data-v-8a324aa1]{padding:14px 0;border-bottom:1px solid #f0f3f8}.ann-entry[data-v-8a324aa1]:last-child{border-bottom:0}.ann-entry-title[data-v-8a324aa1]{font-size:15px;font-weight:700;color:#1f2b3d;line-height:1.5}.ann-entry-body[data-v-8a324aa1]{margin-top:6px;font-size:13px;color:#5b6b82;line-height:1.7;white-space:pre-wrap}.login-wrapper[data-v-ba345dac]{height:100%;background:linear-gradient(135deg,#edf4ff,#f8fbff)}.topbar[data-v-ba345dac]{height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;padding:0 22px;background:#fff;border-bottom:1px solid #e8eef7;box-shadow:0 2px 8px #3064ba0d}.topbar-user[data-v-ba345dac]{display:flex;align-items:center;gap:10px}.nav-spin[data-v-ba345dac]{width:20px;height:20px;border-radius:50%;border:2.5px solid rgba(63,123,216,.25);border-top-color:#3f7bd8;animation:nav-spin-ba345dac .7s linear infinite;margin-right:16px;flex:0 0 auto}@keyframes nav-spin-ba345dac{to{transform:rotate(360deg)}}.topbar-name[data-v-ba345dac]{font-size:14px;font-weight:600;color:#1f2b3d;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-avatar[data-v-ba345dac]{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #e2ebf8;background:#eef3fb}.topbar-avatar-fallback[data-v-ba345dac]{display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#fff;background:linear-gradient(135deg,#3f7bd8,#2d62ba);font-size:15px}.app-shell[data-v-ba345dac]{display:flex;flex-direction:column;height:100vh;box-sizing:border-box}.app-shell.has-ann[data-v-ba345dac]{padding-top:38px}.layout[data-v-ba345dac]{display:flex;flex:1;min-height:0;background:var(--sn-bg);overflow:hidden}.sidebar[data-v-ba345dac]{width:220px;min-width:220px;height:100%;background:linear-gradient(180deg,#214e9a,#2d62ba,#3f7bd8);display:flex;flex-direction:column;overflow:hidden;box-shadow:2px 0 12px #3064ba2e}.sidebar-logo[data-v-ba345dac]{height:64px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(255,255,255,.12)}.sidebar-logo h1[data-v-ba345dac]{color:#fff;font-size:18px;font-weight:600;letter-spacing:.5px}.logo-user[data-v-ba345dac]{display:none;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:3px 5px 3px 14px;box-shadow:0 2px 8px #0000001f}.logo-name[data-v-ba345dac]{font-size:14px;font-weight:600;color:#1f2b3d;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logo-avatar[data-v-ba345dac]{width:30px;height:30px;border-radius:50%;object-fit:cover;background:#eef3fb}.logo-avatar-fallback[data-v-ba345dac]{display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#fff;background:linear-gradient(135deg,#3f7bd8,#2d62ba);font-size:14px}.sidebar-menu[data-v-ba345dac]{flex:1;border-right:none;overflow-y:auto;padding-top:8px}.sidebar-menu[data-v-ba345dac] .el-menu-item{border-radius:10px;margin:4px 12px;height:44px;line-height:44px}.sidebar-menu[data-v-ba345dac] .el-menu-item.is-active{background:#ffffff2e!important;color:#fff!important;font-weight:600}.sidebar-menu[data-v-ba345dac] .el-menu-item:hover{background:#ffffff1a!important}.sidebar-footer[data-v-ba345dac]{padding:12px 16px;border-top:1px solid rgba(255,255,255,.12);display:flex;gap:8px;justify-content:center}.sidebar-footer .el-button[data-v-ba345dac]{color:#ffffffc7;flex:1;min-width:0}.sidebar-footer .el-button[data-v-ba345dac]:hover{color:#fff}.main-content[data-v-ba345dac]{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--sn-bg)}.main-scroll[data-v-ba345dac]{flex:1;min-height:0;padding:20px;overflow-y:auto;overflow-x:hidden}@media(max-width:768px){.app-shell[data-v-ba345dac]{height:auto;min-height:100vh}.layout[data-v-ba345dac]{display:block;min-height:100%;height:auto}.sidebar[data-v-ba345dac]{position:static;width:100%;min-width:0;height:auto;box-shadow:0 6px 18px #3064ba33}.sidebar-logo[data-v-ba345dac]{height:52px;justify-content:space-between;padding:0 12px}.sidebar-logo h1[data-v-ba345dac]{font-size:15px;letter-spacing:1px}.logo-user[data-v-ba345dac]{display:flex}.topbar[data-v-ba345dac]{display:none}.sidebar-menu[data-v-ba345dac]{width:100%;flex:none;display:flex;overflow-x:auto;overflow-y:hidden;border-top:1px solid rgba(255,255,255,.08);scrollbar-width:none;padding:0}.sidebar-menu[data-v-ba345dac]::-webkit-scrollbar{display:none}.sidebar-menu[data-v-ba345dac] .el-menu-item{flex:0 0 auto;height:42px;padding:0 14px!important;line-height:42px;margin:6px 4px;border-radius:8px}.sidebar-footer[data-v-ba345dac]{display:none}.main-content[data-v-ba345dac]{min-height:calc(100vh - 89px);padding:12px;overflow:visible}}:root{--sn-primary: #3f7bd8;--sn-primary-bright: #68a1f2;--sn-primary-deep: #2d62ba;--sn-primary-dark: #214e9a;--sn-bg: #f5f9ff;--sn-bg-soft: #edf4ff;--sn-card: #ffffff;--sn-card-glass: rgba(244, 249, 255, .94);--sn-text: #1f2b3d;--sn-text-soft: #6f819c;--sn-text-muted: #98a2b3;--sn-border: #e1eaf6;--sn-shadow-sm: 0 2px 8px rgba(48, 100, 186, .06);--sn-shadow-md: 0 8px 24px rgba(48, 100, 186, .1);--sn-shadow-lg: 0 16px 48px rgba(48, 100, 186, .15);--sn-radius: 16px;--sn-radius-sm: 12px;--sn-accent: #e4552d;--el-color-primary: var(--sn-primary);--el-color-primary-light-3: var(--sn-primary-bright);--el-color-primary-light-5: #8db8f5;--el-color-primary-light-7: #c2d8f5;--el-color-primary-light-8: #d6e4f7;--el-color-primary-light-9: var(--sn-bg-soft);--el-color-primary-dark-2: var(--sn-primary-deep)}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--sn-text)}body{background:var(--sn-bg)}.el-card{border-radius:var(--sn-radius)!important;border-color:var(--sn-border)!important;box-shadow:var(--sn-shadow-sm)!important}.el-button{border-radius:8px}.el-button--primary{background:linear-gradient(135deg,var(--sn-primary-deep),var(--sn-primary));border-color:var(--sn-primary-deep)}.el-button--primary:hover,.el-button--primary:focus{background:linear-gradient(135deg,var(--sn-primary),var(--sn-primary-bright));border-color:var(--sn-primary)}.el-tag{border-radius:6px}.el-table{--el-table-border-color: #eef3fb;--el-table-header-text-color: var(--sn-text);--el-table-row-hover-bg-color: #eef5ff}.el-table th.el-table__cell{background:linear-gradient(135deg,#e9f1ff,#f3f8ff)!important;color:var(--sn-text)!important;font-weight:600!important;height:46px}.el-table td.el-table__cell{padding:11px 0}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:#f7faff!important}.el-table .el-table__row:hover>td.el-table__cell{background:#eef5ff!important}.page .el-card:not(.search-toolbar){overflow:hidden;position:relative}.page .el-card:not(.search-toolbar):before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--sn-primary),var(--sn-primary-bright))}.page .el-card:not(.search-toolbar) :deep(.el-card__body),.page .el-card:not(.search-toolbar) .el-card__body{padding-top:18px}.main-scroll{padding-left:1%!important;padding-right:1%!important}.main-scroll>*{max-width:100%!important;margin-left:auto!important;margin-right:auto!important}.el-pagination{margin-top:14px;justify-content:flex-end}@media(max-width:768px){html,body,#app{min-width:0;height:auto;min-height:100%;overflow-x:hidden}.el-card{border-radius:var(--sn-radius-sm)!important}.el-card__header,.el-card__body{padding:14px!important}.el-form--inline{display:grid;grid-template-columns:1fr;gap:10px}.el-form--inline .el-form-item{width:100%;margin-right:0;margin-bottom:0}.el-form--inline .el-form-item__content,.el-form--inline .el-input,.el-form--inline .el-select,.el-form--inline .el-radio-group{width:100%!important}.el-table{font-size:12px}.el-table__inner-wrapper{overflow-x:auto}.el-dialog{width:calc(100vw - 24px)!important;margin:4vh auto 0!important}.el-dialog__body{max-height:72vh;overflow:auto}.el-dialog__footer{padding-top:12px}.el-dialog .el-form:not(.el-form--inline) .el-form-item{display:block;margin-bottom:16px}.el-dialog .el-form:not(.el-form--inline) .el-form-item__label{width:auto!important;justify-content:flex-start;text-align:left;padding:0 0 4px;line-height:1.4}.el-dialog .el-form:not(.el-form--inline) .el-form-item__content{margin-left:0!important}.el-dialog .el-form .el-input-number,.el-dialog .el-form .el-select,.el-dialog .el-form .el-input{width:100%!important}.el-dialog .el-form .hint{display:block;margin-left:0!important;margin-top:4px}}.sn-date-filter.el-date-editor{width:138px!important;flex:0 0 auto}.sn-date-filter .el-input__prefix{display:none!important}.sn-date-filter .el-input__wrapper{padding-left:10px!important;padding-right:8px!important}
