[v-cloak] { display: none; } * { margin: 0; padding: 0; box-sizing: border-box; } body { background: #f5f7f9; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'PingFang SC', 'Microsoft YaHei', sans-serif; min-height: 100vh; } /* 头部区域 */ .header-section { background: #fff !important; border-radius: 0 !important; position: sticky; top: 0; z-index: 100; padding-top: 10px; } .header-section::before, .header-section::after { display: none; } /* 搜索栏 */ .header-search { display: flex !important; align-items: center !important; gap: 8px !important; background: #f5f5f5 !important; border-radius: 6px !important; padding: 10px 14px !important; margin: 0 12px !important; cursor: pointer; } .header-search span { font-size: 14px !important; color: #bbb !important; } /* 筛选标签栏 */ .filter-bar { display: flex !important; padding: 12px 14px; gap: 8px; } .filter-tag { flex: 1; text-align: center; font-size: 13px; color: #666; background: #f5f5f5; border-radius: 16px; padding: 7px 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; transition: all 0.2s; } .filter-tag.active { background: #e8f4fd; color: #1989fa; font-weight: 500; } /* 筛选面板(内联展开) */ .filter-panel { background: #fafafa; border-top: 1px solid #eee; padding: 12px 14px; } .filter-panel-list { display: flex; flex-wrap: wrap; gap: 10px; } .filter-panel-item { font-size: 13px; color: #555; background: #fff; border-radius: 4px; padding: 6px 14px; cursor: pointer; border: 1px solid #e0e0e0; transition: all 0.15s; } .filter-panel-item.selected { background: #1989fa; color: #fff; border-color: #1989fa; } /* 面板展开动画 */ .slide-enter-active { animation: slideDown 0.2s ease; } .slide-leave-active { animation: slideUp 0.15s ease; } @keyframes slideDown { from { opacity: 0; max-height: 0; } to { opacity: 1; max-height: 200px; } } @keyframes slideUp { from { opacity: 1; max-height: 200px; } to { opacity: 0; max-height: 0; } } border-radius: 18px; padding: 8px 20px; cursor: pointer; transition: all 0.2s; } .popup-item.selected { background: #1989fa; color: #fff; } /* 统计信息条 */ .stats-bar { display: flex; align-items: center; justify-content: center; padding: 12px 20px; background: linear-gradient(90deg, #eaf7fb 0%, #f0fafb 50%, #eaf7fb 100%); gap: 24px; } .stats-item { display: flex; align-items: baseline; gap: 4px; } .stats-num { font-size: 17px; font-weight: 700; color: #018fa5; } .stats-label { font-size: 12px; color: #888; } .stats-divider { width: 1px; height: 18px; background: #ddd; } /* 护工列表 */ .nurse-list-wrapper { padding: 12px 14px; } .nurse-card-wrap { background: #fff; border-radius: 14px; margin-bottom: 10px; box-shadow: 0 2px 10px rgba(1,143,165,0.06); overflow: hidden; transition: all 0.22s ease; border: 1px solid rgba(1,143,165,0.05); cursor: pointer; } .nurse-card-wrap:active { transform: translateY(-1px); box-shadow: 0 4px 18px rgba(1,143,165,0.13); } /* 卡片主体 */ .nurse-card-main { display: flex; align-items: center; padding: 14px; gap: 12px; } /* 头像区域 */ .nurse-avatar-box { position: relative; flex-shrink: 0; } .nurse-avatar-inner { width: 56px; height: 56px; border-radius: 14px; background: linear-gradient(135deg, #018fa5 0%, #0a7a8c 100%); display: flex; align-items: center; justify-content: center; } .nurse-avatar-inner.avatar-online { animation: pulse-ring 2s ease-out infinite; } .online-dot { position: absolute; bottom: 1px; right: 1px; width: 12px; height: 12px; border-radius: 50%; background: #07c160; border: 2px solid #fff; } /* 详情信息区 */ .nurse-detail { flex: 1; min-width: 0; } .nurse-name-row { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; } .nurse-name { font-size: 15px; font-weight: 700; color: #333; } .nurse-meta-row { display: flex; align-items: center; gap: 4px; margin-bottom: 8px; flex-wrap: wrap; } .nurse-score { font-size: 13px; color: #e08c28; font-weight: 600; } .nurse-sep { font-size: 11px; color: #ccc; margin: 0 2px; } .nurse-exp-text, .nurse-orders-text { font-size: 11px; color: #999; font-weight: 500; } .nurse-skill-tags { display: flex; gap: 5px; flex-wrap: wrap; } .nurse-skill-tags :deep(.van-tag) { font-size: 10px !important; padding: 1px 7px !important; border-radius: 4px !important; font-weight: 500; } .nurse-skill-tags :deep(.van-tag--primary) { background: linear-gradient(135deg, #e6f5f8 0%, #d0ebe8 100%) !important; color: #018fa5 !important; border-color: transparent !important; } /* 价格列 */ .nurse-price-col { flex-shrink: 0; text-align: center; min-width: 68px; } .nurse-price-row { display: flex; align-items: baseline; justify-content: center; } .price-symbol { font-size: 12px; color: #dc3545; font-weight: 700; } .price-num { font-size: 20px; color: #dc3545; font-weight: 800; line-height: 1; } .price-unit { font-size: 10px; color: #dc3545; font-weight: 500; } .book-btn { margin-top: 6px; padding: 0 12px !important; font-size: 12px !important; background: linear-gradient(135deg, #018fa5 0%, #0a7a8c 100%) !important; border-color: transparent !important; } /* 认证行 */ .nurse-cert-row { display: flex; align-items: center; gap: 6px; padding: 8px 14px; border-top: 1px solid #f3f3f3; background: #fafcfc; } .cert-text { font-size: 11px; color: #666; } /* 搜索弹窗 */ :deep(.van-popup--top) { border-radius: 0 0 16px 16px; overflow: hidden; } :deep(.van-search__content) { background: #f5f7f9 !important; border-radius: 10px !important; } /* 底部安全距离 */ .bottom-safe { height: 72px; } /* 动画效果 */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } } @keyframes pulse-ring { 0% { box-shadow: 0 0 0 0 rgba(7,193,96,0.35); } 70% { box-shadow: 0 0 0 6px rgba(7,193,96,0); } 100% { box-shadow: 0 0 0 0 rgba(7,193,96,0); } } .nurse-card-wrap:nth-child(1) { animation: fadeInUp 0.32s ease-out 0.02s both; } .nurse-card-wrap:nth-child(2) { animation: fadeInUp 0.32s ease-out 0.06s both; } .nurse-card-wrap:nth-child(3) { animation: fadeInUp 0.32s ease-out 0.1s both; } .nurse-card-wrap:nth-child(4) { animation: fadeInUp 0.32s ease-out 0.14s both; } .nurse-card-wrap:nth-child(5) { animation: fadeInUp 0.32s ease-out 0.18s both; } .nurse-card-wrap:nth-child(n+6) { animation: fadeInUp 0.32s ease-out 0.22s both; } /* 下拉刷新 */ :deep(.van-pull-refresh-head) { color: #018fa5; } :deep(.van-list__finished-text) { color: #bbb; font-size: 12px; } /* 底部导航 */ :root { --van-tabbar-z-index: 999; } .van-tabbar { z-index: 999 !important; } :deep(.van-tabbar) { box-shadow: 0 -2px 14px rgba(0,0,0,0.05); z-index: 999 !important; } :deep(.van-tabbar-item--active) { color: #018fa5 !important; }