*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:#f5f7fa;color:#333}a{text-decoration:none;color:inherit}.app-header{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 2px 8px #0000000f}.header-inner{max-width:1200px;margin:0 auto;padding:0 20px;height:56px;display:flex;align-items:center;gap:30px}.logo{font-size:20px;font-weight:700;color:#ff4d4f;cursor:pointer;white-space:nowrap}.nav-links{display:flex;gap:24px;flex:1}.nav-links a{font-size:15px;color:#555;position:relative;padding:4px 0;transition:color .2s}.nav-links a:hover,.nav-links a.router-link-active{color:#ff4d4f}.header-right{margin-left:auto}.user-link{display:flex;align-items:center;gap:8px;color:#333;font-size:14px}.avatar-mini{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.login-btn{background:#ff4d4f;color:#fff;padding:6px 18px;border-radius:20px;font-size:14px;cursor:pointer}.app-main{min-height:calc(100vh - 106px)}.app-main.full-page{min-height:100vh}.app-footer{background:#fff;border-top:1px solid #f0f0f0;height:50px;display:flex;align-items:center;justify-content:center}.footer-inner{color:#999;font-size:13px}.global-toast{position:fixed;top:80px;left:50%;transform:translate(-50%);background:#000000bf;color:#fff;padding:10px 24px;border-radius:24px;font-size:14px;z-index:9999;pointer-events:none;white-space:nowrap}.toast-fade-enter-active,.toast-fade-leave-active{transition:opacity .3s}.toast-fade-enter-from,.toast-fade-leave-to{opacity:0}:root{--primary: #ff4d4f;--primary-light: #fff1f0;--success: #52c41a;--warning: #fa8c16;--info: #1890ff;--border: #e8e8e8;--bg: #f5f7fa;--text: #333;--text-sub: #666;--text-gray: #999;--radius: 10px}.page-container{max-width:1100px;margin:0 auto;padding:24px 20px}.card{background:#fff;border-radius:var(--radius);box-shadow:0 2px 8px #0000000a;overflow:hidden}.btn{display:inline-flex;align-items:center;justify-content:center;padding:0 20px;height:38px;border-radius:20px;font-size:14px;cursor:pointer;border:none;transition:opacity .2s}.btn:hover{opacity:.85}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-success{background:#07c160;color:#fff}.btn-warning{background:var(--warning);color:#fff}.btn-outline{background:#fff;border:1px solid var(--border);color:var(--text-sub)}.btn-lg{height:48px;font-size:16px;border-radius:24px;padding:0 32px}.btn-block{width:100%}.form-group{margin-bottom:16px}.form-label{font-size:14px;color:var(--text-sub);margin-bottom:6px;display:block}.form-input{width:100%;height:42px;border:1px solid var(--border);border-radius:8px;padding:0 14px;font-size:14px;outline:none;transition:border-color .2s}.form-input:focus{border-color:var(--primary)}.form-textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-size:14px;outline:none;resize:vertical;min-height:80px;transition:border-color .2s}.form-textarea:focus{border-color:var(--primary)}.price-red{color:var(--primary);font-weight:700}.price-orange{color:var(--warning);font-weight:700}.empty-state{text-align:center;padding:60px 20px;color:var(--text-gray)}.empty-state .empty-icon{font-size:48px;margin-bottom:12px}.empty-state .empty-text{font-size:15px}.loading-state{text-align:center;padding:40px;color:var(--text-gray);font-size:14px}.pagination{display:flex;justify-content:center;gap:8px;padding:20px 0}.page-btn{width:36px;height:36px;border-radius:6px;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px}.tag-blue{background:#e6f2ff;color:var(--info)}.tag-green{background:#f6ffed;color:#389e0d}.tag-orange{background:#fff7e6;color:var(--warning)}.tag-red{background:var(--primary-light);color:var(--primary)}.tag-gray{background:#f5f5f5;color:var(--text-gray)}.modal-mask{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-content{background:#fff;border-radius:16px;padding:28px 24px;max-width:480px;width:90%;max-height:80vh;overflow-y:auto;position:relative}.modal-title{font-size:18px;font-weight:700;margin-bottom:20px;text-align:center}@media (max-width: 768px){.page-container{padding:16px 12px}}
