.tab-bar[data-v-395ff25f]{position:fixed;bottom:0;left:0;right:0;height:56px;display:flex;background:#fff;border-top:1px solid #F5EDE4;padding-bottom:env(safe-area-inset-bottom,0);z-index:50}.tab-item[data-v-395ff25f]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:#b0a18e;font-size:11px;gap:2px}.tab-item.active[data-v-395ff25f]{color:var(--primary)}.tab-icon[data-v-395ff25f]{font-size:20px}.login-page[data-v-b8a86d8f]{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(180deg,#2b5cd6,#faf7f2 60%);padding:0 32px}.login-card[data-v-b8a86d8f]{background:#fff;border-radius:20px;padding:40px 24px 32px;width:100%;max-width:380px;box-shadow:0 8px 32px #2b5cd626;text-align:center}.login-logo[data-v-b8a86d8f]{font-size:56px;margin-bottom:8px}h2[data-v-b8a86d8f]{font-size:20px;color:#3d3226;margin-bottom:4px}.sub[data-v-b8a86d8f]{font-size:13px;color:#b0a18e;margin-bottom:24px}.error-msg[data-v-b8a86d8f]{color:#ef4444;margin-top:12px;font-size:13px}:root{--primary: #2B5CD6;--primary-light: #3B6CE8;--accent: #F5A623;--bg: #FAF7F2;--bg-warm: #FFF8ED;--text: #3D3226;--text-muted: #8B7355;--text-light: #B0A18E;--border: #F5EDE4;--success: #10B981;--danger: #EF4444;--warning: #F59E0B;--white: #FFFFFF;--radius: 12px;--shadow: 0 2px 12px rgba(0,0,0,.06)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased}.page{padding-bottom:64px;min-height:100vh}.page-full{padding-bottom:20px;min-height:100vh}.header{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;padding:20px 16px 24px;border-radius:0 0 20px 20px}.card{background:var(--white);border-radius:var(--radius);padding:16px;margin:12px 16px;box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 24px;border-radius:24px;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all .2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:active{background:#1e4bb8}.btn-outline{background:#fff;border:2px solid var(--border);color:var(--text-muted)}.btn-block{display:flex;width:100%}.btn-sm{padding:6px 14px;font-size:12px;border-radius:16px}.tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:14px;font-size:12px;font-weight:500}.tag-blue{background:#e8eeff;color:var(--primary)}.tag-gold{background:var(--bg-warm);color:var(--accent);border:1px solid #FDE68A}.tag-green{background:#ecfdf5;color:var(--success)}.input{width:100%;padding:10px 14px;border:2px solid var(--border);border-radius:10px;font-size:14px;color:var(--text);background:var(--bg);outline:none}.input:focus{border-color:var(--primary);background:#fff}.textarea{width:100%;padding:10px 14px;border:2px solid var(--border);border-radius:10px;font-size:14px;color:var(--text);background:var(--bg);outline:none;resize:none;font-family:inherit;min-height:80px}.textarea:focus{border-color:var(--primary);background:#fff}.section-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:12px;display:flex;align-items:center;gap:6px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.flex-between{display:flex;align-items:center;justify-content:space-between}.empty{text-align:center;padding:40px 0;color:var(--text-light);font-size:14px}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:10px;font-size:11px;color:#fff;font-weight:600;padding:0 6px}.badge-blue{background:var(--primary)}.badge-red{background:var(--danger)}.overlay{position:fixed;inset:0;background:#0006;z-index:100}.sheet{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:20px 20px 0 0;z-index:101;padding-bottom:env(safe-area-inset-bottom,16px);max-height:60vh;overflow-y:auto}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.sheet-item{padding:14px 20px;border-bottom:1px solid var(--border);font-size:14px;color:var(--text);cursor:pointer}.sheet-item.active{color:var(--primary);font-weight:600;background:#e8eeff}.tab-row{display:flex;background:#fff;border-radius:12px;overflow:hidden;margin:12px 16px}.tab-item{flex:1;text-align:center;padding:14px 0;font-size:14px;color:var(--text-light);font-weight:500;cursor:pointer}.tab-item.active{color:var(--primary);font-weight:700}
