.auth-page[data-v-8f1398a5]{justify-content:center;align-items:center;min-height:60vh;padding:20px;display:flex}.auth-card[data-v-8f1398a5]{background:#1e293b;border:1px solid #334155;border-radius:12px;width:100%;max-width:400px;padding:32px}.auth-title[data-v-8f1398a5]{color:#60a5fa;text-align:center;margin-bottom:24px;font-size:24px;font-weight:700}.auth-form[data-v-8f1398a5]{flex-direction:column;gap:16px;display:flex}.form-group[data-v-8f1398a5]{flex-direction:column;gap:6px;display:flex}.form-group label[data-v-8f1398a5]{color:#94a3b8;font-size:13px;font-weight:500}.form-group input[data-v-8f1398a5]{color:#e2e8f0;background:#0f172a;border:1px solid #334155;border-radius:6px;outline:none;padding:10px 12px;font-size:14px}.form-group input[data-v-8f1398a5]:focus{border-color:#3b82f6}.error[data-v-8f1398a5]{color:#ef4444;background:#ef44441a;border-radius:6px;padding:8px 12px;font-size:13px}.btn-submit[data-v-8f1398a5]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;margin-top:8px;padding:12px;font-size:15px;font-weight:600}.btn-submit[data-v-8f1398a5]:hover:not(:disabled){opacity:.9}.btn-submit[data-v-8f1398a5]:disabled{opacity:.5;cursor:not-allowed}.auth-footer[data-v-8f1398a5]{text-align:center;color:#64748b;margin-top:20px;font-size:13px}.auth-footer a[data-v-8f1398a5]{color:#3b82f6;cursor:pointer;margin-left:4px}.auth-footer a[data-v-8f1398a5]:hover{text-decoration:underline}.auth-page[data-v-afb40d7c]{justify-content:center;align-items:center;min-height:60vh;padding:20px;display:flex}.auth-card[data-v-afb40d7c]{background:#1e293b;border:1px solid #334155;border-radius:12px;width:100%;max-width:400px;padding:32px}.auth-title[data-v-afb40d7c]{color:#60a5fa;text-align:center;margin-bottom:24px;font-size:24px;font-weight:700}.auth-form[data-v-afb40d7c]{flex-direction:column;gap:16px;display:flex}.form-group[data-v-afb40d7c]{flex-direction:column;gap:6px;display:flex}.form-group label[data-v-afb40d7c]{color:#94a3b8;font-size:13px;font-weight:500}.form-group input[data-v-afb40d7c]{color:#e2e8f0;background:#0f172a;border:1px solid #334155;border-radius:6px;outline:none;padding:10px 12px;font-size:14px}.form-group input[data-v-afb40d7c]:focus{border-color:#3b82f6}.error[data-v-afb40d7c]{color:#ef4444;background:#ef44441a;border-radius:6px;padding:8px 12px;font-size:13px}.success[data-v-afb40d7c]{color:#22c55e;background:#22c55e1a;border-radius:6px;padding:8px 12px;font-size:13px}.btn-submit[data-v-afb40d7c]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;margin-top:8px;padding:12px;font-size:15px;font-weight:600}.btn-submit[data-v-afb40d7c]:hover:not(:disabled){opacity:.9}.btn-submit[data-v-afb40d7c]:disabled{opacity:.5;cursor:not-allowed}.auth-footer[data-v-afb40d7c]{text-align:center;color:#64748b;margin-top:20px;font-size:13px}.auth-footer a[data-v-afb40d7c]{color:#3b82f6;cursor:pointer;margin-left:4px}.auth-footer a[data-v-afb40d7c]:hover{text-decoration:underline}.vip-page[data-v-6ee171d2]{max-width:800px;margin:0 auto;padding:20px}.back-btn[data-v-6ee171d2]{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:14px}.back-btn[data-v-6ee171d2]:hover{color:#e2e8f0}.page-title[data-v-6ee171d2]{color:#60a5fa;margin-bottom:24px;font-size:28px;font-weight:700}.user-status[data-v-6ee171d2]{margin-bottom:32px}.status-card[data-v-6ee171d2]{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:20px}.status-card h3[data-v-6ee171d2]{color:#94a3b8;margin-bottom:12px;font-size:16px}.vip-active[data-v-6ee171d2]{color:#22c55e;font-size:18px;font-weight:600}.vip-inactive[data-v-6ee171d2]{color:#64748b;font-size:18px}.section-title[data-v-6ee171d2]{color:#e2e8f0;margin-bottom:16px;font-size:20px;font-weight:600}.plans-grid[data-v-6ee171d2]{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:32px;display:grid}.plan-card[data-v-6ee171d2]{text-align:center;cursor:pointer;background:#1e293b;border:2px solid #334155;border-radius:12px;padding:20px;transition:all .2s;position:relative}.plan-card[data-v-6ee171d2]:hover{border-color:#3b82f6}.plan-card.selected[data-v-6ee171d2]{background:#3b82f61a;border-color:#3b82f6}.plan-name[data-v-6ee171d2]{color:#94a3b8;margin-bottom:8px;font-size:16px}.plan-price[data-v-6ee171d2]{color:#60a5fa;margin-bottom:4px;font-size:32px;font-weight:700}.plan-desc[data-v-6ee171d2]{color:#64748b;font-size:13px}.plan-badge[data-v-6ee171d2]{color:#fff;background:#3b82f6;border-radius:4px;padding:4px 8px;font-size:11px;position:absolute;top:8px;right:8px}.payment-section[data-v-6ee171d2]{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:24px}.payment-methods[data-v-6ee171d2]{gap:16px;margin-bottom:24px;display:flex}.payment-method[data-v-6ee171d2]{cursor:pointer;background:#0f172a;border:2px solid #334155;border-radius:8px;flex:1;align-items:center;gap:12px;padding:16px;display:flex}.payment-method.selected[data-v-6ee171d2]{border-color:#3b82f6}.method-icon[data-v-6ee171d2]{color:#fff;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:700;display:flex}.method-alipay[data-v-6ee171d2]{background:linear-gradient(135deg,#1677ff,#0056d6)}.method-wechat[data-v-6ee171d2]{background:linear-gradient(135deg,#07c160,#094)}.pay-btn[data-v-6ee171d2]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;width:100%;padding:14px;font-size:16px;font-weight:600}.pay-btn[data-v-6ee171d2]:hover:not(:disabled){opacity:.9}.pay-btn[data-v-6ee171d2]:disabled{opacity:.5;cursor:not-allowed}.pay-tip[data-v-6ee171d2]{text-align:center;color:#64748b;margin-top:12px;font-size:13px}.payment-modal[data-v-6ee171d2]{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-6ee171d2]{background:#1e293b;border:1px solid #334155;border-radius:16px;width:90%;max-width:400px;padding:32px}.modal-content h3[data-v-6ee171d2]{color:#e2e8f0;margin-bottom:16px;font-size:20px}.order-info[data-v-6ee171d2]{background:#0f172a;border-radius:8px;margin-bottom:20px;padding:16px}.order-info p[data-v-6ee171d2]{color:#94a3b8;margin:4px 0;font-size:14px}.payment-qr[data-v-6ee171d2]{margin-bottom:20px}.qr-placeholder[data-v-6ee171d2]{text-align:center;background:#f1f5f9;border-radius:8px;padding:40px}.qr-placeholder p[data-v-6ee171d2]{color:#64748b;font-size:14px}.qr-desc[data-v-6ee171d2]{color:#94a3b8;margin-top:12px;font-size:12px}.modal-actions[data-v-6ee171d2]{gap:12px;display:flex}.btn-secondary[data-v-6ee171d2]{color:#94a3b8;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:8px;flex:1;padding:12px;font-size:14px}.btn-secondary[data-v-6ee171d2]:hover{background:#1e293b}.btn-primary[data-v-6ee171d2]{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;flex:1;padding:12px;font-size:14px}.btn-primary[data-v-6ee171d2]:hover{background:#2563eb}.profile-page[data-v-dfbdf4e9]{max-width:600px;margin:0 auto;padding:20px}.back-btn[data-v-dfbdf4e9]{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:14px}.back-btn[data-v-dfbdf4e9]:hover{color:#e2e8f0}.page-title[data-v-dfbdf4e9]{color:#60a5fa;margin-bottom:24px;font-size:28px;font-weight:700}.profile-content[data-v-dfbdf4e9]{flex-direction:column;gap:20px;display:flex}.info-card[data-v-dfbdf4e9],.password-card[data-v-dfbdf4e9]{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:20px}.info-card h3[data-v-dfbdf4e9],.password-card h3[data-v-dfbdf4e9]{color:#94a3b8;margin-bottom:16px;font-size:16px}.info-item[data-v-dfbdf4e9]{border-bottom:1px solid #334155;justify-content:space-between;padding:12px 0;display:flex}.info-item[data-v-dfbdf4e9]:last-child{border-bottom:none}.info-item .label[data-v-dfbdf4e9]{color:#64748b;font-size:14px}.info-item .value[data-v-dfbdf4e9]{color:#e2e8f0;font-size:14px}.badge[data-v-dfbdf4e9]{border-radius:4px;padding:4px 10px;font-size:12px;font-weight:600}.badge.admin[data-v-dfbdf4e9]{color:#fff;background:#7c3aed}.badge.user[data-v-dfbdf4e9]{color:#94a3b8;background:#334155}.badge.vip[data-v-dfbdf4e9]{color:#fff;background:#22c55e}.badge.inactive[data-v-dfbdf4e9]{color:#64748b;background:#334155}.password-form[data-v-dfbdf4e9]{flex-direction:column;gap:16px;display:flex}.form-group[data-v-dfbdf4e9]{flex-direction:column;gap:6px;display:flex}.form-group label[data-v-dfbdf4e9]{color:#94a3b8;font-size:13px;font-weight:500}.form-group input[data-v-dfbdf4e9]{color:#e2e8f0;background:#0f172a;border:1px solid #334155;border-radius:6px;outline:none;padding:10px 12px;font-size:14px}.form-group input[data-v-dfbdf4e9]:focus{border-color:#3b82f6}.error[data-v-dfbdf4e9]{color:#ef4444;background:#ef44441a;border-radius:6px;padding:8px 12px;font-size:13px}.success[data-v-dfbdf4e9]{color:#22c55e;background:#22c55e1a;border-radius:6px;padding:8px 12px;font-size:13px}.submit-btn[data-v-dfbdf4e9]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;margin-top:8px;padding:12px;font-size:15px;font-weight:600}.submit-btn[data-v-dfbdf4e9]:hover:not(:disabled){opacity:.9}.submit-btn[data-v-dfbdf4e9]:disabled{opacity:.5;cursor:not-allowed}.admin-page[data-v-49773513]{max-width:1200px;margin:0 auto;padding:20px}.back-btn[data-v-49773513]{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:14px}.back-btn[data-v-49773513]:hover{color:#e2e8f0}.page-title[data-v-49773513]{color:#60a5fa;margin-bottom:24px;font-size:28px;font-weight:700}.loading[data-v-49773513]{text-align:center;color:#64748b;padding:40px}.admin-content[data-v-49773513]{flex-direction:column;gap:24px;display:flex}.stats-row[data-v-49773513]{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.stat-card[data-v-49773513]{text-align:center;background:#1e293b;border:1px solid #334155;border-radius:12px;padding:20px}.stat-value[data-v-49773513]{color:#60a5fa;font-size:32px;font-weight:700}.stat-label[data-v-49773513]{color:#94a3b8;margin-top:4px;font-size:14px}.section-title[data-v-49773513]{color:#e2e8f0;margin-bottom:16px;font-size:18px;font-weight:600}.table-wrapper[data-v-49773513]{background:#1e293b;border:1px solid #334155;border-radius:12px;overflow-x:auto}.users-table[data-v-49773513]{border-collapse:collapse;width:100%;font-size:14px}.users-table th[data-v-49773513]{text-align:left;color:#94a3b8;white-space:nowrap;border-bottom:2px solid #334155;padding:12px 16px;font-weight:600}.users-table td[data-v-49773513]{border-bottom:1px solid #334155;padding:12px 16px}.users-table tr:hover td[data-v-49773513]{background:#0f172a}.badge[data-v-49773513]{border-radius:4px;padding:4px 10px;font-size:12px;font-weight:600}.badge.admin[data-v-49773513]{color:#fff;background:#7c3aed}.badge.user[data-v-49773513]{color:#94a3b8;background:#334155}.badge.vip[data-v-49773513]{color:#fff;background:#22c55e}.badge.inactive[data-v-49773513]{color:#64748b;background:#334155}.action-btn[data-v-49773513]{color:#94a3b8;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:4px;padding:4px 10px;font-size:12px}.action-btn[data-v-49773513]:hover{color:#e2e8f0;background:#1e293b}.modal-overlay[data-v-49773513]{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-49773513]{background:#1e293b;border:1px solid #334155;border-radius:16px;width:90%;max-width:500px;max-height:80vh;padding:24px;overflow-y:auto}.modal h3[data-v-49773513]{color:#e2e8f0;margin-bottom:20px;font-size:18px}.modal-section[data-v-49773513]{margin-bottom:20px}.modal-section h4[data-v-49773513]{color:#94a3b8;margin-bottom:12px;font-size:14px}.vip-actions[data-v-49773513]{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.role-actions[data-v-49773513]{gap:8px;display:flex}.modal-btn[data-v-49773513]{color:#94a3b8;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:6px;padding:8px 16px;font-size:13px}.modal-btn[data-v-49773513]:hover{color:#e2e8f0;background:#1e293b}.modal-btn.danger[data-v-49773513]{color:#ef4444;border-color:#ef4444}.modal-btn.danger[data-v-49773513]:hover{background:#450a0a}.modal-btn.small[data-v-49773513]{padding:6px 12px;font-size:12px}.custom-vip[data-v-49773513]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.custom-vip label[data-v-49773513]{color:#94a3b8;font-size:13px}.time-input[data-v-49773513]{color:#e2e8f0;background:#0f172a;border:1px solid #334155;border-radius:4px;padding:6px 10px;font-size:13px}.close-btn[data-v-49773513]{color:#e2e8f0;cursor:pointer;background:#334155;border:none;border-radius:8px;width:100%;padding:12px;font-size:14px}.close-btn[data-v-49773513]:hover{background:#475569}*{box-sizing:border-box;margin:0;padding:0}body{color:#e2e8f0;background:#0f172a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{max-width:1200px;min-height:100vh;margin:0 auto;padding:20px}.header{margin-bottom:24px;position:relative}.header-top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.title{color:#60a5fa;margin:0;font-size:24px;font-weight:700}.user-panel{align-items:center;gap:12px;display:flex}.user-info{align-items:center;gap:8px;font-size:14px;display:flex}.username{color:#94a3b8}.vip-badge{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.admin-badge{color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.user-menu{z-index:100;background:#1e293b;border:1px solid #334155;border-radius:8px;padding:8px 0;position:absolute;top:60px;right:0;box-shadow:0 4px 12px #0000004d}.menu-item{cursor:pointer;color:#94a3b8;padding:10px 16px;font-size:14px}.menu-item:hover{color:#e2e8f0;background:#334155}.menu-item.logout{color:#ef4444;border-top:1px solid #334155;margin-top:4px}.menu-item.logout:hover{background:#450a0a}.vip-tip{color:#fbbf24;background:linear-gradient(135deg,#f59e0b1a,#d977061a);border:1px solid #f59e0b4d;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:13px}.search-row{gap:8px;margin-bottom:8px;display:flex}.search-input{color:#f1f5f9;background:#1e293b;border:1px solid #334155;border-radius:8px;outline:none;flex:1;padding:10px 14px;font-size:16px}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d}.btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600}.btn:hover{background:#2563eb}.btn:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}.btn-sm{color:#94a3b8;cursor:pointer;background:#334155;border:none;border-radius:4px;min-width:36px;padding:4px 10px;font-size:16px;text-decoration:none;display:inline-block}.btn-sm:hover{color:#e2e8f0;background:#475569}.btn-sm:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}.btn-sm:disabled{opacity:.4;cursor:not-allowed}.stats{color:#64748b;font-size:13px}.loading{text-align:center;color:#64748b;padding:40px}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;color:#94a3b8;background:#0f172a;border-bottom:2px solid #1e293b;padding:10px 12px;font-weight:600;position:sticky;top:0}.table td{border-bottom:1px solid #1e293b;padding:8px 12px}.table tr:hover td{background:#1e293b}.table tr:focus-visible{outline-offset:-2px;outline:2px solid #3b82f6}.table tr.playing td{background:#1e3a5f}.filename{text-overflow:ellipsis;white-space:nowrap;max-width:300px;overflow:hidden}.tag{color:#60a5fa;cursor:pointer;background:#1e293b;border-radius:4px;margin:2px;padding:2px 8px;font-size:12px;display:inline-block}.tag:hover{background:#334155}.tag:focus-visible{outline:2px solid #3b82f6}.actions{white-space:nowrap}.actions .btn-sm{margin-right:4px}.empty{text-align:center;color:#64748b;padding:40px}.pagination{justify-content:center;align-items:center;gap:16px;margin-top:20px;padding:12px 0;display:flex}.page-info{color:#94a3b8;font-size:14px}.main{min-height:60vh}@media (width<=768px){.app{padding:12px}.table{font-size:12px}.table th,.table td{padding:6px 8px}.filename{max-width:150px}}
