@charset "UTF-8";.toasts[data-v-e8c3e5a6]{position:fixed;left:50%;top:28px;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;align-items:center;pointer-events:none}.toast[data-v-e8c3e5a6]{margin-bottom:8px;padding:9px 18px;border-radius:6px;background:#18262be0;color:#fff;font-size:13px;box-shadow:0 6px 18px #1020262e}.toast-enter-active[data-v-e8c3e5a6],.toast-leave-active[data-v-e8c3e5a6]{transition:opacity .2s,transform .2s}.toast-enter-from[data-v-e8c3e5a6],.toast-leave-to[data-v-e8c3e5a6]{opacity:0;transform:translateY(-6px)}.qg-icon[data-v-0a0e0283]{width:1em;height:1em;display:block;flex-shrink:0}.admin[data-v-b238dc8c]{min-height:100vh;background:#f3f6f7;font-size:14px;color:#333}.sidebar[data-v-b238dc8c]{position:fixed;left:0;top:0;bottom:0;width:224px;display:flex;flex-direction:column;background:linear-gradient(180deg,#1f3a42,#162c33);z-index:20}.brand[data-v-b238dc8c]{display:flex;align-items:center;padding:24px 20px 20px}.brand__mark[data-v-b238dc8c]{width:36px;height:36px;border-radius:10px;background:#ffffff24;border:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:600}.brand__text[data-v-b238dc8c]{margin-left:10px;display:flex;flex-direction:column}.brand__name[data-v-b238dc8c]{font-size:15px;font-weight:600;color:#fff;letter-spacing:.5px}.brand__sub[data-v-b238dc8c]{font-size:11px;color:#ffffff85;margin-top:2px}.menu[data-v-b238dc8c]{flex:1;padding:4px 12px 12px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.menu__group[data-v-b238dc8c]{margin:14px 10px 6px;font-size:11px;letter-spacing:1px;color:#ffffff61}.menu__group[data-v-b238dc8c]:first-child{margin-top:6px}.menu__item[data-v-b238dc8c]{position:relative;display:flex;align-items:center;height:38px;padding:0 12px;margin-bottom:2px;border-radius:8px;cursor:pointer;text-decoration:none}.menu__item[data-v-b238dc8c]:hover{background:#ffffff14}.menu__item.is-active[data-v-b238dc8c]{background:#ffffff21}.menu__item.is-active[data-v-b238dc8c]:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 2px 2px 0;background:#fff;opacity:.85}.menu__icon[data-v-b238dc8c]{font-size:17px;opacity:.66;color:#fff}.menu__item:hover .menu__icon[data-v-b238dc8c]{opacity:.88}.menu__item.is-active .menu__icon[data-v-b238dc8c]{opacity:1}.menu__label[data-v-b238dc8c]{flex:1;margin-left:12px;font-size:13px;color:#ffffffb8}.menu__item.is-active .menu__label[data-v-b238dc8c]{color:#fff;font-weight:600}.menu__badge[data-v-b238dc8c]{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#d9534f;color:#fff;font-size:11px;line-height:18px;text-align:center}.sidebar__foot[data-v-b238dc8c]{padding:16px;border-top:1px solid rgba(255,255,255,.08)}.sidebar__foot .sidebar__who[data-v-b238dc8c]{display:flex;align-items:center}.sidebar__foot .sidebar__avatar[data-v-b238dc8c]{width:32px;height:32px;border-radius:50%;background:#ffffff29;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.sidebar__foot .sidebar__meta[data-v-b238dc8c]{margin-left:10px;display:flex;flex-direction:column}.sidebar__foot .sidebar__name[data-v-b238dc8c]{font-size:13px;color:#fff}.sidebar__foot .sidebar__role[data-v-b238dc8c]{font-size:11px;color:#ffffff73}.sidebar__foot .sidebar__logout[data-v-b238dc8c]{margin-top:12px;height:32px;line-height:32px;text-align:center;border-radius:6px;border:1px solid rgba(255,255,255,.16);color:#ffffffb8;font-size:12px;cursor:pointer}.sidebar__foot .sidebar__logout[data-v-b238dc8c]:hover{background:#ffffff14;color:#fff}.main[data-v-b238dc8c]{margin-left:224px;min-height:100vh}.topbar[data-v-b238dc8c]{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 28px;background:#fff;border-bottom:1px solid #E5EAEB}.topbar__left[data-v-b238dc8c]{display:flex;align-items:baseline}.topbar__title[data-v-b238dc8c]{font-size:18px;font-weight:600}.topbar__desc[data-v-b238dc8c]{margin-left:12px;font-size:12px;color:#6b777b}.topbar__right[data-v-b238dc8c]{display:flex;align-items:center}.topbar__date[data-v-b238dc8c]{margin-right:16px;font-size:12px;color:#6b777b}.page[data-v-b238dc8c]{padding:20px 28px 40px;max-width:1440px}@media (max-width: 900px){.sidebar[data-v-b238dc8c]{width:68px}.brand[data-v-b238dc8c]{justify-content:center;padding:18px 8px}.brand__text[data-v-b238dc8c],.menu__group[data-v-b238dc8c]{display:none}.menu__item[data-v-b238dc8c]{justify-content:center;padding:0}.menu__label[data-v-b238dc8c]{display:none}.menu__item[data-v-b238dc8c]{justify-content:center}.menu__badge[data-v-b238dc8c]{position:absolute;margin-left:26px;margin-top:-18px}.sidebar__foot .sidebar__meta[data-v-b238dc8c],.sidebar__foot .sidebar__logout[data-v-b238dc8c]{display:none}.sidebar__foot .sidebar__who[data-v-b238dc8c]{justify-content:center}.main[data-v-b238dc8c]{margin-left:68px}.topbar__desc[data-v-b238dc8c]{display:none}}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:#f3f6f7;color:#333;font-size:14px;line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}.ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.panel{background:#fff;border:1px solid #E5EAEB;border-radius:10px;margin-bottom:16px;overflow:hidden}.panel__head{display:flex;align-items:baseline;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #E5EAEB}.panel__title{font-size:14px;font-weight:600}.panel__hint{font-size:12px;color:#6b777b}.panel__foot{display:flex;justify-content:flex-end;padding:14px 20px;border-top:1px solid #E5EAEB;background:#fff}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:16px}.kpis--4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{background:#fff;border:1px solid #E5EAEB;border-radius:10px;padding:16px 18px;display:flex;flex-direction:column}.kpi__label{font-size:12px;color:#6b777b}.kpi__value{margin-top:8px;font-size:26px;font-weight:600;color:#284852;letter-spacing:-.3px}.kpi__sub{margin-top:6px;font-size:12px;color:#b9c0c2}.todos{padding:8px 20px 16px}.todo{display:flex;align-items:center;padding:14px 0;border-bottom:1px solid #E5EAEB;cursor:pointer}.todo:last-child{border-bottom:0}.todo:hover .todo__go{color:#284852}.todo__num{width:44px;height:44px;border-radius:10px;background:#e9eff1;color:#284852;font-size:18px;font-weight:600;display:flex;align-items:center;justify-content:center}.todo__num--warn{background:#c8871c1f;color:#c8871c}.todo__num--danger{background:#d9534f1f;color:#d9534f}.todo__main{flex:1;margin-left:14px;display:flex;flex-direction:column}.todo__title{font-size:13px}.todo__desc{margin-top:2px;font-size:12px;color:#6b777b}.todo__go{font-size:12px;color:#b9c0c2}.bars{padding:16px 20px 20px}.bar{margin-bottom:14px}.bar:last-child{margin-bottom:0}.bar__head{display:flex;justify-content:space-between;margin-bottom:6px}.bar__name{font-size:13px}.bar__val{font-size:12px;color:#6b777b}.bar__track{height:6px;border-radius:3px;background:#f3f4f6;overflow:hidden}.bar__fill{height:100%;border-radius:3px;background:#284852}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #E5EAEB}.toolbar__right{display:flex;align-items:center}.toolbar__right--full{flex:1;justify-content:flex-start}.seg{display:flex;align-items:center;background:#f3f4f6;border-radius:8px;padding:3px}.seg--ghost{background:transparent;border:1px solid #E5EAEB}.seg__item{padding:6px 14px;border-radius:6px;font-size:12px;color:#6b777b;cursor:pointer;white-space:nowrap}.seg__item.is-active{background:#fff;color:#333;font-weight:600;box-shadow:0 1px 2px #14282e14}.seg--ghost .seg__item.is-active{background:#e9eff1;color:#284852;box-shadow:none}.input{height:32px;padding:0 10px;border:1px solid #E5EAEB;border-radius:6px;background:#fff;font-size:12px;color:#333;outline:none}.input:focus{border-color:#284852}.input--search{width:200px;margin-right:8px}.input--num{width:96px;text-align:right}.input--cell{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;height:28px}.input--block{width:100%;height:36px;margin-bottom:12px}textarea.input{height:auto;min-height:96px;padding:8px 10px;line-height:1.6;resize:vertical;font-family:inherit}.textarea{width:100%;height:96px;padding:10px;border:1px solid #E5EAEB;border-radius:6px;background:#fff;font-size:12px;line-height:1.7;color:#333;box-sizing:border-box;outline:none;resize:vertical}.textarea:focus{border-color:#284852}.picker-box{height:36px;line-height:34px;padding:0 10px;border:1px solid #E5EAEB;border-radius:6px;background:#fff;font-size:12px;color:#333}.btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border-radius:6px;font-family:inherit;font-size:13px;cursor:pointer;border:1px solid transparent;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn--sm{height:32px;padding:0 12px;font-size:12px}.btn--primary{background:#284852;color:#fff}.btn--primary:hover{background:#1e3740}.btn--ghost{background:#fff;border-color:#e5eaeb;color:#333}.btn--ghost:hover{border-color:#284852;color:#284852}.btn--danger{background:#d9534f;color:#fff}.btn--danger-ghost{background:#fff;border-color:#d9534f66;color:#d9534f}.link{font-size:12px;color:#284852;margin-left:0;cursor:pointer}.link:first-child{margin-left:0}.link--danger{color:#d9534f}button.link{border:0;background:none;padding:0;font-family:inherit}.table{width:100%}.tr{display:flex;align-items:center;width:100%;min-height:52px;padding:0 20px;border-bottom:1px solid #E5EAEB}.tr:last-child{border-bottom:0}.tr--head{min-height:40px;background:#f3f4f6}.tr--head .td,.tr--head .col{font-size:12px;color:#6b777b;font-weight:500}.td,.col{flex:1 1 0;width:auto;min-width:0;padding:6px 16px 6px 0;font-size:12px;line-height:20px;text-align:left;box-sizing:border-box}.td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td--1{flex-basis:7%}.td--2{flex-basis:11%}.td--3{flex-basis:16%}.td--4{flex-basis:26%}.td--actions{flex:0 0 210px;display:flex;justify-content:flex-end;align-items:center;gap:4px 12px;flex-wrap:wrap;overflow:visible;width:auto;padding-left:12px}.td--actions .link,.td--actions .btn{margin-left:0}.td--actions .link{white-space:nowrap}.td--right{text-align:right;padding-right:0}.td--muted{color:#6b777b}.td--strong{font-weight:600;color:#333}.td--mono{font-family:Menlo,Consolas,monospace;font-size:11px;color:#6b777b}@media (max-width: 1360px){.td--actions{flex-basis:150px}}.tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;line-height:18px;border:1px solid transparent;white-space:nowrap}.tag--ok{background:#3e9b6a1a;color:#3e9b6a}.tag--warn{background:#c8871c1a;color:#c8871c}.tag--danger{background:#d9534f1a;color:#d9534f}.tag--info{background:#e9eff1;color:#284852}.tag--gray{background:#f3f4f6;color:#6b777b}.cell-post{display:flex;align-items:center;padding:6px 0;max-width:100%}.cell-post__img{width:40px;height:40px;border-radius:6px;background:#e9eff1;flex-shrink:0;object-fit:cover}.cell-post__main{flex:1;min-width:0;margin-left:10px;display:flex;flex-direction:column}.cell-post__text{font-size:12px;color:#333}.cell-post__topic{margin-top:2px;font-size:11px;color:#284852}.cell-post__goods{font-size:11px;color:#6b777b}.cell-user{display:flex;align-items:center}.cell-user__avatar{width:30px;height:30px;border-radius:50%;background:#e9eff1;flex-shrink:0;object-fit:cover}.cell-user__main{margin-left:9px;min-width:0}.cell-name{display:block;font-size:12px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-sub{display:block;margin-top:2px;font-size:11px;color:#b9c0c2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty{padding:48px 0;text-align:center;font-size:12px;color:#b9c0c2}.pager{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid #E5EAEB}.pager__info{font-size:12px;color:#6b777b}.pager__ctrl{display:flex;align-items:center}.pager__btn{padding:5px 12px;border:1px solid #E5EAEB;border-radius:6px;font-size:12px;color:#333;cursor:pointer;background:#fff;-webkit-user-select:none;user-select:none}.pager__btn.is-disabled{color:#b9c0c2;cursor:not-allowed;background:#f3f4f6}.pager__cur{margin:0 12px;font-size:12px;color:#6b777b}.form-row{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #E5EAEB}.form-row:last-of-type{border-bottom:0}.form-row__main{flex:1;min-width:0;padding-right:16px;display:flex;flex-direction:column}.form-row__label{font-size:13px}.form-row__tip{margin-top:2px;font-size:11px;color:#6b777b}.notice{padding:14px 18px;margin-bottom:16px;border-radius:10px;background:#e9eff1;border:1px solid rgba(40,72,82,.12)}.notice__title{font-size:12px;font-weight:600;color:#284852}.notice__text{display:block;margin-top:4px;font-size:12px;line-height:1.7;color:#8e979a}.drawer{position:fixed;left:0;top:0;right:0;bottom:0;z-index:50}.drawer__mask{position:absolute;left:0;top:0;right:0;bottom:0;background:#00000073}.drawer__panel{position:absolute;right:0;top:0;bottom:0;width:460px;max-width:92vw;background:#fff;display:flex;flex-direction:column;box-shadow:-8px 0 24px #1020261f}.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #E5EAEB}.drawer__title{font-size:15px;font-weight:600}.drawer__close{font-size:22px;line-height:1;color:#6b777b;cursor:pointer}.drawer__body{flex:1;overflow-y:auto;padding:18px 20px}.drawer__meta{display:flex;align-items:center;font-size:12px;color:#6b777b}.drawer__meta span{margin-right:12px}.drawer__content{display:block;margin-top:14px;font-size:14px;line-height:1.8;color:#333;word-break:break-all}.drawer__imgs{display:flex;flex-wrap:wrap;margin-top:14px}.drawer__img{width:112px;height:112px;margin:0 8px 8px 0;border-radius:8px;background:#e9eff1;object-fit:cover}.drawer__goods{margin-top:18px}.drawer__label{display:block;margin-bottom:8px;font-size:12px;color:#6b777b}.drawer__good{display:flex;align-items:center;padding:10px;border:1px solid #E5EAEB;border-radius:8px;margin-bottom:8px}.drawer__good-img{width:44px;height:44px;border-radius:6px;background:#e9eff1;flex-shrink:0;object-fit:cover}.drawer__good-main{margin-left:10px;display:flex;flex-direction:column}.drawer__good-title{font-size:13px}.drawer__good-meta{margin-top:2px;font-size:11px;color:#6b777b}.drawer__stats{display:flex;margin-top:18px;padding-top:14px;border-top:1px solid #E5EAEB;font-size:12px;color:#6b777b}.drawer__stats span{margin-right:20px}.drawer__reason{margin-top:16px;padding:12px;border-radius:8px;background:#d9534f0f;font-size:12px;color:#d9534f}.drawer__foot{padding:14px 20px;border-top:1px solid #E5EAEB}.drawer__actions{display:flex;justify-content:flex-end}.drawer__actions .btn{margin-left:10px}.modal{position:fixed;left:0;top:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;justify-content:center}.modal__mask{position:absolute;left:0;top:0;right:0;bottom:0;background:#00000073}.modal__card{position:relative;width:420px;max-width:92vw;padding:22px;border-radius:12px;background:#fff;box-shadow:0 16px 48px #1020262e}.modal__card--lg{width:760px;max-width:94vw;max-height:88vh;padding:0;display:flex;flex-direction:column;overflow:hidden}.modal__head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #E5EAEB;flex-shrink:0}.modal__close{font-size:22px;line-height:1;color:#6b777b;cursor:pointer}.modal__body{flex:1;overflow-y:auto;padding:20px 22px}.modal__foot{display:flex;justify-content:flex-end;padding:14px 22px;border-top:1px solid #E5EAEB;background:#fff;flex-shrink:0}.modal__foot .btn{margin-left:10px}.modal__title{font-size:16px;font-weight:600}.modal__desc{display:block;margin:10px 0 16px;font-size:12px;line-height:1.7;color:#6b777b}.modal__tip{display:block;margin-top:8px;font-size:11px;color:#b9c0c2;line-height:1.6}.modal__actions{display:flex;justify-content:flex-end;margin-top:18px}.modal__actions .btn{margin-left:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}.field{display:flex;flex-direction:column;margin-bottom:14px;min-width:0}.field--full{grid-column:1/-1}.field__label{margin-bottom:6px;font-size:12px;color:#6b777b}.field__req{color:#d9534f}.field__tip{margin-top:6px;font-size:11px;color:#b9c0c2;line-height:1.5}.field .input--block{margin-bottom:0}.chapter-list{border:1px solid #E5EAEB;border-radius:8px;overflow:hidden;margin-bottom:18px}.chapter{display:flex;align-items:center;padding:10px 14px;border-bottom:1px solid #E5EAEB}.chapter:last-child{border-bottom:0}.chapter__sort{width:26px;font-size:11px;color:#b9c0c2}.chapter__main{flex:1;min-width:0;display:flex;flex-direction:column}.chapter__title{font-size:13px;color:#333}.chapter__meta{margin-top:2px;font-size:11px;color:#6b777b}.chapter-form{padding:16px;border-radius:8px;background:#f3f4f6}.chapter-form__title{display:block;margin-bottom:12px;font-size:13px;font-weight:600}.chapter-form__actions{display:flex;justify-content:flex-end}.chapter-form__actions .btn{margin-left:10px}.ph{color:#b9c0c2}.uploader{display:flex;align-items:flex-start;gap:16px}.uploader__box{position:relative;width:148px;height:104px;flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px dashed #E5EAEB;border-radius:6px;background:#fff;cursor:pointer}.uploader__box:hover{border-color:#284852}.uploader__img{width:100%;height:100%;object-fit:cover;display:block}.uploader__ph{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;color:#6b777b}.uploader__plus{font-size:20px;line-height:1}.uploader__mask{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#ffffffbf;font-size:12px;color:#6b777b}.uploader__side{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.uploader__side .link{margin-left:0}.uploader__tip{font-size:12px;color:#6b777b}.uploader__file{display:none}@media (max-width: 1180px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 900px){.grid-2,.kpis{grid-template-columns:1fr}}
