/* ============================================================ 宠伴生活馆 - 全局样式 ============================================================ */ page { margin: 0; padding: 0; box-sizing: border-box; background: linear-gradient(180deg, #f7f9fc 0%, #f3f6fa 100%); font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, sans-serif; color: #1f2937; font-size: 15px; -webkit-font-smoothing: antialiased; } /* ---- 输入框 ---- */ .van-field { background: #ffffff !important; border: 1px solid #dfe5ee !important; border-radius: 12px !important; padding: 10px 14px !important; font-size: 15px !important; color: #1f2937 !important; min-height: 44px !important; width: 100% !important; box-sizing: border-box !important; transition: border-color 0.2s, box-shadow 0.2s; } .van-field:focus { border-color: #22c55e !important; box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.14) !important; } .van-field::-moz-placeholder { color: #9aa4b2 !important; } .van-field::placeholder { color: #9aa4b2 !important; } /* ---- 按钮 ---- */ .van-button { border-radius: 12px !important; font-size: 15px !important; height: 44px !important; line-height: 44px !important; font-weight: 600 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; } .van-button--primary { background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%) !important; border: 1px solid #16a34a !important; color: #fff !important; box-shadow: 0 8px 20px rgba(34, 197, 94, 0.28) !important; } .van-button--primary:active { transform: translateY(1px); } .van-button--block { width: 100% !important; margin-top: 12px !important; } .van-button--small { height: 34px !important; line-height: 34px !important; font-size: 13px !important; padding: 0 14px !important; border-radius: 8px !important; background: #07c160 !important; border: 1px solid #07c160 !important; color: #fff !important; flex-shrink: 0; } .van-button[disabled] { background: #c8e8d8 !important; border-color: #c8e8d8 !important; color: #fff !important; box-shadow: none !important; } button::after { border: none !important; } /* ---- 单元格组(卡片化) ---- */ .van-cell-group { background: #fff !important; border-radius: 18px !important; overflow: hidden; margin: 0 !important; border: 1px solid #e7edf5; box-shadow: 0 6px 20px rgba(15, 23, 42, 0.04); } .van-cell { padding: 14px 16px !important; background: #fff !important; font-size: 15px !important; min-height: 48px !important; } .van-cell::after { left: 16px !important; right: 16px !important; border-color: #eef2f7 !important; } .van-cell--link:active { background: #fafafa !important; } .van-cell__title { color: #111827 !important; font-size: 15px !important; } .van-cell__value { color: #6b7280 !important; font-size: 14px !important; } .van-cell__arrow { color: #c3ccd8 !important; font-size: 16px !important; margin-left: 4px; } .van-cell__icon { margin-right: 10px !important; } /* ---- 标签 ---- */ .van-tag { border-radius: 6px !important; font-size: 12px !important; padding: 2px 8px !important; } .van-tag--warning { background: #fff3e8 !important; color: #ff6b35 !important; } .van-tag--primary { background: #e8f7ef !important; color: #07c160 !important; } .van-tag--success { background: #f0f0f0 !important; color: #888 !important; } .van-tag--default { background: #f5f5f5 !important; color: #999 !important; } /* ---- 通用卡片容器 ---- */ .card-section { background: #fff; border-radius: 16px; overflow: hidden; margin: 0 16px; } /* ---- 通用弹窗 ---- */ .popup-mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.5); z-index: 200; display: flex; align-items: flex-end; justify-content: center; } .popup-content { background: #fff; border-radius: 20px 20px 0 0; width: 100%; max-height: 85vh; display: flex; flex-direction: column; } .popup-header { display: flex; justify-content: space-between; align-items: center; padding: 18px 20px 14px; border-bottom: 1px solid #f0f0f0; flex-shrink: 0; } .popup-title { font-size: 17px; font-weight: 600; color: #1a1a1a; } .popup-close { font-size: 20px; color: #bbb; } .popup-body { padding: 16px 20px; overflow-y: auto; flex: 1; } .popup-footer { padding: 8px 20px max(env(safe-area-inset-bottom), 20px); flex-shrink: 0; } /* ---- 字段标签 ---- */ .field-label { font-size: 14px; color: #666; margin-bottom: 8px; margin-top: 14px; font-weight: 500; } .field-label:first-child { margin-top: 0; } /* ---- 表单卡片(用于登录/注册页) ---- */ .form-card { background: #fff; border-radius: 22px; padding: 28px 24px; border: 1px solid #e8edf4; box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12); } /* ---- 主色调 ---- */ :root { --space-8: 8px; --space-12: 12px; --space-16: 16px; --space-24: 24px; --pet-green: #16a34a; --pet-green-light: #e8f7ef; --pet-orange: #f97316; --pet-orange-light: #fff7ed; --pet-bg: #f5f7fb; --pet-text: #111827; --pet-subtext: #6b7280; --pet-border: #e5ebf3; --pet-card-shadow: 0 8px 24px rgba(15, 23, 42, 0.06); } /* Dark mode tokens (预埋,按需启用) */ @media (prefers-color-scheme: dark) { :root { --pet-bg: #0f172a; --pet-text: #e5e7eb; --pet-subtext: #94a3b8; --pet-border: #334155; } } /* ---- 通用 TabBar 样式(顶部状态栏) ---- */ .van-tabs { display: flex; background: #fff; border-bottom: 1px solid #f0f0f0; padding: 0 16px; } .van-tabs__tab { flex: 1; text-align: center; padding: 12px 0; font-size: 15px; color: #999; cursor: pointer; position: relative; } .van-tabs__tab.active { color: #07c160; font-weight: 600; } .van-tabs__tab.active::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 40px; height: 3px; background: #07c160; border-radius: 2px; } /* ---- 通用页面头部 ---- */ [class*='-nav'] { border-bottom-left-radius: 16px; border-bottom-right-radius: 16px; box-sizing: border-box; } .nav-title { letter-spacing: 0.3px; } .nav-back { font-weight: 700; width: 28px; height: 28px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; transition: transform 0.16s ease, background-color 0.16s ease, opacity 0.16s ease; -webkit-tap-highlight-color: transparent; } .nav-back:active { transform: scale(0.94); opacity: 0.9; background: rgba(255, 255, 255, 0.15); } /* ---- 空状态统一 ---- */ .empty { margin: 24px 16px; padding: 22px 16px; background: #ffffff; border: 1px solid var(--pet-border); border-radius: 14px; color: var(--pet-subtext); text-align: center; } /* ---- 页面布局工具类 ---- */ .page-shell { min-height: 100vh; background: var(--pet-bg); padding-bottom: 120rpx; } .page-section { margin: var(--space-16); } .section-gap { margin-top: var(--space-12); } /* ---- 常用内容间距 ---- */ .module-title { font-size: 12px; color: #94a3b8; font-weight: 700; margin-bottom: var(--space-8); } .form-field-wrap { padding: 6px var(--space-16) var(--space-12); } /* ---- 文本层级工具类 ---- */ .text-title { font-size: 18px; font-weight: 700; color: var(--pet-text); } .text-body { font-size: 14px; color: var(--pet-text); line-height: 1.5; } .text-sub { font-size: 12px; color: var(--pet-subtext); } /* ---- 导航头工具类 ---- */ .nav-gradient { background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%); box-shadow: 0 8px 20px rgba(34, 197, 94, 0.25); } /* ---- 微交互:统一点击反馈 ---- */ .van-button, .order-item, .gallery-item, .menu-card, .card-section, .user-card { transition: transform 0.16s ease, box-shadow 0.2s ease, opacity 0.16s ease; -webkit-tap-highlight-color: transparent; } .van-button:active, .order-item:active, .gallery-item:active, .menu-card:active, .card-section:active, .user-card:active { transform: translateY(1px) scale(0.995); opacity: 0.97; } page { margin: 0; padding: 0; box-sizing: border-box; background: #f5f5f5; font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, sans-serif; } page{--status-bar-height:25px;--top-window-height:0px;--window-top:0px;--window-bottom:0px;--window-left:0px;--window-right:0px;--window-magin:0px}[data-c-h="true"]{display: none !important;}