.modal-overlay[data-v-12a78bbe]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-12a78bbe .2s ease-out}@keyframes fadeIn-12a78bbe{0%{opacity:0}to{opacity:1}}.modal-content[data-v-12a78bbe]{background:#fff;border-radius:8px;width:90%;max-width:420px;overflow:hidden;box-shadow:0 10px 40px #00000026;animation:slideUp-12a78bbe .3s ease-out}@keyframes slideUp-12a78bbe{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header[data-v-12a78bbe]{display:flex;align-items:center;gap:12px;padding:18px 22px;background:#f8f9fa;border-bottom:1px solid #e9ecef}.modal-icon[data-v-12a78bbe]{font-size:1.35rem;line-height:1}.modal-header h3[data-v-12a78bbe]{flex:1;margin:0;color:#2d3748;font-size:1.1rem;font-weight:600}.close-btn[data-v-12a78bbe]{width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:#718096;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn[data-v-12a78bbe]:hover{background:#e9ecef;color:#2d3748}.modal-body[data-v-12a78bbe]{padding:22px 24px 10px;text-align:left}.modal-body p[data-v-12a78bbe]{margin:0 0 8px;color:#4a5568;font-size:.95rem;line-height:1.7}.modal-body p[data-v-12a78bbe]:last-child{margin-bottom:0}.modal-footer[data-v-12a78bbe]{display:flex;justify-content:flex-end;gap:12px;padding:16px 22px 20px}.modal-btn[data-v-12a78bbe]{min-width:88px;padding:10px 18px;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.modal-btn.cancel[data-v-12a78bbe]{background:#f7fafc;color:#4a5568;border:1px solid #e2e8f0}.modal-btn.cancel[data-v-12a78bbe]:hover{background:#edf2f7;border-color:#cbd5e0}.modal-btn.confirm[data-v-12a78bbe]{background:#4299e1;color:#fff;border:1px solid #4299e1}.modal-btn.confirm[data-v-12a78bbe]:hover{background:#3182ce;border-color:#3182ce}.modal-btn.confirm.danger[data-v-12a78bbe]{background:#e53e3e;border-color:#e53e3e}.modal-btn.confirm.danger[data-v-12a78bbe]:hover{background:#c53030;border-color:#c53030}.modal-btn[data-v-12a78bbe]:active{transform:translateY(0)}.modal-btn[data-v-12a78bbe]:disabled{opacity:.6;cursor:not-allowed}.admin-modal-overlay[data-v-12a78bbe]{background:#0f172a6b;-webkit-backdrop-filter:none;backdrop-filter:none}.admin-modal-content[data-v-12a78bbe]{border:1px solid #e7eaf0;border-radius:10px;box-shadow:0 24px 60px #0f172a3d}.admin-modal-content .modal-header[data-v-12a78bbe]{padding:16px 18px;background:#fafbfd;border-bottom:1px solid #e7eaf0}.admin-modal-content .modal-icon[data-v-12a78bbe]{font-size:1.12rem}.admin-modal-content .modal-header h3[data-v-12a78bbe]{color:#1e2733;font-size:15px;font-weight:500}.admin-modal-content .close-btn[data-v-12a78bbe]{border-radius:7px;color:#5a6473}.admin-modal-content .close-btn[data-v-12a78bbe]:hover{background:#eef1f5;color:#1e2733}.admin-modal-content .modal-body[data-v-12a78bbe]{padding:18px 20px 8px}.admin-modal-content .modal-body p[data-v-12a78bbe]{color:#5a6473;font-size:13px;line-height:1.7}.admin-modal-content .modal-footer[data-v-12a78bbe]{gap:8px;padding:14px 18px 18px}.admin-modal-content .modal-btn[data-v-12a78bbe]{min-width:78px;height:34px;padding:0 14px;border-radius:8px;font-size:13px;font-weight:500}.admin-modal-content .modal-btn.cancel[data-v-12a78bbe]{background:#fff;color:#5a6473;border:1px solid #d6dbe4}.admin-modal-content .modal-btn.cancel[data-v-12a78bbe]:hover{background:#fafbfd}.admin-modal-content .modal-btn.confirm[data-v-12a78bbe]{background:#3d52a0;color:#fff;border-color:#3d52a0}.admin-modal-content .modal-btn.confirm[data-v-12a78bbe]:hover{background:#33457f;border-color:#33457f}.admin-modal-content .modal-btn.confirm.danger[data-v-12a78bbe]{background:#fff;color:#c2453c;border-color:#ebc7c3}.admin-modal-content .modal-btn.confirm.danger[data-v-12a78bbe]:hover{background:#fbedec}.member-modal-overlay[data-v-12a78bbe]{background:#4a24173d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.member-modal-content[data-v-12a78bbe]{width:min(340px,calc(100vw - 40px));max-width:340px;overflow:hidden;border:1px solid #ECE3D8;border-radius:20px;background:#fbf7f2;box-shadow:0 18px 44px #4a241724}.member-modal-content .modal-header[data-v-12a78bbe]{align-items:center;gap:12px;padding:18px 18px 10px;border-bottom:none;background:#fbf7f2}.member-modal-content .modal-icon[data-v-12a78bbe]{display:inline-flex;flex:none;align-items:center;justify-content:center;width:38px;height:38px;border-radius:14px;background:#f2decf;color:#a4502e;font-size:18px;line-height:1}.member-modal-content .modal-header h3[data-v-12a78bbe]{color:#2c2622;font-size:17px;font-weight:600;line-height:1.35}.member-modal-content .close-btn[data-v-12a78bbe]{width:30px;height:30px;border-radius:999px;color:#a89e93;font-size:18px}.member-modal-content .close-btn[data-v-12a78bbe]:hover{background:#f4eee5;color:#6e655d}.member-modal-content .modal-body[data-v-12a78bbe]{padding:6px 20px 4px}.member-modal-content .modal-body p[data-v-12a78bbe]{color:#6e655d;font-size:14px;line-height:1.7}.member-modal-content .modal-footer[data-v-12a78bbe]{gap:10px;padding:14px 18px 18px}.member-modal-content .modal-btn[data-v-12a78bbe]{min-width:88px;height:42px;padding:0 18px;border-radius:14px;font-size:14.5px;font-weight:600}.member-modal-content .modal-btn.cancel[data-v-12a78bbe]{border:1px solid #DCD1C2;background:#fff;color:#803d22}.member-modal-content .modal-btn.cancel[data-v-12a78bbe]:hover{background:#f4eee5}.member-modal-content .modal-btn.confirm[data-v-12a78bbe],.member-modal-content .modal-btn.confirm.danger[data-v-12a78bbe]{border-color:#c0683f;background:#c0683f;color:#fff}.member-modal-content .modal-btn.confirm[data-v-12a78bbe]:hover,.member-modal-content .modal-btn.confirm.danger[data-v-12a78bbe]:hover{border-color:#a4502e;background:#a4502e}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:#f5f7fa;min-height:100vh}#app{min-height:100vh}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:400px;overflow:hidden;box-shadow:0 10px 40px #00000026;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#f8f9fa;border-bottom:1px solid #e9ecef}.modal-header h2,.modal-header h3{margin:0;color:#2d3748;font-size:1.1rem;font-weight:600}.close-btn{width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:#718096;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background:#e9ecef;color:#2d3748}.modal-body{padding:28px 24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e9ecef;background:#f8f9fa}.modal-btn{padding:10px 28px;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.modal-btn.cancel{background:#f7fafc;color:#4a5568;border:1px solid #e2e8f0}.modal-btn.cancel:hover{background:#edf2f7;border-color:#cbd5e0}.modal-btn.confirm{background:#4299e1;color:#fff;border:1px solid #4299e1}.modal-btn.confirm:hover{background:#3182ce;border-color:#3182ce}.modal-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.modal-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;color:#333;font-size:.9rem;font-weight:500}.form-group input,.form-group select{padding:12px 16px;border:2px solid #e0e0e0;border-radius:10px;font-size:.95rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.confirm-modal{text-align:center}.confirm-icon{font-size:3.5rem;margin-bottom:16px}.confirm-title{font-size:1.3rem;color:#333;margin-bottom:12px}.confirm-message{color:#666;line-height:1.6}.ms-admin{--a-primary: #3d52a0;--a-primary-hover: #33457f;--a-primary-soft: #eceffa;--a-primary-line: #c6cfee;--a-page: #f4f6f9;--a-surface: #ffffff;--a-surface-2: #fafbfd;--a-line: #e7eaf0;--a-line-2: #d6dbe4;--a-row-line: #eef1f5;--a-ink: #1e2733;--a-ink-2: #5a6473;--a-ink-3: #9098a6;--a-ink-4: #b4b2a9;--a-ok: #2e7d5b;--a-ok-soft: #e7f3ec;--a-warn: #9a6b14;--a-warn-soft: #fbf3e0;--a-danger: #c2453c;--a-danger-soft: #fbedec;--a-danger-line: #ebc7c3;--a-info: #3d52a0;--a-info-soft: #eceffa;--a-mute: #5f5e5a;--a-mute-soft: #f1efe8;--a-amber-tag: #854f0b;--a-amber-soft: #faeeda;--a-r-ctrl: 8px;--a-r-card: 10px;--a-r-pill: 6px;--a-font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;min-height:100vh;color:var(--a-ink);background:var(--a-page);font-family:var(--a-font)}.ms-admin *,.ms-admin *:before,.ms-admin *:after{box-sizing:border-box}.a-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.a-page-title{margin:0;color:var(--a-ink);font-size:19px;font-weight:500}.a-page-sub{margin:6px 0 0;color:var(--a-ink-2);font-size:12.5px}.a-toolbar{display:flex;gap:8px}.a-card{background:var(--a-surface);border:1px solid var(--a-line);border-radius:var(--a-r-card);padding:16px 18px}.a-card--muted{background:var(--a-surface-2)}.a-card-title{margin:0 0 3px;color:var(--a-ink);font-size:14px;font-weight:500}.a-card-desc{margin:0 0 14px;color:var(--a-ink-3);font-size:12px}.a-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 16px;border:0;border-radius:var(--a-r-ctrl);cursor:pointer;font-family:var(--a-font);font-size:13px;font-weight:500;text-decoration:none;transition:background .15s ease,opacity .15s ease,transform .1s ease}.a-btn:active{transform:scale(.985)}.a-btn:disabled{cursor:not-allowed;opacity:.5}.a-btn--sm{height:30px;padding:0 12px;font-size:12.5px}.a-btn--primary{background:var(--a-primary);color:#fff}.a-btn--primary:hover{background:var(--a-primary-hover)}.a-btn--secondary{background:var(--a-surface);color:var(--a-primary);border:1px solid var(--a-primary-line)}.a-btn--secondary:hover{background:var(--a-primary-soft)}.a-btn--ghost{background:var(--a-surface);color:var(--a-ink-2);border:1px solid var(--a-line-2)}.a-btn--ghost:hover{background:var(--a-surface-2)}.a-btn--text{height:auto;padding:2px 4px;background:none;color:var(--a-primary);font-size:12px}.a-btn--text.is-muted{color:var(--a-ink-2)}.a-btn--danger{background:var(--a-surface);color:var(--a-danger);border:1px solid var(--a-danger-line)}.a-btn--danger:hover{background:var(--a-danger-soft)}.a-field{margin-bottom:14px}.a-field>label,.a-field-label{display:block;margin-bottom:6px;color:var(--a-ink-2);font-size:12px;font-weight:400}.a-input,.a-select,.a-textarea{width:100%;color:var(--a-ink);background:var(--a-surface);border:1px solid var(--a-line-2);border-radius:var(--a-r-ctrl);outline:none;font-family:var(--a-font);font-size:13.5px;transition:border-color .15s ease,box-shadow .15s ease}.a-input,.a-select{height:38px;padding:0 12px}.a-textarea{min-height:110px;padding:10px 12px;line-height:1.65;resize:vertical}.a-input::placeholder,.a-textarea::placeholder{color:var(--a-ink-3)}.a-input:focus,.a-select:focus,.a-textarea:focus{border-color:var(--a-primary);box-shadow:0 0 0 3px #3d52a01f}.a-search{position:relative}.a-search .a-input{padding-left:34px}.a-search__ico{position:absolute;left:11px;top:10px;color:var(--a-ink-3);font-size:16px;pointer-events:none}.a-filterbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;margin-bottom:12px;padding:13px 16px;background:var(--a-surface);border:1px solid var(--a-line);border-radius:var(--a-r-card)}.a-filterbar .a-field{margin-bottom:0}.a-filterbar .a-field .a-input,.a-filterbar .a-field .a-select{width:100%}.a-filterbar .a-select{width:auto;min-width:104px}.a-tag{display:inline-flex;align-items:center;padding:2px 9px;border-radius:var(--a-r-pill);font-size:11.5px;font-weight:500;line-height:1.6}.a-tag--ok{background:var(--a-ok-soft);color:var(--a-ok)}.a-tag--warn{background:var(--a-warn-soft);color:var(--a-warn)}.a-tag--danger{background:var(--a-danger-soft);color:var(--a-danger)}.a-tag--void{background:var(--a-danger-soft);color:var(--a-danger);border:1px solid var(--a-danger-line);font-weight:600;white-space:nowrap}.a-tag--info{background:var(--a-info-soft);color:var(--a-info)}.a-tag--mute{background:var(--a-mute-soft);color:var(--a-mute)}.a-tag--amber{background:var(--a-amber-soft);color:var(--a-amber-tag)}.a-table-wrap{overflow:hidden;background:var(--a-surface);border:1px solid var(--a-line);border-radius:var(--a-r-card)}.a-table-scroll{overflow-x:auto}.a-table{width:100%;border-collapse:collapse;font-size:13px}.a-table thead tr{background:var(--a-surface-2)}.a-table th{padding:11px 8px;color:var(--a-ink-2);font-size:12px;font-weight:500;text-align:left;white-space:nowrap}.a-table th:first-child,.a-table td:first-child{padding-left:16px}.a-table th:last-child,.a-table td:last-child{padding-right:16px;text-align:right}.a-table td{padding:13px 8px;border-top:1px solid var(--a-row-line);vertical-align:middle}.a-table tbody tr:hover{background:var(--a-surface-2)}.a-table tbody tr.is-disabled{color:var(--a-ink-3);background:var(--a-surface-2)}.a-cell-strong{font-weight:500}.a-cell-muted{color:var(--a-ink-2)}.a-cell-empty{color:var(--a-ink-4)}.a-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:2px;white-space:nowrap}.a-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--a-line);color:var(--a-ink-2);font-size:12.5px}.a-pager>span{flex:none;white-space:nowrap}.a-pager__nav{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.a-pager__nav strong{min-width:54px;color:var(--a-ink);font-size:12.5px;font-weight:500;text-align:center;white-space:nowrap}.a-pager__btn{flex:none;height:30px;padding:0 11px;background:var(--a-surface);border:1px solid var(--a-line-2);border-radius:7px;color:var(--a-primary);cursor:pointer;font-family:var(--a-font);font-size:12.5px;white-space:nowrap}.a-pager__btn:hover:not(:disabled){background:var(--a-primary-soft);border-color:var(--a-primary-line)}.a-pager__btn.is-on{background:var(--a-primary);border-color:var(--a-primary);color:#fff}.a-pager__btn:disabled{cursor:not-allowed;color:var(--a-ink-3);opacity:.72}.a-metrics{display:grid;gap:10px}.a-metric{padding:12px 14px;background:var(--a-surface);border:1px solid var(--a-line);border-radius:9px}.a-metric__label{margin:0;color:var(--a-ink-2);font-size:11.5px}.a-metric__num{margin:4px 0 0;font-size:21px;font-weight:500;font-variant-numeric:tabular-nums}.a-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f172a6b}.a-dialog{width:min(720px,100%);max-height:calc(100vh - 36px);overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:18px;background:var(--a-surface);border-radius:var(--a-r-card);box-shadow:0 24px 60px #0f172a47}.a-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--a-line)}.a-dialog-head h2{margin:0;color:var(--a-ink);font-size:18px;font-weight:500}.a-dialog-head p{margin:5px 0 0;color:var(--a-ink-2);font-size:12.5px;line-height:1.5}.a-dialog-close{flex:none;width:32px;height:32px;border:none;border-radius:7px;background:var(--a-surface-2);color:var(--a-ink-2);cursor:pointer;font-size:22px;line-height:1}.a-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.a-form-bottom{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.a-field-check{display:inline-flex;align-items:center;gap:8px;color:var(--a-ink-2);font-size:12.5px}.a-error{margin:0;color:var(--a-danger);font-size:12.5px}.a-empty{margin:0;color:var(--a-ink-2);font-size:13px;line-height:1.7}.a-row{display:flex;align-items:center}.a-between{display:flex;align-items:center;justify-content:space-between}.a-grow{flex:1;min-width:0}.a-ellip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.a-hint{color:var(--a-ink-3);font-size:11.5px}@media(max-width:900px){.a-page-head,.a-form-bottom{align-items:stretch;flex-direction:column}.a-toolbar{flex-wrap:wrap}.a-filterbar{align-items:stretch}.a-filterbar .a-field,.a-filterbar .a-toolbar{width:100%}.a-pager{align-items:stretch;flex-direction:column}.a-pager__nav{justify-content:flex-start;flex-wrap:wrap}.a-form-grid{grid-template-columns:1fr}.a-dialog{width:calc(100vw - 28px);padding:14px}}
